summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/Cite/modules/ve-cite
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/Cite/modules/ve-cite')
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ab.json8
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ace.json16
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ady-cyrl.json12
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/aeb-latn.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/aeb.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/af.json37
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ais.json37
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/am.json10
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ang.json8
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/anp.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ar.json69
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/arc.json9
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/arq.json14
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/arz.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/as.json39
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ase.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ast.json55
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/av.json8
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/awa.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ay.json24
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/az.json25
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/azb.json10
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ba.json40
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/bar.json8
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/bcc.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/bcl.json20
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/be-tarask.json31
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/be.json24
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/bg.json41
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/bgn.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/bho.json10
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/bn.json54
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/bo.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/br.json24
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/brh.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/brx.json9
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/bs.json41
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ca.json53
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/cdo.json18
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ce.json29
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ckb.json29
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/co.json17
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/crh-cyrl.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/crh-latn.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/cs.json68
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/cu.json13
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/cv.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/cy.json29
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/da.json35
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/de-ch.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/de-formal.json8
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/de.json64
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/din.json8
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/diq.json37
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/dsb.json24
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/dty.json17
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ee.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/egl.json24
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/el.json51
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/eml.json26
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/en-gb.json11
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/en.json64
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/eo.json33
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/es.json75
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/et.json54
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/eu.json52
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/fa.json72
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/fi.json56
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/fo.json23
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/fr.json97
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/frc.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/frp.json8
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/frr.json25
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/fur.json24
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/fy.json12
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ga.json12
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/gd.json22
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/gl.json58
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/glk.json14
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/gom-deva.json11
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/gom-latn.json8
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/gom.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/gsw.json15
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/gu.json37
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/he.json66
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/hi.json50
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/hil.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/hr.json42
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/hrx.json9
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/hsb.json25
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ht.json8
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/hu-formal.json18
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/hu.json53
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/hy.json39
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ia.json46
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/id.json66
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ie.json19
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ilo.json32
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/io.json35
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/is.json38
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/it.json66
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ja.json65
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/jbo.json9
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/jut.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/jv.json43
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ka.json43
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/kab.json14
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/khw.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/kk-cyrl.json33
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/km.json32
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/kn.json30
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ko.json71
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/krc.json33
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/kri.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/krl.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ksh.json25
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ku-latn.json32
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/kw.json16
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ky.json18
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/la.json22
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/lb.json49
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/lez.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/lg.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/li.json9
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/lki.json31
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/lmo.json21
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ln.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/lrc.json9
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/lt.json50
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/luz.json11
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/lv.json52
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/lzh.json12
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/mai.json8
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/mg.json30
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/mhr.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/min.json14
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/mk.json54
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ml.json38
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/mn.json11
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/mr.json60
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ms.json53
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/mt.json15
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/mwl.json9
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/my.json9
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/myv.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/mzn.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/nah.json9
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/nan.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/nap.json38
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/nb.json63
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/nds-nl.json20
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/nds.json15
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ne.json21
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/nl-informal.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/nl.json70
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/nn.json30
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/oc.json33
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/olo.json33
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/om.json35
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/or.json18
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/os.json11
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/pa.json37
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/pam.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/pfl.json21
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/pl.json61
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/pms.json23
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/pnb.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/prs.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ps.json30
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/pt-br.json77
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/pt.json70
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/qqq.json76
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/qu.json21
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/rm.json15
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ro.json61
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/roa-tara.json48
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ru.json80
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/rue.json8
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/sa.json20
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/sah.json32
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/sc.json12
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/scn.json27
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/sco.json33
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/sd.json25
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/sdc.json8
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/sgs.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/sh.json35
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/shn.json9
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/shy-latn.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/si.json19
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/sk.json51
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/skr-arab.json21
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/sl.json40
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/so.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/sq.json47
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/sr-ec.json58
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/sr-el.json51
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ss.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/su.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/sv.json66
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/sw.json21
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/szl.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ta.json22
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/tay.json23
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/tcy.json10
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/te.json33
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/tg-cyrl.json13
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/th.json51
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/tl.json31
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/tr.json51
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/tt-cyrl.json39
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/tt.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/tyv.json8
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/tzm.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/udm.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ug-arab.json11
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/uk.json67
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/ur.json37
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/uz.json19
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/vec.json27
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/vi.json52
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/vo.json14
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/vro.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/wa.json8
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/war.json15
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/wo.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/wuu.json9
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/xmf.json29
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/yi.json44
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/yo.json7
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/yue.json35
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/zh-hans.json74
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/i18n/zh-hant.json71
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-book.svg4
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-journal-ltr.svg6
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-journal-rtl.svg6
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-news-ltr.svg9
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-news-rtl.svg9
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-web.svg5
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/icons/reference-existing-ltr.svg5
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/icons/reference-existing-rtl.svg5
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/icons/reference-ltr.svg4
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/icons/reference-rtl.svg4
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/icons/references-ltr.svg4
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/icons/references-rtl.svg4
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/tests/ve.dm.Converter.test.js36
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/tests/ve.dm.InternalList.test.js237
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/tests/ve.dm.Transaction.test.js97
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/tests/ve.dm.citeExample.js754
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/tests/ve.ui.DiffElement.test.js67
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/tests/ve.ui.MWWikitextStringTransferHandler.test.js95
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ce.MWReferenceNode.css24
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ce.MWReferenceNode.js130
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ce.MWReferencesListNode.css15
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ce.MWReferencesListNode.js321
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.dm.MWReferenceModel.js283
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.dm.MWReferenceNode.js461
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.dm.MWReferencesListNode.js243
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWCitationAction.js58
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWCitationContextItem.js49
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWCitationDialog.js241
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWCitationDialogTool.js64
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReference.init.js165
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceContextItem.css19
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceContextItem.js113
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceDialog.js434
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceDialogTool.js114
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceGroupInputWidget.css10
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceGroupInputWidget.js60
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceIcons.css116
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceResultWidget.css28
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceResultWidget.js31
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceSearchWidget.css18
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceSearchWidget.js232
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferencesListCommand.js61
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferencesListContextItem.js75
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferencesListDialog.js178
-rw-r--r--www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWUseExistingReferenceCommand.js53
278 files changed, 11313 insertions, 0 deletions
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ab.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ab.json
new file mode 100644
index 00000000..e4e38151
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ab.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Абухба Андрей"
+ ]
+ },
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Архиарақәа"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ace.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ace.json
new file mode 100644
index 00000000..62785644
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ace.json
@@ -0,0 +1,16 @@
+{
+ "@metadata": {
+ "authors": [
+ "Si Gam Acèh",
+ "Ayie7791"
+ ]
+ },
+ "cite-ve-dialog-reference-options-group-label": "Ngui kawan nyoë",
+ "cite-ve-dialog-reference-options-name-label": "Ngui lom ngön nan nyoë",
+ "cite-ve-dialog-reference-options-section": "Peuniléh",
+ "cite-ve-dialog-reference-title": "Rèfèrènsi",
+ "cite-ve-dialog-reference-useexisting-label": "Ngui rèfèrènsi nyang ka awai na",
+ "cite-ve-dialog-referenceslist-title": "Dapeuta rèfèrènsi",
+ "cite-ve-dialogbutton-reference-tooltip": "Rèfèrènsi",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Dapeuta rèfèrènsi"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ady-cyrl.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ady-cyrl.json
new file mode 100644
index 00000000..0f830846
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ady-cyrl.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "SmartNart12",
+ "Bedynokue.nart",
+ "SamGamgee",
+ "Amire80",
+ "Highlander45temp",
+ "Inyzh"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/aeb-latn.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/aeb-latn.json
new file mode 100644
index 00000000..18cd8334
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/aeb-latn.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Csisc"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/aeb.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/aeb.json
new file mode 100644
index 00000000..18cd8334
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/aeb.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Csisc"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/af.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/af.json
new file mode 100644
index 00000000..2c89f02f
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/af.json
@@ -0,0 +1,37 @@
+{
+ "@metadata": {
+ "authors": [
+ "Naudefj",
+ "Neil P. Quinn",
+ "Oesjaar",
+ "Fwolff"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Boek",
+ "visualeditor-cite-tool-name-journal": "Tydskrif",
+ "visualeditor-cite-tool-name-news": "Nuus",
+ "visualeditor-cite-tool-name-web": "Webtuiste",
+ "cite-ve-dialog-reference-editing-reused": "Hierdie aanhaling word $1 {{PLURAL:$1|keer}} op die bladsy gebruik.",
+ "cite-ve-dialog-reference-options-group-label": "Gebruik die groep",
+ "cite-ve-dialog-reference-options-group-placeholder": "Algemene verwysings",
+ "cite-ve-dialog-reference-options-name-label": "Hergebruik op die naam",
+ "cite-ve-dialog-reference-options-section": "Opsies",
+ "cite-ve-dialog-reference-title": "Verwysing",
+ "cite-ve-dialog-reference-useexisting-full-label": "Hergebruik 'n aanhaling wat reeds op dié bladsy bestaan",
+ "cite-ve-dialog-reference-useexisting-label": "Gebruik 'n bestaande verwysing",
+ "cite-ve-dialog-reference-useexisting-tool": "Hergebruik",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Lys van algemene bronne",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Lys van bronne vir groep \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Lys van verwysings",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Verbeter die inhoud deur inligtingsbronne by te voeg. Verwys na boeke, koerante en webwerwe.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Aanhalings",
+ "cite-ve-dialogbutton-reference-full-label": "Eenvoudige vorm",
+ "cite-ve-dialogbutton-reference-title": "Verwysing",
+ "cite-ve-dialogbutton-reference-tooltip": "Basies",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Lys van verwysings",
+ "cite-ve-reference-input-placeholder": "Soek in huidige verwysings",
+ "cite-ve-referenceslist-isempty": "Daar is geen verwysings met die groep \"$1\" op hierdie bladsy om by die lys te voeg nie.",
+ "cite-ve-referenceslist-isempty-default": "Daar is geen verwysings op dié bladsy om by die lys in te sluit nie.",
+ "cite-ve-referenceslist-missingref": "Hierdie verwysing is in 'n sjabloon of 'n ander soort gegenereerde blok en kan voorlopig slegs in die bronkodemodus gewysig word.",
+ "cite-ve-toolbar-group-label": "Aanhaal"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ais.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ais.json
new file mode 100644
index 00000000..f50e7c6d
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ais.json
@@ -0,0 +1,37 @@
+{
+ "@metadata": {
+ "authors": [
+ "Bunukwiki",
+ "Benel",
+ "Tokoabibi"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "cudad",
+ "visualeditor-cite-tool-name-journal": "paydemiad-inasc-nasulitan",
+ "visualeditor-cite-tool-name-news": "sinbun",
+ "visualeditor-cite-tool-name-web": "calay-kakacawan(C-wangcan)",
+ "cite-ve-dialog-reference-editing-reused": "tina kasabelih masaungay tuway tina miazih tu tatenga’ay nasulitan $1 {{PLURAL:$1|}}.",
+ "cite-ve-dialog-reference-options-group-label": "pisaungay tina luyaluy",
+ "cite-ve-dialog-reference-options-group-placeholder": "habutud miazih tu tatenga’ay nasulitan",
+ "cite-ve-dialog-reference-options-name-label": "uyni kalungangan amipisaungay henay",
+ "cite-ve-dialog-reference-options-section": "mapili’ay",
+ "cite-ve-dialog-reference-useexisting-full-label": "misaliyaw pisaungay izaway itini i tina kasabelih a nicaliwan",
+ "cite-ve-dialog-reference-useexisting-label": "pisaungay ayzaay miazih tu tatenga’ay nasulitan",
+ "cite-ve-dialog-reference-useexisting-tool": "miliyaw pisaungay",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "habutuday a miazih tu tatenga’ay nasulitan piazihan-tu-sulit",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "luyaluy \"$1\" a miazih tu tatenga’ay nasulitan piazihan-tu-sulit",
+ "cite-ve-dialog-referenceslist-title": "miazih tu tatenga’ay nasulitan piazihan tu sulit",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "micaliw ku micunus saangangan cesyun pasakapahan lacul nu misu, kapah tu kisu nicaliwan nay cudad, sinbung atu calay-kakacawan(wangcan).",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "nicaliwan",
+ "cite-ve-dialogbutton-reference-full-label": "palana’an aazihan a cudad",
+ "cite-ve-dialogbutton-reference-title": "miazih tu tatenga’ay nasulitan",
+ "cite-ve-dialogbutton-reference-tooltip": "angangan",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "miazih tu tatenga’ay nasulitan piazihan tu sulit",
+ "cite-ve-reference-input-placeholder": "mikilim tu ayzaay nicaliwan",
+ "cite-ve-referenceslist-isempty": "tina kasabelih inayi’ luyaluy ku \"$1\" a miazih tu tatenga’ay nasulitan kapah micunus nicaliwan piazihan tu sulit.",
+ "cite-ve-referenceslist-isempty-default": "tina kasabelih ayzasa inayi’ amahicahica miazih tu tatenga’ay nasulitan kapah micunus nicaliwan piazihan-tu-sulit.",
+ "cite-ve-referenceslist-missingref": "tina miazih tu tatenga’ay nasulitan satetek tu ku taazihan mitudung saca zuma lunuk masanga’ay a atilad ayza pisaungay dada’ yuensma-kodo muse tayni mikawaway-kalumyiti",
+ "cite-ve-toolbar-group-label": "nicaliwan",
+ "cite-ve-othergroup-item": "$1 miazih tu tatenga’ay nasulitan",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "miazih tu tatenga’ay saangangan"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/am.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/am.json
new file mode 100644
index 00000000..e4712aa6
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/am.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Elfalem"
+ ]
+ },
+ "cite-ve-dialog-reference-options-section": "ምርጫዎች",
+ "cite-ve-dialog-reference-title": "ዋቢ ምንጭ",
+ "cite-ve-dialogbutton-reference-tooltip": "ዋቢ ምንጭ"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ang.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ang.json
new file mode 100644
index 00000000..da2d54b2
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ang.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Gott wisst",
+ "JJohnson1701"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/anp.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/anp.json
new file mode 100644
index 00000000..0cf711ec
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/anp.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Angpradesh"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ar.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ar.json
new file mode 100644
index 00000000..e2aff578
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ar.json
@@ -0,0 +1,69 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ciphers",
+ "Claw eg",
+ "Elfalem",
+ "Jdforrester",
+ "Mido",
+ "OsamaK",
+ "زكريا",
+ "مشعل الحربي",
+ "Asaifm",
+ "Tarawneh",
+ "Meno25",
+ "Gagnabil",
+ "Abanima",
+ "محمد أحمد عبد الفتاح",
+ "Bachounda",
+ "Mervat Salman",
+ "Hiba Alshawi",
+ "فلورانس",
+ "PhiberOptik",
+ "ديفيد"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "كتاب",
+ "visualeditor-cite-tool-name-journal": "دورية",
+ "visualeditor-cite-tool-name-news": "أخبار",
+ "visualeditor-cite-tool-name-web": "موقع",
+ "cite-ve-changedesc-ref-group-both": "مجموعة المراجع تغيرت من \"$1\" إلى \"$2\"",
+ "cite-ve-changedesc-ref-group-from": "مجموعة المراجع تغيرت من \"$1\" للمجموعة العامة",
+ "cite-ve-changedesc-ref-group-to": "مجموعة المراجع تغيرت من المجموعة العامة إلى \"$1\"",
+ "cite-ve-changedesc-reflist-group-both": "مجموعة قائمة المراجع تغيرت من \"$1\" إلى \"$2\"",
+ "cite-ve-changedesc-reflist-group-from": "مجموعة قائمة المراجع تغيرت من \"$1\" للمجموعة العامة",
+ "cite-ve-changedesc-reflist-group-to": "مجموعة قائمة المراجع تغيرت من المجموعة العامة إلى \"$1\"",
+ "cite-ve-changedesc-reflist-responsive-set": "قائمة المراجع تغيرت للعرض في مراجع مستجيبة",
+ "cite-ve-changedesc-reflist-responsive-unset": "قائمة المراجع تغيرت للعرض في عامود واحد فقط",
+ "cite-ve-changedesc-reflist-item-id": "فهرس المراجع تغير",
+ "cite-ve-dialog-reference-editing-reused": "هذا المرجع مستخدم {{PLURAL:$1|مرة واحدة|مرتين| $1 مرات|$1 مرة}} في هذه الصفحة.",
+ "cite-ve-dialog-reference-options-group-label": "استخدم هذه المجموعة",
+ "cite-ve-dialog-reference-options-group-placeholder": "مراجع عامة",
+ "cite-ve-dialog-reference-options-name-label": "أعد استخدامها بهذا الاسم",
+ "cite-ve-dialog-reference-options-responsive-label": "استخدم تهيئة العمود المستجيبة",
+ "cite-ve-dialog-reference-options-section": "خيارات",
+ "cite-ve-dialog-reference-placeholder": "اكتب أو انسخ مرجعك هنا، أو أدخل قالب استشهاد.",
+ "cite-ve-dialog-reference-title": "مرجع",
+ "cite-ve-dialog-reference-useexisting-full-label": "أعد استخدام استشهاد موجود بالفعل في الصفحة",
+ "cite-ve-dialog-reference-useexisting-label": "استخدم مرجعا موجودا",
+ "cite-ve-dialog-reference-useexisting-tool": "أعد الاستخدام",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "قائمة المراجع العامة",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "قائمة المراجع في مجموعة \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "قائمة المراجع",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "تحسين المحتوى بإضافة مصادر للمعلومات. يمكن الاستشهاد بالكتب والصحف ومواقع الوب.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "الاستشهادات",
+ "cite-ve-dialogbutton-reference-full-label": "الصيغة الأساسية",
+ "cite-ve-dialogbutton-reference-title": "مرجع",
+ "cite-ve-dialogbutton-reference-tooltip": "أساسي",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "قائمة مراجع",
+ "cite-ve-reference-input-placeholder": "البحث ضمن الاستشهادات الحالية",
+ "cite-ve-referenceslist-isempty": "ما من مراجع من المجموعة \"$1\" في هذه الصفحة لتضمينها في هذه القائمة.",
+ "cite-ve-referenceslist-isempty-default": "ما من مراجع على هذه الصفحة لتضمينها في هذه القائمة.",
+ "cite-ve-referenceslist-missingref": "هذا المرجع موجود في قالب أو نحوه ولا يمكن تعديله حاليا إلا من المصدر.",
+ "cite-ve-referenceslist-missingref-in-list": "يتم تعريف هذا المرجع في قالب أو كتلة أخرى تم إنشاؤها، ويمكن الآن معاينته فقط في وضع المصدر.",
+ "cite-ve-referenceslist-missingreflist": "قائمة المراجع هذه مولدة بواسطة قالب، وحاليا يمكن تعديلها فقط في نمط المصدر.",
+ "cite-ve-toolbar-group-label": "مرجع",
+ "cite-ve-othergroup-item": "استشهاد $1",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "مراجع",
+ "visualeditor-internal-list-diff-group-name-mwreference": "اسم مجموعة المراجع: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/arc.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/arc.json
new file mode 100644
index 00000000..cb30317c
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/arc.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Basharh"
+ ]
+ },
+ "cite-ve-dialogbutton-reference-tooltip": "ܡܒܘܥܐ",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "ܡܟܬܒܘܬܐ ܕܡܒܘܥ̈ܐ"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/arq.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/arq.json
new file mode 100644
index 00000000..0f08a946
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/arq.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "Bachounda",
+ "Oldstoneage",
+ "Hussam"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "كتاب",
+ "visualeditor-cite-tool-name-journal": "جرنان",
+ "visualeditor-cite-tool-name-news": "الخبار",
+ "visualeditor-cite-tool-name-web": "موقع",
+ "cite-ve-dialog-reference-options-section": "خيارات"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/arz.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/arz.json
new file mode 100644
index 00000000..9fc43746
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/arz.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ghaly"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/as.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/as.json
new file mode 100644
index 00000000..99bb47e7
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/as.json
@@ -0,0 +1,39 @@
+{
+ "@metadata": {
+ "authors": [
+ "Gitartha.bordoloi",
+ "Dibya Dutta",
+ "IKHazarika"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "কিতাপ",
+ "visualeditor-cite-tool-name-journal": "জাৰ্নাল",
+ "visualeditor-cite-tool-name-news": "বাতৰি",
+ "visualeditor-cite-tool-name-web": "ৱেবছাইট",
+ "cite-ve-dialog-reference-editing-reused": "এই তথ্যসূত্ৰটো এই পৃষ্ঠাত $1 {{PLURAL:$1|বাৰ}} ব্যবহৃত হৈছে।",
+ "cite-ve-dialog-reference-options-group-label": "এই গোট ব্যৱহাৰ কৰক",
+ "cite-ve-dialog-reference-options-group-placeholder": "সাধাৰণ তথ্যসূত্ৰ",
+ "cite-ve-dialog-reference-options-name-label": "এই নামৰে পুনঃব্যৱহাৰ কৰক",
+ "cite-ve-dialog-reference-options-section": "বিকল্পসমূহ",
+ "cite-ve-dialog-reference-title": "তথ্যসূত্ৰ",
+ "cite-ve-dialog-reference-useexisting-full-label": "এই পৃষ্ঠাত থকা এটা উদ্ধৃতি পুনৰ ব্যৱহাৰ কৰক",
+ "cite-ve-dialog-reference-useexisting-label": "এটা ইতিমধ্যে থকা তথ্যসূত্ৰ ব্যৱহাৰ কৰক",
+ "cite-ve-dialog-reference-useexisting-tool": "পুনৰ্ব্যৱহাৰ কৰক",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "সাধাৰণ তথ্যসূত্ৰসমূহৰ তালিকা",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "\"$1\" গোটৰ বাবে তথ্যসূত্ৰৰ তালিকা",
+ "cite-ve-dialog-referenceslist-title": "তথ্যসূত্ৰৰ তালিকা",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "তথ্যৰ উৎস যোগ দি আপোনাৰ সমল উন্নত কৰে। আপুনি কিতাপ, বাতৰি কাকত আৰু ৱেবছাইটৰ উদ্ধৃতি দিব পাৰে।",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "উদ্ধৃতিসমূহ",
+ "cite-ve-dialogbutton-reference-full-label": "প্ৰাথমিক ৰূপ",
+ "cite-ve-dialogbutton-reference-title": "তথ্যসংগ্ৰহ",
+ "cite-ve-dialogbutton-reference-tooltip": "সাধাৰণ",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "তথ্যসূত্ৰৰ তালিকা",
+ "cite-ve-reference-input-placeholder": "বৰ্তমান তথ্যসূত্ৰৰ মাজত অনুসন্ধান কৰক",
+ "cite-ve-referenceslist-isempty": "এই তালিকাত অন্তৰ্ভুক্ত কৰিবলৈ এইটো পৃষ্ঠাত \"$1\" গোটৰ কোনো তথ্যসূত্ৰ নাই।",
+ "cite-ve-referenceslist-isempty-default": "এই তালিকাত অন্তৰ্ভুক্ত কৰিবলৈ এইটো পৃষ্ঠাত কোনো তথ্যসূত্ৰ নাই।",
+ "cite-ve-referenceslist-missingref": "এই তথ্যসূত্ৰটো এটা সাঁচ বা আন উৎপন্ন ব্লক হিচাপে সংজ্ঞায়িত কৰা হৈছে আৰু ইয়াক কেৱল উৎস ৰূপতহে সম্পাদনা কৰিব পাৰি।",
+ "cite-ve-toolbar-group-label": "উদ্ধৃতি দিয়ক",
+ "cite-ve-othergroup-item": "$1টা তথ্যসূত্ৰ",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "তথ্যসূত্ৰ",
+ "visualeditor-internal-list-diff-group-name-mwreference": "তথ্যসূত্ৰ গোটৰ নাম: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ase.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ase.json
new file mode 100644
index 00000000..94a8cf9a
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ase.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Icemandeaf"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ast.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ast.json
new file mode 100644
index 00000000..653612e6
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ast.json
@@ -0,0 +1,55 @@
+{
+ "@metadata": {
+ "authors": [
+ "Basharh",
+ "Bishnu Saikia",
+ "Xuacu",
+ "McDutchie"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "nulu",
+ "visualeditor-cite-tool-name-book": "Llibru",
+ "visualeditor-cite-tool-name-journal": "Revista",
+ "visualeditor-cite-tool-name-news": "Noticies",
+ "visualeditor-cite-tool-name-web": "Sitiu web",
+ "cite-tool-definition.json": "nulu",
+ "cite-ve-changedesc-ref-group-both": "Grupu de referencia cambiáu de «$1» a «$2»",
+ "cite-ve-changedesc-ref-group-from": "Grupu de referencia cambiáu de «$1» al grupu xeneral",
+ "cite-ve-changedesc-ref-group-to": "Grupu de referencia cambiáu del grupu xeneral a «$1»",
+ "cite-ve-changedesc-reflist-group-both": "Grupu de llista de referencies cambiáu de «$1» to «$2»",
+ "cite-ve-changedesc-reflist-group-from": "Grupu de llista de referencies cambiáu de «$1» al grupu xeneral",
+ "cite-ve-changedesc-reflist-group-to": "Grupu de llista de referencies cambiáu del grupu xeneral a «$1»",
+ "cite-ve-changedesc-reflist-responsive-set": "La llista de referencies cambió p'apaecer en columnes reactives",
+ "cite-ve-changedesc-reflist-responsive-unset": "La llista de referencies cambió p'apaecer sólo nuna columna",
+ "cite-ve-changedesc-reflist-item-id": "Cambió l'índiz de la referencia",
+ "cite-ve-dialog-reference-editing-reused": "Esta referencia úsase $1 {{PLURAL:$1|vez|veces}} nesta páxina.",
+ "cite-ve-dialog-reference-options-group-label": "Usar esti grupu",
+ "cite-ve-dialog-reference-options-group-placeholder": "Referencies xenerales",
+ "cite-ve-dialog-reference-options-name-label": "Reutilizar por esti nome",
+ "cite-ve-dialog-reference-options-responsive-label": "Usar diseñu de columna reactivu",
+ "cite-ve-dialog-reference-options-section": "Opciones",
+ "cite-ve-dialog-reference-placeholder": "Escribe o pega equí la referencia, o inxerta una plantía de cita.",
+ "cite-ve-dialog-reference-title": "Referencia",
+ "cite-ve-dialog-reference-useexisting-full-label": "Reutilizar una cita que yá esiste nesta páxina",
+ "cite-ve-dialog-reference-useexisting-label": "Usar una referencia esistente",
+ "cite-ve-dialog-reference-useexisting-tool": "Reutilizar",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Llista de referencies xenerales",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Llista de referencies del grupu «$1»",
+ "cite-ve-dialog-referenceslist-title": "Llista de referencies",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Ameyora'l conteníu amestando fontes d'información. Puede citase de llibros, periódicos y páxines web.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Cites",
+ "cite-ve-dialogbutton-reference-full-label": "Formulariu básicu",
+ "cite-ve-dialogbutton-reference-title": "Referencia",
+ "cite-ve-dialogbutton-reference-tooltip": "Básica",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Llista de referencies",
+ "cite-ve-reference-input-placeholder": "Guetar nes cites actuales",
+ "cite-ve-referenceslist-isempty": "Nun hai referencies col grupu \"$1\" nesta páxina pa incluir nesta llista.",
+ "cite-ve-referenceslist-isempty-default": "Nun hai referencies nesta páxina pa incluir nesta llista.",
+ "cite-ve-referenceslist-missingref": "Esta referencia ta definida nuna plantía o n'otru bloque xeneráu, y de momentu namái pue editase'n mou fonte.",
+ "cite-ve-referenceslist-missingref-in-list": "Esta referencia ta definida nuna plantía o n'otru bloque xeneráu, y de momentu namái puede entevese'n mou códigu fonte.",
+ "cite-ve-referenceslist-missingreflist": "Esta llista de referencies ta xenerada por una plantía, y de momentu sólo puede editase'n mou de códigu fonte.",
+ "cite-ve-toolbar-group-label": "Citar",
+ "cite-ve-othergroup-item": "referencia $1",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Referencies",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Nome del grupu de referencies: «$1»"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/av.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/av.json
new file mode 100644
index 00000000..1806bf28
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/av.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Gazimagomedov",
+ "Аль-Гимравий"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/awa.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/awa.json
new file mode 100644
index 00000000..542be0bb
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/awa.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "1AnuraagPandey"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ay.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ay.json
new file mode 100644
index 00000000..50480fb6
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ay.json
@@ -0,0 +1,24 @@
+{
+ "@metadata": {
+ "authors": [
+ "Jduranboger",
+ "Vikytinta",
+ "Macofe"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Panka",
+ "visualeditor-cite-tool-name-journal": "Sapüru",
+ "visualeditor-cite-tool-name-news": "Yatiyäwinaka",
+ "visualeditor-cite-tool-name-web": "Sityu Web",
+ "cite-ve-dialog-reference-editing-reused": "Aka referensiax apanaqasiwa $1 {{PLURAL:$1|pacha}} aka pajinana.",
+ "cite-ve-dialog-reference-options-group-label": "Aka tama apanaqaña",
+ "cite-ve-dialog-reference-options-name-label": "Aka sutimp wasitat apanaqaña",
+ "cite-ve-dialog-reference-options-section": "Ajllinaka",
+ "cite-ve-dialog-reference-title": "Yatiyäwi",
+ "cite-ve-dialog-reference-useexisting-label": "Utjir yatiyaw apnaqaña",
+ "cite-ve-dialog-reference-useexisting-tool": "Wasitat apanaqaña",
+ "cite-ve-dialog-referenceslist-title": "Yatiyaw list uchaña",
+ "cite-ve-dialogbutton-reference-tooltip": "Jasa",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Yaqha lista",
+ "cite-ve-toolbar-group-label": "Sutinchaña"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/az.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/az.json
new file mode 100644
index 00000000..65bdda85
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/az.json
@@ -0,0 +1,25 @@
+{
+ "@metadata": {
+ "authors": [
+ "Cekli829",
+ "Interfase",
+ "Jduranboger",
+ "Eminn",
+ "Wertuose",
+ "Dağlı95"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Kitab",
+ "visualeditor-cite-tool-name-journal": "Jurnal",
+ "visualeditor-cite-tool-name-news": "Xəbərlər",
+ "visualeditor-cite-tool-name-web": "Veb-sayt",
+ "cite-ve-dialog-reference-options-group-label": "Bu qrupu istifadə et",
+ "cite-ve-dialog-reference-options-group-placeholder": "Ümumi istinadlar",
+ "cite-ve-dialog-reference-options-name-label": "Təkrar olaraq bu ad altında istifadə et",
+ "cite-ve-dialog-reference-options-section": "Nizamlamalar",
+ "cite-ve-dialog-reference-title": "İstinadlar",
+ "cite-ve-dialog-reference-useexisting-label": "Mövcüd istinadı istifadə et",
+ "cite-ve-dialog-referenceslist-title": "İstinadlar siyahısı",
+ "cite-ve-dialogbutton-reference-tooltip": "Əsas",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "İstinad siyahısı"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/azb.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/azb.json
new file mode 100644
index 00000000..61d1ccb2
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/azb.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amir a57",
+ "Koroğlu",
+ "Mousa",
+ "Ebrahimi-amir"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ba.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ba.json
new file mode 100644
index 00000000..ef7dab09
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ba.json
@@ -0,0 +1,40 @@
+{
+ "@metadata": {
+ "authors": [
+ "AiseluRB",
+ "Amire80",
+ "Assele",
+ "Haqmar",
+ "Sagan",
+ "Рустам Нурыев",
+ "Ләйсән"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Китап",
+ "visualeditor-cite-tool-name-journal": "Мәҡәлә",
+ "visualeditor-cite-tool-name-news": "Яңылыҡтар",
+ "visualeditor-cite-tool-name-web": "Веб-сайт",
+ "cite-ve-dialog-reference-editing-reused": "Был һылтанма биттә $1 тапҡыр {{PLURAL:$1|ҡулланыла}}.",
+ "cite-ve-dialog-reference-options-group-label": "Был төркөмдө ҡулланырға",
+ "cite-ve-dialog-reference-options-group-placeholder": "Дөйөм һылтанмалар",
+ "cite-ve-dialog-reference-options-name-label": "Бирелгән исем аҫтында ҡабаттан ҡулланырға",
+ "cite-ve-dialog-reference-options-section": "Көйләүҙәр",
+ "cite-ve-dialog-reference-title": "Иҫкәрмәләр",
+ "cite-ve-dialog-reference-useexisting-full-label": "Биттә күрһәтелгән сығанаҡты ҡабаттан ҡулланыу",
+ "cite-ve-dialog-reference-useexisting-label": "Булған һылтанманы ҡулланыу",
+ "cite-ve-dialog-reference-useexisting-tool": "Яңынан ҡулланыу",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Дөйөм һылтанмалар исемлеге",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "\"$1\" төркөмө өсөн иҫкәрмәләр исемлеге",
+ "cite-ve-dialog-referenceslist-title": "Иҫкәрмәләр исемлеге",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Яһалған мәҡәләләрҙең абруйын сығанаҡтар ярҙамында арттырырға тырышығыҙ. Һеҙ китап-гәзиттәрҙән һәм төрлө биттәрҙән кәрәкле өҙөктәрҙе ала алаһығыҙ.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Өҙөктәр",
+ "cite-ve-dialogbutton-reference-full-label": "Ябай форма",
+ "cite-ve-dialogbutton-reference-title": "Иҫкәрмәләр",
+ "cite-ve-dialogbutton-reference-tooltip": "Иҫкәрмәләр",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Иҫкәрмәләр исемлеге",
+ "cite-ve-reference-input-placeholder": "Нимәгә һылтанырға теләйһегеҙ?",
+ "cite-ve-referenceslist-isempty": "Был биттә \"$1\" төркөмө менән һылтанмалар юҡ.",
+ "cite-ve-referenceslist-isempty-default": "Был биттә исемлеккә индерер һылтанмалар юҡ.",
+ "cite-ve-referenceslist-missingref": "Был төшөрмә ҡалыпта йәки икенсе өлөштә билдәләнә, шуға күрә башланғыс кодта ғына мөхәррирләп була.",
+ "cite-ve-toolbar-group-label": "Сығанаҡ"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/bar.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/bar.json
new file mode 100644
index 00000000..7db1c9e0
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/bar.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Matthias Klostermayr",
+ "Joe Watzmo"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/bcc.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/bcc.json
new file mode 100644
index 00000000..625be711
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/bcc.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Baloch Afghanistan"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/bcl.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/bcl.json
new file mode 100644
index 00000000..9182784f
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/bcl.json
@@ -0,0 +1,20 @@
+{
+ "@metadata": {
+ "authors": [
+ "Geopoet",
+ "Sky Harbor"
+ ]
+ },
+ "cite-ve-dialog-reference-options-group-label": "Gamiton ining grupo",
+ "cite-ve-dialog-reference-options-name-label": "Gamiton otro sa pangarang ini",
+ "cite-ve-dialog-reference-options-section": "Mga Pagpipilian",
+ "cite-ve-dialog-reference-title": "Panultulan",
+ "cite-ve-dialog-reference-useexisting-label": "Gamiton an yaon nang panultulan",
+ "cite-ve-dialog-referenceslist-title": "Listahan nin mga Panultulan",
+ "cite-ve-dialogbutton-reference-tooltip": "Panultulan",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Listahan nin mga Panultulan",
+ "cite-ve-reference-input-placeholder": "Ano an gusto mong panultulan?",
+ "cite-ve-referenceslist-isempty": "Mayo tabi nin mga panultulan na kaiba sa grupong \"$1\" na yaon kaining pahina.",
+ "cite-ve-referenceslist-isempty-default": "Mayo nin reperensiya sa pahinang ini na maidudugang sa listahang ini.",
+ "cite-ve-referenceslist-missingref": "Ining panultulan pinagkahulugan sa laog nin sarong panguyog o ibang pinagpuyos na bloke, asin para sa ngunyan maliliwat sana na yaon sa gikanang kamugtakan."
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/be-tarask.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/be-tarask.json
new file mode 100644
index 00000000..e547c6ea
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/be-tarask.json
@@ -0,0 +1,31 @@
+{
+ "@metadata": {
+ "authors": [
+ "EugeneZelenko",
+ "Red Winged Duck",
+ "Wizardist",
+ "Чаховіч Уладзіслаў",
+ "Zedlik",
+ "Renessaince"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Кніга",
+ "visualeditor-cite-tool-name-journal": "Часопіс",
+ "visualeditor-cite-tool-name-news": "Навіны",
+ "visualeditor-cite-tool-name-web": "Вэб-сайт",
+ "cite-ve-dialog-reference-options-group-label": "Выкарыстаць гэтую групу",
+ "cite-ve-dialog-reference-options-group-placeholder": "Агульныя спасылкі",
+ "cite-ve-dialog-reference-options-name-label": "Ужываць паўторна пад гэтай назвай",
+ "cite-ve-dialog-reference-options-section": "Налады",
+ "cite-ve-dialog-reference-title": "Зноска",
+ "cite-ve-dialog-reference-useexisting-label": "Ужыць існуючую зноску",
+ "cite-ve-dialog-reference-useexisting-tool": "Паўторнае ўжываньне",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Сьпіс агульных спасылак",
+ "cite-ve-dialog-referenceslist-title": "Сьпіс зносак",
+ "cite-ve-dialogbutton-reference-tooltip": "Звычайная",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Сьпіс зносак",
+ "cite-ve-reference-input-placeholder": "Што хочаце зьмясьціць у зносцы?",
+ "cite-ve-referenceslist-isempty": "На гэтай старонцы н�� мае зносак з групы «$1».",
+ "cite-ve-referenceslist-missingref": "Гэтая зноска вызначаная ў шаблёне ці іншым згенэраваным блёку і пакуль можа быць зьмененая толькі ў крынічным рэжыме.",
+ "cite-ve-toolbar-group-label": "Крыніцы"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/be.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/be.json
new file mode 100644
index 00000000..f0e9d927
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/be.json
@@ -0,0 +1,24 @@
+{
+ "@metadata": {
+ "authors": [
+ "Чаховіч Уладзіслаў",
+ "Дзяніс Тутэйшы",
+ "Artificial123",
+ "Amire80",
+ "Mikalai Udodau",
+ "Goshaproject"
+ ]
+ },
+ "visualeditor-cite-tool-name-news": "Навіны",
+ "cite-ve-dialog-reference-options-group-label": "Выкарыстоўваць гэтую групу",
+ "cite-ve-dialog-reference-options-group-placeholder": "Агульныя спасылкі",
+ "cite-ve-dialog-reference-options-name-label": "Паўторна выкарыстоўваць гэта імя",
+ "cite-ve-dialog-reference-options-section": "Параметры",
+ "cite-ve-dialog-reference-title": "Зноскі",
+ "cite-ve-dialog-reference-useexisting-full-label": "Паўторнае выкарыстанне цытавання, якое ўжо існуе на гэтай старонцы",
+ "cite-ve-dialog-reference-useexisting-label": "Выкарыстоўваць існуючую спасылку",
+ "cite-ve-dialog-reference-useexisting-tool": "Паўторна выкарыстоўваць",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Спіс агульных спасылак",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Спіс спасылак для групы \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Спіс спасылак"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/bg.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/bg.json
new file mode 100644
index 00000000..8cdcb752
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/bg.json
@@ -0,0 +1,41 @@
+{
+ "@metadata": {
+ "authors": [
+ "DCLXVI",
+ "Hristofor.mirchev",
+ "MegaAlex",
+ "පසිඳු කාවින්ද",
+ "Mitzev",
+ "StanProg",
+ "Spiritia",
+ "Лорд Бъмбъри",
+ "Vodnokon4e"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "null",
+ "visualeditor-cite-tool-name-book": "Книга",
+ "visualeditor-cite-tool-name-journal": "Списание",
+ "visualeditor-cite-tool-name-news": "Новини",
+ "visualeditor-cite-tool-name-web": "Уебсайт",
+ "cite-tool-definition.json": "null",
+ "cite-ve-dialog-reference-editing-reused": "Тази препратка се използва на страницата $1 {{PLURAL:$1|пъти}}.",
+ "cite-ve-dialog-reference-options-group-label": "Използвайте тази група",
+ "cite-ve-dialog-reference-options-group-placeholder": "Общи препратки",
+ "cite-ve-dialog-reference-options-name-label": "Повторно използване с това име",
+ "cite-ve-dialog-reference-options-section": "Настройки",
+ "cite-ve-dialog-reference-title": "Източник",
+ "cite-ve-dialog-reference-useexisting-full-label": "Повторно използване на цитиране, което вече съществува на страницата",
+ "cite-ve-dialog-reference-useexisting-label": "Използване на съществуващ източник",
+ "cite-ve-dialog-reference-useexisting-tool": "Повторно използване",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Списък на общи препратки",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Списък на препратки от група „$1“",
+ "cite-ve-dialog-referenceslist-title": "Списък с източници",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Подобрява съдържанието, добавяйки списък с източници на информация. Може да цитирате книги, вестници и уебсайтове.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Цитати",
+ "cite-ve-dialogbutton-reference-full-label": "Основна форма",
+ "cite-ve-dialogbutton-reference-title": "Източник",
+ "cite-ve-dialogbutton-reference-tooltip": "Основен",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Списък с източници",
+ "cite-ve-reference-input-placeholder": "Търсене в текущите цитирания",
+ "cite-ve-toolbar-group-label": "Цитиране"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/bgn.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/bgn.json
new file mode 100644
index 00000000..625be711
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/bgn.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Baloch Afghanistan"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/bho.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/bho.json
new file mode 100644
index 00000000..81d55743
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/bho.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Nepaboy",
+ "SatyamMishra",
+ "Ganesh"
+ ]
+ },
+ "cite-ve-dialogbutton-reference-tooltip": "बुनियादी"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/bn.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/bn.json
new file mode 100644
index 00000000..d93ea1fc
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/bn.json
@@ -0,0 +1,54 @@
+{
+ "@metadata": {
+ "authors": [
+ "Aftab1995",
+ "Bellayet",
+ "Jayantanth",
+ "Nasir8891",
+ "Runab",
+ "Sayak Sarkar",
+ "Tauhid16",
+ "Aftabuzzaman",
+ "RYasmeen (WMF)",
+ "Sayma Jahan",
+ "NahidSultan"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "কিছু না",
+ "visualeditor-cite-tool-name-book": "বই",
+ "visualeditor-cite-tool-name-journal": "সাময়িকী",
+ "visualeditor-cite-tool-name-news": "সংবাদ",
+ "visualeditor-cite-tool-name-web": "ওয়েবসাইট",
+ "cite-tool-definition.json": "কিছু না",
+ "cite-ve-changedesc-reflist-responsive-set": "প্রতিক্রিয়াশীল কলামে প্রদর্শিত হতে তথ্যসূত্রের তালিকাটি পরিবর্তিত করে",
+ "cite-ve-changedesc-reflist-responsive-unset": "কেবলমাত্র একটি কলামে প্রদর্শিত হতে তথ্যসূত্রের তালিকাটি পরিবর্তিত করে",
+ "cite-ve-changedesc-reflist-item-id": "তথ্যসূত্রের সূচক পরিবর্তিত হয়েছে",
+ "cite-ve-dialog-reference-editing-reused": "এই তথ্যসূত্রটি এই পাতায় $1 {{PLURAL:$1|বার}} ব্যবহৃত হয়েছে।",
+ "cite-ve-dialog-reference-options-group-label": "এই দল ব্যবহার করুন",
+ "cite-ve-dialog-reference-options-group-placeholder": "সাধারণ তথ্যসূত্র",
+ "cite-ve-dialog-reference-options-name-label": "এই নামে পুনঃব্যবহার করুন",
+ "cite-ve-dialog-reference-options-responsive-label": "প্রতিক্রিয়াশীল কলাম বিন্যাস ব্যবহার করুন",
+ "cite-ve-dialog-reference-options-section": "অপশন",
+ "cite-ve-dialog-reference-placeholder": "এখানে আপনার তথ্যসূত্র লিখুন বা প্রতিলেপন করুন, বা একটি উদ্ধৃতি টেমপ্লেট সন্নিবেশ করুন।",
+ "cite-ve-dialog-reference-title": "তথ্যসূত্র",
+ "cite-ve-dialog-reference-useexisting-full-label": "এই পাতায় অস্তিত্ব রয়েছে এমন একটি উদ্ধৃতি পুনঃব্যবহার করুন",
+ "cite-ve-dialog-reference-useexisting-label": "একটি বিদ্যমান তথ্যসূত্র ব্যবহার করুন",
+ "cite-ve-dialog-reference-useexisting-tool": "পুনঃব্যবহার",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "সাধারণ তথ্যসূত্রের তালিকা",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "\"$1\" দলের জন্য তথ্যসূত্রের তালিকা",
+ "cite-ve-dialog-referenceslist-title": "তথ্যসূত্রের তালিকা",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "তথ্যের উৎস সংযুক্ত করে আপনার বিষয়বস্তু উন্নত করুন। আপনি বই, সংবাদপত্র এবং ওয়েবসাইট থেকে উদ্ধৃত করতে পারেন।",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "উদ্ধৃতি",
+ "cite-ve-dialogbutton-reference-full-label": "মৌলিক ফরম",
+ "cite-ve-dialogbutton-reference-title": "তথ্যসূত্র",
+ "cite-ve-dialogbutton-reference-tooltip": "মৌলিক",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "তথ্যসূত্রের তালিকা",
+ "cite-ve-reference-input-placeholder": "বর্তমান তথ্যসূত্রের মধ্যে অনুসন্ধান করুন",
+ "cite-ve-referenceslist-isempty": "এই পাতাতে \"$1\" দলের জন্য কোন তথ্যসূত্র নেই।",
+ "cite-ve-referenceslist-isempty-default": "এই তালিকায় যোগ করার জন্য এই পৃষ্ঠায় কোন তথ্যসূত্র নেই।",
+ "cite-ve-referenceslist-missingref": "এই তথ্যটি একটি টেমপ্লেট বা অন্যান্য উত্পন্ন ব্লক হিসেবে সংজ্ঞায়িত করা হয় এবং এখনকার জন্য এটি শুধুমাত্র উৎস মোডে সম্পাদনা করা যাবে।",
+ "cite-ve-toolbar-group-label": "উদ্ধৃতি",
+ "cite-ve-othergroup-item": "$1টি তথ্যসূত্র",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "তথ্যসূত্র",
+ "visualeditor-internal-list-diff-group-name-mwreference": "তথ্যসূত্রের দলের নাম: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/bo.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/bo.json
new file mode 100644
index 00000000..2bec4a92
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/bo.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Phurbutsering"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/br.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/br.json
new file mode 100644
index 00000000..b5f93da7
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/br.json
@@ -0,0 +1,24 @@
+{
+ "@metadata": {
+ "authors": [
+ "Fohanno",
+ "Fulup",
+ "Y-M D",
+ "Maoris"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Levr",
+ "visualeditor-cite-tool-name-journal": "Kazetenn",
+ "visualeditor-cite-tool-name-news": "Keleier",
+ "visualeditor-cite-tool-name-web": "Lec'hienn",
+ "cite-ve-dialog-reference-options-group-label": "Implijout ar strollad-mañ",
+ "cite-ve-dialog-reference-options-section": "Dibarzhioù",
+ "cite-ve-dialog-reference-title": "Daveennoù",
+ "cite-ve-dialog-reference-useexisting-label": "Implijout un daveenn zo anezhi",
+ "cite-ve-dialog-reference-useexisting-tool": "Adimplijout",
+ "cite-ve-dialog-referenceslist-title": "Roll an daveennoù",
+ "cite-ve-dialogbutton-reference-full-label": "Stumm diazez",
+ "cite-ve-dialogbutton-reference-tooltip": "Diazez",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Roll an daveennoù",
+ "cite-ve-toolbar-group-label": "Menegiñ"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/brh.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/brh.json
new file mode 100644
index 00000000..5d362233
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/brh.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Imdadb"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/brx.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/brx.json
new file mode 100644
index 00000000..c370920a
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/brx.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "ⓝⓘⓙⓦⓜ"
+ ]
+ },
+ "visualeditor-cite-tool-name-news": "रादाब",
+ "cite-ve-dialog-reference-useexisting-tool": "फिन-बाहाय"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/bs.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/bs.json
new file mode 100644
index 00000000..f810ffec
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/bs.json
@@ -0,0 +1,41 @@
+{
+ "@metadata": {
+ "authors": [
+ "DzWiki",
+ "KWiki",
+ "Srdjan m",
+ "Semso98"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Knjiga",
+ "visualeditor-cite-tool-name-journal": "Časopis",
+ "visualeditor-cite-tool-name-news": "Vijesti",
+ "visualeditor-cite-tool-name-web": "Veb-sajt",
+ "cite-ve-dialog-reference-editing-reused": "Ova referenca koristi se već $1 {{PLURAL:$1|put|puta}} na ovoj stranici.",
+ "cite-ve-dialog-reference-options-group-label": "Koristi ovu grupu",
+ "cite-ve-dialog-reference-options-group-placeholder": "Opće reference",
+ "cite-ve-dialog-reference-options-name-label": "Ponovo koristi pod ovim imenom",
+ "cite-ve-dialog-reference-options-section": "Opcije",
+ "cite-ve-dialog-reference-placeholder": "Ovdje napišite ili prekopirajte referencu, ili umetnite šablon za reference.",
+ "cite-ve-dialog-reference-title": "Referenca",
+ "cite-ve-dialog-reference-useexisting-full-label": "Ponovo koristi referencu koja već postoji na ovoj stranici",
+ "cite-ve-dialog-reference-useexisting-label": "Koristi postojeću referencu",
+ "cite-ve-dialog-reference-useexisting-tool": "Ponovno korištenje",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Spisak općih referenci",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Spisak referenci grupe \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Spisak referenci",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Poboljšava sadržaj članka dodavanjem izvora za informacije. Možete referencirati knjige, novine i veb-sajtove.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Reference",
+ "cite-ve-dialogbutton-reference-full-label": "Osnovni oblik",
+ "cite-ve-dialogbutton-reference-title": "Referenca",
+ "cite-ve-dialogbutton-reference-tooltip": "Osnovna",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Spisak referenci",
+ "cite-ve-reference-input-placeholder": "Traži postojeće reference",
+ "cite-ve-referenceslist-isempty": "Nema referenci u grupi \"$1\" na ovoj stranici.",
+ "cite-ve-referenceslist-isempty-default": "Nema referenci na ovoj stranici koje bi mogle biti uključene u ovaj spisak.",
+ "cite-ve-referenceslist-missingref": "Ova referenca definirana je u šablonu ili drugom generiranom dijelu i zasad se može uređivati jedino u uređivaču izvornog koda.",
+ "cite-ve-toolbar-group-label": "Referenca",
+ "cite-ve-othergroup-item": "$1 referenca",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Reference",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Naziv grupe referenci: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ca.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ca.json
new file mode 100644
index 00000000..43053048
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ca.json
@@ -0,0 +1,53 @@
+{
+ "@metadata": {
+ "authors": [
+ "Alvaro Vidal-Abarca",
+ "Amire80",
+ "Arnaugir",
+ "Pginer",
+ "QuimGil",
+ "SMP",
+ "Vriullop",
+ "Papapep",
+ "Fitoschido",
+ "Edustus",
+ "Davidpar",
+ "Kippelboy",
+ "Unapersona",
+ "Macofe",
+ "Toniher",
+ "Maceleiro",
+ "F3RaN",
+ "SenyorFontal",
+ "Eduardo Martinez"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Llibre",
+ "visualeditor-cite-tool-name-journal": "Publicació",
+ "visualeditor-cite-tool-name-news": "Notícies",
+ "visualeditor-cite-tool-name-web": "Lloc web",
+ "cite-ve-dialog-reference-editing-reused": "Aquesta referència s'utilitza $1 {{PLURAL:$1|vegades}} en aquesta pàgina.",
+ "cite-ve-dialog-reference-options-group-label": "Utilitza aquest grup",
+ "cite-ve-dialog-reference-options-group-placeholder": "Referències generals",
+ "cite-ve-dialog-reference-options-name-label": "Reutilitza amb aquest nom",
+ "cite-ve-dialog-reference-options-section": "Opcions",
+ "cite-ve-dialog-reference-title": "Referència",
+ "cite-ve-dialog-reference-useexisting-full-label": "Reutilitzeu una referència que ja existeix en aquest article",
+ "cite-ve-dialog-reference-useexisting-label": "Utilitza una referència existent",
+ "cite-ve-dialog-reference-useexisting-tool": "Reutilitza",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Llista general de referències",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Llista de referències del grip \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Llista de referències",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Milloreu el contingut afegint fonts d'informació. Podeu citar llibres, diaris i pàgines web.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Referències",
+ "cite-ve-dialogbutton-reference-full-label": "Forma bàsica",
+ "cite-ve-dialogbutton-reference-title": "Referència",
+ "cite-ve-dialogbutton-reference-tooltip": "Bàsic",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Llista de referències",
+ "cite-ve-reference-input-placeholder": "Cerca a les referències actuals",
+ "cite-ve-referenceslist-isempty": "No hi ha cap referència amb el grup «$1» en aquesta pàgina a incloure en aquesta llista.",
+ "cite-ve-referenceslist-isempty-default": "No hi ha cap referència en aquesta pàgina que incloure en la llista.",
+ "cite-ve-referenceslist-missingref": "Aquesta referència està definida en una plantilla o un altre tipus de bloc generat, i de moment només pot editar-se amb l'editor de codi font.",
+ "cite-ve-referenceslist-missingreflist": "Aquesta llista de referències ha estat generada per una plantilla i, per ara, només es pot modificar en mode de codi font.",
+ "cite-ve-toolbar-group-label": "Referència"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/cdo.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/cdo.json
new file mode 100644
index 00000000..dda7f4b3
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/cdo.json
@@ -0,0 +1,18 @@
+{
+ "@metadata": {
+ "authors": [
+ "Yejianfei",
+ "唐吉訶德的侍從"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "圖書",
+ "visualeditor-cite-tool-name-journal": "期刊",
+ "visualeditor-cite-tool-name-news": "新聞",
+ "visualeditor-cite-tool-name-web": "網站",
+ "cite-ve-dialog-reference-useexisting-tool": "複用",
+ "cite-ve-dialogbutton-reference-full-label": "基本形式",
+ "cite-ve-dialogbutton-reference-title": "參考",
+ "cite-ve-dialogbutton-reference-tooltip": "基本",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "參考文獻",
+ "cite-ve-toolbar-group-label": "引用"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ce.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ce.json
new file mode 100644
index 00000000..f3f4aed7
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ce.json
@@ -0,0 +1,29 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amire80",
+ "Умар",
+ "Исмаил Садуев"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "нуль",
+ "visualeditor-cite-tool-name-book": "Жайна",
+ "visualeditor-cite-tool-name-journal": "Тептар",
+ "visualeditor-cite-tool-name-news": "Керланаш",
+ "visualeditor-cite-tool-name-web": "Веб-сайт",
+ "cite-tool-definition.json": "нуль",
+ "cite-ve-dialog-reference-options-group-label": "Лелае хӀара тоба",
+ "cite-ve-dialog-reference-options-group-placeholder": "Юкъара хььажоргаш",
+ "cite-ve-dialog-reference-options-name-label": "ХӀокху цӀарца юху лелае",
+ "cite-ve-dialog-reference-options-section": "Параметраш",
+ "cite-ve-dialog-reference-title": "Билгалдаккхар",
+ "cite-ve-dialog-reference-useexisting-label": "Леладе долуш долу тIетовжар",
+ "cite-ve-dialog-reference-useexisting-tool": "Юха лелор",
+ "cite-ve-dialog-referenceslist-title": "Билгалдаккхаршан могӀам",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Дика йе хьайн контент хаамийн хьосташ тӀетоьхна. Хайн йиш ю цитаташ дало жайнаш тӀера, газеташ тӀера я веб-сайташ тӀера.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Цитаташ",
+ "cite-ve-dialogbutton-reference-tooltip": "Коьрта",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Билгалдаккхаршан могӀам",
+ "cite-ve-reference-input-placeholder": "Муьлхачунна тӀетовжа лаьа хьуна?",
+ "cite-ve-toolbar-group-label": "Белгалдахарш"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ckb.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ckb.json
new file mode 100644
index 00000000..7e520e11
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ckb.json
@@ -0,0 +1,29 @@
+{
+ "@metadata": {
+ "authors": [
+ "Calak",
+ "Muhammed taha",
+ "Serwan",
+ "Pirehelokan",
+ "Sarchia"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "کتێب",
+ "visualeditor-cite-tool-name-journal": "بڵاوکراوە",
+ "visualeditor-cite-tool-name-news": "هەواڵ",
+ "visualeditor-cite-tool-name-web": "ماڵپەڕ",
+ "cite-ve-dialog-reference-options-group-label": "ئەم گرووپە بەکاربھێنە",
+ "cite-ve-dialog-reference-options-group-placeholder": "سەرچاوە گشتییەکان",
+ "cite-ve-dialog-reference-options-section": "ھەڵبژاردەکان",
+ "cite-ve-dialog-reference-title": "سەرچاوە",
+ "cite-ve-dialog-reference-useexisting-label": "بەکارھێنانی سەرچاوەیەکی ئامادە",
+ "cite-ve-dialog-reference-useexisting-tool": "بەکارھێنانەوە",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "پێڕستی سەرچاوە گشتییەکان",
+ "cite-ve-dialog-referenceslist-title": "پێرستی سەرچاوە",
+ "cite-ve-dialogbutton-reference-title": "سەرچاوە",
+ "cite-ve-dialogbutton-reference-tooltip": "بنەڕەتی",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "پێرستی سەرچاوەکان",
+ "cite-ve-toolbar-group-label": "ئاماژە",
+ "cite-ve-othergroup-item": "سەرچاوەی $1",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "سەرچاوەکان"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/co.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/co.json
new file mode 100644
index 00000000..7686c2ed
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/co.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "Paulu",
+ "Nemo bis",
+ "Macofe"
+ ]
+ },
+ "cite-ve-dialog-reference-options-group-label": "Fà usu di 'ssu gruppu",
+ "cite-ve-dialog-reference-options-name-label": "Rifà usu di 'ssu nome",
+ "cite-ve-dialog-reference-options-section": "Ozzione",
+ "cite-ve-dialog-reference-title": "Referenza",
+ "cite-ve-dialog-reference-useexisting-label": "Fà usu d'una referenza esistente",
+ "cite-ve-dialog-referenceslist-title": "Lista di referenze",
+ "cite-ve-dialogbutton-reference-tooltip": "Referenza",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Lista di referenze"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/crh-cyrl.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/crh-cyrl.json
new file mode 100644
index 00000000..2e2bd4b2
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/crh-cyrl.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Don Alessandro"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/crh-latn.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/crh-latn.json
new file mode 100644
index 00000000..2e2bd4b2
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/crh-latn.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Don Alessandro"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/cs.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/cs.json
new file mode 100644
index 00000000..2ccf3e13
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/cs.json
@@ -0,0 +1,68 @@
+{
+ "@metadata": {
+ "authors": [
+ "Chmee2",
+ "Jkjk",
+ "Juandev",
+ "Koo6",
+ "Littledogboy",
+ "Michaelbrabec",
+ "Mormegil",
+ "Polda18",
+ "Tchoř",
+ "ශ්වෙත",
+ "Matěj Suchánek",
+ "Gloria sah",
+ "Vojtěch Dostál",
+ "Aktron",
+ "Cvanca",
+ "Kusavica",
+ "Dvorapa",
+ "Ilimanaq29"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "prázdný",
+ "visualeditor-cite-tool-name-book": "Kniha",
+ "visualeditor-cite-tool-name-journal": "Časopis",
+ "visualeditor-cite-tool-name-news": "Časopis / noviny",
+ "visualeditor-cite-tool-name-web": "Webová stránka",
+ "cite-tool-definition.json": "prázdný",
+ "cite-ve-changedesc-ref-group-both": "Skupina reference změněna z „$1“ na „$2“",
+ "cite-ve-changedesc-ref-group-from": "Skupina reference změněna z „$1“ na základní",
+ "cite-ve-changedesc-ref-group-to": "Skupina reference změněna ze základní na „$1“",
+ "cite-ve-changedesc-reflist-group-both": "Skupina seznamu referencí změněna z „$1“ na „$2“",
+ "cite-ve-changedesc-reflist-group-from": "Skupina seznamu referencí změněna z „$1“ na základní",
+ "cite-ve-changedesc-reflist-group-to": "Skupina seznamu referencí změněna ze základní na „$1“",
+ "cite-ve-changedesc-reflist-responsive-set": "Seznam referencí se nyní zobrazuje v responzivních sloupcích",
+ "cite-ve-changedesc-reflist-responsive-unset": "Seznam referencí se nyní zobrazuje jenom v jednom sloupci",
+ "cite-ve-changedesc-reflist-item-id": "Změněno číslo reference",
+ "cite-ve-dialog-reference-editing-reused": "Tato reference se na této stránce používá $1{{PLURAL:$1|krát}}.",
+ "cite-ve-dialog-reference-options-group-label": "Použít tuto skupinu",
+ "cite-ve-dialog-reference-options-group-placeholder": "Obecné reference",
+ "cite-ve-dialog-reference-options-name-label": "Znovupoužívat pod tímto názvem",
+ "cite-ve-dialog-reference-options-responsive-label": "Použít responzivní vzhled sloupců",
+ "cite-ve-dialog-reference-options-section": "Možnosti",
+ "cite-ve-dialog-reference-placeholder": "Sem napište nebo vložte svou referenci nebo citační šablonu.",
+ "cite-ve-dialog-reference-title": "Reference",
+ "cite-ve-dialog-reference-useexisting-full-label": "Znovupoužít citaci, která již na stránce existuje",
+ "cite-ve-dialog-reference-useexisting-label": "Použít existující referenci",
+ "cite-ve-dialog-reference-useexisting-tool": "Použít existující",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Seznam obecných referencí",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Seznam referencí pro skupinu „$1“",
+ "cite-ve-dialog-referenceslist-title": "Seznam referencí",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Vylepšení vašeho obsahu přidáním zdrojů informací. Můžete citovat z knih, novin či webových stránek.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Citace",
+ "cite-ve-dialogbutton-reference-full-label": "Základní podoba",
+ "cite-ve-dialogbutton-reference-title": "Reference",
+ "cite-ve-dialogbutton-reference-tooltip": "Základní",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Seznam referencí",
+ "cite-ve-reference-input-placeholder": "Hledat ve stávajících referencích",
+ "cite-ve-referenceslist-isempty": "Na této stránce nejsou žádné reference se skupinou „$1“, které by se v tomto seznamu zobrazily.",
+ "cite-ve-referenceslist-isempty-default": "Na této stránce nejsou žádné reference, které by se v tomto seznamu zobrazily.",
+ "cite-ve-referenceslist-missingref": "Tato reference je definována v šabloně nebo jiné generované části textu a zatím ji lze editovat jen v režimu zdrojového textu.",
+ "cite-ve-referenceslist-missingreflist": "Tento seznam referencí je generován šablonou a zatím ho lze editovat pouze v režimu zdrojového textu.",
+ "cite-ve-toolbar-group-label": "Citace",
+ "cite-ve-othergroup-item": "$1 reference",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Reference",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Název skupiny referencí: „$1“"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/cu.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/cu.json
new file mode 100644
index 00000000..4be219b1
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/cu.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "ОйЛ",
+ "Илья Драконов"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "кънигꙑ",
+ "visualeditor-cite-tool-name-news": "вѣсти",
+ "visualeditor-cite-tool-name-web": "мєждоусѣтьно мѣсто",
+ "cite-ve-dialog-reference-options-section": "строи",
+ "cite-ve-dialogbutton-reference-title": "Источник"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/cv.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/cv.json
new file mode 100644
index 00000000..e2a6954c
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/cv.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Chuvash2014"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/cy.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/cy.json
new file mode 100644
index 00000000..3f6c03b4
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/cy.json
@@ -0,0 +1,29 @@
+{
+ "@metadata": {
+ "authors": [
+ "Cymrodor",
+ "Lloffiwr",
+ "Robin Owain",
+ "ОйЛ",
+ "DChan (WMF)"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Llyfr",
+ "visualeditor-cite-tool-name-journal": "Cyfnodolyn",
+ "visualeditor-cite-tool-name-news": "Newyddion",
+ "visualeditor-cite-tool-name-web": "Gwefan",
+ "cite-ve-dialog-reference-options-group-label": "Defnyddio'r grŵp hwn",
+ "cite-ve-dialog-reference-options-group-placeholder": "Cyfeirnodau cyffredinol",
+ "cite-ve-dialog-reference-options-name-label": "Ail-ddefnyddio wrth yr enw hwn",
+ "cite-ve-dialog-reference-options-section": "Dewisiadau",
+ "cite-ve-dialog-reference-title": "Cyfeirnod",
+ "cite-ve-dialog-reference-useexisting-label": "Defnyddiwch gyfeirnod sy'n bodoli eisoes",
+ "cite-ve-dialog-reference-useexisting-tool": "Ail-ddefnyddio",
+ "cite-ve-dialog-referenceslist-title": "Rhestr cyfeirnodau",
+ "cite-ve-dialogbutton-reference-tooltip": "Cyfeiriad at ffynhonnell",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Rhestr cyfeiriadau",
+ "cite-ve-reference-input-placeholder": "At ba ffynhonnell yr hoffech gyfeirio?",
+ "cite-ve-referenceslist-isempty": "Nid oes unrhyw gyfeiriadau o'r grŵp \"$1\" ar y dudalen hon i'w cynnwys ar y rhestr.",
+ "cite-ve-referenceslist-isempty-default": "Nid oes unrhyw gyfeiriadau ar y dudalen hon i'w cynnwys ar y rhestr hon.",
+ "cite-ve-referenceslist-missingref": "Mae'r cyfeirnod hwn wedi cael ei gynhyrchu gan templed neu rhyw god arall, ac ar hyn o bryd rhaid golygu'r cod ei hunan yn hytrach na defnyddio VisualEditor."
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/da.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/da.json
new file mode 100644
index 00000000..e17fa81f
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/da.json
@@ -0,0 +1,35 @@
+{
+ "@metadata": {
+ "authors": [
+ "Cgtdk",
+ "Christian List",
+ "EileenSanda",
+ "Laketown",
+ "Palnatoke",
+ "Simeondahl",
+ "Tehnix",
+ "Sarrus",
+ "McDutchie",
+ "Macofe",
+ "Ribewiki",
+ "Jorn Ari"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Bog",
+ "visualeditor-cite-tool-name-news": "Nyheder",
+ "visualeditor-cite-tool-name-web": "Hjemmeside",
+ "cite-ve-dialog-reference-options-group-label": "Brug denne gruppe",
+ "cite-ve-dialog-reference-options-group-placeholder": "Generelle referencer",
+ "cite-ve-dialog-reference-options-name-label": "Genbrug med dette navn",
+ "cite-ve-dialog-reference-options-section": "Indstillinger",
+ "cite-ve-dialog-reference-title": "Reference",
+ "cite-ve-dialog-reference-useexisting-label": "Brug en eksisterende reference",
+ "cite-ve-dialog-referenceslist-title": "Referenceliste",
+ "cite-ve-dialogbutton-reference-tooltip": "Enkel",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Referenceliste",
+ "cite-ve-reference-input-placeholder": "Søg i de aktuelle referencer",
+ "cite-ve-referenceslist-isempty": "Der er ingen referencer med gruppen \"$1\" på denne side, som kan medtages i denne liste.",
+ "cite-ve-referenceslist-isempty-default": "Der er ingen referencer på denne side som kan medtages i denne liste.",
+ "cite-ve-referenceslist-missingref": "Denne reference er defineret i en skabelon eller en anden genereret blok, og kan foreløbig kun redigeres i wikikode tilstand.",
+ "cite-ve-referenceslist-missingreflist": "Denne referenceliste genereres af en skabelon, og kan nu kun redigeres i kildefunktion."
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/de-ch.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/de-ch.json
new file mode 100644
index 00000000..4297a650
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/de-ch.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Filzstift"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/de-formal.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/de-formal.json
new file mode 100644
index 00000000..ce33b601
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/de-formal.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Kghbln",
+ "Se4598"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/de.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/de.json
new file mode 100644
index 00000000..b77a75fd
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/de.json
@@ -0,0 +1,64 @@
+{
+ "@metadata": {
+ "authors": [
+ "APPER",
+ "Filzstift",
+ "G.Hagedorn",
+ "Inkowik",
+ "Jcornelius",
+ "Jdforrester",
+ "Kghbln",
+ "Metalhead64",
+ "Murma174",
+ "Se4598",
+ "Tomabrafix",
+ "Umherirrender",
+ "Kurt Jansson"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "null",
+ "visualeditor-cite-tool-name-book": "Buch",
+ "visualeditor-cite-tool-name-journal": "Zeitschrift",
+ "visualeditor-cite-tool-name-news": "Nachrichten",
+ "visualeditor-cite-tool-name-web": "Website",
+ "cite-tool-definition.json": "null",
+ "cite-ve-changedesc-ref-group-both": "Einzelnachweisgruppe geändert von „$1“ in „$2“",
+ "cite-ve-changedesc-ref-group-from": "Einzelnachweisgruppe geändert von „$1“ in die allgemeine Gruppe",
+ "cite-ve-changedesc-ref-group-to": "Einzelnachweisgruppe geändert von der allgemeinen Gruppe in „$1“",
+ "cite-ve-changedesc-reflist-group-both": "Einzelnachweislistengruppe geändert von „$1“ in „$2“",
+ "cite-ve-changedesc-reflist-group-from": "Einzelnachweislistengruppe geändert von „$1“ in die allgemeine Gruppe",
+ "cite-ve-changedesc-reflist-group-to": "Einzelnachweislistengruppe geändert von der allgemeinen Gruppe in „$1“",
+ "cite-ve-changedesc-reflist-responsive-set": "Die Einzelnachweisliste wird jetzt in reagierenden Spalten angezeigt",
+ "cite-ve-changedesc-reflist-responsive-unset": "Die Einzelnachweisliste wird jetzt in nur einer Spalte angezeigt",
+ "cite-ve-changedesc-reflist-item-id": "Einzelnachweisindex geändert",
+ "cite-ve-dialog-reference-editing-reused": "Dieser Einzelnachweis wird auf dieser Seite {{PLURAL:$1|einmal|$1 Mal}} verwendet.",
+ "cite-ve-dialog-reference-options-group-label": "Diese Gruppe verwenden",
+ "cite-ve-dialog-reference-options-group-placeholder": "Allgemeine Einzelnachweise",
+ "cite-ve-dialog-reference-options-name-label": "Diesen Namen weiterverwenden",
+ "cite-ve-dialog-reference-options-responsive-label": "Reagierendes Spaltenlayout verwenden",
+ "cite-ve-dialog-reference-options-section": "Optionen",
+ "cite-ve-dialog-reference-placeholder": "Verfasse eine Referenz oder füge sie oder eine Zitatvorlage hier ein.",
+ "cite-ve-dialog-reference-title": "Einzelnachweis",
+ "cite-ve-dialog-reference-useexisting-full-label": "Ein Zitat weiterverwenden, das bereits auf dieser Seite vorhanden ist",
+ "cite-ve-dialog-reference-useexisting-label": "Einen vorhandenen Einzelnachweis verwenden",
+ "cite-ve-dialog-reference-useexisting-tool": "Weiterverwenden",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Liste allgemeiner Einzelnachweise",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Liste der Einzelnachweise für die Gruppe „$1“",
+ "cite-ve-dialog-referenceslist-title": "Einzelnachweisliste",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Belege deine Änderungen, indem du Quellen angibst und aus Büchern, Zeitungen oder Websites zitierst.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Zitate",
+ "cite-ve-dialogbutton-reference-full-label": "Basisform",
+ "cite-ve-dialogbutton-reference-title": "Einzelnachweis",
+ "cite-ve-dialogbutton-reference-tooltip": "Einfach",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Einzelnachweisliste",
+ "cite-ve-reference-input-placeholder": "Innerhalb aktueller Zitate suchen",
+ "cite-ve-referenceslist-isempty": "Auf dieser Seite gibt es keine Einzelnachweise mit der Gruppe „$1“ zum Anzeigen in dieser Liste.",
+ "cite-ve-referenceslist-isempty-default": "Auf dieser Seite gibt es keine Einzelnachweise zum Anzeigen in dieser Liste.",
+ "cite-ve-referenceslist-missingref": "Dieser Einzelnachweis ist in einer Vorlage oder einem anderen erzeugten Block definiert und kann derzeit nur im Quelltextmodus bearbeitet werden.",
+ "cite-ve-referenceslist-missingref-in-list": "Dieser Einzelnachweis wird in einer Vorlage oder einem anderen erzeugten Block definiert und derzeit kann eine Vorschau nur im Quelltextmodus angezeigt werden.",
+ "cite-ve-referenceslist-missingreflist": "Diese Einzelnachweisliste wurde von einer Vorlage erzeugt und kann derzeit nur im Quelltextmodus bearbeitet werden.",
+ "cite-ve-toolbar-group-label": "Zitat",
+ "cite-ve-othergroup-item": "$1-Einzelnachweis",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Referenzierungen",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Referenzierungsgruppenname: „$1“"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/din.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/din.json
new file mode 100644
index 00000000..52b231a2
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/din.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Dinkawiki",
+ "Amire80"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/diq.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/diq.json
new file mode 100644
index 00000000..1eaa1c7a
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/diq.json
@@ -0,0 +1,37 @@
+{
+ "@metadata": {
+ "authors": [
+ "Erdemaslancan",
+ "Gorizon",
+ "Kghbln",
+ "Marmase",
+ "Mirzali",
+ "Se4598",
+ "Kumkumuk"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "veng",
+ "visualeditor-cite-tool-name-book": "Kıtab",
+ "visualeditor-cite-tool-name-journal": "Pêseroke",
+ "visualeditor-cite-tool-name-news": "Xeberi",
+ "visualeditor-cite-tool-name-web": "Websita",
+ "cite-tool-definition.json": "veng",
+ "cite-ve-dialog-reference-editing-reused": "Ena referans $1 {{PLURAL:$1|veror}} rna perer dı karıya ya.",
+ "cite-ve-dialog-reference-options-group-label": "Na gruber bıkarn",
+ "cite-ve-dialog-reference-options-group-placeholder": "Referansê bıngey",
+ "cite-ve-dialog-reference-options-name-label": "Ney nami fına bıkarne",
+ "cite-ve-dialog-reference-options-section": "Weçinegi",
+ "cite-ve-dialog-reference-title": "Referans",
+ "cite-ve-dialog-reference-useexisting-full-label": "Fınankarıyayış ena perer sero xora esten yew grotek o.",
+ "cite-ve-dialog-reference-useexisting-label": "Zu referansa mewcud bıkarne",
+ "cite-ve-dialog-reference-useexisting-tool": "Fına bıkarn",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Listay umumi referansa",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Qandé listay mıreceti gruba \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Listeya referansan",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Groteki",
+ "cite-ve-dialogbutton-reference-full-label": "Formo bıngehın",
+ "cite-ve-dialogbutton-reference-title": "Referans",
+ "cite-ve-dialogbutton-reference-tooltip": "Referans",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Listeya referansan",
+ "cite-ve-reference-input-placeholder": "Qanci referansi şıma qalıyé bıkarné?"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/dsb.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/dsb.json
new file mode 100644
index 00000000..d60846dd
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/dsb.json
@@ -0,0 +1,24 @@
+{
+ "@metadata": {
+ "authors": [
+ "Michawiki",
+ "Derbeth"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Knigły",
+ "visualeditor-cite-tool-name-journal": "Casopis",
+ "visualeditor-cite-tool-name-news": "Casnik",
+ "visualeditor-cite-tool-name-web": "Websedło",
+ "cite-ve-dialog-reference-options-group-label": "Toś tu kupku wužywaś",
+ "cite-ve-dialog-reference-options-group-placeholder": "Powšykne reference",
+ "cite-ve-dialog-reference-options-name-label": "Toś to mě dalej wužywaś",
+ "cite-ve-dialog-reference-options-section": "Opcije",
+ "cite-ve-dialog-reference-title": "Referenca",
+ "cite-ve-dialog-reference-useexisting-label": "Eksistěrujucu referencu wužywaś",
+ "cite-ve-dialog-referenceslist-title": "Lisćina referencow",
+ "cite-ve-dialogbutton-reference-tooltip": "Referenca",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Lisćina referencow",
+ "cite-ve-reference-input-placeholder": "Co coš referencěrowaś?",
+ "cite-ve-referenceslist-isempty": "Njejsu žedne reference z kupku \"$1\" na toś tom boku, kótarež daju se do toś teje lisćiny zapśimjeś.",
+ "cite-ve-referenceslist-isempty-default": "Njejsu reference na toś tom boku, kótarež daju se do toś teje lisćiny zapśimjeś."
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/dty.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/dty.json
new file mode 100644
index 00000000..d2ad43b9
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/dty.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "रमेश सिंह बोहरा",
+ "जनक राज भट्ट",
+ "राम प्रसाद जोशी"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "पुस्तकहरू",
+ "visualeditor-cite-tool-name-journal": "पत्रिका",
+ "visualeditor-cite-tool-name-news": "रैबार",
+ "visualeditor-cite-tool-name-web": "वेबसाइट",
+ "cite-ve-dialog-reference-options-section": "विकल्पहरू",
+ "cite-ve-dialog-reference-title": "सन्दर्भ सामग्रीहरू",
+ "cite-ve-dialog-reference-useexisting-tool": "पुनः प्रयोग",
+ "cite-ve-toolbar-group-label": "उर्ध्वभरण"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ee.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ee.json
new file mode 100644
index 00000000..ceef843c
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ee.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Aguve"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/egl.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/egl.json
new file mode 100644
index 00000000..4e5f7b60
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/egl.json
@@ -0,0 +1,24 @@
+{
+ "@metadata": {
+ "authors": [
+ "Lévi",
+ "Gloria sah"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Léber",
+ "visualeditor-cite-tool-name-journal": "Publicasiòun",
+ "visualeditor-cite-tool-name-news": "Nuvitê",
+ "visualeditor-cite-tool-name-web": "Sît internèt",
+ "cite-ve-dialog-reference-options-group-label": "Drōva cól gróp ché",
+ "cite-ve-dialog-reference-options-name-label": "Tōrna a druvê cól nòm ché",
+ "cite-ve-dialog-reference-options-section": "Siēlti",
+ "cite-ve-dialog-reference-title": "Riferimèint",
+ "cite-ve-dialog-reference-useexisting-label": "Drōva un riferimèint ch' al gh'é bèle",
+ "cite-ve-dialog-referenceslist-title": "Elèinch riferimèint",
+ "cite-ve-dialogbutton-reference-tooltip": "Fundamèint",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Elèinch riferimèint",
+ "cite-ve-reference-input-placeholder": "A csâ dişédra fêr riferimèint?",
+ "cite-ve-referenceslist-isempty": "An gh'é mìa riferimèint cun al gróp \"$1\" insém a cla pàgina ché da mèter dèinter in cl'elèinch ché.",
+ "cite-ve-referenceslist-isempty-default": "An gh'é mìa riferimèint insém a cla pàgina ché da mèter dèinter in cl'elèinch ché.",
+ "cite-ve-referenceslist-missingref": "Cla nôta ché an n'é mìa dichiarêda in un mudèl o in un êter blôch fât e p'r adèsa la pōl èser mudifichêda sōl int la manēra surzéia."
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/el.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/el.json
new file mode 100644
index 00000000..6ae98a81
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/el.json
@@ -0,0 +1,51 @@
+{
+ "@metadata": {
+ "authors": [
+ "Astralnet",
+ "Dipa1965",
+ "Evropi",
+ "FocalPoint",
+ "Geraki",
+ "Glavkos",
+ "Nikosguard",
+ "Tifa93",
+ "Elitre",
+ "Protnet",
+ "Stam.nikos",
+ "Macofe",
+ "SucreRouge",
+ "Nikosgranturismogt"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "κενό",
+ "visualeditor-cite-tool-name-book": "Βιβλίο",
+ "visualeditor-cite-tool-name-journal": "Περιοδικό",
+ "visualeditor-cite-tool-name-news": "Ειδήσεις",
+ "visualeditor-cite-tool-name-web": "Ιστότοπος",
+ "cite-tool-definition.json": "κενό",
+ "cite-ve-dialog-reference-editing-reused": "Αυτή η παραπομπή χρησιμοποιείται $1 {{PLURAL:$1|φορά|φορές}} σε αυτή τη σελίδα.",
+ "cite-ve-dialog-reference-options-group-label": "Χρησιμοποιείστε αυτή την ομάδα",
+ "cite-ve-dialog-reference-options-group-placeholder": "Γενικές αναφορές",
+ "cite-ve-dialog-reference-options-name-label": "Επαναχρησιμοποίηση με αυτό το όνομα",
+ "cite-ve-dialog-reference-options-section": "Επιλογές",
+ "cite-ve-dialog-reference-title": "Παραπομπή",
+ "cite-ve-dialog-reference-useexisting-full-label": "Ξαναχρησιμοποιήστε μια παραπομπή που υπάρχει ήδη σε αυτή τη σελίδα",
+ "cite-ve-dialog-reference-useexisting-label": "Χρήση υπάρχουσας παραπομπής",
+ "cite-ve-dialog-reference-useexisting-tool": "Επαναχρησιμοποίηση",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Λίστα με γενικές αναφορές",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Λίστα αναφορών για την ομάδα \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Κατάλογος παραπομπών",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Βελτιώνει το περιεχόμενό σας με την προσθήκη πηγών πληροφοριών. Μπορείτε να κάνετε παραπομπές σε βιβλία, εφημερίδες και ιστοσελίδες.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Παραπομπές",
+ "cite-ve-dialogbutton-reference-full-label": "Βασική μορφή",
+ "cite-ve-dialogbutton-reference-title": "Παραπομπή",
+ "cite-ve-dialogbutton-reference-tooltip": "Βασικό",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Κατάλογος παραπομπών",
+ "cite-ve-reference-input-placeholder": "Αναζήτηση εντός των τρεχουσών παραπομπών",
+ "cite-ve-referenceslist-isempty": "Δεν υπάρχουν παραπομπές με την ομάδα «$1» σε αυτήν τη σελίδα για να περιληφθούν σε αυτόν τον κατάλογο.",
+ "cite-ve-referenceslist-isempty-default": "Δεν υπάρχουν παραπομπές σε αυτήν τη σελίδα για να περιληφθούν σε αυτόν τον κατάλογο.",
+ "cite-ve-referenceslist-missingref": "Η παραπομπή αυτή έχει οριστεί μέσω προτύπου ή άλλου αυτόματα παραγόμενου μπλοκ και, προς το παρόν, δεν μπορείτε να την επεξεργαστείτε με τον VisualEditor. Χρησιμοποιήστε τον επεξεργαστή κώδικα.",
+ "cite-ve-toolbar-group-label": "Παραπομπή",
+ "cite-ve-othergroup-item": "$1 παραπομπή",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Παραπομπές"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/eml.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/eml.json
new file mode 100644
index 00000000..06f81a54
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/eml.json
@@ -0,0 +1,26 @@
+{
+ "@metadata": {
+ "authors": [
+ "Gloria sah",
+ "Lévi"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Lìber",
+ "visualeditor-cite-tool-name-journal": "Giurnêl",
+ "visualeditor-cite-tool-name-news": "Nuvitê",
+ "visualeditor-cite-tool-name-web": "Sit web",
+ "cite-ve-dialog-reference-options-group-label": "Drōva cól gróp ché",
+ "cite-ve-dialog-reference-options-group-placeholder": "Referèinsi generèli",
+ "cite-ve-dialog-reference-options-name-label": "Tōrna a druvèr sté nòm",
+ "cite-ve-dialog-reference-options-section": "Sernidùri",
+ "cite-ve-dialog-reference-title": "Riferimèint",
+ "cite-ve-dialog-reference-useexisting-label": "Drōva un riferimèint ch' al gh'è bèle",
+ "cite-ve-dialog-referenceslist-title": "Elèinch riferimèint",
+ "cite-ve-dialogbutton-reference-tooltip": "Referèinsa",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Elèinch riferimèint",
+ "cite-ve-reference-input-placeholder": "Cùśa vlī-v referensièr?",
+ "cite-ve-referenceslist-isempty": "In cla pagina chè a n' gh' è brîśa di riferimèint cun al grùp \"$1\" da mèter dèint'r a cla lìsta chè.",
+ "cite-ve-referenceslist-isempty-default": "In cla pagina chè an gh' è brîśa di riferimèint da mèter dèint'r a cla lìsta chè.",
+ "cite-ve-referenceslist-missingref": "Cla nôta ché l'é fisêda in un mudèl o in 'n êter blôch fât e per adès la pōl èser mudufichêda sôl iint al môd surzéia.",
+ "cite-ve-toolbar-group-label": "Sitèr"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/en-gb.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/en-gb.json
new file mode 100644
index 00000000..74518965
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/en-gb.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Jdforrester",
+ "Shirayuki",
+ "Felicilijonas",
+ "Captaindogfish",
+ "Chase me ladies, I'm the Cavalry"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/en.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/en.json
new file mode 100644
index 00000000..3e03cf78
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/en.json
@@ -0,0 +1,64 @@
+{
+ "@metadata": {
+ "authors": [
+ "Trevor Parscal",
+ "Ed Sanders",
+ "James D. Forrester",
+ "Raimond Spekking",
+ "Erik Moeller",
+ "Moriel Schottlender",
+ "Yuki Shira",
+ "Siebrand Mazeland",
+ "Rob Moen",
+ "Timo Tijhof",
+ "Roan Kattouw",
+ "Christian Williams",
+ "Amir E. Aharoni"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "null",
+ "visualeditor-cite-tool-name-book": "Book",
+ "visualeditor-cite-tool-name-journal": "Journal",
+ "visualeditor-cite-tool-name-news": "News",
+ "visualeditor-cite-tool-name-web": "Website",
+ "cite-tool-definition.json": "null",
+ "cite-ve-changedesc-ref-group-both": "Reference group changed from \"$1\" to \"$2\"",
+ "cite-ve-changedesc-ref-group-from": "Reference group changed from \"$1\" to the general group",
+ "cite-ve-changedesc-ref-group-to": "Reference group changed from the general group to \"$1\"",
+ "cite-ve-changedesc-reflist-group-both": "References list group changed from \"$1\" to \"$2\"",
+ "cite-ve-changedesc-reflist-group-from": "References list group changed from \"$1\" to the general group",
+ "cite-ve-changedesc-reflist-group-to": "References list group changed from the general group to \"$1\"",
+ "cite-ve-changedesc-reflist-responsive-set": "References list changed to display in responsive columns",
+ "cite-ve-changedesc-reflist-responsive-unset": "References list changed to display in only one column",
+ "cite-ve-changedesc-reflist-item-id": "Reference index changed",
+ "cite-ve-dialog-reference-editing-reused": "This reference is used $1 {{PLURAL:$1|times}} on this page.",
+ "cite-ve-dialog-reference-options-group-label": "Use this group",
+ "cite-ve-dialog-reference-options-group-placeholder": "General references",
+ "cite-ve-dialog-reference-options-name-label": "Re-use by this name",
+ "cite-ve-dialog-reference-options-responsive-label": "Use responsive column layout",
+ "cite-ve-dialog-reference-options-section": "Options",
+ "cite-ve-dialog-reference-placeholder": "Write or paste your reference here, or insert a citation template.",
+ "cite-ve-dialog-reference-title": "Reference",
+ "cite-ve-dialog-reference-useexisting-full-label": "Re-use a citation that already exists on this page",
+ "cite-ve-dialog-reference-useexisting-label": "Use an existing reference",
+ "cite-ve-dialog-reference-useexisting-tool": "Re-use",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "List of general references",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "List of references for group \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "References list",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Improves your content by adding sources of information. You can cite from books, newspapers and websites.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Citations",
+ "cite-ve-dialogbutton-reference-full-label": "Basic form",
+ "cite-ve-dialogbutton-reference-title": "Reference",
+ "cite-ve-dialogbutton-reference-tooltip": "Basic",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "References list",
+ "cite-ve-reference-input-placeholder": "Search within current citations",
+ "cite-ve-referenceslist-isempty": "There are no references with the group \"$1\" on this page to include in this list.",
+ "cite-ve-referenceslist-isempty-default": "There are no references on this page to include in this list.",
+ "cite-ve-referenceslist-missingref": "This reference is defined in a template or other generated block, and for now can only be edited in source mode.",
+ "cite-ve-referenceslist-missingref-in-list": "This reference is defined in a template or other generated block, and for now can only be previewed in source mode.",
+ "cite-ve-referenceslist-missingreflist": "This reference list is generated by a template, and for now can only be edited in source mode.",
+ "cite-ve-toolbar-group-label": "Cite",
+ "cite-ve-othergroup-item": "$1 reference",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "References",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Reference group name: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/eo.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/eo.json
new file mode 100644
index 00000000..1cbd219d
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/eo.json
@@ -0,0 +1,33 @@
+{
+ "@metadata": {
+ "authors": [
+ "Happy5214",
+ "KuboF",
+ "Shirayuki",
+ "Yekrats",
+ "Kvardek du"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Libro",
+ "visualeditor-cite-tool-name-journal": "Ĵurnalo",
+ "visualeditor-cite-tool-name-news": "Novaĵoj",
+ "visualeditor-cite-tool-name-web": "Retejo",
+ "cite-ve-dialog-reference-editing-reused": "Ĉi-tion referenco uzas $1 {{PLURAL:$1|fojo|fojos}} en la paĝo.",
+ "cite-ve-dialog-reference-options-group-label": "Uzi tiun ĉi grupon",
+ "cite-ve-dialog-reference-options-group-placeholder": "Ĝeneralaj referencoj",
+ "cite-ve-dialog-reference-options-name-label": "Reuzi sub tiu ĉi nomo",
+ "cite-ve-dialog-reference-options-section": "Opcioj",
+ "cite-ve-dialog-reference-title": "Referenco",
+ "cite-ve-dialog-reference-useexisting-full-label": "Reuzi citon jam uzanta en la paĝo",
+ "cite-ve-dialog-reference-useexisting-label": "Uzi jam ekzistantan referencon",
+ "cite-ve-dialog-reference-useexisting-tool": "Reuzi",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Listo de ĝeneralaj referencoj",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Listo de referencoj por la grupo \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Listo de referencoj",
+ "cite-ve-dialogbutton-reference-full-label": "Baza formo",
+ "cite-ve-dialogbutton-reference-tooltip": "Baza",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Listo de referencoj",
+ "cite-ve-reference-input-placeholder": "Serĉi en nuntempaj refrencoj",
+ "cite-ve-referenceslist-isempty": "En tiu ĉi paĝo ne estas referencoj de grupo \"$1\" por aldoni al tiu ĉi listo.",
+ "cite-ve-referenceslist-isempty-default": "En tiu ĉi paĝo ne estas referencoj por aldoni al tiu ĉi listo."
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/es.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/es.json
new file mode 100644
index 00000000..6a91af7e
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/es.json
@@ -0,0 +1,75 @@
+{
+ "@metadata": {
+ "authors": [
+ "Armando-Martin",
+ "Aruizdr",
+ "Benfutbol10",
+ "DJ Nietzsche",
+ "Erdemaslancan",
+ "Fitoschido",
+ "Imre",
+ "Invadinado",
+ "Jdforrester",
+ "Jduranboger",
+ "PoLuX124",
+ "Ralgis",
+ "Thehelpfulone",
+ "Ciencia Al Poder",
+ "Carlitosag",
+ "Epicfaace",
+ "Ihojose",
+ "Csbotero",
+ "Gloria sah",
+ "Wifidel",
+ "McDutchie",
+ "Macofe",
+ "Themasterriot",
+ "Vikytinta",
+ "Ncontinanza",
+ "Dgstranz",
+ "Javiersanp"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "nulo",
+ "visualeditor-cite-tool-name-book": "Libro",
+ "visualeditor-cite-tool-name-journal": "Diario",
+ "visualeditor-cite-tool-name-news": "Noticias",
+ "visualeditor-cite-tool-name-web": "Sitio web",
+ "cite-tool-definition.json": "nulo",
+ "cite-ve-changedesc-ref-group-both": "El grupo de referencias cambió de «$1» a «$2»",
+ "cite-ve-changedesc-ref-group-from": "El grupo de referencias cambió de «$1» al grupo general",
+ "cite-ve-changedesc-ref-group-to": "El grupo de referencias cambió del grupo general a «$1»",
+ "cite-ve-changedesc-reflist-group-both": "El grupo de lista de referencias cambió de «$1» a «$2»",
+ "cite-ve-changedesc-reflist-group-from": "El grupo de lista de referencias cambió de «$1» al grupo general",
+ "cite-ve-changedesc-reflist-group-to": "El grupo de listas de referencias cambió del grupo general a «$1»",
+ "cite-ve-dialog-reference-editing-reused": "Esta referencia se utiliza $1 {{PLURAL:$1|vez|veces}} en esta página.",
+ "cite-ve-dialog-reference-options-group-label": "Usar este grupo",
+ "cite-ve-dialog-reference-options-group-placeholder": "Referencias generales",
+ "cite-ve-dialog-reference-options-name-label": "Reutilizar con este nombre",
+ "cite-ve-dialog-reference-options-responsive-label": "Utilizar disposición de columnas adaptable",
+ "cite-ve-dialog-reference-options-section": "Opciones",
+ "cite-ve-dialog-reference-placeholder": "Escribe o pega la referencia aquí, o bien, inserta una plantilla de cita.",
+ "cite-ve-dialog-reference-title": "Referencia",
+ "cite-ve-dialog-reference-useexisting-full-label": "Reutilizar una cita que ya existe en esta página",
+ "cite-ve-dialog-reference-useexisting-label": "Utilizar una referencia existente",
+ "cite-ve-dialog-reference-useexisting-tool": "Reusar",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Lista de referencias generales",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Lista de referencias del grupo «$1»",
+ "cite-ve-dialog-referenceslist-title": "Lista de referencias",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Mejora tu contenido mediante la adición de fuentes de información. Se puede citar de libros, periódicos y sitios web.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Citas",
+ "cite-ve-dialogbutton-reference-full-label": "Forma básica",
+ "cite-ve-dialogbutton-reference-title": "Referencia",
+ "cite-ve-dialogbutton-reference-tooltip": "Básica",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Lista de referencias",
+ "cite-ve-reference-input-placeholder": "Buscar en las citas actuales",
+ "cite-ve-referenceslist-isempty": "No hay referencias con el grupo «$1» en esta página para incluir en la lista.",
+ "cite-ve-referenceslist-isempty-default": "No hay referencias en esta página para incluir en esta lista.",
+ "cite-ve-referenceslist-missingref": "Esta referencia está definida en una plantilla u otro tipo de bloque generado, y por ahora sólo puede editarse en el editor de fuente.",
+ "cite-ve-referenceslist-missingref-in-list": "Esta referencia está definida en una plantilla u otro bloque generado y, por ahora, solo puede previsualizarse en modo código.",
+ "cite-ve-referenceslist-missingreflist": "Esta lista de referencias la generó una plantilla; por ahora solo puede modificarse en el modo de código fuente.",
+ "cite-ve-toolbar-group-label": "Citar",
+ "cite-ve-othergroup-item": "referencia $1",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Referencias",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Nombre de grupo de referencias: «$1»"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/et.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/et.json
new file mode 100644
index 00000000..b6a4ddbd
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/et.json
@@ -0,0 +1,54 @@
+{
+ "@metadata": {
+ "authors": [
+ "Avjoska",
+ "Pikne",
+ "Boxmein",
+ "Amire80",
+ "Roland",
+ "Suwa"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Raamat",
+ "visualeditor-cite-tool-name-journal": "Ajakiri",
+ "visualeditor-cite-tool-name-news": "Uudised",
+ "visualeditor-cite-tool-name-web": "Võrgukoht",
+ "cite-ve-changedesc-ref-group-both": "Vahetatud viiterühm \"$1\" rühma \"$2\" vastu",
+ "cite-ve-changedesc-ref-group-from": "Vahetatud viiterühm \"$1\" üldviidete rühma vastu",
+ "cite-ve-changedesc-ref-group-to": "Vahetatud üldviidete viiterühm rühma \"$1\" vastu",
+ "cite-ve-changedesc-reflist-group-both": "Vahetatud viiteloendi rühm \"$1\" rühma \"$2\" vastu",
+ "cite-ve-changedesc-reflist-group-from": "Vahetatud viiteloendi rühm \"$1\" üldviidete rühma vastu",
+ "cite-ve-changedesc-reflist-group-to": "Vahetatud viiteloendi üldviidete rühm rühma \"$1\" vastu",
+ "cite-ve-changedesc-reflist-responsive-set": "Vahetatud viiteloendi kuva isereguleeruvate veergude vastu",
+ "cite-ve-changedesc-reflist-responsive-unset": "Vahetatud viiteloendi kuva ainult ühe veeru vastu",
+ "cite-ve-changedesc-reflist-item-id": "Vahetatud viite indeks",
+ "cite-ve-dialog-reference-editing-reused": "Seda viidet on sellel leheküljel kasutatud {{PLURAL:$1|ühel korral|$1 korda}}.",
+ "cite-ve-dialog-reference-options-group-label": "Viiterühm",
+ "cite-ve-dialog-reference-options-group-placeholder": "Üldviited",
+ "cite-ve-dialog-reference-options-name-label": "Korduvkasutusnimi",
+ "cite-ve-dialog-reference-options-responsive-label": "Kasuta isereguleeruvat veergude paigutust",
+ "cite-ve-dialog-reference-options-section": "Suvandid",
+ "cite-ve-dialog-reference-placeholder": "Kirjuta või kleebi siia viide või lisa viitemall.",
+ "cite-ve-dialog-reference-title": "Viide",
+ "cite-ve-dialog-reference-useexisting-full-label": "Kasuta uuesti viidet, mis on sellel leheküljel juba olemas",
+ "cite-ve-dialog-reference-useexisting-label": "Kasuta olemasolevat viidet",
+ "cite-ve-dialog-reference-useexisting-tool": "Kasuta uuesti",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Üldviidete loend",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Viiterühma \"$1\" liikmete loend",
+ "cite-ve-dialog-referenceslist-title": "Viiteloend",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Täienda materjali allikate lisamisega. Saad viidata raamatutele, ajalehtedele ja võrgukohtadele.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Viited",
+ "cite-ve-dialogbutton-reference-full-label": "Lihtviide",
+ "cite-ve-dialogbutton-reference-title": "Viide",
+ "cite-ve-dialogbutton-reference-tooltip": "Lihtviide",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Viiteloend",
+ "cite-ve-reference-input-placeholder": "Otsi kasutusel olevate viidete hulgast",
+ "cite-ve-referenceslist-isempty": "Rühma \"$1\" viited, mida selles loendis näidata, puuduvad sellel leheküljel.",
+ "cite-ve-referenceslist-isempty-default": "Viited, mida selles loendis näidata, puuduvad sellel leheküljel.",
+ "cite-ve-referenceslist-missingref": "Selle viite kirjeldus on mallis või muul moel genereeritud plokis ning praegu saab seda redigeerida vaid lähteteksti režiimis.",
+ "cite-ve-referenceslist-missingreflist": "Selle viiteloendi tekitab mall ja praegu saab seda redigeerida ainult lähteteksti režiimis.",
+ "cite-ve-toolbar-group-label": "Viide",
+ "cite-ve-othergroup-item": "Viide: {{lc:$1}}",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Viited",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Viiterühma nimi: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/eu.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/eu.json
new file mode 100644
index 00000000..dcb5aa57
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/eu.json
@@ -0,0 +1,52 @@
+{
+ "@metadata": {
+ "authors": [
+ "An13sa",
+ "Unai Fdz. de Betoño",
+ "Xabier Armendaritz",
+ "Subi",
+ "Sator",
+ "Macofe",
+ "Mikel Ibaiba",
+ "Asierog"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "nulu",
+ "visualeditor-cite-tool-name-book": "Liburua",
+ "visualeditor-cite-tool-name-journal": "Aldizkaria",
+ "visualeditor-cite-tool-name-news": "Albisteak",
+ "visualeditor-cite-tool-name-web": "Webgunea",
+ "cite-tool-definition.json": "nulu",
+ "cite-ve-changedesc-ref-group-both": "Erreferentzia taldea aldatu dute \"$1\" izatetik \"$2\" izatera",
+ "cite-ve-changedesc-ref-group-from": "Erreferentzia taldea aldatu dute \"$1\" izatetik talde orokorrera",
+ "cite-ve-changedesc-ref-group-to": "Erreferentzia taldea aldatu dute talde orokorretik \"$1\" izatera",
+ "cite-ve-changedesc-reflist-group-both": "Erreferentzia zerrendaren taldea aldatu dute \"$1\" izatetik \"$2\" izatera",
+ "cite-ve-changedesc-reflist-group-from": "Erreferentzia zerrendaren taldea aldatu dute \"$1\" izatetik talde orokorrera",
+ "cite-ve-changedesc-reflist-group-to": "Erreferentzia zerrendaren taldea aldatu dute talde orokorretik \"$1\" izatera",
+ "cite-ve-dialog-reference-editing-reused": "Erreferentzia hau $1{{PLURAL:$1|aldiz}} agertzen da orri honetan",
+ "cite-ve-dialog-reference-options-group-label": "Talde hau erabili",
+ "cite-ve-dialog-reference-options-group-placeholder": "Erreferentzia orokorrak",
+ "cite-ve-dialog-reference-options-name-label": "Berrerabili izen honekin",
+ "cite-ve-dialog-reference-options-section": "Aukerak",
+ "cite-ve-dialog-reference-title": "Erreferentzia",
+ "cite-ve-dialog-reference-useexisting-full-label": "Berrerabili dagoeneko orri honetan existitzen den erreferentzia bat",
+ "cite-ve-dialog-reference-useexisting-label": "Erabili lehendik dagoen erreferentzia bat",
+ "cite-ve-dialog-reference-useexisting-tool": "Berrerabili",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Erreferentzia orokorren zerrenda",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Erreferentzia zerrenda \"$1\" talderako",
+ "cite-ve-dialog-referenceslist-title": "Erreferentzia-zerrenda",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Hobe zure edukia informazioa iturriak gehituz. Liburuetatik, egunkarietatik eta webguneetatik aipatu ditzakezu.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Erreferentziak",
+ "cite-ve-dialogbutton-reference-full-label": "Oinarrizko forma",
+ "cite-ve-dialogbutton-reference-title": "Erreferentzia",
+ "cite-ve-dialogbutton-reference-tooltip": "Oinarrizkoa",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Erreferentzia-zerrenda",
+ "cite-ve-reference-input-placeholder": "Bilatu oraingo aipuen artean",
+ "cite-ve-referenceslist-isempty": "Ez dago «$1» taldearekiko erreferentziarik orri honetan.",
+ "cite-ve-referenceslist-isempty-default": "Orri honetan ez dago zerrendan sartzeko erreferentziarik.",
+ "cite-ve-referenceslist-missingref": "Erreferentzia hau txantiloi batean edo sortutako beste bloke mota batean dago zehaztuta, eta oraingoz iturburu kodeko moduan baizik ezin da editatu.",
+ "cite-ve-toolbar-group-label": "Aipatu",
+ "cite-ve-othergroup-item": "$1 erreferentzia",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Erreferentziak",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Taldearen erreferentzia izena: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/fa.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/fa.json
new file mode 100644
index 00000000..bf8e51af
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/fa.json
@@ -0,0 +1,72 @@
+{
+ "@metadata": {
+ "authors": [
+ "Dalba",
+ "Ebraminio",
+ "Jdforrester",
+ "Ladsgroup",
+ "Mjbmr",
+ "Nojan Madinehi",
+ "Omidh",
+ "Reza1615",
+ "Taha",
+ "درفش کاویانی",
+ "Mcuteangel",
+ "Fatemi127",
+ "Armin1392",
+ "Calak",
+ "Alirezaaa",
+ "Movyn",
+ "Leyth",
+ "MRG90",
+ "الناز",
+ "فلورانس",
+ "Huji"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "تهی",
+ "visualeditor-cite-tool-name-book": "کتاب",
+ "visualeditor-cite-tool-name-journal": "مجله",
+ "visualeditor-cite-tool-name-news": "اخبار",
+ "visualeditor-cite-tool-name-web": "وب‌گاه",
+ "cite-tool-definition.json": "تهی",
+ "cite-ve-changedesc-ref-group-both": "گروه منبع از «$1» به «$2» تغییر یافت",
+ "cite-ve-changedesc-ref-group-from": "گروه منبع از «$1» به گروه عمومی تغییر یافت",
+ "cite-ve-changedesc-ref-group-to": "گروه منبع از گروه عمومی به «$1» تغییر یافت",
+ "cite-ve-changedesc-reflist-group-both": "فهرست منبع یادکرد از «$1» به «$2» تغییر یافت",
+ "cite-ve-changedesc-reflist-group-from": "فهرست گروه منبع از «$1» به گروه عمومی تغییر یافت",
+ "cite-ve-changedesc-reflist-group-to": "فهرست گروه منبع از گروه عمومی به «$1» تغییر یافت",
+ "cite-ve-changedesc-reflist-responsive-set": "فهرست منابع به حالت ستون‌های تعاملی تغییر یافت",
+ "cite-ve-changedesc-reflist-responsive-unset": "فهرست منابع به یک ستون تغییر یافت",
+ "cite-ve-changedesc-reflist-item-id": "نمایه منابع تغییریافت",
+ "cite-ve-dialog-reference-editing-reused": "این منبع $1 {{PLURAL:$1|بار}} در این صفحه استفاده شده‌است.",
+ "cite-ve-dialog-reference-options-group-label": "استفاده از این گروه",
+ "cite-ve-dialog-reference-options-group-placeholder": "منابع عمومی",
+ "cite-ve-dialog-reference-options-name-label": "استفاده دوباره با این نام",
+ "cite-ve-dialog-reference-options-responsive-label": "از صفحه‌بندی ستون واکنشی استفاده کنید",
+ "cite-ve-dialog-reference-options-section": "گزینه‌ها",
+ "cite-ve-dialog-reference-placeholder": "منبع‌تان را اینجا بچسبانید یا بنویسید، یا از الگوی یادکرد استفاده کنید.",
+ "cite-ve-dialog-reference-title": "منبع",
+ "cite-ve-dialog-reference-useexisting-full-label": "استفاده دوباره یک یادکرد موجود در این صفحه",
+ "cite-ve-dialog-reference-useexisting-label": "استفاده از یک منبع موجود",
+ "cite-ve-dialog-reference-useexisting-tool": "استفادهٔ مجدد",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "فهرست منابع عمومی",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "فهرست منابع برای گروه $1",
+ "cite-ve-dialog-referenceslist-title": "فهرست منابع",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "محتویات‌تان را با افزودن اطلاعاتِ منابع استفاده‌شده، بهبود ببخشید. می‌توانید از کتاب‌ها، مجله‌ها و وب‌گاه‌ها استفاده کنید.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "یادکردها",
+ "cite-ve-dialogbutton-reference-full-label": "فرم ابتدائی",
+ "cite-ve-dialogbutton-reference-title": "منبع",
+ "cite-ve-dialogbutton-reference-tooltip": "مقدماتی",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "فهرست منابع",
+ "cite-ve-reference-input-placeholder": "جستجو داخل یادکردهای کنونی",
+ "cite-ve-referenceslist-isempty": "منبعی با گروه «$1» در این صفحه برای شامل‌کردن در این فهرست وجود ندارد.",
+ "cite-ve-referenceslist-isempty-default": "منبعی در این صفحه برای شامل‌کردن در این فهرست وجود ندارد.",
+ "cite-ve-referenceslist-missingref": "این منبع درون یک الگو یا قطعهٔ تولیدی دیگر تعریف شده است و هم‌اکنون تنها می‌توان در حالت متنی آن را ویرایش کرد",
+ "cite-ve-referenceslist-missingref-in-list": "منبع تعریف شده درون الگو یا سایر بلوک‌های شبیه‌سازی شده در حال حاضر فقط به صورت حالت متنی قابل مشاهده هست.",
+ "cite-ve-referenceslist-missingreflist": "این فهرست منابع به کمک یک الگو ایجاد شده‌است که فقط امکان ویرایش آن در حالت ویرایش متنی وجود دارد.",
+ "cite-ve-toolbar-group-label": "یادکرد",
+ "cite-ve-othergroup-item": "$1 منبع",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "منابع",
+ "visualeditor-internal-list-diff-group-name-mwreference": "نام گروه منبع: «$1»"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/fi.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/fi.json
new file mode 100644
index 00000000..a3a584f1
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/fi.json
@@ -0,0 +1,56 @@
+{
+ "@metadata": {
+ "authors": [
+ "Beluga",
+ "Crt",
+ "Harriv",
+ "Linnea",
+ "Nedergard",
+ "Nike",
+ "Olli",
+ "Pxos",
+ "Samoasambia",
+ "Silvonen",
+ "Skalman",
+ "Stryn",
+ "VezonThunder",
+ "Elseweyr",
+ "McSalama",
+ "Alluk.",
+ "Macofe",
+ "Pitke",
+ "Pyscowicz"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "null",
+ "visualeditor-cite-tool-name-book": "Kirja",
+ "visualeditor-cite-tool-name-journal": "Lehtiartikkeli",
+ "visualeditor-cite-tool-name-news": "Uutinen",
+ "visualeditor-cite-tool-name-web": "Verkkosivusto",
+ "cite-tool-definition.json": "null",
+ "cite-ve-dialog-reference-editing-reused": "Tätä lähdettä käytetään $1 {{PLURAL:$1|kertaa}} tällä sivulla.",
+ "cite-ve-dialog-reference-options-group-label": "Käytä tätä ryhmää",
+ "cite-ve-dialog-reference-options-group-placeholder": "Yleiset lähteet",
+ "cite-ve-dialog-reference-options-name-label": "Käytä uudelleen tällä nimellä",
+ "cite-ve-dialog-reference-options-section": "Valinnat",
+ "cite-ve-dialog-reference-title": "Lähde",
+ "cite-ve-dialog-reference-useexisting-full-label": "Käytä uudelleen jo tällä sivulla olevaa viitettä",
+ "cite-ve-dialog-reference-useexisting-label": "Käytä jo löytyvää lähdettä",
+ "cite-ve-dialog-reference-useexisting-tool": "Käytä uudelleen",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Luettelo yleisistä lähteistä",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Luettelo ryhmän \"$1\" viitteistä",
+ "cite-ve-dialog-referenceslist-title": "Lähdeluettelo",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Parantaa sisältöäsi lisäämällä tietolähteitä. Voit viitata kirjoista, sanomalehdistä ja verkkosivustoilta.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Viittaukset",
+ "cite-ve-dialogbutton-reference-full-label": "Perusmuoto",
+ "cite-ve-dialogbutton-reference-title": "Lähde",
+ "cite-ve-dialogbutton-reference-tooltip": "Normaali",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Lähdeluettelo",
+ "cite-ve-reference-input-placeholder": "Etsi nykyisistä viitteistä",
+ "cite-ve-referenceslist-isempty": "Tällä sivulla ei ole lähteitä ryhmässä \"$1\", joita sisällyttää listassa.",
+ "cite-ve-referenceslist-isempty-default": "Tällä sivulla ei ole lähteitä, joita sisällyttää listassa.",
+ "cite-ve-referenceslist-missingref": "Tämä lähde on määritelty mallineessa tai automaattisesti luotu ja sitä voi muokata vain wikitekstitilassa.",
+ "cite-ve-toolbar-group-label": "Viite",
+ "cite-ve-othergroup-item": "$1 viite",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Lähteet"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/fo.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/fo.json
new file mode 100644
index 00000000..73bf64e0
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/fo.json
@@ -0,0 +1,23 @@
+{
+ "@metadata": {
+ "authors": [
+ "EileenSanda"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Bók",
+ "visualeditor-cite-tool-name-journal": "Tíðarrit",
+ "visualeditor-cite-tool-name-news": "Tíðindi",
+ "visualeditor-cite-tool-name-web": "Heimasíða",
+ "cite-ve-dialog-reference-options-group-label": "Brúka henda bólkin",
+ "cite-ve-dialog-reference-options-name-label": "Endurnýt við hesum navninum",
+ "cite-ve-dialog-reference-options-section": "Møguleikar",
+ "cite-ve-dialog-reference-title": "Kelda",
+ "cite-ve-dialog-reference-useexisting-label": "Brúka eina av verandi keldum",
+ "cite-ve-dialog-referenceslist-title": "Keldulisti",
+ "cite-ve-dialogbutton-reference-tooltip": "Einføld",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Keldulisti",
+ "cite-ve-reference-input-placeholder": "Hvat ynskir tú at vísa til?",
+ "cite-ve-referenceslist-isempty": "Tað eru ongar kelduávísingar við bólkinum \"$1\" á hesi síðu, sum kunnu takast við í henda listan.",
+ "cite-ve-referenceslist-isempty-default": "Tað eru ongar keldur á hesi síðu sum kunnu takast við í henda listan.",
+ "cite-ve-referenceslist-missingref": "Henda keldan er skrásett í einari fyrimynd ella øðrum upprættaðum blokki, og kann í løtuni bert rættast í keldustøðu (source mode)."
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/fr.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/fr.json
new file mode 100644
index 00000000..42556f99
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/fr.json
@@ -0,0 +1,97 @@
+{
+ "@metadata": {
+ "authors": [
+ "Automatik",
+ "Benoit Rochon",
+ "Boniface",
+ "Brunoperel",
+ "Crochet.david",
+ "DavidL",
+ "Dereckson",
+ "Gomoko",
+ "Guillom",
+ "Hello71",
+ "Jean-Frédéric",
+ "Linedwell",
+ "Ltrlg",
+ "Metroitendo",
+ "NemesisIII",
+ "Nicolas NALLET",
+ "Nobody",
+ "Npettiaux",
+ "Rastus Vernon",
+ "Seb35",
+ "Sherbrooke",
+ "Tpt",
+ "Trizek",
+ "Urhixidur",
+ "Verdy p",
+ "Wyz",
+ "Dr Brains",
+ "Drongou",
+ "Elitre",
+ "John Trololo",
+ "Maxim21",
+ "Orlodrim",
+ "Scoopfinder",
+ "Nnemo",
+ "McDutchie",
+ "Jdforrester",
+ "Amire80",
+ "Weft",
+ "Zetud",
+ "Zebulon84",
+ "Mattho69",
+ "Wladek92",
+ "Harmonia Amanda",
+ "Macofe",
+ "Pols12",
+ "Thibaut120094"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "nul",
+ "visualeditor-cite-tool-name-book": "Livre",
+ "visualeditor-cite-tool-name-journal": "Journal",
+ "visualeditor-cite-tool-name-news": "Actualités",
+ "visualeditor-cite-tool-name-web": "Site web",
+ "cite-tool-definition.json": "nul",
+ "cite-ve-changedesc-ref-group-both": "Groupe de référence modifié de « $1 » en « $2 »",
+ "cite-ve-changedesc-ref-group-from": "Groupe de référence modifié de « $1 » vers le groupe général",
+ "cite-ve-changedesc-ref-group-to": "Groupe de référence modifié du groupe général vers « $1 »",
+ "cite-ve-changedesc-reflist-group-both": "Groupe de liste de référence modifié de « $1 » en « $2 »",
+ "cite-ve-changedesc-reflist-group-from": "Groupe de liste de référence modifié de « $1 » vers le groupe général",
+ "cite-ve-changedesc-reflist-group-to": "Groupe de liste de référence modifié du groupe général vers « $1 »",
+ "cite-ve-changedesc-reflist-responsive-set": "Liste des références modifiées pour affichage dans des colonnes réactives",
+ "cite-ve-changedesc-reflist-responsive-unset": "Liste des références modifiées à afficher dans une seule colonne",
+ "cite-ve-changedesc-reflist-item-id": "Le numéro de la source a changé",
+ "cite-ve-dialog-reference-editing-reused": "Cette référence est utilisée $1 {{PLURAL:$1|fois}} sur cette page.",
+ "cite-ve-dialog-reference-options-group-label": "Utiliser ce groupe",
+ "cite-ve-dialog-reference-options-group-placeholder": "Références générales",
+ "cite-ve-dialog-reference-options-name-label": "Réutiliser avec ce nom",
+ "cite-ve-dialog-reference-options-responsive-label": "Utiliser une disposition réactive en colonnes",
+ "cite-ve-dialog-reference-options-section": "Options",
+ "cite-ve-dialog-reference-placeholder": "Ecrire ou coller ici votre référence, ou insérer un modèle de citation.",
+ "cite-ve-dialog-reference-title": "Référence",
+ "cite-ve-dialog-reference-useexisting-full-label": "Réutiliser une référence qui existe déjà sur cette page",
+ "cite-ve-dialog-reference-useexisting-label": "Utiliser une référence existante",
+ "cite-ve-dialog-reference-useexisting-tool": "Réutiliser",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Liste de références générales",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Liste de références pour le groupe « $1 »",
+ "cite-ve-dialog-referenceslist-title": "Liste des références",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Améliore votre contenu en ajoutant des sources d’information. Vous pouvez ajouter comme références des livres, des journaux et des sites web.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Références",
+ "cite-ve-dialogbutton-reference-full-label": "Autre référence",
+ "cite-ve-dialogbutton-reference-title": "Références",
+ "cite-ve-dialogbutton-reference-tooltip": "Référence",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Liste des références",
+ "cite-ve-reference-input-placeholder": "Chercher dans les références actuelles",
+ "cite-ve-referenceslist-isempty": "Il n’y a aucune référence avec le groupe « $1 » sur cette page à inclure dans cette liste.",
+ "cite-ve-referenceslist-isempty-default": "Il n’y a aucune référence sur cette page à inclure dans cette liste.",
+ "cite-ve-referenceslist-missingref": "Cette référence est définie dans un modèle ou un autre bloc généré et ne peut pour le moment être modifiée qu’avec l’éditeur de wikicode.",
+ "cite-ve-referenceslist-missingref-in-list": "Cette référence est définie dans un modèle ou un autre bloc généré, et pour le moment, il ne peut être affiché en aperçu qu’en mode source.",
+ "cite-ve-referenceslist-missingreflist": "Cette liste de référence est générée par un modèle, et actuellement, elle ne peut être modifiée qu’en mode source.",
+ "cite-ve-toolbar-group-label": "Source",
+ "cite-ve-othergroup-item": "référence $1",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Références",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Nom du groupe de référence : « $1 »"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/frc.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/frc.json
new file mode 100644
index 00000000..74a91949
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/frc.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Hangmanwa7id"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/frp.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/frp.json
new file mode 100644
index 00000000..88fc6ac6
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/frp.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "ChrisPtDe",
+ "Amire80"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/frr.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/frr.json
new file mode 100644
index 00000000..fa7ca10f
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/frr.json
@@ -0,0 +1,25 @@
+{
+ "@metadata": {
+ "authors": [
+ "ChrisPtDe",
+ "Murma174"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Buk",
+ "visualeditor-cite-tool-name-journal": "Tidjskraft",
+ "visualeditor-cite-tool-name-news": "Bleed",
+ "visualeditor-cite-tool-name-web": "Wääbsteed",
+ "cite-ve-dialog-reference-options-group-label": "Detdiar skööl brük",
+ "cite-ve-dialog-reference-options-group-placeholder": "Algemian futnuuten",
+ "cite-ve-dialog-reference-options-name-label": "Didiar nööm widjer brük",
+ "cite-ve-dialog-reference-options-section": "Iinstelangen",
+ "cite-ve-dialog-reference-title": "Luke uk diar",
+ "cite-ve-dialog-reference-useexisting-label": "Referens noch ans brük",
+ "cite-ve-dialog-referenceslist-title": "Futnuuten",
+ "cite-ve-dialogbutton-reference-tooltip": "Luke uk diar",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Futnuuten",
+ "cite-ve-reference-input-placeholder": "Wat wel dü referensiare?",
+ "cite-ve-referenceslist-isempty": "Diar san nian futnuuten mä det skööl \"$1\" üüb detdiar sidj tu uunwisin uun detdiar list.",
+ "cite-ve-referenceslist-isempty-default": "Üüb detdiar sidj san nian futnuuten tu uunwisin uun detdiar list.",
+ "cite-ve-referenceslist-missingref": "Detdiar referens as auer en föörlaag of en öödern blook fäästlaanj an koon tu tidj bluas uun a kweltekst feranert wurd."
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/fur.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/fur.json
new file mode 100644
index 00000000..2b345386
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/fur.json
@@ -0,0 +1,24 @@
+{
+ "@metadata": {
+ "authors": [
+ "Klenje",
+ "Tocaibon"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Libri",
+ "visualeditor-cite-tool-name-journal": "Publicazion",
+ "visualeditor-cite-tool-name-news": "Gnovis",
+ "visualeditor-cite-tool-name-web": "Sît web",
+ "cite-ve-dialog-reference-options-group-label": "Dopre chest grup",
+ "cite-ve-dialog-reference-options-group-placeholder": "Riferiments gjenerâi",
+ "cite-ve-dialog-reference-options-name-label": "Torne a doprâ chest non",
+ "cite-ve-dialog-reference-options-section": "Opzions",
+ "cite-ve-dialog-reference-title": "Riferiment",
+ "cite-ve-dialog-reference-useexisting-label": "Dopre un riferiment che al esist",
+ "cite-ve-dialog-reference-useexisting-tool": "Torne a doprâ",
+ "cite-ve-dialog-referenceslist-title": "Liste dai riferiments",
+ "cite-ve-dialogbutton-reference-tooltip": "Base",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Liste dai riferiments",
+ "cite-ve-reference-input-placeholder": "A ce vuelistu fâ riferiment?",
+ "cite-ve-toolbar-group-label": "Citazion"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/fy.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/fy.json
new file mode 100644
index 00000000..ae732f57
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/fy.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Kening Aldgilles",
+ "Robin0van0der0vliet"
+ ]
+ },
+ "cite-ve-dialog-reference-options-section": "Opsjes",
+ "cite-ve-dialog-referenceslist-title": "List mei referinsjes",
+ "cite-ve-dialogbutton-reference-tooltip": "Basis",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "List mei referinsjes"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ga.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ga.json
new file mode 100644
index 00000000..d26762db
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ga.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Alison",
+ "Kscanne",
+ "Nmacu"
+ ]
+ },
+ "cite-ve-dialog-reference-options-section": "Roghanna",
+ "cite-ve-dialog-referenceslist-title": "Liosta tagairtí",
+ "cite-ve-toolbar-group-label": "Luaigh"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/gd.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/gd.json
new file mode 100644
index 00000000..6b652dc2
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/gd.json
@@ -0,0 +1,22 @@
+{
+ "@metadata": {
+ "authors": [
+ "Akerbeltz",
+ "GunChleoc"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Leabhar",
+ "visualeditor-cite-tool-name-journal": "Leabhar-latha",
+ "visualeditor-cite-tool-name-news": "Naidheachdan",
+ "visualeditor-cite-tool-name-web": "Làrach-lìn",
+ "cite-ve-dialog-reference-options-group-label": "Cleachd am buidheann seo",
+ "cite-ve-dialog-reference-options-group-placeholder": "Iomraidhean coitcheann",
+ "cite-ve-dialog-reference-options-name-label": "Cleachd a-rithist leis an ainm seo",
+ "cite-ve-dialog-reference-options-section": "Roghainnean",
+ "cite-ve-dialog-reference-title": "Iomradh",
+ "cite-ve-dialog-reference-useexisting-label": "Cleachd iomradh a tha ann",
+ "cite-ve-dialog-referenceslist-title": "Liosta nan iomraidhean",
+ "cite-ve-dialogbutton-reference-tooltip": "Bunasach",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Liosta nan iomraidhean",
+ "cite-ve-toolbar-group-label": "Iomradh"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/gl.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/gl.json
new file mode 100644
index 00000000..b83fd600
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/gl.json
@@ -0,0 +1,58 @@
+{
+ "@metadata": {
+ "authors": [
+ "Alison",
+ "Kscanne",
+ "Toliño",
+ "McDutchie",
+ "Elisardojm",
+ "Breogan2008",
+ "Fisterraeomar",
+ "Agremon",
+ "Vivaelcelta",
+ "Banjo",
+ "Macofe"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "nulo",
+ "visualeditor-cite-tool-name-book": "Libro",
+ "visualeditor-cite-tool-name-journal": "Publicación periódica",
+ "visualeditor-cite-tool-name-news": "Novas",
+ "visualeditor-cite-tool-name-web": "Páxina web",
+ "cite-tool-definition.json": "nulo",
+ "cite-ve-changedesc-ref-group-both": "Grupo de referencia cambiado de \"$1\" a \"$2\"",
+ "cite-ve-changedesc-ref-group-from": "Grupo de referencia cambiado de \"$1\" ó grupo xeral",
+ "cite-ve-changedesc-ref-group-to": "Grupo de referencia cambiado do grupo xeral a \"$1\"",
+ "cite-ve-changedesc-reflist-group-both": "Grupo de lista de referencias cambiado de \"$1\" to \"$2\"",
+ "cite-ve-changedesc-reflist-group-from": "Grupo de lista de referencias cambiado de \"$1\" ó grupo xeral",
+ "cite-ve-changedesc-reflist-group-to": "Grupo de lista de referencias cambiado do grupo xeral a \"$1\"",
+ "cite-ve-changedesc-reflist-item-id": "Índice da referencia modificado",
+ "cite-ve-dialog-reference-editing-reused": "Esta referenza úsase $1 {{PLURAL:$1|vez|veces}} nesta páxina.",
+ "cite-ve-dialog-reference-options-group-label": "Utilizar este grupo",
+ "cite-ve-dialog-reference-options-group-placeholder": "Referencias xerais",
+ "cite-ve-dialog-reference-options-name-label": "Reutilizar por este nome",
+ "cite-ve-dialog-reference-options-responsive-label": "Utilizar disposición adaptable en columnas",
+ "cite-ve-dialog-reference-options-section": "Opcións",
+ "cite-ve-dialog-reference-placeholder": "Escribe ou pega a túa referencia aquí, ou insire un modelo de cita.",
+ "cite-ve-dialog-reference-title": "Referencia",
+ "cite-ve-dialog-reference-useexisting-full-label": "Reutilizar unha cita que xa existe nesta páxina",
+ "cite-ve-dialog-reference-useexisting-label": "Utilizar unha referencia existente",
+ "cite-ve-dialog-reference-useexisting-tool": "Reutilizar",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Lista de referencias xerais",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Lista de referencias para o grupo \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Lista de referencias",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Mellora o teu contido engadindo fontes de información. Pódense citar libros, periódicos e sitios web.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Citas",
+ "cite-ve-dialogbutton-reference-full-label": "Forma básica",
+ "cite-ve-dialogbutton-reference-title": "Referencia",
+ "cite-ve-dialogbutton-reference-tooltip": "Básica",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Lista de referencias",
+ "cite-ve-reference-input-placeholder": "Buscar dentro das referencias actuais",
+ "cite-ve-referenceslist-isempty": "Non hai referencias co grupo \"$1\" nesta páxina para incluílas nesta lista.",
+ "cite-ve-referenceslist-isempty-default": "Non hai referencias nesta páxina para incluílas nesta lista.",
+ "cite-ve-referenceslist-missingref": "Esta referencia está definida nun modelo ou noutro bloque xerado; polo de agora, só se pode editar no modo fonte.",
+ "cite-ve-toolbar-group-label": "Citar",
+ "cite-ve-othergroup-item": "referencia $1",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Referencias",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Grupo de referencias de nome : \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/glk.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/glk.json
new file mode 100644
index 00000000..e6827fc8
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/glk.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "V6rg",
+ "شیخ"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "کيتاب",
+ "visualeditor-cite-tool-name-news": "خبر",
+ "visualeditor-cite-tool-name-web": "وبجيگه",
+ "cite-ve-dialogbutton-reference-title": "سربس",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "سربسؤنˇ ليست",
+ "cite-ve-toolbar-group-label": "نقلˇ قؤل"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/gom-deva.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/gom-deva.json
new file mode 100644
index 00000000..d25e00cb
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/gom-deva.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Darshan kandolkar",
+ "Konknni mogi 24",
+ "The Discoverer",
+ "Vaishali Parab"
+ ]
+ },
+ "cite-ve-dialogbutton-reference-title": "संदर्भ"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/gom-latn.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/gom-latn.json
new file mode 100644
index 00000000..527d6ad2
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/gom-latn.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "The Discoverer"
+ ]
+ },
+ "cite-ve-dialog-reference-title": "Sondorbh"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/gom.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/gom.json
new file mode 100644
index 00000000..6a13b057
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/gom.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "The Discoverer"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/gsw.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/gsw.json
new file mode 100644
index 00000000..9211cce2
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/gsw.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Als-Holder",
+ 80686,
+ "J. 'mach' wust"
+ ]
+ },
+ "cite-ve-dialog-reference-options-group-label": "Selli Gruppi bruche",
+ "cite-ve-dialog-reference-options-name-label": "Selle Name widerverwände",
+ "cite-ve-dialog-reference-options-section": "Optione",
+ "cite-ve-dialog-reference-title": "Fuessnote",
+ "cite-ve-dialog-reference-useexisting-label": "Fuessnote bruche, wo s scho git",
+ "cite-ve-dialog-referenceslist-title": "Lischte vo allene Fuessnote"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/gu.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/gu.json
new file mode 100644
index 00000000..3530a594
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/gu.json
@@ -0,0 +1,37 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ashok modhvadia",
+ "KartikMistry",
+ "The Discoverer",
+ "Arbhatt",
+ "Dsvyas",
+ "NehalDaveND",
+ "Nisargjhaveri"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "પુસ્તક",
+ "visualeditor-cite-tool-name-journal": "પત્રિકા",
+ "visualeditor-cite-tool-name-news": "સમાચાર",
+ "visualeditor-cite-tool-name-web": "વેબસાઇટ",
+ "cite-ve-dialog-reference-options-group-label": "આ સમૂહ વાપરો",
+ "cite-ve-dialog-reference-options-group-placeholder": "સામાન્ય સંદર્ભો",
+ "cite-ve-dialog-reference-options-name-label": "આ નામ વડે ફરી વાપરો",
+ "cite-ve-dialog-reference-options-section": "વિકલ્પો",
+ "cite-ve-dialog-reference-title": "સંદર્ભ",
+ "cite-ve-dialog-reference-useexisting-label": "હાજર રહેલ સંદર્ભ વાપરો",
+ "cite-ve-dialog-reference-useexisting-tool": "ફરી ઉપયોગ",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "સામાન્ય સંદર્ભોની યાદી",
+ "cite-ve-dialog-referenceslist-title": "સંદર્ભ યાદી",
+ "cite-ve-dialogbutton-reference-full-label": "સામાન્ય ફોર્મ",
+ "cite-ve-dialogbutton-reference-title": "સંદર્ભ",
+ "cite-ve-dialogbutton-reference-tooltip": "પ્રાથમિક",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "સંદર્ભોની યાદી",
+ "cite-ve-reference-input-placeholder": "વર્તમાન સંદર્ભો સાથે શોધો",
+ "cite-ve-referenceslist-isempty": "આ યાદીમાં દાખલ કરવા માટે આ પાનાં પર સમૂહ \"$1\" નો કોઇ સંદર્ભ નથી.",
+ "cite-ve-referenceslist-isempty-default": "આ યાદીમાં ઉમેરવા માટે આ પાનાં પર કોઇ સંદર્ભ નથી.",
+ "cite-ve-referenceslist-missingref": "આ સંદર્ભ ટેમ્પલેટ અથવા બનેલ માળખાંમાં વ્યાખ્યાયિત થયેલ છે, અને અત્યારે તે માત્ર સ્રોત સ્થિતિમાં જ ફેરફાર કરી શકાય છે.",
+ "cite-ve-othergroup-item": "$1 સંદર્ભ",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "સંદર્ભો",
+ "visualeditor-internal-list-diff-group-name-mwreference": "સંદર્ભ સમૂહ નામ: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/he.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/he.json
new file mode 100644
index 00000000..42d4c4ba
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/he.json
@@ -0,0 +1,66 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amire80",
+ "ExampleTomer",
+ "Guycn2",
+ "Matanya",
+ "Mooeypoo",
+ "Orsa",
+ "Shimmin Beg",
+ "אור שפירא",
+ "חיים",
+ "ערן",
+ "פוילישער",
+ "קיפודנחש",
+ "תומר ט",
+ "Yona b",
+ "LaG roiL",
+ "דולב"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "ריק",
+ "visualeditor-cite-tool-name-book": "ספר",
+ "visualeditor-cite-tool-name-journal": "כתב־עת",
+ "visualeditor-cite-tool-name-news": "חדשות",
+ "visualeditor-cite-tool-name-web": "אתר אינטרנט",
+ "cite-tool-definition.json": "ריק",
+ "cite-ve-changedesc-ref-group-both": "קבוצת ההערות השתנתה מ{{GRAMMAR:תחילית|$1}} ל{{GRAMMAR:תחילית|$2}}",
+ "cite-ve-changedesc-ref-group-from": "קבוצת ההערות השתנתה מ{{GRAMMAR:תחילית|$1}} לקבוצה הכללית",
+ "cite-ve-changedesc-ref-group-to": "קבוצת הערות שוליים שונתה מכללית ל{{GRAMMAR:תחילית|$1}}",
+ "cite-ve-changedesc-reflist-group-both": "קבוצת רשימת הערות שוליים שונתה מ{{GRAMMAR:תחילית|$1}} ל{{GRAMMAR:תחילית|$2}}",
+ "cite-ve-changedesc-reflist-group-from": "קבוצת רשימת הערות שוליים שונתה מ{{GRAMMAR:תחילית|$1}} לכללית",
+ "cite-ve-changedesc-reflist-group-to": "קבוצת הערות שוליים שונתה מכללית ל{{GRAMMAR:תחילית|$1}}",
+ "cite-ve-changedesc-reflist-responsive-set": "רשימת הערות השוליים שונתה לתצוגה בעמודות מותאמות לגודל המסך",
+ "cite-ve-changedesc-reflist-responsive-unset": "רשימת הערות השוליים שונתה לתצוגה בעמודה אחת",
+ "cite-ve-changedesc-reflist-item-id": "מפתח הערת השוליים השתנה",
+ "cite-ve-dialog-reference-editing-reused": "הערת השוליים משמשת {{PLURAL:$1|פעם אחת|פעמיים|$1 פעמים}} בדף הזה.",
+ "cite-ve-dialog-reference-options-group-label": "להשתמש בקבוצה הזאת",
+ "cite-ve-dialog-reference-options-group-placeholder": "הערות שוליים כלליות",
+ "cite-ve-dialog-reference-options-name-label": "שם לשימוש חוזר",
+ "cite-ve-dialog-reference-options-responsive-label": "להשתמש בעיצוב עם התאמה אוטומטית",
+ "cite-ve-dialog-reference-options-section": "אפשרויות",
+ "cite-ve-dialog-reference-placeholder": "נא לרשום או להדביק את הערת השוליים שלך כאן, או להכניס תבנית הערת שוליים.",
+ "cite-ve-dialog-reference-title": "הערת שוליים",
+ "cite-ve-dialog-reference-useexisting-full-label": "שימוש חוזר בציטוט שכבר נמצא בדף הזה",
+ "cite-ve-dialog-reference-useexisting-label": "להשתמש בהערת שוליים קיימת",
+ "cite-ve-dialog-reference-useexisting-tool": "שימוש חוזר",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "רשימת הערות שוליים כלליות",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "רשימת הערות שוליים בקבוצה \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "רשימת הערות שוליים",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "משפר את התוכן באמצעות הוספת מקורות מידע. אפשר לצטט מספרים, עיתונים ואתרים.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "הערות שוליים",
+ "cite-ve-dialogbutton-reference-full-label": "טופס בסיסי",
+ "cite-ve-dialogbutton-reference-title": "הערת שוליים",
+ "cite-ve-dialogbutton-reference-tooltip": "פשוטה",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "רשימת הערות שוליים",
+ "cite-ve-reference-input-placeholder": "חיפוש בין הערות השוליים הקיימות",
+ "cite-ve-referenceslist-isempty": "לא קיימים מקורות עם קבוצה בשם \"$1\" בדף הזה שאפשר לכלול ברשימה הזאת.",
+ "cite-ve-referenceslist-isempty-default": "בדף הזה אין הערות שוליים שאפשר לכלול ברשימה הזאת.",
+ "cite-ve-referenceslist-missingref": "הערת השוליים הזאת מוגדרת בתבנית או מחוללת בדרך אחרת כלשהי, ואי־אפשר לערוך אותה עדיין באמצעות העורך החזותי.",
+ "cite-ve-referenceslist-missingreflist": "רשימת הערות השוליים הזאת מחוללת באמצעות תבנית, ולעת־עתה אפשר לערוך אותה רק במצב קוד מקור.",
+ "cite-ve-toolbar-group-label": "הערת שוליים",
+ "cite-ve-othergroup-item": "הערה $1",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "הערות שוליים",
+ "visualeditor-internal-list-diff-group-name-mwreference": "שם קבוצת הערות שוליים: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/hi.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/hi.json
new file mode 100644
index 00000000..45ace44f
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/hi.json
@@ -0,0 +1,50 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ansumang",
+ "Devayon",
+ "Rajesh",
+ "Siddhartha Ghai",
+ "Niharika29",
+ "Venky2834",
+ "Wikiuser13",
+ "Goelujjwal",
+ "Kunalgrover05",
+ "संजीव कुमार",
+ "Phoenix303",
+ "Ankita-ks",
+ "Sahilrathod",
+ "Hindustanilanguage",
+ "Sfic",
+ "Sachinkatiyar"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "पुस्तक",
+ "visualeditor-cite-tool-name-journal": "जर्नल",
+ "visualeditor-cite-tool-name-news": "समाचार",
+ "visualeditor-cite-tool-name-web": "वेबसाइट",
+ "cite-ve-dialog-reference-editing-reused": "इस उद्धरण का प्रयोग इस पृष्ठ पर $1 {{PLURAL:$1|बार}} किया गया है।",
+ "cite-ve-dialog-reference-options-group-label": "इस समूह का प्रयोग करें",
+ "cite-ve-dialog-reference-options-group-placeholder": "सामान्य सन्दर्भ",
+ "cite-ve-dialog-reference-options-name-label": "इस नाम से पुनः प्रयोग करें",
+ "cite-ve-dialog-reference-options-section": "विकल्प",
+ "cite-ve-dialog-reference-title": "संदर्भ",
+ "cite-ve-dialog-reference-useexisting-full-label": "पहले से इस पृष्ठ पर मौजूद उद्धरण का पुन: उपयोग करें",
+ "cite-ve-dialog-reference-useexisting-label": "मौजूदा सन्दर्भ का प्रयोग करें",
+ "cite-ve-dialog-reference-useexisting-tool": "पुन: उपयोग",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "सामान्य उद्धरणों की सूची",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "समूह \"$1\" के लिए उद्धरणों की सूची",
+ "cite-ve-dialog-referenceslist-title": "सन्दर्भ सूची",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "उद्धरण",
+ "cite-ve-dialogbutton-reference-full-label": "मूलभूत रूप",
+ "cite-ve-dialogbutton-reference-title": "सन्दर्भ",
+ "cite-ve-dialogbutton-reference-tooltip": "आधारभूत",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "सन्दर्भ सूची",
+ "cite-ve-reference-input-placeholder": "वर्तमान उद्धरणों में खोजें",
+ "cite-ve-referenceslist-isempty": "इस पृष्ठ पर \"$1\" सन्दर्भ समूह में कोई सन्दर्भ नहीं हैं जो इस सूची में जोड़े जा सकें।",
+ "cite-ve-referenceslist-isempty-default": "इस पृष्ठ पर कोई सन्दर्भ नहीं हैं जो इस सूची में जोड़े जा सकें।",
+ "cite-ve-referenceslist-missingref": "ये सन्दर्भ किसी साँचे या अन्य ब्लॉक का प्रयोग करता है, और इसलिए अभी केवल स्रोत सम्पादन में सम्पादित किया जा सकता है।",
+ "cite-ve-referenceslist-missingref-in-list": "ये सन्दर्भ किसी साँचे या अन्य ब्लॉक का प्रयोग करता है, और इसलिए अभी केवल स्रोत सम्पादन में सम्पादित किया जा सकता है।",
+ "cite-ve-toolbar-group-label": "उद्धृत करें",
+ "cite-ve-othergroup-item": "$1 सन्दर्भ"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/hil.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/hil.json
new file mode 100644
index 00000000..24ac0269
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/hil.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Redhotchili23"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/hr.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/hr.json
new file mode 100644
index 00000000..2a2f587f
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/hr.json
@@ -0,0 +1,42 @@
+{
+ "@metadata": {
+ "authors": [
+ "MaGa",
+ "Roberta F.",
+ "SpeedyGonsales",
+ "Zeljko.filipin",
+ "Milicevic01",
+ "Teoo3",
+ "Bugoslav",
+ "Acamicamacaraca"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Knjiga",
+ "visualeditor-cite-tool-name-journal": "Časopis",
+ "visualeditor-cite-tool-name-news": "Vijesti",
+ "visualeditor-cite-tool-name-web": "Web stranice",
+ "cite-ve-dialog-reference-editing-reused": "Ova je referencija rabljena $1 {{PLURAL:$1|put|puta}} na ovoj stranici.",
+ "cite-ve-dialog-reference-options-group-label": "Koristi ovu grupu",
+ "cite-ve-dialog-reference-options-group-placeholder": "Opće referencije",
+ "cite-ve-dialog-reference-options-name-label": "Ponovno koristi pod ovim imenom",
+ "cite-ve-dialog-reference-options-section": "Mogućnosti",
+ "cite-ve-dialog-reference-placeholder": "Ovdje napišite ili kopirajte referencu ili umetnite predložak za citiranje.",
+ "cite-ve-dialog-reference-title": "Izvori",
+ "cite-ve-dialog-reference-useexisting-full-label": "Ponovna uporaba citata koji već postoji na ovoj stranici",
+ "cite-ve-dialog-reference-useexisting-label": "Koristi postojeći izvor",
+ "cite-ve-dialog-reference-useexisting-tool": "Ponovno korištenje",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Popis općih izvora",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Popis izvora za grupu \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Popis izvora",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Poboljšavajte sadržaje dodavanjem izvora informacija. Citirajte knjige, novine i internetske stranice.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Citati",
+ "cite-ve-dialogbutton-reference-full-label": "Osnovni oblik",
+ "cite-ve-dialogbutton-reference-title": "Referencije",
+ "cite-ve-dialogbutton-reference-tooltip": "Osnovno",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Popis izvora",
+ "cite-ve-reference-input-placeholder": "Koji izvor želite koristiti?",
+ "cite-ve-referenceslist-isempty": "Nema referenci u grupi \"$1\" na ovoj stranici koje bi mogle biti uključene u ovaj popis.",
+ "cite-ve-referenceslist-isempty-default": "Nema referenci na ovoj stranici koje bi mogle biti uključene u ovaj popis.",
+ "cite-ve-referenceslist-missingref": "Ova reference je definirana u predlošku ili drugom generiranom dijelu, i za sad može biti uređivana samo u prikazu za uređivanje izvornog koda.",
+ "cite-ve-toolbar-group-label": "Citiraj"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/hrx.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/hrx.json
new file mode 100644
index 00000000..9a7cbb46
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/hrx.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Midnight Gambler",
+ "Paul Beppler",
+ "Macofe"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/hsb.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/hsb.json
new file mode 100644
index 00000000..48db69a4
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/hsb.json
@@ -0,0 +1,25 @@
+{
+ "@metadata": {
+ "authors": [
+ "J budissin",
+ "Michawiki",
+ "Mikławš"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Kniha",
+ "visualeditor-cite-tool-name-journal": "Časopis",
+ "visualeditor-cite-tool-name-news": "Nowinki",
+ "visualeditor-cite-tool-name-web": "Websydło",
+ "cite-ve-dialog-reference-options-group-label": "Tutu skupinu wužiwać",
+ "cite-ve-dialog-reference-options-group-placeholder": "Powšitkowne referency",
+ "cite-ve-dialog-reference-options-name-label": "Tute mjeno dale wužiwać",
+ "cite-ve-dialog-reference-options-section": "Nastajenja",
+ "cite-ve-dialog-reference-title": "Referenca",
+ "cite-ve-dialog-reference-useexisting-label": "Eksistowacu referencu wužiwać",
+ "cite-ve-dialog-referenceslist-title": "Lisćina referencow",
+ "cite-ve-dialogbutton-reference-tooltip": "Jednory",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Lisćina referencow",
+ "cite-ve-reference-input-placeholder": "Što chceš referencować?",
+ "cite-ve-referenceslist-isempty": "Referency ze skupinu \"$1\" za zapřijimanje do tuteje lisćiny njejsu.",
+ "cite-ve-referenceslist-isempty-default": "Njejsu referency na tuej stronje, kotrež hodźa so do tuteje lisćiny zapřijeć."
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ht.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ht.json
new file mode 100644
index 00000000..23f30ef9
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ht.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Tisave",
+ "Bfpage"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/hu-formal.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/hu-formal.json
new file mode 100644
index 00000000..40873afb
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/hu-formal.json
@@ -0,0 +1,18 @@
+{
+ "@metadata": {
+ "authors": [
+ "Tacsipacsi",
+ "Misibacsi"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Könyv",
+ "visualeditor-cite-tool-name-journal": "Folyóirat",
+ "visualeditor-cite-tool-name-news": "Hírek",
+ "visualeditor-cite-tool-name-web": "Weboldal",
+ "cite-ve-dialog-reference-options-group-label": "Csoport használata",
+ "cite-ve-dialog-reference-options-group-placeholder": "Általános hivatkozások",
+ "cite-ve-dialog-reference-options-name-label": "Újrafelhasználás ezen a néven",
+ "cite-ve-dialog-reference-options-section": "Beállítások",
+ "cite-ve-dialog-reference-useexisting-tool": "Újrafelhasználás",
+ "cite-ve-dialogbutton-reference-full-label": "Alapvető forma"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/hu.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/hu.json
new file mode 100644
index 00000000..077ed0fa
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/hu.json
@@ -0,0 +1,53 @@
+{
+ "@metadata": {
+ "authors": [
+ "Dj",
+ "Einstein2",
+ "Misibacsi",
+ "ViDam",
+ "Tacsipacsi",
+ "Csega",
+ "Kishajnalka",
+ "Macofe",
+ "Nyuszika7H"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Könyv",
+ "visualeditor-cite-tool-name-journal": "Folyóirat",
+ "visualeditor-cite-tool-name-news": "Hír",
+ "visualeditor-cite-tool-name-web": "Weboldal",
+ "cite-ve-changedesc-ref-group-both": "Forráshivatkozás-csoport megváltozott erről: „$1” erre: „$2”",
+ "cite-ve-changedesc-ref-group-from": "Forráshivatkozás-csoport megváltozott erről: „$1” az általános csoportra",
+ "cite-ve-changedesc-ref-group-to": "Forráshivatkozás-csoport megváltozott az általános csoportról erre: „$1”",
+ "cite-ve-changedesc-reflist-group-both": "Forráslista-csoport megváltozott erről: „$1” erre: „$2”",
+ "cite-ve-changedesc-reflist-group-from": "Forráslista-csoport megváltozott erről: „$1” az általános csoportra",
+ "cite-ve-changedesc-reflist-group-to": "Forráslista-csoport megváltozott az általános csoportról erre: „$1”",
+ "cite-ve-dialog-reference-editing-reused": "Ez a forráshivatkozás $1 helyen szerepel ezen a lapon.",
+ "cite-ve-dialog-reference-options-group-label": "Csoport használata",
+ "cite-ve-dialog-reference-options-group-placeholder": "Általános forráshivatkozások",
+ "cite-ve-dialog-reference-options-name-label": "Újrafelhasználás ezen a néven",
+ "cite-ve-dialog-reference-options-responsive-label": "Alkalmazkodó többoszlopos megjelenés használata",
+ "cite-ve-dialog-reference-options-section": "Beállítások",
+ "cite-ve-dialog-reference-placeholder": "Írd vagy másold ide a forráshivatkozásodat, vagy illessz be egy forrássablont.",
+ "cite-ve-dialog-reference-title": "Forráshivatkozás",
+ "cite-ve-dialog-reference-useexisting-full-label": "Olyan forráshivatkozás felhasználása, ami már szerepel ezen a lapon",
+ "cite-ve-dialog-reference-useexisting-label": "Egy létező forráshivatkozás használata",
+ "cite-ve-dialog-reference-useexisting-tool": "Újrahasználás",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Általános forráshivatkozások listája",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "„$1” csoportba tartozó forráshivatkozások listája",
+ "cite-ve-dialog-referenceslist-title": "Forráshivatkozások listája",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Javítja a tartalmat az információk forrásokkal való ellátásával. Hivatkozhatsz könyvekre, újságokra és weblapokra.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Forráshivatkozások",
+ "cite-ve-dialogbutton-reference-full-label": "Alapvető forma",
+ "cite-ve-dialogbutton-reference-title": "Forráshivatkozás",
+ "cite-ve-dialogbutton-reference-tooltip": "Egyszerű",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Forráshivatkozások listája",
+ "cite-ve-reference-input-placeholder": "Keresés jelenlegi forráshivatkozásokban",
+ "cite-ve-referenceslist-isempty": "Nincsenek megjeleníthető forráshivatkozások a(z) „$1” csoportban ezen az oldalon.",
+ "cite-ve-referenceslist-isempty-default": "Nincs a lapon forráshivatkozás a lapon, amit szerepelhetne ebben a listában.",
+ "cite-ve-referenceslist-missingref": "Ez a forráshivatkozás egy sablonban vagy más generált blokkban van definiálva, és jelenleg csak forrásnézetben szerkeszthető.",
+ "cite-ve-referenceslist-missingreflist": "Ez a forráshivatkozás-lista egy sablonnal készült, és jelenleg csak forrásnézetben szerkeszthető.",
+ "cite-ve-toolbar-group-label": "Forráshivatkozás",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Forráshivatkozások",
+ "visualeditor-internal-list-diff-group-name-mwreference": "„$1” forráshivatkozás-csoport"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/hy.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/hy.json
new file mode 100644
index 00000000..1f357030
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/hy.json
@@ -0,0 +1,39 @@
+{
+ "@metadata": {
+ "authors": [
+ "Vacio",
+ "Xelgen",
+ "GeoO",
+ "Դավիթ Սարոյան",
+ "Vahe Gharakhanyan",
+ "Aram1985"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Գիրք",
+ "visualeditor-cite-tool-name-journal": "Ամսագիր",
+ "visualeditor-cite-tool-name-news": "Նորություններ",
+ "visualeditor-cite-tool-name-web": "Կայք",
+ "cite-ve-dialog-reference-editing-reused": "Այս ծանոթագրությունն այս էջում օգտագործվել է $1 {{PLURAL:$1|անգամ}}:",
+ "cite-ve-dialog-reference-options-group-label": "Օգտագործել այս խումբը",
+ "cite-ve-dialog-reference-options-group-placeholder": "Ընդհանուր ծանոթագրություններ",
+ "cite-ve-dialog-reference-options-name-label": "Կրկնակի օգտագործել տվյալ անվամբ",
+ "cite-ve-dialog-reference-options-section": "Ընտրանքներ",
+ "cite-ve-dialog-reference-title": "Ծանոթագրություն",
+ "cite-ve-dialog-reference-useexisting-full-label": "Կրկին օգտագործել արդեն գոյություն ունեցող ծանոթագրությունը",
+ "cite-ve-dialog-reference-useexisting-label": "Օգտագործել առկա ծանոթագրությունը",
+ "cite-ve-dialog-reference-useexisting-tool": "Կրկին օգտագործում",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Ընդհանուր ծանոթագրությունների ցուցակ",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "$1 խմբի ծանոթագրությունների ցուցակ",
+ "cite-ve-dialog-referenceslist-title": "Ծանոթագրությունների ցանկ",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Բարելավեք բովանդակությունը՝ ավելացնելով տեղեկատվության աղբյուրներ։ Դուք կարող եք մեջբերել գրքերից, թերթերից և կայքերից։",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Քաղվածքներ",
+ "cite-ve-dialogbutton-reference-full-label": "Պարզ ձև",
+ "cite-ve-dialogbutton-reference-title": "Ծանոթագրություն",
+ "cite-ve-dialogbutton-reference-tooltip": "Հիմնական",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Ծանոթագրությունների ցանկ",
+ "cite-ve-reference-input-placeholder": "Ինչի՞ն եք ուզում հղվել:",
+ "cite-ve-referenceslist-isempty": "Էջում չկան «$1» խմբով ծանոթագրություններ, որպեսզի ընդգրկվեն այս ցանկում:",
+ "cite-ve-referenceslist-isempty-default": "Էջում չկա ոչ մի ծանոթագրություն, որպեսզի ընդգրկվի այս ցանկում:",
+ "cite-ve-referenceslist-missingref": "Այս ծանոթագրությունը օգտագործվում է կաղապարում. այն կարող եք խմբագրել միայն բուն վիքիտեքստում:",
+ "cite-ve-toolbar-group-label": "Ծանոթագրություն"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ia.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ia.json
new file mode 100644
index 00000000..033a4ea6
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ia.json
@@ -0,0 +1,46 @@
+{
+ "@metadata": {
+ "authors": [
+ "McDutchie"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "nulle",
+ "visualeditor-cite-tool-name-book": "Libro",
+ "visualeditor-cite-tool-name-journal": "Periodico",
+ "visualeditor-cite-tool-name-news": "Novas",
+ "visualeditor-cite-tool-name-web": "Sito web",
+ "cite-tool-definition.json": "nulle",
+ "cite-ve-changedesc-ref-group-both": "Gruppo de referentia cambiate de \"$1\" a \"$2\"",
+ "cite-ve-changedesc-ref-group-from": "Gruppo de referentia cambiate de \"$1\" al gruppo general",
+ "cite-ve-changedesc-ref-group-to": "Gruppo de referentia cambiate del gruppo general a \"$1\"",
+ "cite-ve-changedesc-reflist-group-both": "Gruppo de lista de referentias cambiate de \"$1\" a \"$2\"",
+ "cite-ve-changedesc-reflist-group-from": "Gruppo de lista de referentias cambiate de \"$1\" al gruppo general",
+ "cite-ve-changedesc-reflist-group-to": "Gruppo de lista de referentias cambiate del gruppo general a \"$1\"",
+ "cite-ve-dialog-reference-editing-reused": "Iste referentia es usate $1 {{PLURAL:$1|vice|vices}} in iste pagina.",
+ "cite-ve-dialog-reference-options-group-label": "Usar iste gruppo",
+ "cite-ve-dialog-reference-options-group-placeholder": "Referentias general",
+ "cite-ve-dialog-reference-options-name-label": "Re-usar con iste nomine",
+ "cite-ve-dialog-reference-options-section": "Optiones",
+ "cite-ve-dialog-reference-placeholder": "Scribe o colla hic tu referentia, o insere un patrono de citation.",
+ "cite-ve-dialog-reference-title": "Referentia",
+ "cite-ve-dialog-reference-useexisting-full-label": "Reusar un citation que jam existe in iste pagina",
+ "cite-ve-dialog-reference-useexisting-label": "Usar un referentia existente",
+ "cite-ve-dialog-reference-useexisting-tool": "Reusar",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Lista de referentias general",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Lista de referentias pro gruppo \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Lista de referentias",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Meliora tu contento per adder fontes de information. Tu pote citar libros, jornales e sitos web.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Citationes",
+ "cite-ve-dialogbutton-reference-full-label": "Forma basic",
+ "cite-ve-dialogbutton-reference-title": "Referentia",
+ "cite-ve-dialogbutton-reference-tooltip": "Basic",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Lista de referentias",
+ "cite-ve-reference-input-placeholder": "Cercar in le referentias actual",
+ "cite-ve-referenceslist-isempty": "Il non ha referentias con le gruppo \"$1\" in iste pagina a includer in iste lista.",
+ "cite-ve-referenceslist-isempty-default": "Il non ha referentias in iste pagina a includer in iste lista.",
+ "cite-ve-referenceslist-missingref": "Iste referentia es definite in un patrono o altere bloco generate, e pro le momento pote solmente esser modificate in modo de codice fonte.",
+ "cite-ve-toolbar-group-label": "Citar",
+ "cite-ve-othergroup-item": "Referentia $1",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Referentias",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Nomine del gruppo de referentias: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/id.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/id.json
new file mode 100644
index 00000000..f4534c62
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/id.json
@@ -0,0 +1,66 @@
+{
+ "@metadata": {
+ "authors": [
+ "Farras",
+ "Ilham151096",
+ "Iwan Novirion",
+ "Iyan",
+ "Kenrick95",
+ "McDutchie",
+ "Rv77ax",
+ "William Surya Permana",
+ "Hysocc",
+ "Bennylin",
+ "Raynasution",
+ "Pizza1016",
+ "Ahdan",
+ "Marwan Mohamad",
+ "Amire80",
+ "Macofe",
+ "Mirws",
+ "Presidenvolksraad",
+ "Gombang"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "null",
+ "visualeditor-cite-tool-name-book": "Buku",
+ "visualeditor-cite-tool-name-journal": "Jurnal",
+ "visualeditor-cite-tool-name-news": "Berita",
+ "visualeditor-cite-tool-name-web": "Situs web",
+ "cite-tool-definition.json": "null",
+ "cite-ve-changedesc-ref-group-both": "Kelompok referensi diubah dari \"$1\" ke \"$2\"",
+ "cite-ve-changedesc-ref-group-from": "Kelompok referensi diubah dari \"$1\" ke kelompok umum",
+ "cite-ve-changedesc-ref-group-to": "Kelompok referensi berubah dari kelompok umum ke \"$1\"",
+ "cite-ve-changedesc-reflist-group-both": "Kelompok daftar referensi diubah dari \"$1\" ke \"$2\"",
+ "cite-ve-changedesc-reflist-group-from": "Kelompok daftar referensi diubah dari \"$1\" ke kelompok umum",
+ "cite-ve-changedesc-reflist-group-to": "Kelompok daftar referensi berubah dari kelompok umum ke \"$1\"",
+ "cite-ve-changedesc-reflist-item-id": "Indeks referensi diubah",
+ "cite-ve-dialog-reference-editing-reused": "Referensi ini digunakan $1 {{PLURAL:$1|kali}} pada halaman ini.",
+ "cite-ve-dialog-reference-options-group-label": "Gunakan kelompok ini",
+ "cite-ve-dialog-reference-options-group-placeholder": "Referensi umum",
+ "cite-ve-dialog-reference-options-name-label": "Pakai ulang dengan nama ini",
+ "cite-ve-dialog-reference-options-responsive-label": "Gunakan tata letak kolom responsif",
+ "cite-ve-dialog-reference-options-section": "Opsi",
+ "cite-ve-dialog-reference-placeholder": "Tulis atau salin referensi Anda di sini, atau sisipkan templat kutipan.",
+ "cite-ve-dialog-reference-title": "Referensi",
+ "cite-ve-dialog-reference-useexisting-full-label": "Pakai ulang kutipan yang telah ada di halaman ini",
+ "cite-ve-dialog-reference-useexisting-label": "Gunakan referensi yang ada",
+ "cite-ve-dialog-reference-useexisting-tool": "Pakai ulang",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Daftar referensi umum",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Daftar referensi untuk kelompok \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Daftar referensi",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Tingkatkan konten anda dengan menambahkan sumber informasi. Anda dapat mengutip dari buku, koran, dan situs.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Kutipan",
+ "cite-ve-dialogbutton-reference-full-label": "Bentuk dasar",
+ "cite-ve-dialogbutton-reference-title": "Referensi",
+ "cite-ve-dialogbutton-reference-tooltip": "Dasar",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Daftar referensi",
+ "cite-ve-reference-input-placeholder": "Cari dalam kutipan saat ini",
+ "cite-ve-referenceslist-isempty": "Tidak ada referensi dengan kelompok \"$1\" pada halaman ini yang dapat disertakan dalam daftar ini.",
+ "cite-ve-referenceslist-isempty-default": "Tidak ada referensi pada halaman ini yang dapat disertakan dalam daftar ini.",
+ "cite-ve-referenceslist-missingref": "Referensi ini didefinisikan dalam templat atau blok lain, dan sekarang hanya dapat disunting dalam mode \"sunting sumber\".",
+ "cite-ve-toolbar-group-label": "Kutip",
+ "cite-ve-othergroup-item": "$1 referensi",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Referensi",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Nama kelompok referensi: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ie.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ie.json
new file mode 100644
index 00000000..9fdf2d21
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ie.json
@@ -0,0 +1,19 @@
+{
+ "@metadata": {
+ "authors": [
+ "Makuba"
+ ]
+ },
+ "cite-ve-dialog-reference-options-group-label": "Usar ti-ci gruppe",
+ "cite-ve-dialog-reference-options-name-label": "Continualmen usar ti nómine",
+ "cite-ve-dialog-reference-options-section": "Preferenties",
+ "cite-ve-dialog-reference-title": "Referentie",
+ "cite-ve-dialog-reference-useexisting-label": "Usar un existent referentie",
+ "cite-ve-dialog-referenceslist-title": "Liste de referenties",
+ "cite-ve-dialogbutton-reference-tooltip": "Referentie",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Liste de referenties",
+ "cite-ve-reference-input-placeholder": "Quo tu vole referentiar?",
+ "cite-ve-referenceslist-isempty": "Sur ti-ci págine ne existe referenties del gruppe «$1» por inclusion in ti-ci liste.",
+ "cite-ve-referenceslist-isempty-default": "Sur ti-ci págine ne existe referenties por inclusion in ti-ci liste.",
+ "cite-ve-referenceslist-missingref": "Ti-ci referentie es definit in un shablone o un altri generat bloc. Actualmen tu posse redacter it solmen in li font-modo."
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ilo.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ilo.json
new file mode 100644
index 00000000..d68e31e8
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ilo.json
@@ -0,0 +1,32 @@
+{
+ "@metadata": {
+ "authors": [
+ "Lam-ang"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Libro",
+ "visualeditor-cite-tool-name-journal": "Warnakan",
+ "visualeditor-cite-tool-name-news": "Damdamag",
+ "visualeditor-cite-tool-name-web": "Website",
+ "cite-ve-dialog-reference-editing-reused": "Daytoy a reperensia ket maus-usar iti $1 a {{PLURAL:$1|beses}} iti daytoy a panid.",
+ "cite-ve-dialog-reference-options-group-label": "Usaren daytoy a grupo",
+ "cite-ve-dialog-reference-options-group-placeholder": "Dagiti sapasap a reperensia",
+ "cite-ve-dialog-reference-options-name-label": "Usaren manen babaen iti daytoy a nagan",
+ "cite-ve-dialog-reference-options-section": "Dagiti pagpilian",
+ "cite-ve-dialog-reference-title": "Reperensia",
+ "cite-ve-dialog-reference-useexisting-full-label": "Usaren manen ti dakamat nga addan iti daytoy a panid",
+ "cite-ve-dialog-reference-useexisting-label": "Usaren ti reperensia nga addan",
+ "cite-ve-dialog-reference-useexisting-tool": "Usaren manen",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Listaan dagiti sapasap a reperensia",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Listaan dagiti reperensia para iti grupo \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Listaan ti reperensia",
+ "cite-ve-dialogbutton-reference-full-label": "Batayan a porma",
+ "cite-ve-dialogbutton-reference-title": "Reperensia",
+ "cite-ve-dialogbutton-reference-tooltip": "Batayan",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Listaan ti reperensia",
+ "cite-ve-reference-input-placeholder": "Agbiruk iti kaunegan dagiti agdama a dakamat",
+ "cite-ve-referenceslist-isempty": "Awan dagiti reperensia iti grupo ti \"$1\" iti daytoy a panid a mairaman iti daytoy a listaan.",
+ "cite-ve-referenceslist-isempty-default": "Awan dagiti reperensia iti daytoy a panid a mairaman iti daytoy a listaan.",
+ "cite-ve-referenceslist-missingref": "Daytoy a reperensia ket nainaganan iti maysa a plantilia wenno sabali a naaramid a muton, ken iti agadama mabalin laeng a maurnos iti taudan a moda.",
+ "cite-ve-toolbar-group-label": "Dakamaten"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/io.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/io.json
new file mode 100644
index 00000000..7f52e98e
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/io.json
@@ -0,0 +1,35 @@
+{
+ "@metadata": {
+ "authors": [
+ "Idojc"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Libro",
+ "visualeditor-cite-tool-name-journal": "Jurnalo",
+ "visualeditor-cite-tool-name-news": "Novaji",
+ "visualeditor-cite-tool-name-web": "Retosituo",
+ "cite-ve-dialog-reference-editing-reused": "Ica refero uzesas $1 {{PLURAL:$1|foye}} en ca pagino",
+ "cite-ve-dialog-reference-options-group-label": "Uzar ica grupo",
+ "cite-ve-dialog-reference-options-group-placeholder": "Generala referi",
+ "cite-ve-dialog-reference-options-name-label": "Riuzar per ica nomo",
+ "cite-ve-dialog-reference-options-section": "Selekti",
+ "cite-ve-dialog-reference-title": "Refero",
+ "cite-ve-dialog-reference-useexisting-full-label": "Riuzar citajo qua ja existas en ca pagino",
+ "cite-ve-dialog-reference-useexisting-label": "Uzar existanta refero",
+ "cite-ve-dialog-reference-useexisting-tool": "Ri-uzar",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Listo de generala referi",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Listo de referi por grupo $1",
+ "cite-ve-dialog-referenceslist-title": "Listo de referi",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Plubonigas vua kontenajo per adjuntar fonti de informo. Vu povas citar ek libri, jurnali e retositui",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Citaji",
+ "cite-ve-dialogbutton-reference-full-label": "Bazala formo",
+ "cite-ve-dialogbutton-reference-title": "Refero",
+ "cite-ve-dialogbutton-reference-tooltip": "Bazala",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Listo de referi",
+ "cite-ve-reference-input-placeholder": "Serchar en nuna citaji",
+ "cite-ve-referenceslist-isempty": "Esas nula referi kun la grupo $1 en ca pagino inkluzenda en ca listo.",
+ "cite-ve-referenceslist-isempty-default": "Esas nula referi en ca pagino inkluzenda en ca listo.",
+ "cite-ve-referenceslist-missingref": "Ica refero definesas en shablono od altra produktita bloko, e nun povas redaktesar nur per fonto-maniero.",
+ "cite-ve-toolbar-group-label": "Citar",
+ "cite-ve-othergroup-item": "$1 refero"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/is.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/is.json
new file mode 100644
index 00000000..9714c908
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/is.json
@@ -0,0 +1,38 @@
+{
+ "@metadata": {
+ "authors": [
+ "Maxí",
+ "Snævar",
+ "Sveinn í Felli"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Bókaheimild",
+ "visualeditor-cite-tool-name-journal": "Tímaritsheimild",
+ "visualeditor-cite-tool-name-news": "Fréttaheimild",
+ "visualeditor-cite-tool-name-web": "Vefheimild",
+ "cite-ve-dialog-reference-editing-reused": "Þessi heimild er notuð $1 {{PLURAL:$1|sinni|sinnum}} á þessari síðu.",
+ "cite-ve-dialog-reference-options-group-label": "Nota þennan hóp",
+ "cite-ve-dialog-reference-options-group-placeholder": "Almennar tilvísanir",
+ "cite-ve-dialog-reference-options-name-label": "Endurnota með þessu nafni",
+ "cite-ve-dialog-reference-options-section": "Valkostir",
+ "cite-ve-dialog-reference-title": "Tilvísun",
+ "cite-ve-dialog-reference-useexisting-full-label": "Endurnota heimild sem er þegar til á síðunni",
+ "cite-ve-dialog-reference-useexisting-label": "Nota núverandi tilvísun",
+ "cite-ve-dialog-reference-useexisting-tool": "Endurnota",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Listi yfir almennar tilvísanir",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Listi yfir tilvísanir fyrir hópin „$1“",
+ "cite-ve-dialog-referenceslist-title": "Tilvísunarlisti",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Bætir efnið þitt með því að bæta við heimildum. Þú getur vísað í bækur, fréttablöð og vefsíður.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Tilvísanir",
+ "cite-ve-dialogbutton-reference-full-label": "Grunn eyðublað",
+ "cite-ve-dialogbutton-reference-title": "Tilvísun",
+ "cite-ve-dialogbutton-reference-tooltip": "Einföld",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Tilvísunarlisti",
+ "cite-ve-reference-input-placeholder": "Leita innan núverandi tilvísana",
+ "cite-ve-referenceslist-isempty": "Það eru engar tilvísanir í hópnum „$1“ á þessari síðu til að taka með í þennan lista.",
+ "cite-ve-referenceslist-isempty-default": "Það eru engar tilvísanir á þessari síðu til að taka með í þennan lista.",
+ "cite-ve-referenceslist-missingref": "Þessi tilvísun er tilgreind í sniði eða öðru tilbúnu efni, og í augnablikinu er aðeins hægt að breyta henni með frumkóðaritlinum.",
+ "cite-ve-toolbar-group-label": "Tilvísun",
+ "cite-ve-othergroup-item": "$1 tilvísun",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Tilvísanir"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/it.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/it.json
new file mode 100644
index 00000000..69b5526c
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/it.json
@@ -0,0 +1,66 @@
+{
+ "@metadata": {
+ "authors": [
+ "Beta16",
+ "Darth Kule",
+ "Doc.mari",
+ "Eleonora negri",
+ "Elitre",
+ "F. Cosoleto",
+ "FRacco",
+ "Gianfranco",
+ "Minerva Titani",
+ "Raoli",
+ "Una giornata uggiosa '94",
+ "Maria victoria",
+ "Ontsed",
+ "PeppeAeco",
+ "Lucas2",
+ "Nemo bis",
+ "Fringio",
+ "Martinligabue",
+ "Macofe",
+ "Mpiva",
+ "Stefania.scaramuzzi",
+ "Jdforrester",
+ "Purodha",
+ "Statix64",
+ "Supernino",
+ "McDutchie"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "nullo",
+ "visualeditor-cite-tool-name-book": "Libro",
+ "visualeditor-cite-tool-name-journal": "Pubblicazione",
+ "visualeditor-cite-tool-name-news": "Notizie",
+ "visualeditor-cite-tool-name-web": "Sito web",
+ "cite-tool-definition.json": "nullo",
+ "cite-ve-dialog-reference-editing-reused": "Questo riferimento è usato $1 {{PLURAL:$1|volta|volte}} su questa pagina.",
+ "cite-ve-dialog-reference-options-group-label": "Usa questo gruppo",
+ "cite-ve-dialog-reference-options-group-placeholder": "Riferimenti generali",
+ "cite-ve-dialog-reference-options-name-label": "Riutilizza questo nome",
+ "cite-ve-dialog-reference-options-responsive-label": "Utilizza il layout della colonna adattivo",
+ "cite-ve-dialog-reference-options-section": "Opzioni",
+ "cite-ve-dialog-reference-placeholder": "Scrivi o copia la tua nota qui, oppure inserisci un template per le citazioni.",
+ "cite-ve-dialog-reference-title": "Riferimento",
+ "cite-ve-dialog-reference-useexisting-full-label": "Riutilizza una citazione già presente nella pagina.",
+ "cite-ve-dialog-reference-useexisting-label": "Usa un riferimento esistente",
+ "cite-ve-dialog-reference-useexisting-tool": "Riusa",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Elenco di note generali",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Lista di note per il gruppo \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Elenco note",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Migliora i contenuti con l'aggiunta delle fonti per le informazione. Puoi citare da libri, giornali e siti web.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Citazioni",
+ "cite-ve-dialogbutton-reference-full-label": "Modulo base",
+ "cite-ve-dialogbutton-reference-title": "Riferimento",
+ "cite-ve-dialogbutton-reference-tooltip": "Base",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Elenco note",
+ "cite-ve-reference-input-placeholder": "Ricerca all'interno delle citazioni correnti",
+ "cite-ve-referenceslist-isempty": "In questa pagina non ci sono note da elencare con il gruppo \"$1\".",
+ "cite-ve-referenceslist-isempty-default": "In questa pagina non ci sono note da elencare.",
+ "cite-ve-referenceslist-missingref": "Questa nota è definita in un template o in un altro blocco generato e per ora può essere modificata solo in modalità sorgente.",
+ "cite-ve-toolbar-group-label": "Cita",
+ "cite-ve-othergroup-item": "$1 note",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Riferimenti",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Nome gruppo riferimenti: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ja.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ja.json
new file mode 100644
index 00000000..a287c5ae
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ja.json
@@ -0,0 +1,65 @@
+{
+ "@metadata": {
+ "authors": [
+ "Fryed-peach",
+ "Miya",
+ "Penn Station",
+ "Shirayuki",
+ "Whym",
+ "Takot",
+ "Plover-Y",
+ "Los688",
+ "SkyDaisy9",
+ "Sujiniku",
+ "2nd-player",
+ "Jdforrester",
+ "Sudachi",
+ "Otokoume",
+ "Vigorous action",
+ "おはぐろ蜻蛉",
+ "Iwai.masaharu",
+ "Delim"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "null",
+ "visualeditor-cite-tool-name-book": "書籍",
+ "visualeditor-cite-tool-name-journal": "ジャーナル",
+ "visualeditor-cite-tool-name-news": "ニュース",
+ "visualeditor-cite-tool-name-web": "ウェブサイト",
+ "cite-tool-definition.json": "null",
+ "cite-ve-changedesc-ref-group-both": "脚注のグループが「$1」から「$2」に変更されました",
+ "cite-ve-changedesc-ref-group-from": "脚注のグループが「$1」から一般のグループに変更されました",
+ "cite-ve-changedesc-ref-group-to": "脚注のグループが一般のグループから「$1」に変更されました",
+ "cite-ve-changedesc-reflist-group-both": "脚注リストのグループが「$1」から「$2」に変更されました",
+ "cite-ve-changedesc-reflist-group-from": "脚注リストのグループが「$1」から一般のグループに変更されました",
+ "cite-ve-changedesc-reflist-group-to": "脚注リストのグループが一般のグループから「$1」に変更されました",
+ "cite-ve-changedesc-reflist-item-id": "注釈のインデックスが変更されました",
+ "cite-ve-dialog-reference-editing-reused": "この脚注はこのページ上で$1{{PLURAL:$1|回}}使用されています。",
+ "cite-ve-dialog-reference-options-group-label": "使用するグループ",
+ "cite-ve-dialog-reference-options-group-placeholder": "汎用の脚注",
+ "cite-ve-dialog-reference-options-name-label": "この名前で再使用",
+ "cite-ve-dialog-reference-options-responsive-label": "レスポンシブなコラムレイアウトを使用する",
+ "cite-ve-dialog-reference-options-section": "オプション",
+ "cite-ve-dialog-reference-placeholder": "ここに脚注を入力し、若しくは貼り付け、又は引用テンプレートを追加してください。",
+ "cite-ve-dialog-reference-title": "脚注",
+ "cite-ve-dialog-reference-useexisting-full-label": "既にこのページにある引用を再利用する",
+ "cite-ve-dialog-reference-useexisting-label": "既存の情報源を使用",
+ "cite-ve-dialog-reference-useexisting-tool": "再利用",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "汎用の脚注リスト",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "グループ「$1」の脚注のリスト",
+ "cite-ve-dialog-referenceslist-title": "情報源一覧",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "情報源を追加してあなたの編集内容を改善します。書籍、新聞、ウェブサイトを情報源にできます。",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "引用",
+ "cite-ve-dialogbutton-reference-full-label": "標準",
+ "cite-ve-dialogbutton-reference-title": "脚注",
+ "cite-ve-dialogbutton-reference-tooltip": "基本",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "情報源一覧",
+ "cite-ve-reference-input-placeholder": "現在の引用内を検索",
+ "cite-ve-referenceslist-isempty": "このページには、この一覧に含めるためのグループ「$1」の情報源はありません。",
+ "cite-ve-referenceslist-isempty-default": "このページには、この一覧に含められる脚注がありません。",
+ "cite-ve-referenceslist-missingref": "この脚注はテンプレート内または別途生成されたブロック内で定義されているため、現時点ではソースモードでのみ編集できます。",
+ "cite-ve-toolbar-group-label": "引用",
+ "cite-ve-othergroup-item": "$1 脚注",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "脚注",
+ "visualeditor-internal-list-diff-group-name-mwreference": "脚注のグループ名: 「$1」"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/jbo.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/jbo.json
new file mode 100644
index 00000000..6c8d8a65
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/jbo.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Gleki",
+ "Xbony2"
+ ]
+ },
+ "visualeditor-cite-tool-name-news": "nuzba"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/jut.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/jut.json
new file mode 100644
index 00000000..d142cf4d
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/jut.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Jyllanj"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/jv.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/jv.json
new file mode 100644
index 00000000..fa3c61a9
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/jv.json
@@ -0,0 +1,43 @@
+{
+ "@metadata": {
+ "authors": [
+ "Gleki",
+ "NoiX180",
+ "Pras",
+ "Jadinegara",
+ "Meursault2004",
+ "Macofe"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "null",
+ "visualeditor-cite-tool-name-book": "Buku",
+ "visualeditor-cite-tool-name-journal": "Jurnal",
+ "visualeditor-cite-tool-name-news": "Warta",
+ "visualeditor-cite-tool-name-web": "Situs jaringan",
+ "cite-tool-definition.json": "null",
+ "cite-ve-dialog-reference-editing-reused": "Rujukan iki dianggo {{PLURAL:$1|ping}} $1 ing kaca iki.",
+ "cite-ve-dialog-reference-options-group-label": "Anggo golongan iki",
+ "cite-ve-dialog-reference-options-group-placeholder": "Rujukan umum",
+ "cite-ve-dialog-reference-options-name-label": "Anggo manèh mawa jeneng iki",
+ "cite-ve-dialog-reference-options-section": "Pilihan",
+ "cite-ve-dialog-reference-placeholder": "Tulisen utawa tèmplèken réferènsiné panjenengan ing kéné, utawa wuwuhen sawijining cithakan sitiran.",
+ "cite-ve-dialog-reference-title": "Rujukan",
+ "cite-ve-dialog-reference-useexisting-full-label": "Anggo manèh sitiran sing wis ana ing kaca iki",
+ "cite-ve-dialog-reference-useexisting-label": "Anggo rujukan sing ana",
+ "cite-ve-dialog-reference-useexisting-tool": "Anggo manèh",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Pratélaning rujukan umum",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Pratélaning rujukan kanggo golongan \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Pratélaning rujukan",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Kembangaké isi sarana nambahi sumbering katerangan. Sampéyan bisa nyitir saka buku, ariwarta, lan sana jaringan.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Sitiran",
+ "cite-ve-dialogbutton-reference-full-label": "Rupa dhasar",
+ "cite-ve-dialogbutton-reference-title": "Rujukan",
+ "cite-ve-dialogbutton-reference-tooltip": "Baku",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Pratélaning rujukan",
+ "cite-ve-reference-input-placeholder": "Golèk ing sitiran iki",
+ "cite-ve-referenceslist-isempty": "Ora ana rujukan golongan \"$1\" ing kaca iki kanggo dilebokaké ing pratélan iki.",
+ "cite-ve-referenceslist-isempty-default": "Ora ana rujukan ing kaca iki kanggo dilebokaké ing pratélan iki.",
+ "cite-ve-referenceslist-missingref": "Rujukan iki diwedharaké ing cithakan utawa babagan liya, lan kanggo saiki mung bisa dibesut mawa cara sumber.",
+ "cite-ve-toolbar-group-label": "Sitir",
+ "cite-ve-othergroup-item": "$1 rujukan"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ka.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ka.json
new file mode 100644
index 00000000..f7ff3c70
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ka.json
@@ -0,0 +1,43 @@
+{
+ "@metadata": {
+ "authors": [
+ "BRUTE",
+ "David1010",
+ "Gleki",
+ "ITshnik",
+ "MIKHEIL",
+ "NoiX180",
+ "Pras",
+ "Tokoko",
+ "Otogi",
+ "Arystanbek"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "წიგნი",
+ "visualeditor-cite-tool-name-journal": "ჟურნალი",
+ "visualeditor-cite-tool-name-news": "სიახლეები",
+ "visualeditor-cite-tool-name-web": "ვებ-გვერდი",
+ "cite-ve-dialog-reference-editing-reused": "ეს ბმული გვერდზე {{PLURAL:$1|-ჯერ}} გამოიყენება.",
+ "cite-ve-dialog-reference-options-group-label": "ამ ჯგუფის გამოყენება",
+ "cite-ve-dialog-reference-options-group-placeholder": "ზოგადი წყაროები",
+ "cite-ve-dialog-reference-options-name-label": "ხელმეორედ გამოყენება ამ სახელით",
+ "cite-ve-dialog-reference-options-section": "პარამეტრები",
+ "cite-ve-dialog-reference-title": "სქოლიო",
+ "cite-ve-dialog-reference-useexisting-full-label": "გვერდზე უკვე არსებული წყაროს ხელმეორედ გამოყენება",
+ "cite-ve-dialog-reference-useexisting-label": "არსებული სქოლიოს გამოყენება",
+ "cite-ve-dialog-reference-useexisting-tool": "ხელახლა გამოყენება",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "მთავარი სქოლიოს სია",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "ჯგუფი „$1“-ის სქოლიოს სია",
+ "cite-ve-dialog-referenceslist-title": "სქოლიოს სია",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "ინფორმაციის წყაროების დამატებით გაუმჯობესდება შინაარსი. შეგიძლიათ მოიყვანოთ წყაროები წიგნებიდან, გაზეთებიდან და ვებ-საიტებიდან.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "ციტატები",
+ "cite-ve-dialogbutton-reference-full-label": "უბრალო ფორმა",
+ "cite-ve-dialogbutton-reference-title": "სქოლიო",
+ "cite-ve-dialogbutton-reference-tooltip": "საბაზო",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "სქოლიოს სია",
+ "cite-ve-reference-input-placeholder": "მიმდინარე ბმულის ფარგლებში ძიება",
+ "cite-ve-referenceslist-isempty": "ამ გვერდზე არ არის ბმულები ჯგუფისათვის „$1“ ამ სიაში ჩასართავად.",
+ "cite-ve-referenceslist-isempty-default": "ამ გვერდზე არ არის ბმულები ამ სიაში ჩასართავად.",
+ "cite-ve-referenceslist-missingref": "ეს სქოლიო განსაზღვრულია თარგში ან სხვა გენერირებად ბლოკში და ამჟამად მისი რედაქტირება მხოლოდ საწყისი ტექსტის რეჟიმში შეიძლება.",
+ "cite-ve-toolbar-group-label": "ციტირება"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/kab.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/kab.json
new file mode 100644
index 00000000..c4809bf2
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/kab.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "Belkacem77"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "Ilem",
+ "visualeditor-cite-tool-name-book": "Adlis",
+ "visualeditor-cite-tool-name-journal": "Aɣmis",
+ "visualeditor-cite-tool-name-news": "Isallen",
+ "visualeditor-cite-tool-name-web": "Asmel web",
+ "cite-tool-definition.json": "Ilem",
+ "cite-ve-dialog-reference-options-group-label": "Seqdec agraw-agi"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/khw.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/khw.json
new file mode 100644
index 00000000..140ed7ab
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/khw.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Rachitrali"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/kk-cyrl.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/kk-cyrl.json
new file mode 100644
index 00000000..efd9b48d
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/kk-cyrl.json
@@ -0,0 +1,33 @@
+{
+ "@metadata": {
+ "authors": [
+ "Arystanbek",
+ "Нұрлан Рахымжанов"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Кітап",
+ "visualeditor-cite-tool-name-journal": "Журнал",
+ "visualeditor-cite-tool-name-news": "Жаңалықтар",
+ "visualeditor-cite-tool-name-web": "Уебсайт",
+ "cite-ve-dialog-reference-editing-reused": "Бұл дереккөз бұл бетте $1 {{PLURAL:$1|жерде}} қолданылған.",
+ "cite-ve-dialog-reference-options-group-label": "Бұл топты қолдану",
+ "cite-ve-dialog-reference-options-group-placeholder": "Негізгі дереккөздері",
+ "cite-ve-dialog-reference-options-name-label": "Бұл атауды қайта қолдану",
+ "cite-ve-dialog-reference-options-section": "Параметрлер",
+ "cite-ve-dialog-reference-title": "Дереккөз",
+ "cite-ve-dialog-reference-useexisting-full-label": "Бұл бетте бұрын да қолданған дереккөзі қайта қолдану",
+ "cite-ve-dialog-reference-useexisting-label": "Бұрынғы қайнарын пайдалану",
+ "cite-ve-dialog-reference-useexisting-tool": "Қайта қолдану",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Негізгі дереккөздер тізімі",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "«$1» тобы үшін дереккөзер тізімі",
+ "cite-ve-dialog-referenceslist-title": "Дереккөздер тізімі",
+ "cite-ve-dialogbutton-reference-full-label": "Негізгі пішін",
+ "cite-ve-dialogbutton-reference-title": "Дереккөз",
+ "cite-ve-dialogbutton-reference-tooltip": "Негізгі",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Дереккөздер тізімі",
+ "cite-ve-reference-input-placeholder": "Қазіргі дереккөз ішінде іздеу",
+ "cite-ve-referenceslist-isempty": "Мұнда бұл бетте бұл тізімге кірген \"$1\" тобындағы дереккөздер жоқ.",
+ "cite-ve-referenceslist-isempty-default": "Бұл бетте бұл тізімге кірген дереккөздер жоқ.",
+ "cite-ve-referenceslist-missingref": "Бұл дереккөз үлгі немесе басқа себептен құлыпталған, және тек қайнары арқылы өңдей аласыз.",
+ "cite-ve-toolbar-group-label": "Дереккөзін көрсету"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/km.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/km.json
new file mode 100644
index 00000000..8e4160c9
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/km.json
@@ -0,0 +1,32 @@
+{
+ "@metadata": {
+ "authors": [
+ "Sovichet",
+ "គីមស៊្រុន"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "សៀវភៅ",
+ "visualeditor-cite-tool-name-journal": "ព្រឹត្តិប័ត្រ",
+ "visualeditor-cite-tool-name-news": "ព័ត៌មាន",
+ "visualeditor-cite-tool-name-web": "វេបសាយ",
+ "cite-ve-dialog-reference-editing-reused": "ឯកសារយោងនេះត្រូវបានប្រើ $1 {{PLURAL:$1|ដង}} នៅលើទំព័រនេះ។",
+ "cite-ve-dialog-reference-options-group-label": "ប្រើ​ក្រុម​នេះ",
+ "cite-ve-dialog-reference-options-group-placeholder": "ការ​យោង​ទូទៅ",
+ "cite-ve-dialog-reference-options-name-label": "ប្រើ​ម្ដង​ទៀត​ដោយ​ឈ្មោះ​នេះ",
+ "cite-ve-dialog-reference-options-section": "ជម្រើស",
+ "cite-ve-dialog-reference-title": "ឯកសារ​យោង​",
+ "cite-ve-dialog-reference-useexisting-full-label": "ប្រើការយោងដែលបានប្រើហើយនៅលើទំព័រនេះឡើងវិញ",
+ "cite-ve-dialog-reference-useexisting-label": "ប្រើ​ឯកសារ​យោង​ដែល​មាន​ស្រាប់",
+ "cite-ve-dialog-reference-useexisting-tool": "ប្រើឡើងវិញ",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "បញ្ជីឯកសារយោងទូទៅ",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "បញ្ជីឯកសារយោងសម្រាប់ក្រុម \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "បញ្ជី​ឯកសារ​យោង",
+ "cite-ve-dialogbutton-reference-full-label": "ទម្រង់បែបបទបឋម",
+ "cite-ve-dialogbutton-reference-title": "ឯកសារ​យោង​",
+ "cite-ve-dialogbutton-reference-tooltip": "បែបបទបឋម",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "បញ្ជី​ឯកសារ​យោង",
+ "cite-ve-reference-input-placeholder": "ស្វែងរកក្នុងការយោងបច្ចុប្បន្ន",
+ "cite-ve-referenceslist-isempty": "មិន​មាន​សេចក្ដី​យោង​ក្នុង​ក្រុម \"$1\" លើ​ទំព័រ​នេះ ដើម្បី​បញ្ចូល​ក្នុង​បញ្ជី​នេះ​ទេ។",
+ "cite-ve-referenceslist-isempty-default": "មិន​មាន​សេចក្ដី​យោង​លើ​ទំព័រ​នេះ ដើម្បី​បញ្ចូល​ក្នុង​បញ្ជី​នេះ​ទេ។",
+ "cite-ve-toolbar-group-label": "យោង"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/kn.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/kn.json
new file mode 100644
index 00000000..1820be4f
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/kn.json
@@ -0,0 +1,30 @@
+{
+ "@metadata": {
+ "authors": [
+ "Vikassy",
+ "VASANTH S.N.",
+ "Nayvik",
+ "Omshivaprakash",
+ "Yogesh",
+ "Shushruth",
+ "Ananth subray"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "ಪುಸ್ತಕ",
+ "visualeditor-cite-tool-name-journal": "ದಿನಪತ್ರಿಕೆ",
+ "visualeditor-cite-tool-name-news": "ವಾರ್ತೆ",
+ "visualeditor-cite-tool-name-web": "ಜಾಲತಾಣ",
+ "cite-ve-dialog-reference-editing-reused": "ಈ ಪಟದಲ್ಲಿ $1 {{PLURAL:$1|times}}ಬಾರಿ ಈ ಉಲ್ಲೇಖವನ್ನು ಬಳಸಲಾಗಿದೆ.",
+ "cite-ve-dialog-reference-options-group-label": "ಈ ಗುಂಪು ಬಳಸಿ",
+ "cite-ve-dialog-reference-options-group-placeholder": "ಸಾಮಾನ್ಯ ಉಲ್ಲೇಖಗಳು",
+ "cite-ve-dialog-reference-options-name-label": "ಈ ಹೆಸರಿನಿಂದ ಮತ್ತೆ ಬಳಸಿ",
+ "cite-ve-dialog-reference-options-section": "ಆಯ್ಕೆಗಳು",
+ "cite-ve-dialog-reference-title": "ಉಲ್ಲೇಖ",
+ "cite-ve-dialog-reference-useexisting-label": "ಈಗಾಗಲೇ ಇರುವ ಉಲ್ಲೇಖವನನ್ನು ಬಳಸಿರಿ",
+ "cite-ve-dialog-reference-useexisting-tool": "ಮತ್ತೆ ಬಳಸು",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "ಸಾಮಾನ್ಯ ಉಲ್ಲೇಖಗಳ ಪಟ್ಟಿ",
+ "cite-ve-dialog-referenceslist-title": "ಉಲ್ಲೇಖಗಳ ಪಟ್ಟಿ",
+ "cite-ve-dialogbutton-reference-tooltip": "ಮೂಲಭೂತ",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "ಉಲ್ಲೇಖಗಳ ಪಟ್ಟಿ",
+ "cite-ve-toolbar-group-label": "ಉಲ್ಲೇಖಿಸಿ"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ko.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ko.json
new file mode 100644
index 00000000..01d68a5e
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ko.json
@@ -0,0 +1,71 @@
+{
+ "@metadata": {
+ "authors": [
+ "Freebiekr",
+ "Hym411",
+ "Kwj2772",
+ "LFM",
+ "아라",
+ "Jskang",
+ "Priviet",
+ "고기랑",
+ "Miri-Nae",
+ "Tyey",
+ "Bluemersen",
+ "Ryuch",
+ "Naturehead",
+ "Revi",
+ "Infinity",
+ "SeoJeongHo",
+ "Alex00728",
+ "콩가루",
+ "Hwangjy9",
+ "IRTC1015",
+ "Ykhwong"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "비어 있음",
+ "visualeditor-cite-tool-name-book": "책",
+ "visualeditor-cite-tool-name-journal": "저널",
+ "visualeditor-cite-tool-name-news": "뉴스",
+ "visualeditor-cite-tool-name-web": "웹사이트",
+ "cite-tool-definition.json": "비어 있음",
+ "cite-ve-changedesc-ref-group-both": "각주 그룹이 \"$1\"에서 \"$2\"(으)로 변경되었습니다",
+ "cite-ve-changedesc-ref-group-from": "각주 그룹이 \"$1\"에서 일반 그룹으로 변경되었습니다",
+ "cite-ve-changedesc-ref-group-to": "각주 그룹이 일반 그룹에서 \"$1\"(으)로 변경되었습니다",
+ "cite-ve-changedesc-reflist-group-both": "각주 목록 그룹이 \"$1\"에서 \"$2\"(으)로 변경되었습니다",
+ "cite-ve-changedesc-reflist-group-from": "각주 목록 그룹이 \"$1\"에서 일반 그룹으로 변경되었습니다",
+ "cite-ve-changedesc-reflist-group-to": "각주 목록 그룹이 일반 그룹에서 \"$1\"(으)로 변경되었습니다",
+ "cite-ve-changedesc-reflist-responsive-set": "각주 목록은 여러 반응형 열로 표시되도록 변경되었습니다",
+ "cite-ve-changedesc-reflist-responsive-unset": "각주 목록은 하나의 열로만 표시되도록 변경되었습니다",
+ "cite-ve-changedesc-reflist-item-id": "참조 색인이 변경되었습니다",
+ "cite-ve-dialog-reference-editing-reused": "이 각주는 이 문서에서 $1{{PLURAL:$1|번}} 사용되었습니다.",
+ "cite-ve-dialog-reference-options-group-label": "이 그룹 사용",
+ "cite-ve-dialog-reference-options-group-placeholder": "일반 각주",
+ "cite-ve-dialog-reference-options-name-label": "이 이름으로 다시 사용",
+ "cite-ve-dialog-reference-options-section": "선택 사항",
+ "cite-ve-dialog-reference-placeholder": "각주를 여기에 입력하거나 붙여넣거나, 인용 틀을 추가하십시오.",
+ "cite-ve-dialog-reference-title": "각주",
+ "cite-ve-dialog-reference-useexisting-full-label": "이 문서에 이미 존재하는 인용을 재사용",
+ "cite-ve-dialog-reference-useexisting-label": "기존 각주 사용",
+ "cite-ve-dialog-reference-useexisting-tool": "재사용",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "일반 각주 목록",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "\"$1\" 그룹에 대한 각주 목록",
+ "cite-ve-dialog-referenceslist-title": "각주 목록",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "정보의 출처를 추가하여 당신의 콘텐츠를 보강합니다. 서적이나 신문, 웹사이트를 인용할 수 있습니다.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "인용",
+ "cite-ve-dialogbutton-reference-full-label": "기본 양식",
+ "cite-ve-dialogbutton-reference-title": "각주",
+ "cite-ve-dialogbutton-reference-tooltip": "기초",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "각주 목록",
+ "cite-ve-reference-input-placeholder": "현재 인용 안에서 검색",
+ "cite-ve-referenceslist-isempty": "이 문서에서 이 목록에 포함될 \"$1\" 그룹으로 된 각주가 없습니다.",
+ "cite-ve-referenceslist-isempty-default": "이 문서에서 이 목록에 포함될 각주가 없습니다.",
+ "cite-ve-referenceslist-missingref": "이 각주는 틀이나 다른 생성된 블록에서 정의되었고, 현재는 원본 모드에서만 편집할 수 있습니다.",
+ "cite-ve-referenceslist-missingref-in-list": "이 각주는 틀이나 다른 생성된 블록에서 정의되었고, 현재는 원본 모드에서만 미리 볼 수 있습니다.",
+ "cite-ve-referenceslist-missingreflist": "이 각주 목록은 틀에 의해 생성된 것이며 현재 원본 모드에서만 편집할 수 있습니다.",
+ "cite-ve-toolbar-group-label": "인용",
+ "cite-ve-othergroup-item": "$1 참조",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "각주",
+ "visualeditor-internal-list-diff-group-name-mwreference": "각주 그룹 이름: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/krc.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/krc.json
new file mode 100644
index 00000000..17807779
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/krc.json
@@ -0,0 +1,33 @@
+{
+ "@metadata": {
+ "authors": [
+ "Iltever",
+ "Ernác"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Китаб",
+ "visualeditor-cite-tool-name-journal": "Журнал",
+ "visualeditor-cite-tool-name-news": "Джангылыкъла",
+ "visualeditor-cite-tool-name-web": "Веб-сайт",
+ "cite-ve-dialog-reference-editing-reused": "Бу белги бетде $1 {{PLURAL:$1|кере}} хайырландырылады.",
+ "cite-ve-dialog-reference-options-group-label": "Бу къауумну хайырландыр",
+ "cite-ve-dialog-reference-options-group-placeholder": "Баш джибериуле",
+ "cite-ve-dialog-reference-options-name-label": "Бу ат бла джангыдан хайырландыр",
+ "cite-ve-dialog-reference-options-section": "Параметрле",
+ "cite-ve-dialog-reference-title": "Белгиле",
+ "cite-ve-dialog-reference-useexisting-full-label": "Бу бетде алгъадан болгъан къайнакъны джангыдан хайырландырыу",
+ "cite-ve-dialog-reference-useexisting-label": "Болгъан белгини хайырланыу",
+ "cite-ve-dialog-reference-useexisting-tool": "Джангыдан хайырландырыу",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Орта белгилени тизмеси",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "\"$1\" къауум ючюн белгилени тизмеси",
+ "cite-ve-dialog-referenceslist-title": "Белгиле",
+ "cite-ve-dialogbutton-reference-full-label": "Тамал форма",
+ "cite-ve-dialogbutton-reference-title": "Белгиле",
+ "cite-ve-dialogbutton-reference-tooltip": "Тамал",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Белгиле",
+ "cite-ve-reference-input-placeholder": "Бар болгъан къайнакъланы ичинде изле",
+ "cite-ve-referenceslist-isempty": "Бу тизмеге къошар ючюн бу бетде «$1» къауум бла къайнакъ джокъду.",
+ "cite-ve-referenceslist-isempty-default": "Бу бетде бу тизмеге къошар ючюн къайнакъ джокъду.",
+ "cite-ve-referenceslist-missingref": "Бу къайнакъ шаблонда неда башха генерация этилген блокда салыннганды эмда бусагъатда аннга джангыз вики-текстни тюрлендириу режимде редакторлукъ этерге болады.",
+ "cite-ve-toolbar-group-label": "Цитата этиу"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/kri.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/kri.json
new file mode 100644
index 00000000..336cefe5
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/kri.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Protostar"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/krl.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/krl.json
new file mode 100644
index 00000000..ee5ffc04
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/krl.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ilja.mos"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ksh.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ksh.json
new file mode 100644
index 00000000..5af5f3d3
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ksh.json
@@ -0,0 +1,25 @@
+{
+ "@metadata": {
+ "authors": [
+ "Purodha"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "noll",
+ "visualeditor-cite-tool-name-book": "Bohch",
+ "visualeditor-cite-tool-name-journal": "Zeijschreff",
+ "visualeditor-cite-tool-name-news": "Neujeschkeijte",
+ "visualeditor-cite-tool-name-web": "Wäbßaijt",
+ "cite-tool-definition.json": "noll",
+ "cite-ve-dialog-reference-editing-reused": "Heh dä Bezoch es $1 {{PLURAL:$1|mohl}} op heh dä Sigg ze fenge.",
+ "cite-ve-dialog-reference-options-group-label": "Nemm heh di Jropp",
+ "cite-ve-dialog-reference-options-section": "Ußwahle",
+ "cite-ve-dialog-reference-useexisting-full-label": "Donn e Zetaht vun heh dä Sigg norr_ens verwände",
+ "cite-ve-dialog-referenceslist-title": "Leß met de Quälle",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Zetahte",
+ "cite-ve-dialogbutton-reference-full-label": "Jrondform",
+ "cite-ve-dialogbutton-reference-title": "Fohßnoht",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Leß met de Quälle un eijnzel Fohnuhte",
+ "cite-ve-reference-input-placeholder": "Ennerhallev vun de aktälle Zetahte söhke",
+ "cite-ve-toolbar-group-label": "Zėttėhre",
+ "cite-ve-othergroup-item": "$1 Fohßnuht udder Quäll"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ku-latn.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ku-latn.json
new file mode 100644
index 00000000..33554578
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ku-latn.json
@@ -0,0 +1,32 @@
+{
+ "@metadata": {
+ "authors": [
+ "George Animal",
+ "Purodha",
+ "Bikarhêner",
+ "Ghybu"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Pirtûk",
+ "visualeditor-cite-tool-name-news": "Nûçe",
+ "visualeditor-cite-tool-name-web": "Malper",
+ "cite-ve-dialog-reference-editing-reused": "Ev çavkanî di vê rûpelê de $1 {{PLURAL:$1|caran}} tê bikaranîn.",
+ "cite-ve-dialog-reference-options-group-label": "Vê komê bi kar bîne",
+ "cite-ve-dialog-reference-options-group-placeholder": "Çavkaniyên giştî",
+ "cite-ve-dialog-reference-options-name-label": "Di bin vî navî de dîsa bi kar bîne",
+ "cite-ve-dialog-reference-options-section": "Vebijark",
+ "cite-ve-dialog-reference-title": "Çavkanî",
+ "cite-ve-dialog-reference-useexisting-label": "Çavkaniyeka heye bi kar bîne",
+ "cite-ve-dialog-reference-useexisting-tool": "Dîsa bi kar bîne",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Lîsteya çavkaniyên giştî",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Lîsteya çavkaniyan bo koma \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Lîsteya çavkaniyan",
+ "cite-ve-dialogbutton-reference-full-label": "Forma bingehîn",
+ "cite-ve-dialogbutton-reference-title": "Çavkanî",
+ "cite-ve-dialogbutton-reference-tooltip": "Bingehîn",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Lîsteya çavkaniyan",
+ "cite-ve-reference-input-placeholder": "Di navbera gotinên rojane de bigere",
+ "cite-ve-toolbar-group-label": "Çavkanî",
+ "cite-ve-othergroup-item": "$1 çavkanî",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Çavkanî"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/kw.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/kw.json
new file mode 100644
index 00000000..0ddcdc06
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/kw.json
@@ -0,0 +1,16 @@
+{
+ "@metadata": {
+ "authors": [
+ "George Animal",
+ "Nrowe",
+ "Purodha",
+ "Kw-Moon"
+ ]
+ },
+ "cite-ve-dialog-reference-options-group-label": "Devnydhya an bagas-ma",
+ "cite-ve-dialog-reference-options-section": "Etholyow",
+ "cite-ve-dialog-reference-title": "Devyn",
+ "cite-ve-dialog-referenceslist-title": "Rol a dhevynnow",
+ "cite-ve-dialogbutton-reference-tooltip": "Devyn",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Rol a dhevynnow"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ky.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ky.json
new file mode 100644
index 00000000..db4db594
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ky.json
@@ -0,0 +1,18 @@
+{
+ "@metadata": {
+ "authors": [
+ "Chorobek",
+ "George Animal",
+ "Nrowe",
+ "Tynchtyk Chorotegin",
+ "Викиней",
+ "Connexx",
+ "Askar Nazyrov",
+ "Arystanbek",
+ "Janatkg"
+ ]
+ },
+ "visualeditor-cite-tool-name-news": "Жаңылыктар",
+ "visualeditor-cite-tool-name-web": "Веб-сайт",
+ "cite-ve-dialog-reference-options-section": "Ырастоолор"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/la.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/la.json
new file mode 100644
index 00000000..febc1091
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/la.json
@@ -0,0 +1,22 @@
+{
+ "@metadata": {
+ "authors": [
+ "Autokrator",
+ "Chorobek",
+ "Tynchtyk Chorotegin",
+ "UV",
+ "Викиней",
+ "Andrew Dalby",
+ "Jdforrester",
+ "Laurentianus"
+ ]
+ },
+ "cite-ve-dialog-reference-options-group-label": "Grege uti",
+ "cite-ve-dialog-reference-options-name-label": "Hoc nomine rursus uti",
+ "cite-ve-dialog-reference-options-section": "Modi",
+ "cite-ve-dialog-reference-title": "Adnotatio",
+ "cite-ve-dialog-reference-useexisting-label": "Adnotatione iam scripta uti",
+ "cite-ve-dialog-referenceslist-title": "Index adnotationum",
+ "cite-ve-dialogbutton-reference-tooltip": "Simplex",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Index adnotationum"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/lb.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/lb.json
new file mode 100644
index 00000000..b6f0760f
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/lb.json
@@ -0,0 +1,49 @@
+{
+ "@metadata": {
+ "authors": [
+ "Autokrator",
+ "Chorobek",
+ "Robby",
+ "Soued031",
+ "Tynchtyk Chorotegin",
+ "UV",
+ "Викиней",
+ "McDutchie"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "null",
+ "visualeditor-cite-tool-name-book": "Buch",
+ "visualeditor-cite-tool-name-journal": "Journal",
+ "visualeditor-cite-tool-name-news": "Neiegkeeten",
+ "visualeditor-cite-tool-name-web": "Internetsite",
+ "cite-tool-definition.json": "null",
+ "cite-ve-changedesc-reflist-responsive-unset": "D'Lëscht vun de Referenzen gouf esou geännert datt se an enger Spalt gewise gëtt",
+ "cite-ve-dialog-reference-editing-reused": "Dës Referenz gëtt {{PLURAL:$1|eemol|$1 Mol}} op dëser Säit benotzt.",
+ "cite-ve-dialog-reference-options-group-label": "Dëse Grupp benotzen",
+ "cite-ve-dialog-reference-options-group-placeholder": "Allgemeng Referenzen",
+ "cite-ve-dialog-reference-options-name-label": "Nees benotze mat dësem Numm",
+ "cite-ve-dialog-reference-options-responsive-label": "Dynamesche Kolonne-Layout benotzen",
+ "cite-ve-dialog-reference-options-section": "Optiounen",
+ "cite-ve-dialog-reference-placeholder": "Schreift oder kopéiert Är Referenz heihin oder setzt eng Schabloun fir Zitater dran.",
+ "cite-ve-dialog-reference-title": "Referenz",
+ "cite-ve-dialog-reference-useexisting-full-label": "Eng Referenz nees benotzen déi et schonn op dëser Säit gëtt",
+ "cite-ve-dialog-reference-useexisting-label": "Eng Quell benotzen déi et scho gëtt",
+ "cite-ve-dialog-reference-useexisting-tool": "Nees-benotzen",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Lëscht vun allgemenge Referenzen",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Lëscht vu Referenzen fir de Grupp \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Lëscht vun de Referenzen",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Verbessert Ären Inhalt duerch bäisetze vun de Quelle vun den Informatiounen. Dir kënnt aus Bicher, Zeitungen oder Internetsiten zitéieren.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Citatiounen",
+ "cite-ve-dialogbutton-reference-full-label": "Basisformular",
+ "cite-ve-dialogbutton-reference-title": "Referenz",
+ "cite-ve-dialogbutton-reference-tooltip": "Einfach",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Lëscht vun de Referenzen",
+ "cite-ve-reference-input-placeholder": "An den aktuellen Zitater sichen",
+ "cite-ve-referenceslist-isempty": "Et gëtt keng Referenze mam Grupp \"$1\" op dëser Säit fir an dës Lëscht opzehuelen.",
+ "cite-ve-referenceslist-isempty-default": "Et gëtt keng Referenzen op dëser Säit fir an dës Lëscht opzehuelen.",
+ "cite-ve-referenceslist-missingref": "Dës Referenz ass an enger Schabloun oder engem anere generéierte Block definéiert a kann dowéinst just am Quelltextmodus geännert ginn.",
+ "cite-ve-toolbar-group-label": "Zitat",
+ "cite-ve-othergroup-item": "$1 Referenz",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Referenzen",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Numm vum Referenzgrupp: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/lez.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/lez.json
new file mode 100644
index 00000000..faad8102
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/lez.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Soul Train"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/lg.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/lg.json
new file mode 100644
index 00000000..639e57b5
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/lg.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ainali"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/li.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/li.json
new file mode 100644
index 00000000..7713368c
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/li.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Robin0van0der0vliet",
+ "Robin van der Vliet"
+ ]
+ },
+ "visualeditor-cite-tool-name-news": "Nuujs"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/lki.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/lki.json
new file mode 100644
index 00000000..ffcf6ddb
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/lki.json
@@ -0,0 +1,31 @@
+{
+ "@metadata": {
+ "authors": [
+ "Hosseinblue",
+ "Arash71",
+ "Lakzon"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "کتاب",
+ "visualeditor-cite-tool-name-journal": "مجله",
+ "visualeditor-cite-tool-name-news": "حاوواڵ",
+ "visualeditor-cite-tool-name-web": "وبسایت",
+ "cite-ve-dialog-reference-editing-reused": "این یادکرد $1 {{PLURAL:$1|times}} در این صفحه استفاده شده است.",
+ "cite-ve-dialog-reference-options-group-label": "ئستفادە ئەژ ئێ داکووکە(گروو)",
+ "cite-ve-dialog-reference-options-group-placeholder": "منابع عمومی",
+ "cite-ve-dialog-reference-options-name-label": "استفاده دوباره با این نام",
+ "cite-ve-dialog-reference-options-section": "گزینۀل",
+ "cite-ve-dialog-reference-title": "بنچەک(منبع)",
+ "cite-ve-dialog-reference-useexisting-full-label": "استفاده دوباره یک پانویس موجود در این صفحه",
+ "cite-ve-dialog-reference-useexisting-label": "استفاده از یک منبع موجود",
+ "cite-ve-dialog-reference-useexisting-tool": "استفادهٔ مجدد",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "فهرست منابع عمومی",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "فهرست منابع برای گروه $1",
+ "cite-ve-dialog-referenceslist-title": "فهرست منابع",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "یادکرد/ویرکرد",
+ "cite-ve-dialogbutton-reference-full-label": "فرم ابتدائی",
+ "cite-ve-dialogbutton-reference-title": "بنچەک(منبع)",
+ "cite-ve-dialogbutton-reference-tooltip": "مقدماتی",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "فهرست منابع",
+ "cite-ve-toolbar-group-label": "یادکرد/ویرکرد"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/lmo.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/lmo.json
new file mode 100644
index 00000000..33486e88
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/lmo.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ninonino",
+ "Gloria sah",
+ "Mondschein"
+ ]
+ },
+ "cite-ve-dialog-reference-options-group-label": "Dòpra chèl grupo ché",
+ "cite-ve-dialog-reference-options-name-label": "Tùrna a doprà chèl nòm ché",
+ "cite-ve-dialog-reference-options-section": "Upsiù",
+ "cite-ve-dialog-reference-title": "Riferimènt",
+ "cite-ve-dialog-reference-useexisting-label": "Dòpra 'n riferimènt che gh'è zamò",
+ "cite-ve-dialog-referenceslist-title": "Lìsta dei riferimèncc",
+ "cite-ve-dialogbutton-reference-tooltip": "Riferimènt",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Lìsta dei riferimèncc",
+ "cite-ve-reference-input-placeholder": "A che laùr öt fà riferimènt?",
+ "cite-ve-referenceslist-isempty": "En chèsta pàgina gh'è nisü riferimènt col grùpo \"$1\" de mèter en chèsta lìsta.",
+ "cite-ve-referenceslist-isempty-default": "Gh'è nisü riferimèncc en chèsta pàgina de mèter dét en chèsta lìsta.",
+ "cite-ve-referenceslist-missingref": "Chèsto riferimènt l'è definìt endèn mudèl o 'ndèn óter blòch generàt e per adès el pöl mìa éser mudificàt apéna 'n modalità sorgènt."
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ln.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ln.json
new file mode 100644
index 00000000..041d2f2f
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ln.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Moyogo"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/lrc.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/lrc.json
new file mode 100644
index 00000000..ef5e8ae7
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/lrc.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Mogoeilor",
+ "Bonevarluri",
+ "Macofe"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/lt.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/lt.json
new file mode 100644
index 00000000..cccd8da1
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/lt.json
@@ -0,0 +1,50 @@
+{
+ "@metadata": {
+ "authors": [
+ "Audriusa",
+ "Eitvys200",
+ "Shirayuki",
+ "Robotukas11",
+ "Homo",
+ "Mantak111",
+ "Reedy",
+ "Hugo.arg",
+ "Pofka",
+ "Albertas",
+ "Zygimantus",
+ "Manvydasz"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "nieko",
+ "visualeditor-cite-tool-name-book": "Knyga",
+ "visualeditor-cite-tool-name-journal": "Žurnalas",
+ "visualeditor-cite-tool-name-news": "Naujienos",
+ "visualeditor-cite-tool-name-web": "Tinklapis",
+ "cite-tool-definition.json": "nieko",
+ "cite-ve-changedesc-reflist-item-id": "Pakeistas išnašos indeksas",
+ "cite-ve-dialog-reference-editing-reused": "Ši nuoroda naudojama $1 {{PLURAL:$1|kartų}} šiame puslapyje.",
+ "cite-ve-dialog-reference-options-group-label": "Naudoti šią grupę",
+ "cite-ve-dialog-reference-options-group-placeholder": "Bendrosios nuorodos",
+ "cite-ve-dialog-reference-options-name-label": "Pakartotinai naudoti pagal pavadinimą",
+ "cite-ve-dialog-reference-options-section": "Parinktys",
+ "cite-ve-dialog-reference-title": "Nuoroda",
+ "cite-ve-dialog-reference-useexisting-full-label": "Pakartotinai naudoti citatą, kuri jau egzistuoja šiame puslapyje",
+ "cite-ve-dialog-reference-useexisting-label": "Naudoti esamą nuorodą",
+ "cite-ve-dialog-reference-useexisting-tool": "Naudoti pakartotinai",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Bendrųjų nuorodų sąrašas",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Grupės \"$1\" nuorodų sąrašas",
+ "cite-ve-dialog-referenceslist-title": "Nuorodų sąrašas",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Pagerina jūsų turinį pridedant informacijos šaltinių. Jūs galite cituoti iš knygų, laikraščių ir tinklapių.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Citatos",
+ "cite-ve-dialogbutton-reference-full-label": "Pagrindinė forma",
+ "cite-ve-dialogbutton-reference-title": "Nuoroda",
+ "cite-ve-dialogbutton-reference-tooltip": "Paprasta",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Nuorodų sąrašas",
+ "cite-ve-reference-input-placeholder": "Ieškoti dabartinėse citatose",
+ "cite-ve-referenceslist-isempty": "Nėra nuorodų su grupe \"$1\" šiame puslapyje, kurias būtų galima pateikti šiame sąraše",
+ "cite-ve-referenceslist-isempty-default": "Šiame puslapyje nėra nuorodų, kurias būtų galima įtraukti į šį sąrašą.",
+ "cite-ve-referenceslist-missingref": "Ši nuoroda yra apibrėžta šablone arba kitame sugeneruotame bloke ir kol kas gali būti redaguojama tik išeities teksto režimu.",
+ "cite-ve-toolbar-group-label": "Cituoti",
+ "cite-ve-othergroup-item": "$1 nuoroda",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Išnašos"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/luz.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/luz.json
new file mode 100644
index 00000000..b4f6cf8b
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/luz.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "علی ساکی لرستانی"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "کتآو",
+ "visualeditor-cite-tool-name-journal": "روژنومه",
+ "visualeditor-cite-tool-name-news": "خه ورل",
+ "visualeditor-cite-tool-name-web": "وب سایت"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/lv.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/lv.json
new file mode 100644
index 00000000..310e606d
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/lv.json
@@ -0,0 +1,52 @@
+{
+ "@metadata": {
+ "authors": [
+ "Admresdeserv.",
+ "Audriusa",
+ "Eitvys200",
+ "Papuass",
+ "PeterisP",
+ "Edgars2007",
+ "Jdforrester",
+ "Silraks"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "null",
+ "visualeditor-cite-tool-name-book": "Grāmata",
+ "visualeditor-cite-tool-name-journal": "Publikācija",
+ "visualeditor-cite-tool-name-news": "Ziņas",
+ "visualeditor-cite-tool-name-web": "Tīmekļa vietne",
+ "cite-tool-definition.json": "null",
+ "cite-ve-changedesc-ref-group-both": "Atsauču grupa nomainīta no \"$1\" uz \"$2\"",
+ "cite-ve-changedesc-ref-group-from": "Atsauču grupa nomainīta no \"$1\" uz vispārīgo grupu",
+ "cite-ve-changedesc-ref-group-to": "Atsauču grupa nomainīta no vispārīgās grupas uz \"$1\"",
+ "cite-ve-changedesc-reflist-group-both": "Atsauču saraksta grupa nomainīta no \"$1\" uz \"$2\"",
+ "cite-ve-changedesc-reflist-group-from": "Atsauču saraksta grupa nomainīta no \"$1\" uz vispārīgo grupu",
+ "cite-ve-changedesc-reflist-group-to": "Atsauču saraksta grupa nomainīta no vispārīgās grupas uz \"$1\"",
+ "cite-ve-dialog-reference-editing-reused": "Šī atsauce šajā lapā ir izmantota $1 {{PLURAL:$1|reizes|reizi|reizes}}.",
+ "cite-ve-dialog-reference-options-group-label": "Lietot šo grupu",
+ "cite-ve-dialog-reference-options-group-placeholder": "Vispārīgas atsauces",
+ "cite-ve-dialog-reference-options-name-label": "Atkalizmantot ar šo nosaukumu",
+ "cite-ve-dialog-reference-options-section": "Iespējas",
+ "cite-ve-dialog-reference-title": "Atsauce",
+ "cite-ve-dialog-reference-useexisting-full-label": "Atkārtoti izmantot atsauci, kas jau tiek lietota šajā lapā",
+ "cite-ve-dialog-reference-useexisting-label": "Izmantot esošu atsauci",
+ "cite-ve-dialog-reference-useexisting-tool": "Atkārtota izmantošana",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Vispārīgo atsauču saraksts",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Atsauču saraksts grupai \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Atsauču saraksts",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Uzlabo savu saturu, pievienojot informācijas avotus. Atsaukties var uz grāmatām, laikrakstiem un interneta vietnēm.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Atsauces",
+ "cite-ve-dialogbutton-reference-full-label": "Vienkāršā forma",
+ "cite-ve-dialogbutton-reference-title": "Atsauce",
+ "cite-ve-dialogbutton-reference-tooltip": "Vienkārša",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Atsauču saraksts",
+ "cite-ve-reference-input-placeholder": "Meklēt esošajās atsaucēs",
+ "cite-ve-referenceslist-isempty": "Šajā lapā nav atsauces ar grupu \"$1\"",
+ "cite-ve-referenceslist-isempty-default": "Šajā lapā nav atsauču, ko iekļaut šajā sarakstā.",
+ "cite-ve-referenceslist-missingref": "Šī atsauce ir definēta veidnē vai citā automātiski ģenerētā blokā, un pagaidām var tikt labota tikai pirmkoda režīmā.",
+ "cite-ve-toolbar-group-label": "Atsauce",
+ "cite-ve-othergroup-item": "$1 atsauce",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Atsauces",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Atsauču grupas nosaukums: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/lzh.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/lzh.json
new file mode 100644
index 00000000..1b3a3176
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/lzh.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "StephDC",
+ "LNDDYL",
+ "Jason924tw",
+ "飞舞回堂前"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "書",
+ "visualeditor-cite-tool-name-news": "事"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/mai.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/mai.json
new file mode 100644
index 00000000..a44f7bea
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/mai.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Tulsi Bhagat",
+ "बिप्लब आनन्द"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/mg.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/mg.json
new file mode 100644
index 00000000..51967f8c
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/mg.json
@@ -0,0 +1,30 @@
+{
+ "@metadata": {
+ "authors": [
+ "Jagwar"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "foana",
+ "visualeditor-cite-tool-name-book": "Boky",
+ "visualeditor-cite-tool-name-journal": "Gazety",
+ "visualeditor-cite-tool-name-news": "Vaovao",
+ "visualeditor-cite-tool-name-web": "Sehatra antranonkala",
+ "cite-tool-definition.json": "foana",
+ "cite-ve-dialog-reference-options-group-label": "Hampiasa ity vondrona ity",
+ "cite-ve-dialog-reference-options-group-placeholder": "Tsiahy amin'ny ankapobe",
+ "cite-ve-dialog-reference-options-name-label": "Hampiasa amin'ity anarana ity",
+ "cite-ve-dialog-reference-options-section": "Safidy",
+ "cite-ve-dialog-reference-title": "Tsiahy",
+ "cite-ve-dialog-reference-useexisting-full-label": "Hampiasa tsiahy efa misy eto amin'ity pejy ity",
+ "cite-ve-dialog-reference-useexisting-label": "Hampiasa tsiahy efa misy",
+ "cite-ve-dialog-reference-useexisting-tool": "Ampiasaina indray",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Lisitry ny tsiahy ankapobe",
+ "cite-ve-dialog-referenceslist-title": "Lisitry ny tsiahy",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Tsiahy",
+ "cite-ve-dialogbutton-reference-full-label": "Tsiahy hafa",
+ "cite-ve-dialogbutton-reference-title": "Tsiahy",
+ "cite-ve-dialogbutton-reference-tooltip": "Fototra",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Lisitry ny tsiahy",
+ "cite-ve-toolbar-group-label": "Loharano",
+ "cite-ve-othergroup-item": "tsiahy $1"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/mhr.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/mhr.json
new file mode 100644
index 00000000..80de52d9
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/mhr.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Сай"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/min.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/min.json
new file mode 100644
index 00000000..68b6d96e
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/min.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "Iwan Novirion",
+ "Jagwar"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Buku",
+ "visualeditor-cite-tool-name-journal": "Jurnal",
+ "visualeditor-cite-tool-name-news": "Kaba",
+ "visualeditor-cite-tool-name-web": "Situih web",
+ "cite-ve-dialog-reference-title": "Rujuakan",
+ "cite-ve-dialogbutton-reference-tooltip": "Rujuakan"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/mk.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/mk.json
new file mode 100644
index 00000000..3810c3cb
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/mk.json
@@ -0,0 +1,54 @@
+{
+ "@metadata": {
+ "authors": [
+ "Bjankuloski06",
+ "Brest",
+ "Iwan Novirion"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "ништо",
+ "visualeditor-cite-tool-name-book": "Книга",
+ "visualeditor-cite-tool-name-journal": "Списание",
+ "visualeditor-cite-tool-name-news": "Новости",
+ "visualeditor-cite-tool-name-web": "Мреж. место",
+ "cite-tool-definition.json": "ништо",
+ "cite-ve-changedesc-ref-group-both": "Групата наводи е сменета од „$1“ во „$2“",
+ "cite-ve-changedesc-ref-group-from": "Групата наводи е сменета од „$1“ во општата група",
+ "cite-ve-changedesc-ref-group-to": "Групата наводи е сменета од општата група на „$1“",
+ "cite-ve-changedesc-reflist-group-both": "Групата на списоци со наводи е сменета од „$1“ во „$2“",
+ "cite-ve-changedesc-reflist-group-from": "Групата на списоци со наводи е сменета од „$1“ во општата група",
+ "cite-ve-changedesc-reflist-group-to": "Групата на списоци со наводи е сменета од општата група во „$1“",
+ "cite-ve-changedesc-reflist-responsive-set": "Списокот на наводи е изменет за приказ во одѕивни столбови",
+ "cite-ve-changedesc-reflist-responsive-unset": "Списокот на наводи е изменет за приказ во само еден столб",
+ "cite-ve-changedesc-reflist-item-id": "Индексот на наводи е изменет",
+ "cite-ve-dialog-reference-editing-reused": "Овој навод се користи {{PLURAL:$1|еднаш|$1 пати}} во страницава.",
+ "cite-ve-dialog-reference-options-group-label": "Употреби ја групава",
+ "cite-ve-dialog-reference-options-group-placeholder": "Општи наводи",
+ "cite-ve-dialog-reference-options-name-label": "Преупотреби под ова име",
+ "cite-ve-dialog-reference-options-responsive-label": "Користи одѕивен распоред на столбовите",
+ "cite-ve-dialog-reference-options-section": "Нагодувања",
+ "cite-ve-dialog-reference-placeholder": "Тука напишете или прекопирајте го наводот, или пак вметнете шаблон за навод.",
+ "cite-ve-dialog-reference-title": "Навод",
+ "cite-ve-dialog-reference-useexisting-full-label": "Употреби постоечки навод на страницата",
+ "cite-ve-dialog-reference-useexisting-label": "Искористи постоечки навод",
+ "cite-ve-dialog-reference-useexisting-tool": "Постоечки",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Список на општи наводи",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Список на наводи за групата „$1“",
+ "cite-ve-dialog-referenceslist-title": "Список на наводи",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Ја подобрува вашата содржина додавајќи извори на информациите. Можете да наведувате книги, весници и мрежни места.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Наводи",
+ "cite-ve-dialogbutton-reference-full-label": "Основен облик",
+ "cite-ve-dialogbutton-reference-title": "Навод",
+ "cite-ve-dialogbutton-reference-tooltip": "Основна",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Список на наводи",
+ "cite-ve-reference-input-placeholder": "Пребарајте по тековните наводи",
+ "cite-ve-referenceslist-isempty": "На страницава нема наводи со групата „$1“ што би ги ставил во списоков.",
+ "cite-ve-referenceslist-isempty-default": "На страницава нема наводи што би ги ставил во списоков.",
+ "cite-ve-referenceslist-missingref": "Овој навод се задава во шаблон или друг самосоздаден блок. Засега може да се уредува само непосредно во изворот.",
+ "cite-ve-referenceslist-missingref-in-list": "Овој навод се задава во шаблон или друг создаден блок. Засега може да се прегледува само во изворен режим.",
+ "cite-ve-referenceslist-missingreflist": "Овој список со наводи е создаден од шаблон, и засега може да се уредува само во изворен режим.",
+ "cite-ve-toolbar-group-label": "Наведи",
+ "cite-ve-othergroup-item": "$1 навод",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Наводи",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Име на групата наводи: „$1“"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ml.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ml.json
new file mode 100644
index 00000000..5425716d
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ml.json
@@ -0,0 +1,38 @@
+{
+ "@metadata": {
+ "authors": [
+ "Kavya Manohar",
+ "Praveenp",
+ "Santhosh.thottingal",
+ "Vssun",
+ "Ranjithsiji"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "പുസ്തകം",
+ "visualeditor-cite-tool-name-journal": "ജേണൽ",
+ "visualeditor-cite-tool-name-news": "വാർത്തകൾ",
+ "visualeditor-cite-tool-name-web": "വെബ്‌സൈറ്റ്",
+ "cite-ve-dialog-reference-editing-reused": "ഈ അവലംബം ഈ താളിൽ $1 {{PLURAL:$1|പ്രാവശ്യം}} ഉപയോഗിച്ചിട്ടുണ്ട്.",
+ "cite-ve-dialog-reference-options-group-label": "ഈ ഗണം ഉപയോഗിക്കുക",
+ "cite-ve-dialog-reference-options-group-placeholder": "സാമാന്യ അവലംബങ്ങൾ",
+ "cite-ve-dialog-reference-options-name-label": "ഈ പേര് പുനരുപയോഗിക്കുക",
+ "cite-ve-dialog-reference-options-section": "ഐച്ഛികങ്ങൾ",
+ "cite-ve-dialog-reference-title": "അവലംബം",
+ "cite-ve-dialog-reference-useexisting-full-label": "ഈ താളിൽ നിലവിലുള്ള ഒരു അവലംബം വീണ്ടും ഉപയോഗിക്കുക",
+ "cite-ve-dialog-reference-useexisting-label": "നിലവിൽ ഉപയോഗിക്കുന്ന അവലംബം ഉപയോഗിക്കുക",
+ "cite-ve-dialog-reference-useexisting-tool": "പുനരുപയോഗം",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "പൊതു അവലംബങ്ങളുടെ പട്ടിക",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "\"$1\" എന്ന ഗണത്തിനുള്ള അവലംബങ്ങളുടെ പട്ടിക",
+ "cite-ve-dialog-referenceslist-title": "അവലംബങ്ങളുടെ പട്ടിക",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "താങ്കൾ നൽകിയ ഉള്ളടക്കത്തിന്റെ സ്രോതസ്സ് വിവരങ്ങൾ ചേർത്ത് മെച്ചപ്പെടുത്തുന്നു. താങ്കൾക്ക് പുസ്തകങ്ങളും പത്രമാദ്ധ്യമങ്ങളും വെബ്‌സൈറ്റുകളും അവലംബിക്കാവുന്നതാണ്.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "അവലംബങ്ങൾ",
+ "cite-ve-dialogbutton-reference-full-label": "അടിസ്ഥാന രൂപം",
+ "cite-ve-dialogbutton-reference-title": "അവലംബം",
+ "cite-ve-dialogbutton-reference-tooltip": "അടിസ്ഥാനപരം",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "അവലംബങ്ങളുടെ പട്ടിക",
+ "cite-ve-reference-input-placeholder": "ഇപ്പോൾ ഉപയോഗിച്ചിരിക്കുന്ന അവലംബങ്ങളിൽ തിരയുക",
+ "cite-ve-referenceslist-isempty": "ഈ താളിൽ, \"$1\" ഗണത്തിൽ, ഈ പട്ടികയിൽ ഉൾപ്പെടുത്താവുന്ന അവലംബങ്ങളൊന്നും ഈ താളിലില്ല.",
+ "cite-ve-referenceslist-isempty-default": "ഈ പട്ടികയിൽ ഉൾപ്പെടുത്താവുന്ന അവലംബങ്ങളൊന്നും ഈ താളിലില്ല.",
+ "cite-ve-referenceslist-missingref": "ഈ അവലംബം ഫലകം ഉപയോഗിച്ചോ മറ്റേതെങ്കിലും ഘടകമുപയോഗിച്ചോ ആണ് ചേർത്തിരിക്കുന്നത്, അതിനാലിത് ഇപ്പോൾ മൂലരൂപത്തിൽ മാത്രമേ തിരുത്താനാവൂ.",
+ "cite-ve-toolbar-group-label": "ഉദ്ധരിക്കുക"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/mn.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/mn.json
new file mode 100644
index 00000000..e9b34419
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/mn.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Mongol",
+ "Wisdom",
+ "Sembuk"
+ ]
+ },
+ "cite-ve-dialog-referenceslist-title": "Ном зүйн жагсаалт",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Ном зүйн жагсаалт"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/mr.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/mr.json
new file mode 100644
index 00000000..47ab1cac
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/mr.json
@@ -0,0 +1,60 @@
+{
+ "@metadata": {
+ "authors": [
+ "Kaajawa",
+ "Mahitgar",
+ "Praju23",
+ "V.narsikar",
+ "Ydyashad",
+ "संतोष दहिवळ",
+ "अभय नातू",
+ "NehalDaveND",
+ "Sureshkhole",
+ "Susheelkasab"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "काहीही नाही",
+ "visualeditor-cite-tool-name-book": "पुस्तक",
+ "visualeditor-cite-tool-name-journal": "पत्रिका",
+ "visualeditor-cite-tool-name-news": "बातम्या",
+ "visualeditor-cite-tool-name-web": "संकेतस्थळ",
+ "cite-tool-definition.json": "काहीही नाही",
+ "cite-ve-changedesc-ref-group-both": "संदर्भगट \"$1\" वरून \"$2\" कडे बदलला गेला आहे",
+ "cite-ve-changedesc-ref-group-from": "संदर्भ गट \"$1\" कडून आता सामान्य गटाकडे नेण्यात आलेला आहे",
+ "cite-ve-changedesc-ref-group-to": "संदर्भ गट सामान्य गटाकडून आता \"$1\" कडे नेण्यात आलेला आहे",
+ "cite-ve-changedesc-reflist-group-both": "संदर्भयादी \"$1\" कडून \"$2\" कडे नेण्यात आलेली आहे",
+ "cite-ve-changedesc-reflist-group-from": "संदर्भ यादी \"$1\" कडून सामान्य गटाकडे नेण्यात आलेली आहे",
+ "cite-ve-changedesc-reflist-group-to": "संदर्भयादी सामान्य गटाकडून \"$1\" कडे नेलेली आहे",
+ "cite-ve-changedesc-reflist-responsive-set": "संदर्भ यादी प्रतीसादिक स्तंभात दाखवता यावी अशा पद्धतीने बदलण्यात आली आहे.",
+ "cite-ve-changedesc-reflist-responsive-unset": "संदर्भ यादी फक्त एकच स्तंभात दाखवता यावी अशा पद्धतीने बदलण्यात आली आहे.",
+ "cite-ve-changedesc-reflist-item-id": "संदर्भयादी बदलली गेली आहे",
+ "cite-ve-dialog-reference-editing-reused": "हा संदर्भ या पानावर $1 {{PLURAL:$1|वेळा}} वापरल्या गेला.",
+ "cite-ve-dialog-reference-options-group-label": "हा संदर्भगट वापरा",
+ "cite-ve-dialog-reference-options-group-placeholder": "सामान्य संदर्भ",
+ "cite-ve-dialog-reference-options-name-label": "या नावाने पुन्हा-वापरा",
+ "cite-ve-dialog-reference-options-responsive-label": "प्रतिसाद देणारी सारणी वापरा",
+ "cite-ve-dialog-reference-options-section": "पर्याय",
+ "cite-ve-dialog-reference-placeholder": "येथे आपला संदर्भ लिहा किंवा चिटकवा, किंवा संदर्भ साचा चिटकवा",
+ "cite-ve-dialog-reference-title": "संदर्भ",
+ "cite-ve-dialog-reference-useexisting-full-label": "या पानावर असलेली अवतरणे पुन्हा वापरा",
+ "cite-ve-dialog-reference-useexisting-label": "सध्या उपलब्ध संदर्भातून संदर्भ वापरा",
+ "cite-ve-dialog-reference-useexisting-tool": "पुनरुपयोग",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "सामान्य संदर्भांची यादी",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "गट \"$1\" साठी संदर्भांची यादी",
+ "cite-ve-dialog-referenceslist-title": "संदर्भ यादी",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "माहितीचा स्रोत जोडून आपला आशय सुधरवा.आपण पुस्तकांतून, नियतकालिंकातून व संकेतस्थळांवरुन संदर्भ देऊ शकता.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "संदर्भ",
+ "cite-ve-dialogbutton-reference-full-label": "मूळ रुप",
+ "cite-ve-dialogbutton-reference-title": "संदर्भ",
+ "cite-ve-dialogbutton-reference-tooltip": "पहिल्यांदा",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "संदर्भ यादी",
+ "cite-ve-reference-input-placeholder": "सध्या अवतरणातच शोधा",
+ "cite-ve-referenceslist-isempty": "गट \"$1\" पाशी या लेखपानावर संदर्भ उपलब्ध नाहीत.",
+ "cite-ve-referenceslist-isempty-default": "या यादीत अंतर्भूत करावयासाठी या पानावर कोणतेच संदर्भ नाहीत.",
+ "cite-ve-referenceslist-missingref": "हा संदर्भ सध्या केवळ स्रोत संपादन पद्धतीने संपादीत करता येतो कारण संबंधित संदर्भ साचातून किंवा इतर जनरेटेड ब्लॉक मधून डिफाईन केला गेला आहे.",
+ "cite-ve-referenceslist-missingreflist": "ही संदर्भयादी साचा वापरून तयार केली गेली आहे, आणि आता फ़क्त स्त्रोत मोडमध्ये जाऊनच बदलली जाऊ शकते",
+ "cite-ve-toolbar-group-label": "संदर्भ जोडा",
+ "cite-ve-othergroup-item": "$1 संदर्भ",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "संदर्भ",
+ "visualeditor-internal-list-diff-group-name-mwreference": "संदर्भगटाचे नाव: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ms.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ms.json
new file mode 100644
index 00000000..f1a93784
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ms.json
@@ -0,0 +1,53 @@
+{
+ "@metadata": {
+ "authors": [
+ "Anakmalaysia",
+ "Aurora",
+ "Pizza1016",
+ "Karmadunya9-",
+ "Macofe"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "null",
+ "visualeditor-cite-tool-name-book": "Buku",
+ "visualeditor-cite-tool-name-journal": "Jurnal",
+ "visualeditor-cite-tool-name-news": "Berita",
+ "visualeditor-cite-tool-name-web": "Laman web",
+ "cite-tool-definition.json": "null",
+ "cite-ve-changedesc-ref-group-both": "Kumpulan rujukan ditukar dari \"$1\" ke \"$2\"",
+ "cite-ve-changedesc-ref-group-from": "Kumpulan rujukan ditukar dari \"$1\" ke kumpulan am",
+ "cite-ve-changedesc-ref-group-to": "Kumpulan rujukan ditukar dari kumpulan am ke \"$1\"",
+ "cite-ve-changedesc-reflist-group-both": "Kumpulan senarai rujukan ditukar dari \"$1\" ke \"$2\"",
+ "cite-ve-changedesc-reflist-group-from": "Kumpulan senarai rujukan ditukar dari \"$1\" ke kumpulan am",
+ "cite-ve-changedesc-reflist-group-to": "Kumpulan senarai rujukan ditukar dari kumpulan am ke \"$1\"",
+ "cite-ve-changedesc-reflist-item-id": "Indeks rujukan diubah",
+ "cite-ve-dialog-reference-editing-reused": "Rujukan ini digunakan $1 kali di laman ini.",
+ "cite-ve-dialog-reference-options-group-label": "Gunakan kumpulan ini",
+ "cite-ve-dialog-reference-options-group-placeholder": "Rujukan umum",
+ "cite-ve-dialog-reference-options-name-label": "Gunakan semula dengan nama ini",
+ "cite-ve-dialog-reference-options-responsive-label": "Gunakan tatasusun lajur responsif",
+ "cite-ve-dialog-reference-options-section": "Pilihan",
+ "cite-ve-dialog-reference-placeholder": "Tulis atau tampalkan rujukan di sini, atau sisipkan templat petikan.",
+ "cite-ve-dialog-reference-title": "Rujukan",
+ "cite-ve-dialog-reference-useexisting-full-label": "Gunakan semula petikan yang sudah pun wujud di laman ini",
+ "cite-ve-dialog-reference-useexisting-label": "Gunakan rujukan yang sedia ada",
+ "cite-ve-dialog-reference-useexisting-tool": "Guna semula",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Senarai rujukan am",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Senarai rujukan am untuk kumpulan \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Senarai rujukan",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Meningkatkan mutu kandungan dengan menambah sumber maklumat. Boleh dipetik dari buku, akhbar mahupun laman web.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Petikan",
+ "cite-ve-dialogbutton-reference-full-label": "Bentuk asas",
+ "cite-ve-dialogbutton-reference-title": "Rujukan",
+ "cite-ve-dialogbutton-reference-tooltip": "Asas",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Senarai rujukan",
+ "cite-ve-reference-input-placeholder": "Cari petikan sedia ada",
+ "cite-ve-referenceslist-isempty": "Tidak terdapat rujukan dengan kumpulan \"$1\" pada halaman ini untuk disertakan dalam senarai ini.",
+ "cite-ve-referenceslist-isempty-default": "Tidak terdapat rujukan pada halaman ini untuk disertakan dalam senarai ini.",
+ "cite-ve-referenceslist-missingref": "Rujukan ini ditakrifkan dalam templat atau seumpamanya, maka buat masa sekarang, ia boleh disunting dalam mod sumber sahaja.",
+ "cite-ve-referenceslist-missingreflist": "Senarai rujukan ini dihasilkan oleh templat, oleh itu kini hanya boleh disunting dalam mod sumber.",
+ "cite-ve-toolbar-group-label": "Petik",
+ "cite-ve-othergroup-item": "Rujukan $1",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Rujukan",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Nama kumpulan rujukan: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/mt.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/mt.json
new file mode 100644
index 00000000..88207f9c
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/mt.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Chrisportelli",
+ "CharlieTheCabbie",
+ "Leli Forte"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Ktieb",
+ "visualeditor-cite-tool-name-journal": "Rivista",
+ "visualeditor-cite-tool-name-news": "Aħbarijiet",
+ "visualeditor-cite-tool-name-web": "Sit tal-web",
+ "cite-ve-dialog-reference-title": "Referenza",
+ "cite-ve-dialog-referenceslist-title": "Lista ta' referenzi"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/mwl.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/mwl.json
new file mode 100644
index 00000000..51e90d0d
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/mwl.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "MokaAkashiyaPT",
+ "Athena in Wonderland"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Lhibro"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/my.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/my.json
new file mode 100644
index 00000000..4c6f18b1
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/my.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Sanlinnaing",
+ "Zawthet"
+ ]
+ },
+ "cite-ve-dialogbutton-reference-title": "ရည်ညွှန်း"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/myv.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/myv.json
new file mode 100644
index 00000000..6d591d72
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/myv.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Botuzhaleny-sodamo"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/mzn.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/mzn.json
new file mode 100644
index 00000000..c217ddab
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/mzn.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "محک"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/nah.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/nah.json
new file mode 100644
index 00000000..44884231
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/nah.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Neil P. Quinn",
+ "Taresi"
+ ]
+ },
+ "cite-ve-toolbar-group-label": "Titlahtolcuepaz"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/nan.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/nan.json
new file mode 100644
index 00000000..a8f18d27
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/nan.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ianbu"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/nap.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/nap.json
new file mode 100644
index 00000000..922a7973
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/nap.json
@@ -0,0 +1,38 @@
+{
+ "@metadata": {
+ "authors": [
+ "Chelin",
+ "Chrisportelli",
+ "PiRSquared17",
+ "C.R.",
+ "Candalua"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Libbro",
+ "visualeditor-cite-tool-name-journal": "Giurnale",
+ "visualeditor-cite-tool-name-news": "Nutizie",
+ "visualeditor-cite-tool-name-web": "Sito web",
+ "cite-ve-dialog-reference-editing-reused": "Stu riferimento è ausato $1 {{PLURAL:$1|vota|vote}} ncopp'a sta paggena.",
+ "cite-ve-dialog-reference-options-group-label": "Ausa chisto gruppo",
+ "cite-ve-dialog-reference-options-group-placeholder": "Riferimente ggenerale",
+ "cite-ve-dialog-reference-options-name-label": "Re-ausà stu nomme",
+ "cite-ve-dialog-reference-options-section": "Opzione",
+ "cite-ve-dialog-reference-title": "Riferimiento",
+ "cite-ve-dialog-reference-useexisting-full-label": "Re-ausà na citazione mò prisente dint' 'a paggena",
+ "cite-ve-dialog-reference-useexisting-label": "Ausa nu riferimento esistente",
+ "cite-ve-dialog-reference-useexisting-tool": "Re-ausà",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Elenco 'e note generale",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Lista 'e riferimente p' 'o gruppo \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Elenco riferimiente",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Migliora 'e cuntenute jognenno surgente 'e nfurmazione. Putite cità libbre, ghiurnale e site web.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Citaziune",
+ "cite-ve-dialogbutton-reference-full-label": "Modulo bbase",
+ "cite-ve-dialogbutton-reference-title": "Riferimiento",
+ "cite-ve-dialogbutton-reference-tooltip": "Base",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Elenco riferimiente",
+ "cite-ve-reference-input-placeholder": "Cirche cu 'e citaziune 'e mò",
+ "cite-ve-referenceslist-isempty": "Nun ce stanno riferimente int'o gruppo \"$1\" ncopp'a sta paggena pe' ll'azzeccà dint'a sta lista.",
+ "cite-ve-referenceslist-isempty-default": "Nun ce stanno riferimente ncopp'a sta paggena pe' ll'azzeccà dint'a sta lista.",
+ "cite-ve-referenceslist-missingref": "Chista nota è definita int'a nu modello o dint'a n'atu blocco generato e p' 'o mumento se può cagnà sulamente cagnanno direttamente 'o codece.",
+ "cite-ve-toolbar-group-label": "Citaziona"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/nb.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/nb.json
new file mode 100644
index 00000000..b84dd60c
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/nb.json
@@ -0,0 +1,63 @@
+{
+ "@metadata": {
+ "authors": [
+ "Danmichaelo",
+ "Event",
+ "Jeblad",
+ "Laaknor",
+ "Njardarlogar",
+ "Gloria sah",
+ "Apple farmer",
+ "Kingu",
+ "Nghtwlkr",
+ "Jdforrester",
+ "Emilbk",
+ "Cocu",
+ "Tarjeimo",
+ "Telaneo",
+ "Jon Harald Søby"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "null",
+ "visualeditor-cite-tool-name-book": "Bok",
+ "visualeditor-cite-tool-name-journal": "Tidsskrift",
+ "visualeditor-cite-tool-name-news": "Nyhet",
+ "visualeditor-cite-tool-name-web": "Nettside",
+ "cite-tool-definition.json": "null",
+ "cite-ve-changedesc-ref-group-both": "Referansegruppe endret fra «$1» til «$2»",
+ "cite-ve-changedesc-ref-group-from": "Referansegruppe endret fra «$1» til den generelle gruppa",
+ "cite-ve-changedesc-ref-group-to": "Referansegruppe endret fra den generelle gruppa til «$1»",
+ "cite-ve-changedesc-reflist-group-both": "Referanselistegruppe endret fra «$1» til «$2»",
+ "cite-ve-changedesc-reflist-group-from": "Referanselistegruppe endret fra «$1» til den generelle gruppa",
+ "cite-ve-changedesc-reflist-group-to": "Referanselistegruppe endret fra den generelle gruppa til «$1»",
+ "cite-ve-changedesc-reflist-item-id": "Referanseindeks endret",
+ "cite-ve-dialog-reference-editing-reused": "Denne referansen er brukt {{PLURAL:$1|én gang|$1 ganger}} på denne siden.",
+ "cite-ve-dialog-reference-options-group-label": "Bruk denne gruppen",
+ "cite-ve-dialog-reference-options-group-placeholder": "Generelle referanser",
+ "cite-ve-dialog-reference-options-name-label": "Gjenbruk med dette navnet",
+ "cite-ve-dialog-reference-options-responsive-label": "Bruk responsivt kolonneoppsett",
+ "cite-ve-dialog-reference-options-section": "Valg",
+ "cite-ve-dialog-reference-placeholder": "Skriv eller lim inn referansen her, eller sett inn en kildemal.",
+ "cite-ve-dialog-reference-title": "Referanse",
+ "cite-ve-dialog-reference-useexisting-full-label": "Gjenbruk et sitat som allerede finnes på siden",
+ "cite-ve-dialog-reference-useexisting-label": "Bruk en eksisterende kilde",
+ "cite-ve-dialog-reference-useexisting-tool": "Gjenbruk",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Liste over generelle referanser",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Liste over referanser i gruppen «$1»",
+ "cite-ve-dialog-referenceslist-title": "Referanseliste",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Forbedrer kvaliteten på innholdet ved å legge til kildehenvisninger. Du kan sitere fra bøker, aviser og websider med mer.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Siteringer",
+ "cite-ve-dialogbutton-reference-full-label": "Standardform",
+ "cite-ve-dialogbutton-reference-title": "Referanse",
+ "cite-ve-dialogbutton-reference-tooltip": "Enkel",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Referanseliste",
+ "cite-ve-reference-input-placeholder": "Hva ønsker du å referere til?",
+ "cite-ve-referenceslist-isempty": "Det finnes ingen kildehenvisninger i gruppen «$1» på denne siden som kan inkluderes i denne lista.",
+ "cite-ve-referenceslist-isempty-default": "Det er ingen kildehenvisninger på denne siden som kan inkluderes i denne lista.",
+ "cite-ve-referenceslist-missingref": "Denne kildehenvisningen er definert ved hjelp av en mal eller en annen generert blokk, og kan foreløpig kun redigeres i kildemodus.",
+ "cite-ve-referenceslist-missingreflist": "Denne referanselista genereres av en mal, og kan for tiden kun redigeres i kildemodus.",
+ "cite-ve-toolbar-group-label": "Angi kilde",
+ "cite-ve-othergroup-item": "$1 referanse",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Referanser",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Referansegruppenavn: «$1»"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/nds-nl.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/nds-nl.json
new file mode 100644
index 00000000..f951813e
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/nds-nl.json
@@ -0,0 +1,20 @@
+{
+ "@metadata": {
+ "authors": [
+ "Servien"
+ ]
+ },
+ "cite-ve-dialog-reference-options-group-label": "Disse groep gebruken",
+ "cite-ve-dialog-reference-options-name-label": "Disse naam hergebruken",
+ "cite-ve-dialog-reference-options-section": "Opsies",
+ "cite-ve-dialog-reference-title": "Referensie",
+ "cite-ve-dialog-reference-useexisting-label": "Gebruuk n bestaonde referensie",
+ "cite-ve-dialog-reference-useexisting-tool": "Hergebruken",
+ "cite-ve-dialog-referenceslist-title": "Referensielieste",
+ "cite-ve-dialogbutton-reference-tooltip": "Referensie",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Referensielieste",
+ "cite-ve-reference-input-placeholder": "Waor wi'j an refereren?",
+ "cite-ve-referenceslist-isempty": "Der bin gien referensies mit de groep \"$1\" op disse zied um bie disse lieste te doon.",
+ "cite-ve-referenceslist-missingref": "Disse referensie steet in n mal of n aander soort egenereerd blok, en ku'j veurlopig allinnig mer in de bronkode bewarken.",
+ "cite-ve-toolbar-group-label": "Siteren"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/nds.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/nds.json
new file mode 100644
index 00000000..8f68def1
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/nds.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Zylbath"
+ ]
+ },
+ "cite-ve-dialog-reference-options-group-label": "Düsse Grupp bruken",
+ "cite-ve-dialog-reference-options-name-label": "Düssen Naam wiederbruken",
+ "cite-ve-dialog-reference-options-section": "Optschonen",
+ "cite-ve-dialog-reference-title": "Enkelnawies",
+ "cite-ve-dialog-reference-useexisting-label": "Een vörhannen Enkelnawies bruken",
+ "cite-ve-dialog-referenceslist-title": "Liest vun Enkelnawiesen",
+ "cite-ve-dialogbutton-reference-tooltip": "Enkelnawies",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Liest vun Enkelnawiesen"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ne.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ne.json
new file mode 100644
index 00000000..d9d93d16
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ne.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "RajeshPandey",
+ "सरोज कुमार ढकाल",
+ "Ganesh Paudel",
+ "बिप्लब आनन्द",
+ "Nirjal stha",
+ "NehalDaveND",
+ "राम प्रसाद जोशी"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "पुस्तकहरू",
+ "visualeditor-cite-tool-name-journal": "पत्रिका",
+ "visualeditor-cite-tool-name-news": "समाचार",
+ "visualeditor-cite-tool-name-web": "वेबसाइट",
+ "cite-ve-dialog-reference-options-section": "विकल्पहरू",
+ "cite-ve-dialog-reference-title": "सन्दर्भ सामग्रीहरू",
+ "cite-ve-dialogbutton-reference-tooltip": "सामान्य",
+ "cite-ve-toolbar-group-label": "उर्ध्वभरण"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/nl-informal.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/nl-informal.json
new file mode 100644
index 00000000..24c73913
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/nl-informal.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Carsrac"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/nl.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/nl.json
new file mode 100644
index 00000000..05e4d164
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/nl.json
@@ -0,0 +1,70 @@
+{
+ "@metadata": {
+ "authors": [
+ "Bluyten",
+ "Breghtje",
+ "Catrope",
+ "Flightmare",
+ "Hansmuller",
+ "Jdforrester",
+ "Keegan",
+ "Konovalov",
+ "RajeshPandey",
+ "Romaine",
+ "SPQRobin",
+ "Saruman",
+ "Siebrand",
+ "Sjoerddebruin",
+ "Southparkfan",
+ "सरोज कुमार ढकाल",
+ "Kim Bruning",
+ "Niknetniko",
+ "Arent",
+ "McDutchie",
+ "Gloria sah",
+ "Mar(c)",
+ "Robin0van0der0vliet",
+ "Servien",
+ "TheDJ",
+ "JensRiskin",
+ "MedShot",
+ "Esketti",
+ "FabianRM",
+ "Mbch331",
+ "Mainframe98",
+ "Effeietsanders",
+ "Patio"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Boek",
+ "visualeditor-cite-tool-name-journal": "Tijdschrift",
+ "visualeditor-cite-tool-name-news": "Nieuws",
+ "visualeditor-cite-tool-name-web": "Website",
+ "cite-ve-dialog-reference-editing-reused": "Deze referentie wordt $1 {{PLURAL:$1|keer}} gebruikt op deze pagina.",
+ "cite-ve-dialog-reference-options-group-label": "Deze groep gebruiken",
+ "cite-ve-dialog-reference-options-group-placeholder": "Algemene verwijzingen",
+ "cite-ve-dialog-reference-options-name-label": "Hergebruiken op naam",
+ "cite-ve-dialog-reference-options-section": "Opties",
+ "cite-ve-dialog-reference-placeholder": "Schrijf of voeg hier uw referentie in, of gebruik een citeersjabloon.",
+ "cite-ve-dialog-reference-title": "Referentie",
+ "cite-ve-dialog-reference-useexisting-full-label": "Een citaat dat al bestaat op deze pagina opnieuw gebruiken",
+ "cite-ve-dialog-reference-useexisting-label": "Bestaande referentie gebruiken",
+ "cite-ve-dialog-reference-useexisting-tool": "Hergebruiken",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Algemene lijst met bronnen",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Lijst met bronnen voor de groep \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Referentielijst",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Verbetert uw inhoud door het toevoegen van bronnen voor gegevens. U kunt citeren uit boeken, kranten en andere websites.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Citaten",
+ "cite-ve-dialogbutton-reference-full-label": "Basisvorm",
+ "cite-ve-dialogbutton-reference-title": "Referentie",
+ "cite-ve-dialogbutton-reference-tooltip": "Basis",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Referentielijst",
+ "cite-ve-reference-input-placeholder": "Zoeken in huidige citaten",
+ "cite-ve-referenceslist-isempty": "Er zijn geen referenties op deze pagina met de groep \"$1\" om toe te voegen aan deze lijst.",
+ "cite-ve-referenceslist-isempty-default": "Er zijn op deze pagina geen referenties die in deze lijst opgenomen kunnen worden.",
+ "cite-ve-referenceslist-missingref": "Deze referentie bevindt zich in een sjabloon of een ander soort gegenereerd blok en kan voorlopig alleen in de broncodemodus bewerkt worden.",
+ "cite-ve-referenceslist-missingref-in-list": "Deze referentie staat in een sjabloon of elders gemaakt blok waarvan men nu alleen broncode kan zien.",
+ "cite-ve-toolbar-group-label": "Citeren",
+ "cite-ve-othergroup-item": "$1 referentie",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Referenties"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/nn.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/nn.json
new file mode 100644
index 00000000..7abf2827
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/nn.json
@@ -0,0 +1,30 @@
+{
+ "@metadata": {
+ "authors": [
+ "Jeblad",
+ "Njardarlogar",
+ "Ranveig"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Bok",
+ "visualeditor-cite-tool-name-journal": "Tidsskrift",
+ "visualeditor-cite-tool-name-news": "Nyhende",
+ "visualeditor-cite-tool-name-web": "Nettstad",
+ "cite-ve-dialog-reference-editing-reused": "Denne referansen er nytta {{PLURAL:$1|éin gong|$1 gonger}} på denne sida.",
+ "cite-ve-dialog-reference-options-group-label": "Bruk denne gruppa",
+ "cite-ve-dialog-reference-options-group-placeholder": "Ålmenne kjelder",
+ "cite-ve-dialog-reference-options-name-label": "Bruk på nytt med dette namnet",
+ "cite-ve-dialog-reference-options-section": "Val",
+ "cite-ve-dialog-reference-title": "Kjelde",
+ "cite-ve-dialog-reference-useexisting-full-label": "Bruk ei kjelde som alt finst på sida på nytt",
+ "cite-ve-dialog-reference-useexisting-label": "Bruk ei eksisterande kjelde",
+ "cite-ve-dialog-reference-useexisting-tool": "Bruk kjelde om att",
+ "cite-ve-dialog-referenceslist-title": "Kjeldeliste",
+ "cite-ve-dialogbutton-reference-tooltip": "Enkel",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Kjeldeliste",
+ "cite-ve-reference-input-placeholder": "Kva ynskjer du å visa til?",
+ "cite-ve-referenceslist-isempty": "Det finst ingen kjelder på sida med gruppa «$1» som kan leggjast til i lista.",
+ "cite-ve-referenceslist-isempty-default": "Det finst ingen kjelder på sida som kan leggjast til i lista.",
+ "cite-ve-referenceslist-missingref": "Denne kjelda er definert i ein mal eller annan oppretta blokk og kan enn så lenge berre endrast som wikitekst.",
+ "cite-ve-toolbar-group-label": "Siter"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/oc.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/oc.json
new file mode 100644
index 00000000..1bfb85f2
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/oc.json
@@ -0,0 +1,33 @@
+{
+ "@metadata": {
+ "authors": [
+ "Jfblanc",
+ "Cedric31",
+ "Fitoschido",
+ "McDutchie",
+ "Unuaiga"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Libre",
+ "visualeditor-cite-tool-name-journal": "Jornal",
+ "visualeditor-cite-tool-name-news": "Actualitats",
+ "visualeditor-cite-tool-name-web": "Site web",
+ "cite-ve-dialog-reference-options-group-label": "Utilizar aquel grop",
+ "cite-ve-dialog-reference-options-group-placeholder": "Referéncias generalas",
+ "cite-ve-dialog-reference-options-name-label": "Reütilizar per aquel nom",
+ "cite-ve-dialog-reference-options-section": "Opcions",
+ "cite-ve-dialog-reference-title": "Referéncia",
+ "cite-ve-dialog-reference-useexisting-full-label": "Reütilizar una referéncia qu'existís ja sus aquesta pagina",
+ "cite-ve-dialog-reference-useexisting-label": "Reütilizar una referéncia",
+ "cite-ve-dialog-reference-useexisting-tool": "Reütilizar",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Lista de referéncias generalas",
+ "cite-ve-dialog-referenceslist-title": "Lista de referéncias",
+ "cite-ve-dialogbutton-reference-tooltip": "De basa",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Lista de referéncias",
+ "cite-ve-reference-input-placeholder": "A qué volètz apondre una referéncia?",
+ "cite-ve-referenceslist-isempty": "I a pas de referéncia dins lo grop \"$1\" d'aquesta pagina per apondre a aquela lista.",
+ "cite-ve-referenceslist-isempty-default": "I a pas de referéncias dins aquela pagina a apondre a aquela lista.",
+ "cite-ve-referenceslist-missingref": "Aquela referéncia es definida dins un modèl o un autre blòt generat, e pòt per ara èsser modificada sonque en edicion de font.",
+ "cite-ve-referenceslist-missingref-in-list": "Aquela referéncia es definida dins un modèl o un autre blòt generat, per ara e pòt èsser previsualizada sonque en edicion de font.",
+ "cite-ve-toolbar-group-label": "Citar"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/olo.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/olo.json
new file mode 100644
index 00000000..aa9842b2
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/olo.json
@@ -0,0 +1,33 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ilja.mos",
+ "Mashoi7"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Kirju",
+ "visualeditor-cite-tool-name-journal": "Žurnualu",
+ "visualeditor-cite-tool-name-news": "Uudizet",
+ "visualeditor-cite-tool-name-web": "Internetsaitu",
+ "cite-ve-dialog-reference-editing-reused": "Tädä lähtehty käytetäh $1 {{PLURAL:$1|kerdua}} täl sivul.",
+ "cite-ve-dialog-reference-options-group-label": "Käytä tädä joukkuo",
+ "cite-ve-dialog-reference-options-group-placeholder": "Ylehizet lähtehet",
+ "cite-ve-dialog-reference-options-name-label": "Käytä uvvessah täl nimel",
+ "cite-ve-dialog-reference-options-section": "Azetukset",
+ "cite-ve-dialog-reference-title": "Lähteh",
+ "cite-ve-dialog-reference-useexisting-full-label": "Käytä uvvessah jo täl sivul olijua sitattua",
+ "cite-ve-dialog-reference-useexisting-label": "Käytä olemasolijua lähtehty",
+ "cite-ve-dialog-reference-useexisting-tool": "Käytä uvvessah",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Luvettelo ylehizis lähtehis",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Luvettelo joukon \"$1\" lähtehis",
+ "cite-ve-dialog-referenceslist-title": "Lähtehluvettelo",
+ "cite-ve-dialogbutton-reference-full-label": "Perusformu",
+ "cite-ve-dialogbutton-reference-title": "Lähteh",
+ "cite-ve-dialogbutton-reference-tooltip": "Perus",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Lähtehluvettelo",
+ "cite-ve-reference-input-placeholder": "Eči nygözis citacielois",
+ "cite-ve-referenceslist-isempty": "Täl sivul ei ole lähtehii joukos \"$1\", kudamii sižällyttiä luvettelos.",
+ "cite-ve-referenceslist-isempty-default": "Täl sivul ei ole lähtehii, kudamii sižällyttiä luvettelos.",
+ "cite-ve-referenceslist-missingref": "Tämä lähteh on miärätty šablonas libo automuattizesti luajittu da sidä voi edituija vaiku wikitekstutilas.",
+ "cite-ve-toolbar-group-label": "Lähtiet"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/om.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/om.json
new file mode 100644
index 00000000..a72e5c49
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/om.json
@@ -0,0 +1,35 @@
+{
+ "@metadata": {
+ "authors": [
+ "Cedric31",
+ "Tumsaa"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Kitaaba",
+ "visualeditor-cite-tool-name-journal": "Joornaalii",
+ "visualeditor-cite-tool-name-news": "Oduu",
+ "visualeditor-cite-tool-name-web": "Weebsaayitii",
+ "cite-ve-dialog-reference-editing-reused": "Wabiin kun si'a $1 {{PLURAL:$1}} fuula kanarratti fayyadame.",
+ "cite-ve-dialog-reference-options-group-label": "Garee kana fayyadami",
+ "cite-ve-dialog-reference-options-group-placeholder": "Wabii waliigalaa",
+ "cite-ve-dialog-reference-options-name-label": "Maqaa kanaan lammata fayyadami",
+ "cite-ve-dialog-reference-options-section": "Filannoo",
+ "cite-ve-dialog-reference-title": "Wabii",
+ "cite-ve-dialog-reference-useexisting-full-label": "Eera duraan fuula kanarra jirutti fayyadami",
+ "cite-ve-dialog-reference-useexisting-label": "Wabii duraan jirutti fayyadami",
+ "cite-ve-dialog-reference-useexisting-tool": "Kan duraan jiru fayyadami",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Tarree wabii waliigalaa",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Tarree wabii kan garee \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Tareeffama wabiiwwanii",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Qabiyyee kee madda odeeffannoo itti dabaluun fooyyessi. Kitaabota, gaazexootaa fi weebsaayitiirraa waraabuu dandeessa.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Waraabbii",
+ "cite-ve-dialogbutton-reference-full-label": "Akaakuu bu'uuraa",
+ "cite-ve-dialogbutton-reference-title": "Wabii",
+ "cite-ve-dialogbutton-reference-tooltip": "Kan bu'uuraa",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Tareeffama wabiiwwanii",
+ "cite-ve-reference-input-placeholder": "Wabii kana keessa barbaadi",
+ "cite-ve-referenceslist-isempty": "Fuula kanarratti, wabiin gareensaa \"$1\" ta'e kan tarree kana keessatti dabalamu hin jiru.",
+ "cite-ve-referenceslist-isempty-default": "Fuula kanarra wabiin tarree keessati mullifamu hin jiru.",
+ "cite-ve-referenceslist-missingref": "Wabiin kun qajojii ykn kutaa biraa keessatti uummame, ammaf lakkaddaan qofa jijjiiramuu danda'a.",
+ "cite-ve-toolbar-group-label": "Eeri"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/or.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/or.json
new file mode 100644
index 00000000..fe5bb218
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/or.json
@@ -0,0 +1,18 @@
+{
+ "@metadata": {
+ "authors": [
+ "Odisha1",
+ "Psubhashish",
+ "ଶିତିକଣ୍ଠ ଦାଶ",
+ "Jnanaranjan Sahu"
+ ]
+ },
+ "visualeditor-cite-tool-name-journal": "ଜର୍ଣ୍ଣାଲ",
+ "cite-ve-dialog-reference-options-group-label": "ଏହି ଗୋଠକୁ ବ୍ୟବହାର କରନ୍ତୁ",
+ "cite-ve-dialog-reference-options-section": "ବିକଳ୍ପ",
+ "cite-ve-dialog-reference-title": "ଆଧାର",
+ "cite-ve-dialog-reference-useexisting-label": "ଆଗରୁ ଥିବା ଏକ ଆଧାର ବ୍ୟବହାର କରନ୍ତୁ",
+ "cite-ve-dialog-referenceslist-title": "ଆଧାର ଗୁଡ଼ିକର ତାଲିକା",
+ "cite-ve-dialogbutton-reference-tooltip": "ଆଧାର",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "ଆଧାର ଗୁଡ଼ିକର ତାଲିକା"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/os.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/os.json
new file mode 100644
index 00000000..c41ad005
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/os.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amikeco",
+ "Bouron",
+ "Odisha1",
+ "Psubhashish",
+ "ଶିତିକଣ୍ଠ ଦାଶ"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/pa.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/pa.json
new file mode 100644
index 00000000..80d70df7
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/pa.json
@@ -0,0 +1,37 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amikeco",
+ "Babanwalia",
+ "Bouron",
+ "Nasir8891",
+ "Aalam",
+ "Satdeep gill",
+ "Tow"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "null",
+ "visualeditor-cite-tool-name-book": "ਕਿਤਾਬ",
+ "visualeditor-cite-tool-name-journal": "ਰਸਾਲਾ",
+ "visualeditor-cite-tool-name-news": "ਖ਼ਬਰਾਂ",
+ "visualeditor-cite-tool-name-web": "ਵੈੱਬਸਾਈਟ",
+ "cite-tool-definition.json": "null",
+ "cite-ve-dialog-reference-editing-reused": "ਇਹ ਹਵਾਲਾ ਇਸ ਸਫ਼ੇ ਉੱਤੇ $1 {{PLURAL:$1|ਵਾਰੀ}} ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।",
+ "cite-ve-dialog-reference-options-group-label": "ਇਹ ਸਮੂਹ ਵਰਤੋ",
+ "cite-ve-dialog-reference-options-group-placeholder": "ਆਮ ਹਵਾਲੇ",
+ "cite-ve-dialog-reference-options-name-label": "ਇਸੇ ਨਾਂ ਨਾਲ ਫੇਰ ਵਰਤੋ",
+ "cite-ve-dialog-reference-options-section": "ਵਿਕਲਪ",
+ "cite-ve-dialog-reference-title": "ਹਵਾਲਾ",
+ "cite-ve-dialog-reference-useexisting-label": "ਮੌਜੂਦਾ ਹਵਾਲਾ ਵਰਤੋ",
+ "cite-ve-dialog-reference-useexisting-tool": "ਮੁੜ-ਵਰਤੋਂ",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "ਆਮ ਹਵਾਲਿਆਂ ਦੀ ਸੂਚੀ",
+ "cite-ve-dialog-referenceslist-title": "ਹਵਾਲਾ ਸੂਚੀ",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "ਹਵਾਲੇ",
+ "cite-ve-dialogbutton-reference-full-label": "ਮੁੱਢਲੀ ਫਾਰਮ",
+ "cite-ve-dialogbutton-reference-title": "ਹਵਾਲਾ",
+ "cite-ve-dialogbutton-reference-tooltip": "ਮੁਢਲੀ",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "ਹਵਾਲਾ ਸੂਚੀ",
+ "cite-ve-referenceslist-isempty-default": "ਇਸ ਸੂਚੀ ਵਿੱਚ ਸ਼ਾਮਿਲ ਕਰਨ ਲਈ ਇਸ ਸਫ਼ੇ ਉੱਤੇ ਕੋਈ ਹਵਾਲੇ ਨਹੀਂ ਹਨ।",
+ "cite-ve-toolbar-group-label": "ਹਵਾਲਾ",
+ "cite-ve-othergroup-item": "$1 ਹਵਾਲਾ"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/pam.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/pam.json
new file mode 100644
index 00000000..e7a79ba8
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/pam.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Leeheonjin"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/pfl.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/pfl.json
new file mode 100644
index 00000000..4312e7af
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/pfl.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "Manuae"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Buch",
+ "visualeditor-cite-tool-name-journal": "Zaidschrifd",
+ "visualeditor-cite-tool-name-news": "Naijischkaide",
+ "visualeditor-cite-tool-name-web": "Websaid",
+ "cite-ve-dialog-reference-options-group-label": "Nemm die Grubb",
+ "cite-ve-dialog-reference-options-group-placeholder": "Allgmoine Änzlnochwees",
+ "cite-ve-dialog-reference-options-name-label": "De Nome waidanemme",
+ "cite-ve-dialog-reference-options-section": "Meschlischkaide",
+ "cite-ve-dialog-reference-title": "Änzlnochwees",
+ "cite-ve-dialog-reference-useexisting-label": "Nemmen Änzlnochwees, wus hodd",
+ "cite-ve-dialog-referenceslist-title": "Lisch vunde Änzlnochwees",
+ "cite-ve-dialogbutton-reference-tooltip": "Änzlnochwees",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Lisch vunde Änzlnochwees",
+ "cite-ve-toolbar-group-label": "Zidaad"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/pl.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/pl.json
new file mode 100644
index 00000000..40f0bf76
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/pl.json
@@ -0,0 +1,61 @@
+{
+ "@metadata": {
+ "authors": [
+ "Babanwalia",
+ "Chrumps",
+ "Matma Rex",
+ "Mikołka",
+ "Nasir8891",
+ "Odie2",
+ "Rzuwig",
+ "Tar Lócesilion",
+ "Ty221",
+ "WTM",
+ "Woytecr",
+ "Wpedzich",
+ "Vuh",
+ "Dalis",
+ "Jacenty359",
+ "Matik7",
+ "Alan ffm",
+ "Andrzej aa",
+ "Rezonansowy",
+ "Peter Bowman",
+ "Devwebtel",
+ "Jdforrester",
+ "The Polish",
+ "Doctore",
+ "InternerowyGołąb"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Książka",
+ "visualeditor-cite-tool-name-journal": "Czasopismo",
+ "visualeditor-cite-tool-name-news": "Gazeta",
+ "visualeditor-cite-tool-name-web": "Strona internetowa",
+ "cite-ve-dialog-reference-editing-reused": "Ten przypis jest używany $1 {{PLURAL:$1|raz|razy}} na tej stronie",
+ "cite-ve-dialog-reference-options-group-label": "Użyj grupy",
+ "cite-ve-dialog-reference-options-group-placeholder": "Zwykłe przypisy",
+ "cite-ve-dialog-reference-options-name-label": "Wielokrotne użycie pod taką nazwą",
+ "cite-ve-dialog-reference-options-section": "Opcje",
+ "cite-ve-dialog-reference-title": "Przypis",
+ "cite-ve-dialog-reference-useexisting-full-label": "Wykorzystaj przypis już użyty na tej stronie",
+ "cite-ve-dialog-reference-useexisting-label": "Użyj istniejącego przypisu",
+ "cite-ve-dialog-reference-useexisting-tool": "Użyj istniejącego",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Lista ogólnych (niezgrupowanych) przypisów",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Lista przypisów należących do grupy „$1”",
+ "cite-ve-dialog-referenceslist-title": "Lista przypisów",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Popraw swoją treść podając źródła informacji. Możesz korzystać z książek, czasopism i stron internetowych.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Przypisy",
+ "cite-ve-dialogbutton-reference-full-label": "Zwykły wygląd",
+ "cite-ve-dialogbutton-reference-title": "Przypis",
+ "cite-ve-dialogbutton-reference-tooltip": "Zwykły przypis",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Lista przypisów",
+ "cite-ve-reference-input-placeholder": "Wyszukiwanie spośród użytych przypisów",
+ "cite-ve-referenceslist-isempty": "Na tej stronie nie ma przypisów z grupy \"$1\", aby uwzględnić je na tej liście.",
+ "cite-ve-referenceslist-isempty-default": "Na tej stronie nie ma żadnych przypisów, aby uwzględnić je na tej liście.",
+ "cite-ve-referenceslist-missingref": "Ten przypis jest zdefiniowany w szablonie lub wygenerowany w inny sposób. Teraz może być edytowany wyłącznie w edytorze kodu źródłowego.",
+ "cite-ve-toolbar-group-label": "Przypis",
+ "cite-ve-othergroup-item": "Przypis $1",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Przypisy",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Grupa przypisów: $1"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/pms.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/pms.json
new file mode 100644
index 00000000..d81b1faa
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/pms.json
@@ -0,0 +1,23 @@
+{
+ "@metadata": {
+ "authors": [
+ "Borichèt",
+ "Dragonòt",
+ "පසිඳු කාවින්ද",
+ "McDutchie"
+ ]
+ },
+ "cite-ve-dialog-reference-options-group-label": "Dovré sa partìa",
+ "cite-ve-dialog-reference-options-group-placeholder": "Arferiment generaj",
+ "cite-ve-dialog-reference-options-name-label": "Dovré torna con ës nòm",
+ "cite-ve-dialog-reference-options-section": "Opsion",
+ "cite-ve-dialog-reference-title": "Arferiment",
+ "cite-ve-dialog-reference-useexisting-label": "Dovré n'arferiment esistent",
+ "cite-ve-dialog-referenceslist-title": "Lista d'arferiment",
+ "cite-ve-dialogbutton-reference-tooltip": "Arferiment",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Lista d'arferiment",
+ "cite-ve-reference-input-placeholder": "A lòn ch'a veul deje n'arferiment?",
+ "cite-ve-referenceslist-isempty": "A-i é gnun-a rëspondensa con la partìa «$1» su sta pàgina da buté an costa lista.",
+ "cite-ve-referenceslist-isempty-default": "A-i é gnun-a rëspondensa an costa pàgina da buté an costa lista.",
+ "cite-ve-referenceslist-missingref": "St'arferiment a l'é definì an në stamp o n'àutr blòch generà, e për adess a peul mach esse modificà an manera sorgiss"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/pnb.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/pnb.json
new file mode 100644
index 00000000..75bff4ef
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/pnb.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Khalid Mahmood"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/prs.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/prs.json
new file mode 100644
index 00000000..9c5df7a6
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/prs.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Mjbmr"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ps.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ps.json
new file mode 100644
index 00000000..7d9208f6
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ps.json
@@ -0,0 +1,30 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ahmed-Najib-Biabani-Ibrahimkhel"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "کتاب",
+ "visualeditor-cite-tool-name-journal": "مجله",
+ "visualeditor-cite-tool-name-news": "خبرونه",
+ "visualeditor-cite-tool-name-web": "وېبځی",
+ "cite-ve-dialog-reference-editing-reused": "په همدې مخ دا سرچينه $1 {{PLURAL:$1|واره}} کارېدلې.",
+ "cite-ve-dialog-reference-options-group-label": "دا ډله کارول",
+ "cite-ve-dialog-reference-options-group-placeholder": "ټولگړې سرچينې",
+ "cite-ve-dialog-reference-options-name-label": "په دغه نوم بياکارول",
+ "cite-ve-dialog-reference-options-section": "خوښنې",
+ "cite-ve-dialog-reference-title": "سرچينه",
+ "cite-ve-dialog-reference-useexisting-label": "يوه شته سرچينه کارول",
+ "cite-ve-dialog-reference-useexisting-tool": "بياکارول",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "د ټوليزو سرچينو لړليک",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "د \"$1\" ډلې لپاره د سرچينو لړليک",
+ "cite-ve-dialog-referenceslist-title": "د سرچينو لړليک",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "اخځونه",
+ "cite-ve-dialogbutton-reference-full-label": "بنسټيزه بڼه",
+ "cite-ve-dialogbutton-reference-title": "سرچينه",
+ "cite-ve-dialogbutton-reference-tooltip": "بنسټيز",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "د سرچينو لړليک",
+ "cite-ve-reference-input-placeholder": "په اوسنيو اخځونو کې پلټل",
+ "cite-ve-toolbar-group-label": "اخځ",
+ "cite-ve-othergroup-item": "$1 سرچينه"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/pt-br.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/pt-br.json
new file mode 100644
index 00000000..05eb1a04
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/pt-br.json
@@ -0,0 +1,77 @@
+{
+ "@metadata": {
+ "authors": [
+ "Cainamarques",
+ "Dianakc",
+ "Fúlvio",
+ "Helder.wiki",
+ "HenriqueCrang",
+ "Jaideraf",
+ "Luckas",
+ "OTAVIO1981",
+ 555,
+ "Gloria sah",
+ "Elival",
+ "Amgauna",
+ "Fabsouza1",
+ "Agripinoduarte",
+ "Opraco",
+ "Tuliouel",
+ "Rodrigo codignoli",
+ "Teles",
+ "He7d3r",
+ "Fasouzafreitas",
+ "TheEduGobi",
+ "TheGabrielZaum",
+ "!Silent",
+ "McDutchie",
+ "Felipe L. Ewald",
+ "Eduardo Addad de Oliveira"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "nulo",
+ "visualeditor-cite-tool-name-book": "Livro",
+ "visualeditor-cite-tool-name-journal": "Periódico",
+ "visualeditor-cite-tool-name-news": "Notícias",
+ "visualeditor-cite-tool-name-web": "Site",
+ "cite-tool-definition.json": "nulo",
+ "cite-ve-changedesc-ref-group-both": "O grupo de referência mudou de \"$1\" para \"$2\"",
+ "cite-ve-changedesc-ref-group-from": "O grupo de referência mudou de \"$1\" para o grupo geral",
+ "cite-ve-changedesc-ref-group-to": "O grupo de referência mudou do grupo geral para \"$1\"",
+ "cite-ve-changedesc-reflist-group-both": "O grupo de lista de referências mudou de \"$1\" para \"$2\"",
+ "cite-ve-changedesc-reflist-group-from": "Grupo de lista de referências alterado de \"$1\" para o grupo geral",
+ "cite-ve-changedesc-reflist-group-to": "Grupo de lista de referências alterado do grupo geral para \"$1\"",
+ "cite-ve-changedesc-reflist-responsive-set": "Lista de referências alterada para mostrar nas colunas de resposta rápida",
+ "cite-ve-changedesc-reflist-responsive-unset": "Lista de referências alterada para mostrar numa só coluna",
+ "cite-ve-changedesc-reflist-item-id": "Índice da referência alterado",
+ "cite-ve-dialog-reference-editing-reused": "Esta referência foi usada $1 {{PLURAL:$1|vezes}} nesta página.",
+ "cite-ve-dialog-reference-options-group-label": "Usar este grupo",
+ "cite-ve-dialog-reference-options-group-placeholder": "Referências gerais",
+ "cite-ve-dialog-reference-options-name-label": "Reutilizar por este nome",
+ "cite-ve-dialog-reference-options-responsive-label": "Usar disposição de resposta rápida em colunas",
+ "cite-ve-dialog-reference-options-section": "Opções",
+ "cite-ve-dialog-reference-placeholder": "Escreva ou cole sua referência aqui, ou insira um modelo de citação.",
+ "cite-ve-dialog-reference-title": "Referência",
+ "cite-ve-dialog-reference-useexisting-full-label": "Reusar uma citação que já existe nesta página",
+ "cite-ve-dialog-reference-useexisting-label": "Usar uma referência existente",
+ "cite-ve-dialog-reference-useexisting-tool": "Reusar",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Lista de referências gerais",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Lista de referências para o grupo \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Lista de referências",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Melhora seu conteúdo adicionando fontes de informação. Você pode citar livros, jornais e sites.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Citações",
+ "cite-ve-dialogbutton-reference-full-label": "Forma básica",
+ "cite-ve-dialogbutton-reference-title": "Referência",
+ "cite-ve-dialogbutton-reference-tooltip": "Básica",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Lista de referências",
+ "cite-ve-reference-input-placeholder": "Buscar dentro das citações atuais",
+ "cite-ve-referenceslist-isempty": "Não há qualquer referência com o grupo \"$1\" nesta página para incluir nesta lista.",
+ "cite-ve-referenceslist-isempty-default": "Não há qualquer referência nesta página para a incluir nesta lista.",
+ "cite-ve-referenceslist-missingref": "Esta referência está definida em uma predefinição ou em um outro bloco gerado e, por enquanto só pode ser editada no código-fonte.",
+ "cite-ve-referenceslist-missingref-in-list": "Esta referência está definida numa predefinição ou outro bloco, e de momento só pode ser antevista no modo de código-fonte.",
+ "cite-ve-referenceslist-missingreflist": "Esta lista de referências é gerada por uma predefinição, e até ao momento só pode ser editada no modo de código-fonte.",
+ "cite-ve-toolbar-group-label": "Citar",
+ "cite-ve-othergroup-item": "Referência $1",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Referências",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Referência do nome do grupo: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/pt.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/pt.json
new file mode 100644
index 00000000..b40f3fe6
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/pt.json
@@ -0,0 +1,70 @@
+{
+ "@metadata": {
+ "authors": [
+ "Cainamarques",
+ "Fúlvio",
+ "GoEThe",
+ "Hamilton Abreu",
+ "Helder.wiki",
+ "HenriqueCrang",
+ "Jaideraf",
+ "Jdforrester",
+ "Luckas",
+ "Vitorvicentevalente",
+ "Imperadeiro98",
+ "SandroHc",
+ "Opraco",
+ "Toliño",
+ "He7d3r",
+ "Amire80",
+ "Imperadeiro90",
+ "Macofe",
+ "Athena in Wonderland"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "nulo",
+ "visualeditor-cite-tool-name-book": "Livro",
+ "visualeditor-cite-tool-name-journal": "Periódico",
+ "visualeditor-cite-tool-name-news": "Notícias",
+ "visualeditor-cite-tool-name-web": "Sítio web",
+ "cite-tool-definition.json": "nulo",
+ "cite-ve-changedesc-ref-group-both": "Grupo da referência alterado de \"$1\" para \"$2\"",
+ "cite-ve-changedesc-ref-group-from": "Grupo da referência alterado de \"$1\" para o grupo geral",
+ "cite-ve-changedesc-ref-group-to": "Grupo da referência alterado do grupo geral para \"$1\"",
+ "cite-ve-changedesc-reflist-group-both": "Grupo da lista de referências alterado de \"$1\" para \"$2\"",
+ "cite-ve-changedesc-reflist-group-from": "Grupo da lista de referências alterado de \"$1\" para o grupo geral",
+ "cite-ve-changedesc-reflist-group-to": "Grupo da lista de referências alterado do grupo geral para \"$1\"",
+ "cite-ve-changedesc-reflist-responsive-set": "Lista de referências alterada para mostrar nas colunas de resposta rápida",
+ "cite-ve-changedesc-reflist-responsive-unset": "Lista de referências alterada para mostrar numa só coluna",
+ "cite-ve-changedesc-reflist-item-id": "Índice da referência alterado",
+ "cite-ve-dialog-reference-editing-reused": "Esta referência é usada $1 {{PLURAL:$1|vezes}} nesta página.",
+ "cite-ve-dialog-reference-options-group-label": "Usar este grupo",
+ "cite-ve-dialog-reference-options-group-placeholder": "Referências gerais",
+ "cite-ve-dialog-reference-options-name-label": "Reutilizar por este nome",
+ "cite-ve-dialog-reference-options-responsive-label": "Usar disposição de resposta rápida em colunas",
+ "cite-ve-dialog-reference-options-section": "Opções",
+ "cite-ve-dialog-reference-placeholder": "Escreva ou copie e insira a sua referência aqui, ou insira uma predefinição de citação.",
+ "cite-ve-dialog-reference-title": "Referência",
+ "cite-ve-dialog-reference-useexisting-full-label": "Reutilizar uma citação que já existe nesta página",
+ "cite-ve-dialog-reference-useexisting-label": "Usar uma referência existente",
+ "cite-ve-dialog-reference-useexisting-tool": "Reutilizar",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Lista de referências gerais",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Lista de referências para o grupo \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Lista de referências",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Melhora o seu conteúdo adicionando fontes de informação. Pode citar livros, periódicos e sítios externos.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Citações",
+ "cite-ve-dialogbutton-reference-full-label": "Básica",
+ "cite-ve-dialogbutton-reference-title": "Referência",
+ "cite-ve-dialogbutton-reference-tooltip": "Básica",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Lista de referências",
+ "cite-ve-reference-input-placeholder": "Procurar nas citações atuais",
+ "cite-ve-referenceslist-isempty": "Não existem referências com o grupo \"$1\" nesta página para incluir nesta lista.",
+ "cite-ve-referenceslist-isempty-default": "Não há nenhuma referência nesta página para incluir nesta lista.",
+ "cite-ve-referenceslist-missingref": "Esta referência está definida numa predefinição ou noutro bloco, e de momento só pode ser editada através do código-fonte.",
+ "cite-ve-referenceslist-missingref-in-list": "Esta referência está definida numa predefinição ou noutro bloco, e de momento só pode ser antevista no modo de código-fonte.",
+ "cite-ve-referenceslist-missingreflist": "Esta lista de referências é gerada por uma predefinição e por enquanto só pode ser editada no modo de código-fonte.",
+ "cite-ve-toolbar-group-label": "Citar",
+ "cite-ve-othergroup-item": "Referência $1",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Referências",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Nome do grupo da referência: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/qqq.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/qqq.json
new file mode 100644
index 00000000..711b99cc
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/qqq.json
@@ -0,0 +1,76 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amire80",
+ "Beta16",
+ "Erik Moeller",
+ "Jdforrester",
+ "Lloffiwr",
+ "Mooeypoo",
+ "Mormegil",
+ "Nike",
+ "PoLuX124",
+ "Purodha",
+ "Raymond",
+ "Sagan",
+ "Sayak Sarkar",
+ "Shirayuki",
+ "Siebrand",
+ "Trevor Parscal",
+ "UV",
+ "Arjunaraoc",
+ "Robby",
+ "Nemo bis",
+ "Liuxinyu970226",
+ "Matma Rex",
+ "Umherirrender",
+ "McDutchie",
+ "Pikne"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "<!-- THE IGNORING OF THIS MESSAGE SEEMS SOMEWHAT WRONG, SEE https://phabricator.wikimedia.org/T183678 FOR DETAILS\n{{ignored}}\n-->\nLegacy name for cite-tool-definition.json message.\n{{Identical|Null}}",
+ "visualeditor-cite-tool-name-book": "Title of tool that inserts a citation for a book.\n{{Identical|Book}}",
+ "visualeditor-cite-tool-name-journal": "Title of tool that inserts a citation for a journal\n{{Identical|Journal}}",
+ "visualeditor-cite-tool-name-news": "Title of tool that inserts a citation for a news.\n{{Identical|News}}",
+ "visualeditor-cite-tool-name-web": "Title of tool that inserts a citation for a website.\n{{Identical|Website}}",
+ "cite-tool-definition.json": "<!-- THE IGNORING OF THIS MESSAGE SEEMS SOMEWHAT WRONG, SEE https://phabricator.wikimedia.org/T183678 FOR DETAILS\n{{ignored}}\n-->\nJSON list of objects detailing each citation with name (key referring to a visualeditor-cite-tool-name-x message), icon ('ref-cite-book', 'ref-cite-journal', 'ref-cite-news', 'ref-cite-web'), and template name\n{{Identical|Null}}",
+ "cite-ve-changedesc-ref-group-both": "Description of a reference changing group\n\nParameters:\n* $1 – the name of the group it was before\n* $2 – the name of the group it is now",
+ "cite-ve-changedesc-ref-group-from": "Description of a reference changing group to the general group\n\nParameters:\n* $1 – the name of the group it was before",
+ "cite-ve-changedesc-ref-group-to": "Description of a reference changing group from the general group\n\nParameters:\n* $1 – the name of the group it is now",
+ "cite-ve-changedesc-reflist-group-both": "Description of a references list changing group\n\nParameters:\n* $1 – the name of the group it was before\n* $2 – the name of the group it is now",
+ "cite-ve-changedesc-reflist-group-from": "Description of a references list changing group to the general group\n\nParameters:\n* $1 – the name of the group it was before",
+ "cite-ve-changedesc-reflist-group-to": "Description of a references list changing group from the general group\n\nParameters:\n* $1 – the name of the group it is now",
+ "cite-ve-changedesc-reflist-responsive-set": "Description of a references list changing responsiveness to on",
+ "cite-ve-changedesc-reflist-responsive-unset": "Description of a references list changing responsiveness to off",
+ "cite-ve-changedesc-reflist-item-id": "Description of the visible index of a reference changing",
+ "cite-ve-dialog-reference-editing-reused": "Text shown at the top of the reference dialog when editing a reference that is used multiple times.\n\nParameters:\n* $1 - Number of times used. This is always greater than 1.",
+ "cite-ve-dialog-reference-options-group-label": "Label for the reference group input",
+ "cite-ve-dialog-reference-options-group-placeholder": "Placeholder for the reference group input",
+ "cite-ve-dialog-reference-options-name-label": "Label for the reference name input",
+ "cite-ve-dialog-reference-options-responsive-label": "Label for the responsive layout checkbox",
+ "cite-ve-dialog-reference-options-section": "Label for the reference options sub-section.\n{{Identical|Options}}",
+ "cite-ve-dialog-reference-placeholder": "Placeholder text shown in a basic reference when no text has yet been entered.",
+ "cite-ve-dialog-reference-title": "{{Identical|Reference}}",
+ "cite-ve-dialog-reference-useexisting-full-label": "Full length label for the button to choose an existing reference",
+ "cite-ve-dialog-reference-useexisting-label": "Label for button in reference dialog to insert a re-use of an existing reference",
+ "cite-ve-dialog-reference-useexisting-tool": "Used as label for the button to let the user pick an existing reference from a list to insert a duplicate\n{{Identical|Re-use}}",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Message shown to an editor when they click on a reference list without a group, explaining to them that the item will list all \"general\" references on the page.",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Message shown to an editor when they click on a reference list with a group, explaining to them that the item will list all references on the page with that particular group.\n\n* $1 – the name of the group of references (user-entered)",
+ "cite-ve-dialog-referenceslist-title": "{{Identical|References list}}",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Text shown in education popup for the citation dialog tool.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Title shown at the top of education popup for the citation dialog tool.\n{{Identical|Citation}}",
+ "cite-ve-dialogbutton-reference-full-label": "Full length label for the button to choose the basic reference\n\n'''NOTE: \"form\" refers to the type/appearance of reference, not to the kind of form that you can fill in.'''",
+ "cite-ve-dialogbutton-reference-title": "Full title for a context item showing a basic reference. As this does not have the context of other reference types it should just be the word for \"reference\".\n{{Identical|Reference}}",
+ "cite-ve-dialogbutton-reference-tooltip": "An item in the citation menu for a plain reference without any citation template. This should be an adjective for the word \"citation\" or \"reference\". The term should be in contrast to the easier and more powerful citations available when using a template.\n\n{{Identical|Basic}}",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Tooltip for button for dialog that inserts the references list object (<code><nowiki>References list</nowiki></code>).\n{{Identical|References list}}",
+ "cite-ve-reference-input-placeholder": "Placeholder text for reference search field: searches existing on-page references.",
+ "cite-ve-referenceslist-isempty": "Message that appears in the references list when there are no references on the page of that group.\n\nParameters:\n* $1 - reference-group name",
+ "cite-ve-referenceslist-isempty-default": "Message that appears in the references list when there are no references on the page in the default group.",
+ "cite-ve-referenceslist-missingref": "Message that appears as a tooltip on the reference, for references that are generated by a template or are otherwise uneditable.\n\nSee also:\n* {{msg-mw|visualeditor-dialog-meta-languages-readonlynote}}",
+ "cite-ve-referenceslist-missingref-in-list": "Message that appears in the references list for references that are generated by a template or are otherwise uneditable.\n\nSee also:\n* {{msg-mw|visualeditor-dialog-meta-languages-readonlynote}}",
+ "cite-ve-referenceslist-missingreflist": "Message that appears as a tooltip on the reference list for lists that are generated by a template.",
+ "cite-ve-toolbar-group-label": "Label text for the toolbar button for inserting customized references.\n{{Identical|Cite}}",
+ "cite-ve-othergroup-item": "Label text for the toolbar items under the 'Insert' (other) group if VisualEditor is configured that way.\n\nParameters:\n* $1 – citation type label\n** {{msg-mw|cite-ve-dialogbutton-reference-tooltip}}\n** {{msg-mw|cite-ve-dialog-reference-useexisting-tool}})\n{{Identical|Reference}}",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Heading in the visual diff for the default reference group.\n{{Identical|Reference}}",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Heading in the visual diff to indicate the reference group name, when the reference group is not the default group.\n\nParameters:\n* $1 - reference-group name"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/qu.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/qu.json
new file mode 100644
index 00000000..f68e794e
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/qu.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "AlimanRuna",
+ "Jduranboger"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Liwrukuna",
+ "visualeditor-cite-tool-name-journal": "Willay p'anqa",
+ "visualeditor-cite-tool-name-news": "Willaykuna",
+ "visualeditor-cite-tool-name-web": "Website",
+ "cite-ve-dialog-reference-options-group-label": "Kay huñuta llamk'achiy",
+ "cite-ve-dialog-reference-options-name-label": "Kay sutiwan musuqmanta llamk'achiy",
+ "cite-ve-dialog-reference-options-section": "Akllanakuna",
+ "cite-ve-dialog-reference-title": "Pukyumanta willay",
+ "cite-ve-dialog-reference-useexisting-label": "Kachkaqña pukyumanta willayta llamk'achiy",
+ "cite-ve-dialog-referenceslist-title": "Pukyumanta willay sutisuyu",
+ "cite-ve-dialogbutton-reference-tooltip": "Tiksi",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Pukyumanta willay sutisuyu",
+ "cite-ve-toolbar-group-label": "Qillqamanta willay"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/rm.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/rm.json
new file mode 100644
index 00000000..68506b5b
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/rm.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Kazu89"
+ ]
+ },
+ "cite-ve-dialog-reference-options-group-label": "Utilisar questa gruppa",
+ "cite-ve-dialog-reference-options-name-label": "Reutilisar cun quest num",
+ "cite-ve-dialog-reference-options-section": "Opziuns",
+ "cite-ve-dialog-reference-title": "Annotaziun",
+ "cite-ve-dialog-reference-useexisting-label": "Utilisar in'annotaziun existenta",
+ "cite-ve-dialog-referenceslist-title": "Glista d'annotaziuns",
+ "cite-ve-dialogbutton-reference-tooltip": "Annotaziun",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Glista d'annotaziuns"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ro.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ro.json
new file mode 100644
index 00000000..ad6b428e
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ro.json
@@ -0,0 +1,61 @@
+{
+ "@metadata": {
+ "authors": [
+ "AlimanRuna",
+ "Firilacroco",
+ "Minisarm",
+ "Stelistcristi",
+ "Gloria sah",
+ "Danutz",
+ "Amire80",
+ "ImGelu",
+ "Wintereu",
+ "Reception123",
+ "Strainu"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "nul",
+ "visualeditor-cite-tool-name-book": "Carte",
+ "visualeditor-cite-tool-name-journal": "Jurnal",
+ "visualeditor-cite-tool-name-news": "Știre",
+ "visualeditor-cite-tool-name-web": "Site web",
+ "cite-tool-definition.json": "nul",
+ "cite-ve-changedesc-ref-group-both": "Grupul referinței a fost schimbat din \"$1\" în \"$2\"",
+ "cite-ve-changedesc-ref-group-from": "Grupul referinței a fost schimbat din \"$1\" în grupul general",
+ "cite-ve-changedesc-ref-group-to": "Grupul referinței a fost schimbat din grupul general în \"$1\"",
+ "cite-ve-changedesc-reflist-group-both": "Grupul listei de referințe a fost schimbat din \"$1\" în \"$2\"",
+ "cite-ve-changedesc-reflist-group-from": "Grupul listei de referințe a fost schimbat din \"$1\" în grupul general",
+ "cite-ve-changedesc-reflist-group-to": "Grupul listei de referințe a fost schimbat din grupul general în \"$1\"",
+ "cite-ve-changedesc-reflist-responsive-set": "Lista de referințe a fost schimbată pentru a fi afișată pe coloane.",
+ "cite-ve-changedesc-reflist-responsive-unset": "Lista de referințe a fost schimbată pentru a fi afișată pe o singură coloană.",
+ "cite-ve-changedesc-reflist-item-id": "Indexul referinței a fost schimbat",
+ "cite-ve-dialog-reference-editing-reused": "Această referință este utilizată {{PLURAL:$1|o singură dată|de $1 ori|de $1 de ori}} în această pagină.",
+ "cite-ve-dialog-reference-options-group-label": "Folosește acest grup",
+ "cite-ve-dialog-reference-options-group-placeholder": "Referințe generale",
+ "cite-ve-dialog-reference-options-name-label": "Reutilizează cu acest nume",
+ "cite-ve-dialog-reference-options-responsive-label": "Folosiți afișarea pe coloane dinamice",
+ "cite-ve-dialog-reference-options-section": "Opțiuni",
+ "cite-ve-dialog-reference-placeholder": "Scrieți sau lipiți referința aici, sau inserați un format de citare.",
+ "cite-ve-dialog-reference-title": "Referință",
+ "cite-ve-dialog-reference-useexisting-full-label": "Reutilizează o referință deja existentă în această pagină",
+ "cite-ve-dialog-reference-useexisting-label": "Utilizează o referință existentă",
+ "cite-ve-dialog-reference-useexisting-tool": "Refolosește",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Lista referințelor generale",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Lista referințelor pentru grupul „$1”",
+ "cite-ve-dialog-referenceslist-title": "Listă de referințe",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Îmbunătățiți conținutul adăugând sursele de informare. Puteți cita din cărți, ziare și site-uri web.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Citări",
+ "cite-ve-dialogbutton-reference-full-label": "Formular simplu",
+ "cite-ve-dialogbutton-reference-title": "Referință",
+ "cite-ve-dialogbutton-reference-tooltip": "De bază",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Listă de referințe",
+ "cite-ve-reference-input-placeholder": "Căutați în conținutul referințelor existente",
+ "cite-ve-referenceslist-isempty": "Nu există referințe cu grupul „$1” în această pagină pentru includere în această listă.",
+ "cite-ve-referenceslist-isempty-default": "Nu există referințe în această pagină pentru includere în această listă.",
+ "cite-ve-referenceslist-missingref": "Această referință este definită printr-un format sau alt cadru generat și, pentru moment, poate fi modificată doar editând codul sursă al paginii.",
+ "cite-ve-referenceslist-missingreflist": "Această listă de referințe este generată de un format și momentan nu poate fi editată decât în modul sursă.",
+ "cite-ve-toolbar-group-label": "Citare",
+ "cite-ve-othergroup-item": "referință $1",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Referințe",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Numele grupului de referințe: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/roa-tara.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/roa-tara.json
new file mode 100644
index 00000000..0c301411
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/roa-tara.json
@@ -0,0 +1,48 @@
+{
+ "@metadata": {
+ "authors": [
+ "Joetaras"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "null",
+ "visualeditor-cite-tool-name-book": "Libbre",
+ "visualeditor-cite-tool-name-journal": "Sciurnale",
+ "visualeditor-cite-tool-name-news": "Notizie",
+ "visualeditor-cite-tool-name-web": "Site web",
+ "cite-tool-definition.json": "null",
+ "cite-ve-changedesc-ref-group-both": "Gruppe de referimende cangiate da \"$1\" a \"$2\"",
+ "cite-ve-changedesc-ref-group-from": "Gruppe de referimende cangiate da \"$1\" a gruppe generale",
+ "cite-ve-changedesc-ref-group-to": "Gruppe de referimende cangiate da gruppe generale a \"$1\"",
+ "cite-ve-changedesc-reflist-group-both": "Elenghe de le gruppe de referimende cangiate da \"$1\" a \"$2\"",
+ "cite-ve-changedesc-reflist-group-from": "Elenghe de le gruppe de referimende cangiate da \"$1\" a gruppe generale",
+ "cite-ve-changedesc-reflist-group-to": "Elenghe de le gruppe de referimende cangiate da gruppe generale a \"$1\"",
+ "cite-ve-changedesc-reflist-item-id": "Indice de referimende cangiate",
+ "cite-ve-dialog-reference-editing-reused": "Stu referimende avène ausate $1 {{PLURAL:$1|vote}} sus a sta pàgene.",
+ "cite-ve-dialog-reference-options-group-label": "Ause stu gruppe",
+ "cite-ve-dialog-reference-options-group-placeholder": "Refereminde generale",
+ "cite-ve-dialog-reference-options-name-label": "Ause arrete stu nome",
+ "cite-ve-dialog-reference-options-responsive-label": "Ause a 'u layout d'a colonne ca se adatte",
+ "cite-ve-dialog-reference-options-section": "Opziune",
+ "cite-ve-dialog-reference-placeholder": "Scrive o 'ngolle le refereminde tune aqquà, o sckaffe 'nu modelle de citazione.",
+ "cite-ve-dialog-reference-title": "Referimende",
+ "cite-ve-dialog-reference-useexisting-full-label": "Ause arrete 'na citazione ca ggià esiste jndr'à sta pàgene",
+ "cite-ve-dialog-reference-useexisting-label": "Ause 'na referenze ca esiste",
+ "cite-ve-dialog-reference-useexisting-tool": "Ause arrete",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Elenghe de le referimende generale",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Elenghe de le referimende pu gruppe \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Elenghe de le referimende",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Fa devendà megghie le condenute cu l'aggiunde de le fonde pe le 'mbormaziune. Puè cità le libbre, le sciurnale e le site web.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Citaziune",
+ "cite-ve-dialogbutton-reference-full-label": "Module de base",
+ "cite-ve-dialogbutton-reference-title": "Riferimende",
+ "cite-ve-dialogbutton-reference-tooltip": "Nderre-nderre",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Elenghe de le referimende",
+ "cite-ve-reference-input-placeholder": "Cirche cu le citaziune de mò",
+ "cite-ve-referenceslist-isempty": "Non ge stonne refèreminde cu 'u gruppe \"$1\" sus a sta pàgene da 'ngludere jndr'à st'elenghe.",
+ "cite-ve-referenceslist-isempty-default": "Non ge stonne refereminde a sta pàgene da 'ngludere jndr'à l'elenghe.",
+ "cite-ve-referenceslist-missingref": "Stu refèrimende jè definite jndr'à 'nu template o otre blocche generate e pe mò pò sulamende essere cangiate jndr'à 'u mode sorgende.",
+ "cite-ve-toolbar-group-label": "Cite",
+ "cite-ve-othergroup-item": "$1 referimende",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Rifereminde",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Nome gruppe de refereminde: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ru.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ru.json
new file mode 100644
index 00000000..44a3a069
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ru.json
@@ -0,0 +1,80 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amire80",
+ "DR",
+ "Eugrus",
+ "Iluvatar",
+ "KPu3uC B Poccuu",
+ "Kaganer",
+ "Kalan",
+ "MaxBioHazard",
+ "NBS",
+ "Niklem",
+ "Okras",
+ "Ole Yves",
+ "Putnik",
+ "Sunpriat",
+ "Yury Katkov",
+ "Умар",
+ "Agilight",
+ "Alexandr Efremov",
+ "Meshkov.a",
+ "Eroha",
+ "Grebenkov",
+ "Nirovulf",
+ "Striking Blue",
+ "Дмитрий",
+ "Краснорядцева Елена",
+ "Mailman",
+ "Facenapalm",
+ "Mouse21",
+ "Happy13241"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "null",
+ "visualeditor-cite-tool-name-book": "Книга",
+ "visualeditor-cite-tool-name-journal": "Статья",
+ "visualeditor-cite-tool-name-news": "Новости",
+ "visualeditor-cite-tool-name-web": "Веб-сайт",
+ "cite-tool-definition.json": "null",
+ "cite-ve-changedesc-ref-group-both": "Группа сноски изменена с «$1» на «$2»",
+ "cite-ve-changedesc-ref-group-from": "Группа сноски изменена с «$1» на общую группу",
+ "cite-ve-changedesc-ref-group-to": "Группа сноски изменена с общей группы на «$1»",
+ "cite-ve-changedesc-reflist-group-both": "Группа списка примечаний изменена с «$1» на «$2»",
+ "cite-ve-changedesc-reflist-group-from": "Группа списка примечаний изменена с «$1» на общую группу",
+ "cite-ve-changedesc-reflist-group-to": "Группа списка примечаний изменена с общей группы на «$1»",
+ "cite-ve-changedesc-reflist-responsive-set": "Список литературы изменен для отображения в ответных столбцах",
+ "cite-ve-changedesc-reflist-responsive-unset": "Список литературы изменен для отображения только в одном столбце",
+ "cite-ve-changedesc-reflist-item-id": "Изменился индекс сноски",
+ "cite-ve-dialog-reference-editing-reused": "Эта ссылка используется на странице $1 раз{{PLURAL:$1|||а}}.",
+ "cite-ve-dialog-reference-options-group-label": "Использовать эту группу",
+ "cite-ve-dialog-reference-options-group-placeholder": "Общие ссылки",
+ "cite-ve-dialog-reference-options-name-label": "Повторно использовать под данным именем",
+ "cite-ve-dialog-reference-options-responsive-label": "Использовать адаптивный макет столбцов",
+ "cite-ve-dialog-reference-options-section": "Параметры",
+ "cite-ve-dialog-reference-placeholder": "Напишите или скопируйте вашу сноску сюда, или вставьте шаблон источника.",
+ "cite-ve-dialog-reference-title": "Примечание",
+ "cite-ve-dialog-reference-useexisting-full-label": "Повторное использование источника, который уже существует на этой странице",
+ "cite-ve-dialog-reference-useexisting-label": "Использовать существующую сноску",
+ "cite-ve-dialog-reference-useexisting-tool": "Повторное использование",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Список общих ссылок",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Список примечаний для группы \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Список примечаний",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Улучшайте контент, добавляя туда источники информации. Вы можете цитировать книги, газеты и веб-сайты.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Цитаты",
+ "cite-ve-dialogbutton-reference-full-label": "Простая форма",
+ "cite-ve-dialogbutton-reference-title": "Примечание",
+ "cite-ve-dialogbutton-reference-tooltip": "Базовая",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Список примечаний",
+ "cite-ve-reference-input-placeholder": "Поиск в пределах текущей ссылки",
+ "cite-ve-referenceslist-isempty": "На этой странице нет ссылок с группой «$1» для включения в этот список.",
+ "cite-ve-referenceslist-isempty-default": "На этой странице нет ссылок для включения в этот список.",
+ "cite-ve-referenceslist-missingref": "Эта сноска определена в шаблоне или другом генерируемом блоке и на данный момент может быть отредактирована только в режиме правки исходного текста.",
+ "cite-ve-referenceslist-missingref-in-list": "Эта ссылка определяется в шаблоне или другом сгенерированном блоке и на данный момент может быть просмотрена только в исходном режиме.",
+ "cite-ve-referenceslist-missingreflist": "Этот список ссылок генерируется шаблоном, и теперь его можно редактировать только в режиме источника.",
+ "cite-ve-toolbar-group-label": "Источники",
+ "cite-ve-othergroup-item": "$1 примечание",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Сноски",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Название группы сносок: «$1»"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/rue.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/rue.json
new file mode 100644
index 00000000..d88abca3
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/rue.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Tkalyn",
+ "Dicto23456"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/sa.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sa.json
new file mode 100644
index 00000000..b85533fd
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sa.json
@@ -0,0 +1,20 @@
+{
+ "@metadata": {
+ "authors": [
+ "Shubha",
+ "NehalDaveND"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "पुस्तकम्",
+ "visualeditor-cite-tool-name-journal": "पत्रिका",
+ "visualeditor-cite-tool-name-news": "वार्ताः",
+ "visualeditor-cite-tool-name-web": "जालस्थानम्",
+ "cite-ve-dialog-reference-options-group-label": "एतत् दलम् उपयुज्यताम्",
+ "cite-ve-dialog-reference-options-group-placeholder": "सामान्यसन्दर्भाः",
+ "cite-ve-dialog-reference-options-section": "विकल्पाः",
+ "cite-ve-dialog-reference-title": "सन्दर्भः",
+ "cite-ve-dialog-reference-useexisting-tool": "पुनरुपयोगः",
+ "cite-ve-dialog-referenceslist-title": "सन्दर्भसूचिः",
+ "cite-ve-dialogbutton-reference-tooltip": "प्राथमिकम्",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "सन्दर्भसूचिः"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/sah.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sah.json
new file mode 100644
index 00000000..6f5e5660
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sah.json
@@ -0,0 +1,32 @@
+{
+ "@metadata": {
+ "authors": [
+ "Gazeb",
+ "HalanTul"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Кинигэ",
+ "visualeditor-cite-tool-name-journal": "Ыстатыйа",
+ "visualeditor-cite-tool-name-news": "Сонуннар",
+ "visualeditor-cite-tool-name-web": "Ситим-сир",
+ "cite-ve-dialog-reference-editing-reused": "Бу сигэ сирэйгэ $1 көстөр.",
+ "cite-ve-dialog-reference-options-group-label": "Бу бөлөҕү туһан",
+ "cite-ve-dialog-reference-options-group-placeholder": "Сүрүн сигэлэр",
+ "cite-ve-dialog-reference-options-name-label": "Маннык аатынан хос туһан",
+ "cite-ve-dialog-reference-options-section": "Туруоруулар",
+ "cite-ve-dialog-reference-title": "Быһаарыы",
+ "cite-ve-dialog-reference-useexisting-full-label": "Бу сирэйгэ баар источнигы хат туһаныы",
+ "cite-ve-dialog-reference-useexisting-label": "Баар сносканы туттуу",
+ "cite-ve-dialog-reference-useexisting-tool": "Хос туттуу",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Сүрүн сигэлэр тиликтэрэ",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "\"$1\" бөлөххө анаммыт быһаарыылар тиһиликтэрэ",
+ "cite-ve-dialog-referenceslist-title": "Быһаарыылар тиһиктэрэ",
+ "cite-ve-dialogbutton-reference-full-label": "Судургу форма",
+ "cite-ve-dialogbutton-reference-title": "Быһаарыы",
+ "cite-ve-dialogbutton-reference-tooltip": "Судургу",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Быһаарыылар тиһиктэрэ",
+ "cite-ve-referenceslist-isempty": "Бу тиһиликкэ киирэр \"$1\" бөлөх сигэлэрэ сирэйгэ көстүбэтилэр.",
+ "cite-ve-referenceslist-isempty-default": "Бу тиһиликкэ киирэр сигэлэр сирэйгэ көстүбэтилэр.",
+ "cite-ve-referenceslist-missingref": "Бу хос быһаарыы халыып иһигэр сылдьар эбит, онон төрүт тиэкиһи эрэдээксийэлээһин эрэ көмөтүнэн уларытыллар кыахтаах.",
+ "cite-ve-toolbar-group-label": "Хантан ылыллыбыта"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/sc.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sc.json
new file mode 100644
index 00000000..d9be5c9b
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sc.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "L2212",
+ "Via maxima",
+ "Taxandru",
+ "Purodha",
+ "Uharteko"
+ ]
+ },
+ "visualeditor-cite-tool-name-news": "Noas"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/scn.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/scn.json
new file mode 100644
index 00000000..79aedf79
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/scn.json
@@ -0,0 +1,27 @@
+{
+ "@metadata": {
+ "authors": [
+ "Gazeb",
+ "Gmelfi",
+ "HalanTul",
+ "Elitre",
+ "Elitre82",
+ "Gloria sah",
+ "Pippinu",
+ "Sarvaturi"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Libbru",
+ "cite-ve-dialog-reference-options-group-label": "Usa stu gruppu",
+ "cite-ve-dialog-reference-options-name-label": "Riutilizzari cu stu nomu",
+ "cite-ve-dialog-reference-options-section": "Opzioni",
+ "cite-ve-dialog-reference-title": "Rifirenza",
+ "cite-ve-dialog-reference-useexisting-label": "Usa nu rifirimentu esistenti",
+ "cite-ve-dialog-referenceslist-title": "Elencu rifirimenti",
+ "cite-ve-dialogbutton-reference-tooltip": "Sìmplici",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Elencu rifirimenti",
+ "cite-ve-reference-input-placeholder": "Cerca ntê citazzioni attuali",
+ "cite-ve-referenceslist-isempty": "Nun sunnu prisenti rifirimenti cû gruppu \"$1\" nti sta pàggina ca s'hannu a nclùdiri nti st'elencu.",
+ "cite-ve-referenceslist-isempty-default": "Nun sunnu prisenti rifirimenti nti sta pàggina ca s'hannu a nclùdiri nti st'elencu.",
+ "cite-ve-referenceslist-missingref": "Stu rifirimentu è difinutu nti nu mudellu o nti n'àutru bloccu giniratu e accamarora pò èssiri canciatu sulu n mudalità surgenti."
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/sco.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sco.json
new file mode 100644
index 00000000..f54b24d7
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sco.json
@@ -0,0 +1,33 @@
+{
+ "@metadata": {
+ "authors": [
+ "John Reid",
+ "Amire80",
+ "Foxj"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Buik",
+ "visualeditor-cite-tool-name-journal": "Journal",
+ "visualeditor-cite-tool-name-news": "News",
+ "visualeditor-cite-tool-name-web": "Wabsteid",
+ "cite-ve-dialog-reference-editing-reused": "This soorce is uisit $1 {{PLURAL:$1|times}} on this page.",
+ "cite-ve-dialog-reference-options-group-label": "Uise this groop",
+ "cite-ve-dialog-reference-options-group-placeholder": "General references",
+ "cite-ve-dialog-reference-options-name-label": "Re-uise bi this name",
+ "cite-ve-dialog-reference-options-section": "Opties",
+ "cite-ve-dialog-reference-title": "Referance",
+ "cite-ve-dialog-reference-useexisting-full-label": "Re-uise a soorce fae anither part o this page",
+ "cite-ve-dialog-reference-useexisting-label": "Uise aen exeestin referance",
+ "cite-ve-dialog-reference-useexisting-tool": "Re-uise",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Leet o general soorces",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Leet o soorces fer group \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Referances leet",
+ "cite-ve-dialogbutton-reference-full-label": "Semple fairm",
+ "cite-ve-dialogbutton-reference-tooltip": "Baseec",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Referances leet",
+ "cite-ve-reference-input-placeholder": "Rak in current soorces",
+ "cite-ve-referenceslist-isempty": "Thaur's nae referances wi the groop \"$1\" oan this page tae incluid in this leet.",
+ "cite-ve-referenceslist-isempty-default": "Thaur's nae referances oan this page tae incluid in this leet.",
+ "cite-ve-referenceslist-missingref": "This referance is defined in ae template or ither generatit block, n fer nou can yinlie be eeditit in soorce mode.",
+ "cite-ve-toolbar-group-label": "Soorce"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/sd.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sd.json
new file mode 100644
index 00000000..aa03a6ed
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sd.json
@@ -0,0 +1,25 @@
+{
+ "@metadata": {
+ "authors": [
+ "Sindhu",
+ "Aursani",
+ "Mehtab ahmed"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "ڪتاب",
+ "visualeditor-cite-tool-name-journal": "جرنل",
+ "visualeditor-cite-tool-name-news": "خبرون",
+ "visualeditor-cite-tool-name-web": "ويب سرزمين",
+ "cite-ve-dialog-reference-options-group-placeholder": "عام حوالا",
+ "cite-ve-dialog-reference-options-section": "چارا",
+ "cite-ve-dialog-reference-title": "حوالا",
+ "cite-ve-dialog-reference-useexisting-full-label": "هن صفحي تي موجود ڪو حوالو ٻيهر استعمال ڪريو.",
+ "cite-ve-dialog-reference-useexisting-label": "ڪو موجوده حوالو استعمال ڪريو",
+ "cite-ve-dialog-reference-useexisting-tool": "ٻيهر استعمال ڪريو",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "عام حوالن جي فهرست",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "حوالا",
+ "cite-ve-dialogbutton-reference-title": "حوالو",
+ "cite-ve-dialogbutton-reference-tooltip": "بنيادي",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "حوالن جي فهرست",
+ "cite-ve-toolbar-group-label": "حوالو"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/sdc.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sdc.json
new file mode 100644
index 00000000..6a219994
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sdc.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Jun Misugi"
+ ]
+ },
+ "cite-ve-dialog-reference-options-group-label": "Utirizà kisthu gruppu"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/sgs.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sgs.json
new file mode 100644
index 00000000..3df12eef
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sgs.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Hugo.arg"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/sh.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sh.json
new file mode 100644
index 00000000..d7673f5a
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sh.json
@@ -0,0 +1,35 @@
+{
+ "@metadata": {
+ "authors": [
+ "OC Ripper",
+ "Msannakoval"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Knjiga",
+ "visualeditor-cite-tool-name-journal": "Dnevnik",
+ "visualeditor-cite-tool-name-news": "Novosti",
+ "visualeditor-cite-tool-name-web": "Web-stranica",
+ "cite-ve-dialog-reference-editing-reused": "Ova referenca je korištena $1 {{PLURAL:$1|puta}} na ovoj stranici.",
+ "cite-ve-dialog-reference-options-group-label": "Koristi ovu grupu",
+ "cite-ve-dialog-reference-options-group-placeholder": "Opće reference",
+ "cite-ve-dialog-reference-options-name-label": "Ponovno koristi pod ovim imenom",
+ "cite-ve-dialog-reference-options-section": "Opcije",
+ "cite-ve-dialog-reference-title": "Referentni broj",
+ "cite-ve-dialog-reference-useexisting-full-label": "Ponovno koristi citat koji već postoji na ovoj stranici",
+ "cite-ve-dialog-reference-useexisting-label": "Koristi postojeću referencu",
+ "cite-ve-dialog-reference-useexisting-tool": "Ponovno korištenje",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Lista općih referenci",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Lista referenci za grupu \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Spisak referenci",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Poboljšava sadržaj članka dodavanjem izvora za informacije. Možete referencirati knjige, novine i web-stranice.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Reference",
+ "cite-ve-dialogbutton-reference-full-label": "Osnovni oblik",
+ "cite-ve-dialogbutton-reference-title": "Referenca",
+ "cite-ve-dialogbutton-reference-tooltip": "Osnovno",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Spisak referenci",
+ "cite-ve-reference-input-placeholder": "Traži unutar trenutnih navoda",
+ "cite-ve-referenceslist-isempty": "Nema referenci u grupi \"$1\" na ovoj stranici.",
+ "cite-ve-referenceslist-isempty-default": "Nema referenci na ovoj stranici koje bi mogle biti uključene u ovaj popis.",
+ "cite-ve-referenceslist-missingref": "Ova referenca je definirana u šablonu ili drugom generiranom bloku i sada se može uređivati jedino u izvornom modu.",
+ "cite-ve-toolbar-group-label": "Citiraj"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/shn.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/shn.json
new file mode 100644
index 00000000..17815eaf
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/shn.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Saimawnkham",
+ "Saosukham"
+ ]
+ },
+ "cite-ve-dialogbutton-reference-title": "ၽိုၼ်ဢိင်"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/shy-latn.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/shy-latn.json
new file mode 100644
index 00000000..2dc8dc94
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/shy-latn.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Vikoula5"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/si.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/si.json
new file mode 100644
index 00000000..65bd212b
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/si.json
@@ -0,0 +1,19 @@
+{
+ "@metadata": {
+ "authors": [
+ "Singhalawap",
+ "පසිඳු කාවින්ද",
+ "ශ්වෙත",
+ "Sahan.ssw",
+ "Indunil Chamara",
+ "Susith Chandira Gts",
+ "Thirsty",
+ "හරිත"
+ ]
+ },
+ "cite-ve-dialog-reference-options-group-label": "මෙම කණ්ඩායම භාවිතාකරන්න",
+ "cite-ve-dialog-reference-options-group-placeholder": "සාමාන්‍ය මුලාශ්‍ර",
+ "cite-ve-dialog-reference-options-section": "තෝරාගැනීම්",
+ "cite-ve-dialogbutton-reference-tooltip": "සමුද්දේශ",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "සමුද්දේශ ලැයිස්තුව"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/sk.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sk.json
new file mode 100644
index 00000000..ed8839cd
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sk.json
@@ -0,0 +1,51 @@
+{
+ "@metadata": {
+ "authors": [
+ "Mimarik",
+ "Teslaton",
+ "Sudo77(new)",
+ "TomášPolonec",
+ "Kusavica"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Kniha",
+ "visualeditor-cite-tool-name-journal": "Časopis",
+ "visualeditor-cite-tool-name-news": "Noviny",
+ "visualeditor-cite-tool-name-web": "Webová stránka",
+ "cite-ve-changedesc-ref-group-both": "Skupina referencie zmenená z „$1“ na „$2“",
+ "cite-ve-changedesc-ref-group-from": "Skupina referencie zmenená z „$1“ na všeobecnú",
+ "cite-ve-changedesc-ref-group-to": "Skupina referencia zmenená zo všeobecnej na „$1“",
+ "cite-ve-changedesc-reflist-group-both": "Skupina zoznamu referencií zmenená z „$1“ na „$2“",
+ "cite-ve-changedesc-reflist-group-from": "Skupina zoznamu referencií zmenená z „$1“ na všeobecnú",
+ "cite-ve-changedesc-reflist-group-to": "Skupina zoznamu referencií zmenená zo všeobecnej na „$1“",
+ "cite-ve-changedesc-reflist-item-id": "Číslo referencie zmenené",
+ "cite-ve-dialog-reference-editing-reused": "Tato referencia sa na tejto stránke používa $1 {{PLURAL:$1|krát}}.",
+ "cite-ve-dialog-reference-options-group-label": "Použiť túto skupinu",
+ "cite-ve-dialog-reference-options-group-placeholder": "Všeobecné referencie",
+ "cite-ve-dialog-reference-options-name-label": "Opakovane používať pod týmto názvom",
+ "cite-ve-dialog-reference-options-responsive-label": "Použiť responzívny vzhľad stĺpcov",
+ "cite-ve-dialog-reference-options-section": "Možnosti",
+ "cite-ve-dialog-reference-placeholder": "Sem napíšte alebo vložte referenciu alebo citačnú šablónu.",
+ "cite-ve-dialog-reference-title": "Referencia",
+ "cite-ve-dialog-reference-useexisting-full-label": "Opakovane použiť citáciu, ktorá už na stránke existuje",
+ "cite-ve-dialog-reference-useexisting-label": "Použiť existujúcu referenciu",
+ "cite-ve-dialog-reference-useexisting-tool": "Použiť existujúcu",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Zoznam všeobecných referencií",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Zoznam referencií pre skupinu „$1“",
+ "cite-ve-dialog-referenceslist-title": "Zoznam referencií",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Skvalitnenie vášeho obsahu doplnením zdrojov informácií. Môžete citovať z kníh, novín alebo webových stránok.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Citácie",
+ "cite-ve-dialogbutton-reference-full-label": "Základná podoba",
+ "cite-ve-dialogbutton-reference-title": "Referencia",
+ "cite-ve-dialogbutton-reference-tooltip": "Referencia",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Zoznam referencií",
+ "cite-ve-reference-input-placeholder": "Akú referenciu chcete vložit?",
+ "cite-ve-referenceslist-isempty": "Na tejto stránke neexistuje žiadna referencia v skupine „$1“.",
+ "cite-ve-referenceslist-isempty-default": "Na tejto stránke nie sú definované žiadne referencie, ktoré by bolo možné zobraziť v tomto zozname.",
+ "cite-ve-referenceslist-missingref": "Táto referencia je definovaná v šablóne alebo inej automaticky generovanej časti textu. Zatiľ je možné editovať ju len v režime zdrojového kódu.",
+ "cite-ve-referenceslist-missingreflist": "Tento zoznam referencií je generovaný šablónou a zatiaľ ho je možné upravovať len v režime zdrojového textu.",
+ "cite-ve-toolbar-group-label": "Citácia",
+ "cite-ve-othergroup-item": "$1 referencia",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Referencie",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Názov skupiny referencií: „$1“"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/skr-arab.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/skr-arab.json
new file mode 100644
index 00000000..92afc44b
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/skr-arab.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "Saraiki"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "کتاب",
+ "visualeditor-cite-tool-name-journal": "جریدہ",
+ "visualeditor-cite-tool-name-news": "خبراں",
+ "visualeditor-cite-tool-name-web": "ویب سائٹ",
+ "cite-ve-dialog-reference-options-group-label": "ایہ گروپ ورتو",
+ "cite-ve-dialog-reference-options-group-placeholder": "عمومی حوالے",
+ "cite-ve-dialog-reference-options-section": "اختیارات",
+ "cite-ve-dialog-reference-title": "حوالہ",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "حوالے",
+ "cite-ve-dialogbutton-reference-title": "حوالہ",
+ "cite-ve-dialogbutton-reference-tooltip": "بنیادی",
+ "cite-ve-toolbar-group-label": "حوالہ درج کرو",
+ "cite-ve-othergroup-item": "$1 حوالہ",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "حوالے"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/sl.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sl.json
new file mode 100644
index 00000000..006cecdb
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sl.json
@@ -0,0 +1,40 @@
+{
+ "@metadata": {
+ "authors": [
+ "Dbc334",
+ "Eleassar",
+ "Pinky sl",
+ "Yerpo"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "null",
+ "visualeditor-cite-tool-name-book": "Knjiga",
+ "visualeditor-cite-tool-name-journal": "Revija",
+ "visualeditor-cite-tool-name-news": "Novice",
+ "visualeditor-cite-tool-name-web": "Spletna stran",
+ "cite-tool-definition.json": "null",
+ "cite-ve-dialog-reference-editing-reused": "Sklic je na strani uporabljen $1-{{PLURAL:$1|krat}}.",
+ "cite-ve-dialog-reference-options-group-label": "Uporabi to skupino",
+ "cite-ve-dialog-reference-options-group-placeholder": "Splošni sklici",
+ "cite-ve-dialog-reference-options-name-label": "Ponovno uporabi pod tem imenom",
+ "cite-ve-dialog-reference-options-section": "Možnosti",
+ "cite-ve-dialog-reference-title": "Sklic",
+ "cite-ve-dialog-reference-useexisting-full-label": "Ponovna uporaba navedka, ki že obstaja na strani",
+ "cite-ve-dialog-reference-useexisting-label": "Uporabi obstoječi sklic",
+ "cite-ve-dialog-reference-useexisting-tool": "Uporabi ponovno",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Seznam splošnih sklicev",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Seznam sklicev za skupino »$1«",
+ "cite-ve-dialog-referenceslist-title": "Seznam sklicev",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Izboljšajte vsebino z navedbo virov podatkov. Navajate lahko knjige, časopise in spletna mesta.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Navedki",
+ "cite-ve-dialogbutton-reference-full-label": "Osnovna oblika",
+ "cite-ve-dialogbutton-reference-title": "Sklic",
+ "cite-ve-dialogbutton-reference-tooltip": "Osnovno",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Seznam sklicev",
+ "cite-ve-reference-input-placeholder": "Išči znotraj trenutnih navedkov",
+ "cite-ve-referenceslist-isempty": "Na tej strani ni sklicev s skupino »$1« za vključitev na ta seznam.",
+ "cite-ve-referenceslist-isempty-default": "Na tej strani ni sklicev, ki bi jih lahko vključili v ta seznam.",
+ "cite-ve-referenceslist-missingref": "Sklic je opredeljen v predlogi ali drugem ustvarjenem bloku, zato ga lahko trenutno urejate samo v urejevalniku izvorne kode.",
+ "cite-ve-toolbar-group-label": "Navedi",
+ "cite-ve-othergroup-item": "$1 sklic"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/so.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/so.json
new file mode 100644
index 00000000..8b687089
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/so.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Abshirdheere"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/sq.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sq.json
new file mode 100644
index 00000000..981bf830
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sq.json
@@ -0,0 +1,47 @@
+{
+ "@metadata": {
+ "authors": [
+ "Euriditi",
+ "G1m",
+ "Agonqurdina",
+ "Amire80",
+ "Kushtrim",
+ "Elioqoshi",
+ "GretaDoci",
+ "Techlik",
+ "Liridon",
+ "Ammartivari",
+ "Kosovastar"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "pavlerë",
+ "visualeditor-cite-tool-name-book": "Libra",
+ "visualeditor-cite-tool-name-journal": "Gazeta",
+ "visualeditor-cite-tool-name-news": "Lajme",
+ "visualeditor-cite-tool-name-web": "Faqja Web",
+ "cite-tool-definition.json": "pavlerë",
+ "cite-ve-dialog-reference-editing-reused": "Kjo referencë është përdorur $1 {{PLURAL:$1|herë}} në këtë faqe.",
+ "cite-ve-dialog-reference-options-group-label": "Përdor këtë grup",
+ "cite-ve-dialog-reference-options-group-placeholder": "Referenca të përgjithshme",
+ "cite-ve-dialog-reference-options-name-label": "Ripërdor këtë emër",
+ "cite-ve-dialog-reference-options-section": "Opsionet",
+ "cite-ve-dialog-reference-title": "Referenca",
+ "cite-ve-dialog-reference-useexisting-full-label": "Ri-përdor një burim që tashmë ekziston në këtë faqe",
+ "cite-ve-dialog-reference-useexisting-label": "Përdor një referencë ekzistuese",
+ "cite-ve-dialog-reference-useexisting-tool": "Ri-shfrytëzo",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Lisa e përgjithshme e referencave",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Lista e referencave për grupin \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Lista e referencave",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Përmirëso përmbajtjen tuaj duke shtuar burimet e informacionit. Ju mund të citoni nga librat, gazetat dhe faqet e internetit.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Citimet",
+ "cite-ve-dialogbutton-reference-full-label": "Forma bazike",
+ "cite-ve-dialogbutton-reference-title": "Referenca",
+ "cite-ve-dialogbutton-reference-tooltip": "Bazike",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Lista e referencave",
+ "cite-ve-reference-input-placeholder": "Kërkoni brenda burimeve të tanishme.",
+ "cite-ve-referenceslist-isempty": "Nuk ka referenca në grupin \"$1\" në këtë faqe që mund të shtojmë në këtë listë.",
+ "cite-ve-referenceslist-isempty-default": "Në këtë faqe nuk ka referenca që të përfshihen në këtë listë.",
+ "cite-ve-referenceslist-missingref": "Kjo referencë është e përcaktuar në një stampë apo bllok tjetër të gjeneruar dhe për momentin mund të redaktohet vetëm në modalitetin burimor.",
+ "cite-ve-toolbar-group-label": "Burim",
+ "cite-ve-othergroup-item": "$1 referencë"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/sr-ec.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sr-ec.json
new file mode 100644
index 00000000..227af813
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sr-ec.json
@@ -0,0 +1,58 @@
+{
+ "@metadata": {
+ "authors": [
+ "Milicevic01",
+ "Nikola Smolenski",
+ "Милан Јелисавчић",
+ "Rancher",
+ "Amire80",
+ "Srdjan m",
+ "Сербијана",
+ "Obsuser",
+ "Prevodim",
+ "Acamicamacaraca",
+ "BadDog"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "null",
+ "visualeditor-cite-tool-name-book": "Књига",
+ "visualeditor-cite-tool-name-journal": "Часопис",
+ "visualeditor-cite-tool-name-news": "Вести",
+ "visualeditor-cite-tool-name-web": "Веб-сајт",
+ "cite-tool-definition.json": "null",
+ "cite-ve-changedesc-ref-group-both": "Група референци је промењена из „$1” у „$2”",
+ "cite-ve-changedesc-ref-group-from": "Група референци промењена из „$1” у општу групу",
+ "cite-ve-changedesc-ref-group-to": "Група референци промењена из опште групе у „$1”",
+ "cite-ve-changedesc-reflist-group-both": "Група списка референци је промењена из „$1” у „$2”",
+ "cite-ve-changedesc-reflist-group-from": "Група списка референци промењена из „$1” у општу групу",
+ "cite-ve-changedesc-reflist-group-to": "Група списка референци је промењена из опште групе у „$1”",
+ "cite-ve-changedesc-reflist-item-id": "Индекс референце је промењен",
+ "cite-ve-dialog-reference-editing-reused": "Ова референца се користи $1 {{PLURAL:$1|пут|пута}} на овој страници.",
+ "cite-ve-dialog-reference-options-group-label": "Користи ову групу",
+ "cite-ve-dialog-reference-options-group-placeholder": "Опште референце",
+ "cite-ve-dialog-reference-options-name-label": "Поново употреби под овим именом",
+ "cite-ve-dialog-reference-options-responsive-label": "Прилагодљиви распоред колона",
+ "cite-ve-dialog-reference-options-section": "Опције",
+ "cite-ve-dialog-reference-placeholder": "Напишите или налепите Вашу референцу овде, или унесите шаблон за референцу.",
+ "cite-ve-dialog-reference-title": "Референца",
+ "cite-ve-dialog-reference-useexisting-full-label": "Поново употреби референцу која већ постоји на овој страници",
+ "cite-ve-dialog-reference-useexisting-label": "Користи постојећу референцу",
+ "cite-ve-dialog-reference-useexisting-tool": "Поновно коришћење",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Списак општих референци",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Списак референци за групу: „$1”",
+ "cite-ve-dialog-referenceslist-title": "Списак референци",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Ваш садржај изгледа боље са додатим изворима информација. Можете додати референце из књига, новина или веб-сајтова.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Референце",
+ "cite-ve-dialogbutton-reference-full-label": "Основни облик",
+ "cite-ve-dialogbutton-reference-title": "Референца",
+ "cite-ve-dialogbutton-reference-tooltip": "Основна",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Списак референци",
+ "cite-ve-reference-input-placeholder": "Претражи постојеће референце",
+ "cite-ve-referenceslist-isempty": "Нема референци унутар групе „$1” на овој страници које можете додати у овом списку.",
+ "cite-ve-referenceslist-isempty-default": "Нема референци на овој страници које би могло да се укључе на овај списак.",
+ "cite-ve-referenceslist-missingref": "Ова референца је дефинисана у шаблону или другом генерисаном блоку и за сада може да се уређује само у изворном режиму.",
+ "cite-ve-toolbar-group-label": "Цитирај",
+ "cite-ve-othergroup-item": "$1 референца",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Референце",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Назив групе референци: „$1”"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/sr-el.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sr-el.json
new file mode 100644
index 00000000..b4ac78e3
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sr-el.json
@@ -0,0 +1,51 @@
+{
+ "@metadata": {
+ "authors": [
+ "Milicevic01",
+ "Msannakoval",
+ "Srdjan m",
+ "Prevodim"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "bez vrednosti",
+ "visualeditor-cite-tool-name-book": "Knjiga",
+ "visualeditor-cite-tool-name-journal": "Žurnal",
+ "visualeditor-cite-tool-name-news": "Novine",
+ "visualeditor-cite-tool-name-web": "Veb-sajt",
+ "cite-tool-definition.json": "bez vrednosti",
+ "cite-ve-changedesc-ref-group-both": "Grupa referenci promenjena sa grupe „$1” na grupu „$2”.",
+ "cite-ve-changedesc-ref-group-from": "Grupa referenci promenjena sa grupe „$1” na opštu grupu",
+ "cite-ve-changedesc-ref-group-to": "Grupa referenci promenjana sa opšte grupe na grupu „$1”",
+ "cite-ve-changedesc-reflist-group-both": "Grupa spiska referenci je promenjena sa grupe „$1” na grupu „$2”",
+ "cite-ve-changedesc-reflist-group-from": "Grupa spiska referenci promenjena sa grupe „$1” na opštu grupu.",
+ "cite-ve-changedesc-reflist-group-to": "Grupa spiska referenci je promenjena sa opšte grupe na grupu „$1”",
+ "cite-ve-changedesc-reflist-item-id": "Indeks reference je promenjen",
+ "cite-ve-dialog-reference-editing-reused": "Referenca je upotrebljena $1 {{PLURAL:$1|put|puta}} na ovoj stranici.",
+ "cite-ve-dialog-reference-options-group-label": "Koristi ovu grupu",
+ "cite-ve-dialog-reference-options-group-placeholder": "Opšte reference",
+ "cite-ve-dialog-reference-options-name-label": "Ponovo upotrebi pod ovim imenom",
+ "cite-ve-dialog-reference-options-responsive-label": "Koristi prilagodljivi raspored kolona",
+ "cite-ve-dialog-reference-options-section": "Opcije",
+ "cite-ve-dialog-reference-placeholder": "Pišite ili nalepite vašu referencu ovde, ili unesite šablon za referencu.",
+ "cite-ve-dialog-reference-title": "Referenca",
+ "cite-ve-dialog-reference-useexisting-full-label": "Ponovo upotrebi referencu koja već postoji na ovoj stranici",
+ "cite-ve-dialog-reference-useexisting-label": "Koristi postojeću referencu",
+ "cite-ve-dialog-reference-useexisting-tool": "Ponovno korišćenje",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Lista opštih referenci",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Lista referenci za grupu „$1”",
+ "cite-ve-dialog-referenceslist-title": "Spisak referenci",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Vaš sadržaj izgleda bolje sa dodatim izvorima informacija. Možete dodati reference iz knjiga, novina ili veb-sajtova.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Navođenje",
+ "cite-ve-dialogbutton-reference-full-label": "Osnovni oblik",
+ "cite-ve-dialogbutton-reference-title": "Referenca",
+ "cite-ve-dialogbutton-reference-tooltip": "Osnovna",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Spisak referenci",
+ "cite-ve-reference-input-placeholder": "Pretražite postojeće reference",
+ "cite-ve-referenceslist-isempty": "Nema referenci unutar grupe „$1” na ovoj strani koje možete dodati u ovu listu.",
+ "cite-ve-referenceslist-isempty-default": "Nema referenci na ovoj strani koje možete dodati u ovu listu.",
+ "cite-ve-referenceslist-missingref": "Ova referenca je definisana u šablonu ili drugom formiranom bloku i za sada može biti izmenjen samo izvor.",
+ "cite-ve-toolbar-group-label": "Referenca",
+ "cite-ve-othergroup-item": "$1 referenca",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Reference",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Naziv grupe referenci: „$1”"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ss.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ss.json
new file mode 100644
index 00000000..ce4d7ec4
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ss.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Bobbyshabangu"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/su.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/su.json
new file mode 100644
index 00000000..1cb9659e
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/su.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Kandar"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/sv.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sv.json
new file mode 100644
index 00000000..f9e5251e
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sv.json
@@ -0,0 +1,66 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ainali",
+ "Haxpett",
+ "Jopparn",
+ "Knuckles",
+ "Magol",
+ "Milicevic01",
+ "Per",
+ "Sendelbach",
+ "Skalman",
+ "Tobulos1",
+ "WikiPhoenix",
+ "Lokal Profil",
+ "Josve05a",
+ "Jenniesarina",
+ "Dan Koehl",
+ "Rockyfelle",
+ "Warrakkk",
+ "McDutchie",
+ "Bengtsson96"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "null",
+ "visualeditor-cite-tool-name-book": "Bok",
+ "visualeditor-cite-tool-name-journal": "Tidskrift",
+ "visualeditor-cite-tool-name-news": "Nyheter",
+ "visualeditor-cite-tool-name-web": "Webbplats",
+ "cite-tool-definition.json": "null",
+ "cite-ve-changedesc-ref-group-both": "Referensgrupp ändrades från \"$1\" till \"$2\"",
+ "cite-ve-changedesc-ref-group-from": "Referensgrupp ändrades från \"$1\" till den allmänna gruppen",
+ "cite-ve-changedesc-ref-group-to": "Referensgrupp ändrades från den allmänna gruppen till \"$1\"",
+ "cite-ve-changedesc-reflist-group-both": "Referenslistgrupp ändrades från \"$1\" till \"$2\"",
+ "cite-ve-changedesc-reflist-group-from": "Referenslistgrupp ändrades från \"$1\" till den allmänna gruppen",
+ "cite-ve-changedesc-reflist-group-to": "Referenslistgrupp ändrades från den allmänna gruppen till \"$1\"",
+ "cite-ve-changedesc-reflist-item-id": "Referensindex ändrades",
+ "cite-ve-dialog-reference-editing-reused": "Denna referens används $1 {{PLURAL:$1|gång|gånger}} på denna sida.",
+ "cite-ve-dialog-reference-options-group-label": "Använd den här gruppen",
+ "cite-ve-dialog-reference-options-group-placeholder": "Allmänna referenser",
+ "cite-ve-dialog-reference-options-name-label": "Använd med detta namn igen",
+ "cite-ve-dialog-reference-options-responsive-label": "Använd responsiva kolumner",
+ "cite-ve-dialog-reference-options-section": "Alternativ",
+ "cite-ve-dialog-reference-placeholder": "Skriv eller klistra in din referens här eller infoga en referensmall.",
+ "cite-ve-dialog-reference-title": "Källa",
+ "cite-ve-dialog-reference-useexisting-full-label": "Återanvänd en källa som redan finns på denna sida",
+ "cite-ve-dialog-reference-useexisting-label": "Använd en befintlig källa",
+ "cite-ve-dialog-reference-useexisting-tool": "Återanvänd",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Lista över allmänna referenser",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Lista över referenser för grupp \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Referenslista",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Förbättrar ditt innehåll genom att lägga till informationskällor. Du kan källhänvisa till böcker, tidningar och webbplatser.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Referenser",
+ "cite-ve-dialogbutton-reference-full-label": "Grundform",
+ "cite-ve-dialogbutton-reference-title": "Referens",
+ "cite-ve-dialogbutton-reference-tooltip": "Enkel",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Referenslista",
+ "cite-ve-reference-input-placeholder": "Sök i de aktuella referenserna",
+ "cite-ve-referenceslist-isempty": "Det finns inga referenser med gruppen \"$1\" på denna sida att inkludera i denna lista.",
+ "cite-ve-referenceslist-isempty-default": "Det finns inga referenser på denna sida att inkludera i denna lista.",
+ "cite-ve-referenceslist-missingref": "Den här källan är definierad i en mall eller ett annat genererat block och kan bara redigeras i wikitext.",
+ "cite-ve-toolbar-group-label": "Ange källa",
+ "cite-ve-othergroup-item": "$1 referens",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Referenser",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Referensgruppnamn: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/sw.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sw.json
new file mode 100644
index 00000000..f407c287
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/sw.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "Lloffiwr",
+ "Muddyb Blast Producer",
+ "Kipala"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Kitabu",
+ "visualeditor-cite-tool-name-news": "Habari",
+ "visualeditor-cite-tool-name-web": "Tovuti",
+ "cite-ve-dialog-reference-options-group-label": "Tumia kundi hili",
+ "cite-ve-dialog-reference-options-name-label": "Tumia upya kwa jina hili",
+ "cite-ve-dialog-reference-options-section": "Chaguzi",
+ "cite-ve-dialog-reference-title": "Marejeo",
+ "cite-ve-dialog-reference-useexisting-label": "Tumia rejeo lililopo tayari",
+ "cite-ve-dialog-referenceslist-title": "Orodha ya marejeo",
+ "cite-ve-dialogbutton-reference-tooltip": "Marejeo",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Orodha ya marejeo",
+ "cite-ve-toolbar-group-label": "Marejeo"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/szl.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/szl.json
new file mode 100644
index 00000000..fe1df9b8
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/szl.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Krol111"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ta.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ta.json
new file mode 100644
index 00000000..e4105c00
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ta.json
@@ -0,0 +1,22 @@
+{
+ "@metadata": {
+ "authors": [
+ "Jayarathina",
+ "Sank",
+ "Shanmugamp7",
+ "மதனாஹரன்",
+ "கௌசிக் பிரபு",
+ "Kalyanasundar",
+ "ElangoRamanujam",
+ "Info-farmer",
+ "Dineshkumar Ponnusamy"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "நூல்",
+ "visualeditor-cite-tool-name-journal": "இதழ்",
+ "visualeditor-cite-tool-name-news": "செய்திகள்",
+ "visualeditor-cite-tool-name-web": "இணையத்தளம்",
+ "cite-ve-dialog-reference-options-group-label": "இந்தக் குழுவை பாவிக்கவும்",
+ "cite-ve-dialog-reference-title": "மேற்கோள்",
+ "cite-ve-dialogbutton-reference-tooltip": "மேற்கோள்"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/tay.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/tay.json
new file mode 100644
index 00000000..d15293a2
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/tay.json
@@ -0,0 +1,23 @@
+{
+ "@metadata": {
+ "authors": [
+ "Translatealcd",
+ "Hitaypayan"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Biru’",
+ "visualeditor-cite-tool-name-journal": "Mtnaq ryax na phtgan kinbalay biru’",
+ "visualeditor-cite-tool-name-news": "Sinbung",
+ "visualeditor-cite-tool-name-web": "Wangcan",
+ "cite-ve-dialog-reference-options-group-label": "Sptzyuwaw sa chyuncu",
+ "cite-ve-dialog-reference-options-section": "Bbzyagan",
+ "cite-ve-dialog-reference-useexisting-tool": "Sptzyuwaw lawziy",
+ "cite-ve-dialog-referenceslist-title": "Kt’aniy sa binkgan kktan biru’ na bunkeng",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "’nagal sa",
+ "cite-ve-dialogbutton-reference-full-label": "Spzyang ’ringan balay na binkgan biru’",
+ "cite-ve-dialogbutton-reference-title": "Kmita’ sa bungkeng",
+ "cite-ve-dialogbutton-reference-tooltip": "T’ringan balay na",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Kt’aniy sa binkgan kktan biru’ na bunkeng",
+ "cite-ve-toolbar-group-label": "’nagal sa",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Kmita’ sa bungkeng"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/tcy.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/tcy.json
new file mode 100644
index 00000000..68e3feb7
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/tcy.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "VASANTH S.N.",
+ "రహ్మానుద్దీన్",
+ "Bharathesha Alasandemajalu",
+ "Vishwanatha Badikana"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/te.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/te.json
new file mode 100644
index 00000000..be93122c
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/te.json
@@ -0,0 +1,33 @@
+{
+ "@metadata": {
+ "authors": [
+ "Arjunaraoc",
+ "Jayarathina",
+ "Sank",
+ "Shanmugamp7",
+ "Veeven",
+ "Visdaviva",
+ "மதனாஹரன்",
+ "రహ్మానుద్దీన్",
+ "Ravichandra",
+ "Chaduvari",
+ "Kiranmayee",
+ "Arunraman7"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "పుస్తకం",
+ "visualeditor-cite-tool-name-journal": "జర్నల్",
+ "visualeditor-cite-tool-name-news": "వార్తలు",
+ "visualeditor-cite-tool-name-web": "జాలస్థలి",
+ "cite-ve-dialog-reference-options-group-label": "ఈ సమూహము వాడు",
+ "cite-ve-dialog-reference-options-group-placeholder": "సాధారణ మూలాలు",
+ "cite-ve-dialog-reference-options-name-label": "ఈ పేరుతో మరల వాడు",
+ "cite-ve-dialog-reference-options-section": "ఎంపికలు",
+ "cite-ve-dialog-reference-title": "ఉల్లేఖన",
+ "cite-ve-dialog-reference-useexisting-label": "ఇప్పటికే వున్న ఉల్లేఖన వాడు",
+ "cite-ve-dialog-referenceslist-title": "ఉల్లేఖనల జాబితా",
+ "cite-ve-dialogbutton-reference-tooltip": "మూలాలు",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "మూలాల జాబితా",
+ "cite-ve-referenceslist-isempty": "ఈ జాబితాలో ఉన్న  పేజీలో గ్రూప్ \"$ 1\" తో ఎటువంటి సూచనలు లేవు.",
+ "cite-ve-referenceslist-missingref": "ఈ సూచన ఒక టెంప్లేట్ లేదా ఇతర ఉత్పత్తి బ్లాక్ లో వివరించబడింది, మరియు ఇప్పుడు  మూలం రీతిలో మాత్రమే సవరించవచ్చు."
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/tg-cyrl.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/tg-cyrl.json
new file mode 100644
index 00000000..55a36480
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/tg-cyrl.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ibrahim"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Китоб",
+ "visualeditor-cite-tool-name-journal": "Маҷалла",
+ "visualeditor-cite-tool-name-news": "Рӯзнома",
+ "visualeditor-cite-tool-name-web": "Сомона",
+ "cite-ve-dialog-reference-options-group-label": "Истифодаи ин гурӯҳ",
+ "cite-ve-dialog-reference-options-section": "Ихтиёрот"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/th.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/th.json
new file mode 100644
index 00000000..9ff50aa6
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/th.json
@@ -0,0 +1,51 @@
+{
+ "@metadata": {
+ "authors": [
+ "Supasate",
+ "Taweetham",
+ "Horus",
+ "Aefgh39622"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "ไม่ได้กำหนด",
+ "visualeditor-cite-tool-name-book": "หนังสือ",
+ "visualeditor-cite-tool-name-journal": "วารสาร",
+ "visualeditor-cite-tool-name-news": "ข่าว",
+ "visualeditor-cite-tool-name-web": "เว็บไซต์",
+ "cite-tool-definition.json": "ไม่ได้กำหนด",
+ "cite-ve-changedesc-ref-group-both": "เปลี่ยนกลุ่มอ้างอิงจาก \"$1\" เป็น \"$2\"",
+ "cite-ve-changedesc-ref-group-from": "เปลี่ยนกลุ่มอ้างอิงจาก \"$1\" เป็นกลุ่มทั่วไป",
+ "cite-ve-changedesc-ref-group-to": "เปลี่ยนกลุ่มอ้างอิงจากกลุ่มทั่วไปเป็น \"$1\"",
+ "cite-ve-changedesc-reflist-group-both": "เปลี่ยนกลุ่มอ้างอิงจาก \"$1\" เป็น \"$2\"",
+ "cite-ve-changedesc-reflist-group-from": "เปลี่ยนกลุ่มอ้างอิงจาก \"$1\" เป็นกลุ่มทั่วไป",
+ "cite-ve-changedesc-reflist-group-to": "เปลี่ยนกลุ่มอ้างอิงจากกลุ่มทั่วไปเป็น \"$1\"",
+ "cite-ve-changedesc-reflist-item-id": "เปลี่ยนดัชนีอ้างอิง",
+ "cite-ve-dialog-reference-editing-reused": "แหล่งอ้างอิงนี้ถูกใช้แล้ว $1 {{PLURAL:$1|ครั้ง}}บนหน้านี้",
+ "cite-ve-dialog-reference-options-group-label": "ใช้กลุ่มนี้",
+ "cite-ve-dialog-reference-options-group-placeholder": "แหล่งอ้างอิงทั่วไป",
+ "cite-ve-dialog-reference-options-name-label": "ใช้ซ้ำโดยชื่อนี้",
+ "cite-ve-dialog-reference-options-responsive-label": "ใช้ผังแนวตั้งโต้ตอบ",
+ "cite-ve-dialog-reference-options-section": "ตัวเลือก",
+ "cite-ve-dialog-reference-placeholder": "เขียนหรือวางแหล่งอ้างอิงของคุณที่นี่ หรือแทรกแม่แบบอ้างอิงที่มา",
+ "cite-ve-dialog-reference-title": "อ้างอิง",
+ "cite-ve-dialog-reference-useexisting-full-label": "ใช้แหล่งอ้างอิงที่มีอยู่แล้วบนหน้านี้ซ้ำ",
+ "cite-ve-dialog-reference-useexisting-label": "ใช้การอ้างอิงที่มีอยู่แล้ว",
+ "cite-ve-dialog-reference-useexisting-tool": "ใช้ซ้ำ",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "รายชื่อแหล่งอ้างอิงทั่วไป",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "รายชื่อแหล่งอ้างอิงสำหรับกลุ่ม \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "รายการอ้างอิง",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "ปรับปรุงเนื้อหาของคุณโดยเพิ่มแหล่งข้อมูล คุณสามารถอ้างอิงจากในหนังสือ หนังสือพิมพ์ และเว็บไซต์ต่าง ๆ ได้",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "การอ้างอิง",
+ "cite-ve-dialogbutton-reference-full-label": "รูปแบบพื้นฐาน",
+ "cite-ve-dialogbutton-reference-title": "แหล่งอ้างอิง",
+ "cite-ve-dialogbutton-reference-tooltip": "พื้นฐาน",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "รายการอ้างอิง",
+ "cite-ve-reference-input-placeholder": "ค้นหาภายในแหล่งอ้างอิงปัจจุบัน",
+ "cite-ve-referenceslist-isempty": "ไม่มีแหล่งอ้างอิงในกลุ่ม \"$1\" ในหน้านี้",
+ "cite-ve-referenceslist-isempty-default": "ไม่มีแหล่งอ้างอิงในหน้านี้",
+ "cite-ve-referenceslist-missingref": "ข้อมูลอ้างอิงนี้กำหนดไว้ในแม่แบบหรือบล็อกอื่น ๆ ที่สร้างขึ้น ในขณะนี้สามารถสามารถแก้ไขได้เฉพาะในโหมดต้นฉบับ",
+ "cite-ve-toolbar-group-label": "อ้างอิง",
+ "cite-ve-othergroup-item": "$1 อ้างอิง",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "อ้างอิง",
+ "visualeditor-internal-list-diff-group-name-mwreference": "ชื่อกลุ่มอ้างอิง: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/tl.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/tl.json
new file mode 100644
index 00000000..49a4bfe5
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/tl.json
@@ -0,0 +1,31 @@
+{
+ "@metadata": {
+ "authors": [
+ "AnakngAraw",
+ "Sky Harbor",
+ "Jojit fb",
+ "Jewel457",
+ "Amire80"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Aklat",
+ "visualeditor-cite-tool-name-journal": "Rebista",
+ "visualeditor-cite-tool-name-news": "Balita",
+ "visualeditor-cite-tool-name-web": "Websayt",
+ "cite-ve-dialog-reference-editing-reused": "Ginagamit ang sangguniang ito nang $1 {{PLURAL:$1|beses}} sa pahinang ito.",
+ "cite-ve-dialog-reference-options-group-label": "Gamitin ang grupong ito",
+ "cite-ve-dialog-reference-options-group-placeholder": "Mga karaniwang sanggunian",
+ "cite-ve-dialog-reference-options-name-label": "Gamitin muli sa pangalang ito",
+ "cite-ve-dialog-reference-options-section": "Mga pagpipilian",
+ "cite-ve-dialog-reference-title": "Sanggunian",
+ "cite-ve-dialog-reference-useexisting-label": "Gumamit ng umiiral na sanggunian",
+ "cite-ve-dialog-reference-useexisting-tool": "Muling paggamit",
+ "cite-ve-dialog-referenceslist-title": "Talasanggunian",
+ "cite-ve-dialogbutton-reference-tooltip": "Payak",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Talasanggunian",
+ "cite-ve-reference-input-placeholder": "Maghanap sa loob ng mga kasalukuyang sanggunian",
+ "cite-ve-referenceslist-isempty": "Walang sangguniang may grupong \"$1\" sa pahinang ito ang maisasama sa talang ito.",
+ "cite-ve-referenceslist-isempty-default": "Walang sanggunian sa pahinang ito ang maisasama sa talang ito.",
+ "cite-ve-referenceslist-missingref": "Binigyan ng katuturan ang sangguniang ito sa isang padron o ibang uri ng blokeng ginawa, at sa panahong ito maaari lamang itong baguhin gamit ang paraang batayan.",
+ "cite-ve-toolbar-group-label": "Isangguni"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/tr.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/tr.json
new file mode 100644
index 00000000..556eb4f9
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/tr.json
@@ -0,0 +1,51 @@
+{
+ "@metadata": {
+ "authors": [
+ "Emperyan",
+ "Incelemeelemani",
+ "LuCKY",
+ "Maidis",
+ "Rapsar",
+ "Talha Samil Cakir",
+ "TurkishStyles",
+ "Meelo",
+ "Ceas08",
+ "Mavrikant",
+ "Sayginer",
+ "Violetanka",
+ "Captantrips",
+ "Stultiwikia",
+ "Arystanbek",
+ "Uğurkent",
+ "Kincki",
+ "McAang",
+ "HakanIST",
+ "Sadrettin"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Kitap",
+ "visualeditor-cite-tool-name-journal": "Dergi",
+ "visualeditor-cite-tool-name-news": "Haberler",
+ "visualeditor-cite-tool-name-web": "Web sitesi",
+ "cite-ve-dialog-reference-options-group-label": "Bu grubu kullan",
+ "cite-ve-dialog-reference-options-group-placeholder": "Genel referanslar",
+ "cite-ve-dialog-reference-options-name-label": "Bu isimle yeniden kullan",
+ "cite-ve-dialog-reference-options-section": "Seçenekler",
+ "cite-ve-dialog-reference-title": "Kaynak",
+ "cite-ve-dialog-reference-useexisting-full-label": "Yeniden kullanım zaten bu sayfa üzerinde var olan bir alıntı",
+ "cite-ve-dialog-reference-useexisting-label": "Mevcut bir kaynak kullanın",
+ "cite-ve-dialog-reference-useexisting-tool": "Tekrar kullan",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Genel referans listesi",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Başvuru listesi için Grup \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "Kaynak listesi",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Alıntılar",
+ "cite-ve-dialogbutton-reference-full-label": "Temel form",
+ "cite-ve-dialogbutton-reference-title": "Kaynakça",
+ "cite-ve-dialogbutton-reference-tooltip": "Temel",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Kaynak listesi",
+ "cite-ve-reference-input-placeholder": "Varolan kaynakça içinde ara",
+ "cite-ve-referenceslist-isempty": "Bu listeye dahil etmek için bu sayfada \"$1\" grubu kaynağına uygun kaynak bulunmamaktadır.",
+ "cite-ve-referenceslist-isempty-default": "Bu listeye eklemek için bu sayfada başvurular var.",
+ "cite-ve-referenceslist-missingref": "Bu kaynak ve şablonlar blok olarak tanımlandığından dolayı henüz yalnızca wiki metin editöründe kaynak modunda düzenlenebilir.",
+ "cite-ve-toolbar-group-label": "Kaynak göster"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/tt-cyrl.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/tt-cyrl.json
new file mode 100644
index 00000000..971db040
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/tt-cyrl.json
@@ -0,0 +1,39 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ajdar",
+ "Derslek",
+ "Ильнар"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "null",
+ "visualeditor-cite-tool-name-book": "Китап",
+ "visualeditor-cite-tool-name-journal": "Мәкалә",
+ "visualeditor-cite-tool-name-news": "Яңалыклар",
+ "visualeditor-cite-tool-name-web": "Веб-сәхифә",
+ "cite-tool-definition.json": "null",
+ "cite-ve-dialog-reference-editing-reused": "Әлеге сылтамабиттә $1 тапкыр {{PLURAL:$1|кулланыла}}.",
+ "cite-ve-dialog-reference-options-group-label": "Бу төркемне кулланырга",
+ "cite-ve-dialog-reference-options-group-placeholder": "Гомуми сылтамалар",
+ "cite-ve-dialog-reference-options-name-label": "Кабаттан шушы исем белән кулланырга",
+ "cite-ve-dialog-reference-options-section": "Көйләнмәләр",
+ "cite-ve-dialog-reference-title": "Искәрмә",
+ "cite-ve-dialog-reference-useexisting-full-label": "Биттә күрсәтелгән чыганакны кабат куллану",
+ "cite-ve-dialog-reference-useexisting-label": "Инде булган искәрмәне кулланырга",
+ "cite-ve-dialog-reference-useexisting-tool": "Кире куллану",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Гомуми сылтамалар исемлеге",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "\"$1\" төркеме өчен искәрмәләр исемлеге",
+ "cite-ve-dialog-referenceslist-title": "Искәрмәләр исемлеге",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Ясалган мәкаләләрнең абруен чыганаклар ярдәмендә арттырырга тырышыгыз. Сез китаплардан, гәзитләрдән һәм төрле сәхифәләрдән кирәкле өзекләрне ала аласыз.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Өзекләр",
+ "cite-ve-dialogbutton-reference-full-label": "Гади форма",
+ "cite-ve-dialogbutton-reference-title": "Искәрмә",
+ "cite-ve-dialogbutton-reference-tooltip": "Төп",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Искәрмәләр исемлеге",
+ "cite-ve-reference-input-placeholder": "Әлеге сылтамада эзләү",
+ "cite-ve-referenceslist-isempty": "Әлеге биттә « $1 » төркеме белән сылтамалар юк.",
+ "cite-ve-referenceslist-isempty-default": "Әлеге биттә исемлеккә кертер өчен сылтамалар юк.",
+ "cite-ve-referenceslist-missingref": "Әлеге сылтама калыпта гына яки аерым блокта гына билгеләнә, һәм хәзерге вакытта аны чыганак код режимында гына үзгәртеп була.",
+ "cite-ve-toolbar-group-label": "Чыганаклар",
+ "cite-ve-othergroup-item": "$1 искәрмә"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/tt.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/tt.json
new file mode 100644
index 00000000..b772aeb6
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/tt.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ilnur efende"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/tyv.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/tyv.json
new file mode 100644
index 00000000..9ebef43b
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/tyv.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Agilight",
+ "Монгуш Салим"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/tzm.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/tzm.json
new file mode 100644
index 00000000..af00f9c7
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/tzm.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Tifinaghes"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/udm.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/udm.json
new file mode 100644
index 00000000..6073cfde
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/udm.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "AlnashPiyash2"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ug-arab.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ug-arab.json
new file mode 100644
index 00000000..aec96224
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ug-arab.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Sahran",
+ "Tel'et",
+ "Tifinaghes"
+ ]
+ },
+ "cite-ve-dialog-reference-options-section": "تاللانما",
+ "cite-ve-dialog-reference-title": "نەقىل"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/uk.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/uk.json
new file mode 100644
index 00000000..7011106b
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/uk.json
@@ -0,0 +1,67 @@
+{
+ "@metadata": {
+ "authors": [
+ "AS",
+ "Aced",
+ "Ahonc",
+ "Andriykopanytsia",
+ "Base",
+ "Perohanych",
+ "RLuts",
+ "Sahran",
+ "Sergento",
+ "Steve.rusyn",
+ "SteveR",
+ "Tel'et",
+ "Tifinaghes",
+ "Ата",
+ "NataChe",
+ "Piramidion",
+ "Alex Blokha",
+ "A1",
+ "Dars"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "null",
+ "visualeditor-cite-tool-name-book": "Книга",
+ "visualeditor-cite-tool-name-journal": "Журнал",
+ "visualeditor-cite-tool-name-news": "Новини",
+ "visualeditor-cite-tool-name-web": "Веб-сайт",
+ "cite-tool-definition.json": "null",
+ "cite-ve-changedesc-ref-group-both": "Групу приміток змінено з «$1» на «$2»",
+ "cite-ve-changedesc-ref-group-from": "Групу приміток змінено з «$1» на загальну групу",
+ "cite-ve-changedesc-ref-group-to": "Групу приміток змінено із загальної групи на «$1»",
+ "cite-ve-changedesc-reflist-group-both": "Групу списку приміток змінено з «$1» на «$2»",
+ "cite-ve-changedesc-reflist-group-from": "Групу списку приміток змінено з «$1» на загальну групу",
+ "cite-ve-changedesc-reflist-group-to": "Групу списку приміток змінено із загальної групи на «$1»",
+ "cite-ve-changedesc-reflist-item-id": "Покажчик приміток змінився",
+ "cite-ve-dialog-reference-editing-reused": "Ця примітка використовується $1 {{PLURAL:$1|раз|рази|разів}} на цій сторінці.",
+ "cite-ve-dialog-reference-options-group-label": "Використати цю групу",
+ "cite-ve-dialog-reference-options-group-placeholder": "Загальні посилання",
+ "cite-ve-dialog-reference-options-name-label": "Повторно використати з цією назвою",
+ "cite-ve-dialog-reference-options-responsive-label": "Використовувати розкладку чутливих стовпців",
+ "cite-ve-dialog-reference-options-section": "Параметри",
+ "cite-ve-dialog-reference-placeholder": "Напишіть або вставте свою примітку сюди, або ж вставте шаблон джерела.",
+ "cite-ve-dialog-reference-title": "Примітка",
+ "cite-ve-dialog-reference-useexisting-full-label": "Повторно використати примітку, що вже існує на цій сторінці",
+ "cite-ve-dialog-reference-useexisting-label": "Використовувати наявну примітку",
+ "cite-ve-dialog-reference-useexisting-tool": "Повторне використання",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Список загальних приміток",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Список приміток групи «$1»",
+ "cite-ve-dialog-referenceslist-title": "Список приміток",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Покращуйте Ваш контент, додаючи джерела інформації. Ви можете посилатися на книжки, газети і веб-сайти.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Примітки",
+ "cite-ve-dialogbutton-reference-full-label": "Звичайний вигляд",
+ "cite-ve-dialogbutton-reference-title": "Посилання",
+ "cite-ve-dialogbutton-reference-tooltip": "Базовий",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Список приміток",
+ "cite-ve-reference-input-placeholder": "Пошук у поточних примітках",
+ "cite-ve-referenceslist-isempty": "На цій сторінці немає приміток групи «$1», які можна було б внести до цього списку.",
+ "cite-ve-referenceslist-isempty-default": "На цій сторінці немає приміток, які можна було б внести до цього списку.",
+ "cite-ve-referenceslist-missingref": "Ця примітка визначена у шаблоні або іншому генерованому блоці, і на даний момент її можна редагувати лише в режимі редагування коду.",
+ "cite-ve-referenceslist-missingreflist": "Список приміток генерується шаблоном, наразі його можна редагувати лише в режимі редагування вікірозмітки.",
+ "cite-ve-toolbar-group-label": "Цитувати",
+ "cite-ve-othergroup-item": "$1 посилання",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Примітки",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Назва групи приміток: «$1»"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/ur.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ur.json
new file mode 100644
index 00000000..2d48ce14
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/ur.json
@@ -0,0 +1,37 @@
+{
+ "@metadata": {
+ "authors": [
+ "Noor2020",
+ "පසිඳු කාවින්ද",
+ "عثمان خان شاہ",
+ "Syedalinaqinaqvi",
+ "عرفان ارشد",
+ "Obaid Raza",
+ "Muhammad Shuaib"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "خالی",
+ "visualeditor-cite-tool-name-book": "کتاب",
+ "visualeditor-cite-tool-name-journal": "جریدہ",
+ "visualeditor-cite-tool-name-news": "خبر",
+ "visualeditor-cite-tool-name-web": "ویب سائٹ",
+ "cite-tool-definition.json": "خالی",
+ "cite-ve-dialog-reference-options-group-label": "اس گروہ کو استعمال کریں",
+ "cite-ve-dialog-reference-options-group-placeholder": "عمومی حوالہ جات",
+ "cite-ve-dialog-reference-options-name-label": "اس نام کو دوبارہ استعمال کریں",
+ "cite-ve-dialog-reference-options-section": "اختیارات",
+ "cite-ve-dialog-reference-title": "حوالہ",
+ "cite-ve-dialog-reference-useexisting-full-label": "اس صفحے میں پہلے سے موجود حوالے کو دوبارہ استعمال کریں",
+ "cite-ve-dialog-reference-useexisting-tool": "دوبارہ استعمال کریں",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "عمومی حوالہ جات کی فہرست",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "گروہ «$1» کے حوالوں کی فہرست",
+ "cite-ve-dialog-referenceslist-title": "حوالہ جات کی فہرست",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "معلومات کے مآخذ شامل کرکے اپنے مواد کو مزید بہتر بنائیں۔ آپ کتابوں، اخبارات اور ویب سائٹ کے حوالے درج کر سکتے ہیں۔",
+ "cite-ve-dialogbutton-reference-full-label": "ابتدائی شکل",
+ "cite-ve-dialogbutton-reference-title": "حوالہ",
+ "cite-ve-dialogbutton-reference-tooltip": "ابتدائی",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "حوالہ جات کی فہرست",
+ "cite-ve-toolbar-group-label": "حوالہ",
+ "cite-ve-othergroup-item": "$1 حوالہ",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "حوالہ جات"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/uz.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/uz.json
new file mode 100644
index 00000000..87a58281
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/uz.json
@@ -0,0 +1,19 @@
+{
+ "@metadata": {
+ "authors": [
+ "CoderSI",
+ "Noor2020",
+ "Sociologist",
+ "පසිඳු කාවින්ද"
+ ]
+ },
+ "cite-ve-dialog-reference-options-group-label": "Ushbu guruhdan foydalanish",
+ "cite-ve-dialog-reference-options-name-label": "Ushbu nom bilan takroran foydalanish",
+ "cite-ve-dialog-reference-options-section": "Moslamalar",
+ "cite-ve-dialog-reference-title": "Izoh",
+ "cite-ve-dialog-reference-useexisting-label": "Mavjud izohdan foydalanish",
+ "cite-ve-dialog-referenceslist-title": "Izohlar roʻyxati",
+ "cite-ve-dialogbutton-reference-tooltip": "Izoh",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Izohlar roʻyxati",
+ "cite-ve-reference-input-placeholder": "Siz qanaqa dalil keltirmoqchisiz?"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/vec.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/vec.json
new file mode 100644
index 00000000..02147be2
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/vec.json
@@ -0,0 +1,27 @@
+{
+ "@metadata": {
+ "authors": [
+ "Candalua",
+ "GatoSelvadego",
+ "Gloria sah"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Libro",
+ "visualeditor-cite-tool-name-journal": "Giornàl",
+ "visualeditor-cite-tool-name-news": "Notisie",
+ "visualeditor-cite-tool-name-web": "Sito web",
+ "cite-ve-dialog-reference-options-group-label": "Dopara sto grupo",
+ "cite-ve-dialog-reference-options-name-label": "Ri-dopara sto nòme",
+ "cite-ve-dialog-reference-options-section": "Opsion",
+ "cite-ve-dialog-reference-title": "Nòda",
+ "cite-ve-dialog-reference-useexisting-label": "Dopara un riferimento existente",
+ "cite-ve-dialog-reference-useexisting-tool": "Dòpara da novo",
+ "cite-ve-dialog-referenceslist-title": "Elenco nòde",
+ "cite-ve-dialogbutton-reference-tooltip": "Nòda",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Elenco nòde",
+ "cite-ve-reference-input-placeholder": "A cosa se dexidera far riferimento?",
+ "cite-ve-referenceslist-isempty": "No xe prexenti riferimenti co'l grupo \"$1\" so sta pàjina da includare in sto elenco.",
+ "cite-ve-referenceslist-isempty-default": "No xe prexenti riferimenti so sta pàjina da includare in sto elenco.",
+ "cite-ve-referenceslist-missingref": "Sto riferimento el xe definìo inte un modèl o inte 'n altro bloco xenerà e par deso el pol èsar canbià soło che in modałità sorxente.",
+ "cite-ve-toolbar-group-label": "Citasion"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/vi.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/vi.json
new file mode 100644
index 00000000..bcc22cde
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/vi.json
@@ -0,0 +1,52 @@
+{
+ "@metadata": {
+ "authors": [
+ "Cheers!",
+ "Jdforrester",
+ "Minh Nguyen",
+ "Trần Nguyễn Minh Huy",
+ "Dinhxuanduyet",
+ "KhangND",
+ "Anh88",
+ "Quenhitran",
+ "Nguyên Lê"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Sách",
+ "visualeditor-cite-tool-name-journal": "Tạp chí",
+ "visualeditor-cite-tool-name-news": "Tin tức",
+ "visualeditor-cite-tool-name-web": "Trang Web",
+ "cite-ve-changedesc-ref-group-both": "Nhóm chú thích đổi từ “$1” thành “$2”",
+ "cite-ve-changedesc-ref-group-from": "Nhóm chú thích đổi từ “$1” thành nhóm chung",
+ "cite-ve-changedesc-ref-group-to": "Nhóm chú thích đổi từ nhóm chung thành “$1”",
+ "cite-ve-changedesc-reflist-group-both": "Nhóm danh sách chú thích đổi từ “$1” thành “$2”",
+ "cite-ve-changedesc-reflist-group-from": "Nhóm danh sách chú thích đổi từ “$1” thành nhóm chung",
+ "cite-ve-changedesc-reflist-group-to": "Nhóm danh sách chú thích đổi từ nhóm chung thành “$1”",
+ "cite-ve-dialog-reference-editing-reused": "Chú thích này được sử dụng $1 lần trên trang này.",
+ "cite-ve-dialog-reference-options-group-label": "Nhóm cước chú",
+ "cite-ve-dialog-reference-options-group-placeholder": "Tham khảo chung",
+ "cite-ve-dialog-reference-options-name-label": "ID để tái sử dụng cước chú",
+ "cite-ve-dialog-reference-options-section": "Tùy chọn",
+ "cite-ve-dialog-reference-placeholder": "Ghi hoặc dán chú thích vào đây, hoặc nhúng bản mẫu chú thích.",
+ "cite-ve-dialog-reference-title": "Chú thích tham khảo",
+ "cite-ve-dialog-reference-useexisting-full-label": "Sử dụng lại một chú thích đã tồn tại trên trang này",
+ "cite-ve-dialog-reference-useexisting-label": "Sử dụng một nguồn có sẵn",
+ "cite-ve-dialog-reference-useexisting-tool": "Tái sử dụng",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "Danh sách chú thích chung",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "Danh sách chú thích nhóm “$1”",
+ "cite-ve-dialog-referenceslist-title": "Danh sách chú thích tham khảo",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "Cải thiện nội dung của bạn bằng cách thêm nguồn gốc để lấy thông tin. Bạn có thể chú thích các cuốn sách, tờ báo, và trang Web.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "Chú thích",
+ "cite-ve-dialogbutton-reference-full-label": "Biểu mẫu cơ bản",
+ "cite-ve-dialogbutton-reference-title": "Chú thích",
+ "cite-ve-dialogbutton-reference-tooltip": "Cơ bản",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Danh sách chú thích tham khảo",
+ "cite-ve-reference-input-placeholder": "Tìm kiếm trong chú thích hiện tại",
+ "cite-ve-referenceslist-isempty": "Trang này không có chú thích tham khảo thuộc nhóm “$1” để liệt kê tại đây.",
+ "cite-ve-referenceslist-isempty-default": "Trang này không có chú thích tham khảo để liệt kê tại đây.",
+ "cite-ve-referenceslist-missingref": "Chú thích tham khảo này được định rõ trong một bản mẫu hoặc phần nội dung tự động khác. Hiện nay chỉ có thể sửa đổi chú thích này trong chế độ sửa mã nguồn.",
+ "cite-ve-toolbar-group-label": "Chú thích nguồn",
+ "cite-ve-othergroup-item": "$1 chú thích",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "Tham khảo",
+ "visualeditor-internal-list-diff-group-name-mwreference": "Tên nhóm chú thích: “$1”"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/vo.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/vo.json
new file mode 100644
index 00000000..de1a99db
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/vo.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "Malafaya"
+ ]
+ },
+ "cite-ve-dialog-reference-options-group-label": "Gebön grupi at",
+ "cite-ve-dialog-reference-options-section": "Välots",
+ "cite-ve-dialog-reference-title": "Jon",
+ "cite-ve-dialog-reference-useexisting-label": "Gebön joni dabinöl",
+ "cite-ve-dialog-referenceslist-title": "Jonalised",
+ "cite-ve-dialogbutton-reference-tooltip": "Jon",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "Jonalised"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/vro.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/vro.json
new file mode 100644
index 00000000..ae335423
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/vro.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Võrok"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/wa.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/wa.json
new file mode 100644
index 00000000..53baf52a
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/wa.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Srtxg"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Live"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/war.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/war.json
new file mode 100644
index 00000000..5613b6a6
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/war.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "JinJian"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "Libro",
+ "visualeditor-cite-tool-name-journal": "Journal",
+ "visualeditor-cite-tool-name-news": "Mga notisya",
+ "visualeditor-cite-tool-name-web": "Websayt",
+ "cite-ve-dialog-reference-options-group-label": "Gamita ini nga grupo",
+ "cite-ve-dialog-reference-options-section": "Mga pagpipilian",
+ "cite-ve-dialog-reference-useexisting-tool": "Gamita utro",
+ "cite-ve-dialogbutton-reference-title": "Reperensya"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/wo.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/wo.json
new file mode 100644
index 00000000..359aea12
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/wo.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ibou"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/wuu.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/wuu.json
new file mode 100644
index 00000000..04f78ceb
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/wuu.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Poiuyt",
+ "十弌",
+ "反共复国"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/xmf.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/xmf.json
new file mode 100644
index 00000000..411c8de0
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/xmf.json
@@ -0,0 +1,29 @@
+{
+ "@metadata": {
+ "authors": [
+ "Silovan",
+ "David1010"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "წიგნი",
+ "visualeditor-cite-tool-name-journal": "ჟურნალი",
+ "visualeditor-cite-tool-name-news": "სიახლეები",
+ "visualeditor-cite-tool-name-web": "ვებ-გვერდი",
+ "cite-ve-dialog-reference-editing-reused": "თე რსხილი ხასჷლას {{PLURAL:$1|-შა}} გიმირინუაფუ.",
+ "cite-ve-dialog-reference-options-group-label": "თე ბუნა გიმორინაფა",
+ "cite-ve-dialog-reference-options-group-placeholder": "ზოგადი წყუეფი",
+ "cite-ve-dialog-reference-options-name-label": "კინე მაჟირაშა გიმორინაფა თე ჯოხოთ",
+ "cite-ve-dialog-reference-options-section": "პარამეტრეფი",
+ "cite-ve-dialog-reference-title": "სქოლიო",
+ "cite-ve-dialog-reference-useexisting-full-label": "ხასჷლას უკვე არსებული წყუშ კინ მაჟირაშა გიმორინაფა",
+ "cite-ve-dialog-reference-useexisting-label": "არსებული სქოლიოშ გიმორინაფა",
+ "cite-ve-dialog-reference-useexisting-tool": "კინ გიმორინაფა",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "თარი სქოლიოშ ერკებული",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "ბუნა „$1“-იშ სქოლიოშ ერკებული",
+ "cite-ve-dialog-referenceslist-title": "სქოლიოშ ერკებული",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "ციტატეფი",
+ "cite-ve-dialogbutton-reference-full-label": "უბრალო ფორმა",
+ "cite-ve-dialogbutton-reference-title": "სქოლიო",
+ "cite-ve-dialogbutton-reference-tooltip": "ოგაჭგაფუე",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "სქოლიოშ ერკებული"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/yi.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/yi.json
new file mode 100644
index 00000000..f36b9f6a
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/yi.json
@@ -0,0 +1,44 @@
+{
+ "@metadata": {
+ "authors": [
+ "Malafaya",
+ "פוילישער",
+ "十弌"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "נול",
+ "visualeditor-cite-tool-name-book": "בוך",
+ "visualeditor-cite-tool-name-journal": "זשורנאל",
+ "visualeditor-cite-tool-name-news": "נײַעס",
+ "visualeditor-cite-tool-name-web": "וועבזײַטל",
+ "cite-tool-definition.json": "נול",
+ "cite-ve-changedesc-reflist-group-both": "רעפֿערענצן ליסטע גרופע געענדערט פֿון \"$1\" צו \"$2\"",
+ "cite-ve-changedesc-reflist-item-id": "רעפֿערענץ-אינדעקס געענדערט",
+ "cite-ve-dialog-reference-editing-reused": "דער רעפערענץ ווערט געניצט $1 {{PLURAL:$1|מאל}} אויף דעם בלאט.",
+ "cite-ve-dialog-reference-options-group-label": "ניצן די גרופע",
+ "cite-ve-dialog-reference-options-group-placeholder": "אלגעמיינע רעפערענצן",
+ "cite-ve-dialog-reference-options-name-label": "ווידערניצן מיט דעם נאמען",
+ "cite-ve-dialog-reference-options-section": "ברירות",
+ "cite-ve-dialog-reference-placeholder": "שרייבט אדער קלעבט אייער רעפֿערענץ דא, אדער לייגט אריין א ציטאט־מוסטער.",
+ "cite-ve-dialog-reference-title": "רעפערענץ",
+ "cite-ve-dialog-reference-useexisting-full-label": "ווידערניצן א ציטירונג וואס אעז שוין פאראן אויף דעם בלאט",
+ "cite-ve-dialog-reference-useexisting-label": "ניצן אן עקזיסטירנדן רעפערענץ",
+ "cite-ve-dialog-reference-useexisting-tool": "ווידערניצן",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "ליסטע פון אלגעמיינע רעפערענצן",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "ליסטע פון רעפערענצן פאר גרופע \"$1\"",
+ "cite-ve-dialog-referenceslist-title": "רעפערענצן ליסטע",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "פארבעסערט אייער אינהאלט דורך צולייגן קוואלן פון אינפארמאציע. איר קענט ציטירן פון ביכער, צייטונגען און וועבזייטלעך.",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "ציטירונגען",
+ "cite-ve-dialogbutton-reference-full-label": "באזיס־פארעם",
+ "cite-ve-dialogbutton-reference-title": "רעפערענץ",
+ "cite-ve-dialogbutton-reference-tooltip": "איינפאך",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "רעפערענצן ליסטע",
+ "cite-ve-reference-input-placeholder": "זוכן אינערהאלב אקטועלע ציטירונגען",
+ "cite-ve-referenceslist-isempty": "נישט פֿאראן קיין רעפערענצן מיט דער גרופע \"$1\" אויף דעם בלאט אריינצושליסן אין דער דאזיקער ליסטע.",
+ "cite-ve-referenceslist-isempty-default": "נישט פאראן קיין רעפערענצן אויף דעם בלאט אריינצושליסן אין דער ליסטע.",
+ "cite-ve-referenceslist-missingref": "דער דאזיקער רעפֿערענצן איז דעפֿינירט אין א מוסטער אדער אנדער גענערירטן בלאק, און דערווייל קען ווערן רעדאקטירט נאר אין קוואלטעקסט מאדע.",
+ "cite-ve-toolbar-group-label": "ציטירן",
+ "cite-ve-othergroup-item": "$1 רעפֿערענץ",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "רעפערענצן",
+ "visualeditor-internal-list-diff-group-name-mwreference": "רעפֿערענץ גרופע נאמען: \"$1\""
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/yo.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/yo.json
new file mode 100644
index 00000000..2a72b2f6
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/yo.json
@@ -0,0 +1,7 @@
+{
+ "@metadata": {
+ "authors": [
+ "Demmy"
+ ]
+ }
+} \ No newline at end of file
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/yue.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/yue.json
new file mode 100644
index 00000000..b1afb207
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/yue.json
@@ -0,0 +1,35 @@
+{
+ "@metadata": {
+ "authors": [
+ "Deryck Chan",
+ "William915",
+ "CRCHF",
+ "Ktchankt"
+ ]
+ },
+ "visualeditor-cite-tool-name-book": "書",
+ "visualeditor-cite-tool-name-journal": "期刊",
+ "visualeditor-cite-tool-name-news": "新聞",
+ "visualeditor-cite-tool-name-web": "網站",
+ "cite-ve-dialog-reference-editing-reused": "喺呢版入面,呢個參考用過$1{{PLURAL:$1|次}}。",
+ "cite-ve-dialog-reference-options-group-label": "用呢組",
+ "cite-ve-dialog-reference-options-group-placeholder": "一般參考",
+ "cite-ve-dialog-reference-options-name-label": "跟呢個名翻用",
+ "cite-ve-dialog-reference-options-section": "選項",
+ "cite-ve-dialog-reference-title": "參考",
+ "cite-ve-dialog-reference-useexisting-full-label": "將呢版入面經已有嘅引用再用多次",
+ "cite-ve-dialog-reference-useexisting-label": "用現成參考",
+ "cite-ve-dialog-reference-useexisting-tool": "翻用",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "一般參考一覽",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "組「$1」嘅參考一覽",
+ "cite-ve-dialog-referenceslist-title": "參考一覽",
+ "cite-ve-dialogbutton-reference-full-label": "基本表格",
+ "cite-ve-dialogbutton-reference-title": "參考",
+ "cite-ve-dialogbutton-reference-tooltip": "基本",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "參考一覽",
+ "cite-ve-reference-input-placeholder": "你想引用啲乜?",
+ "cite-ve-referenceslist-isempty": "呢版冇「$1」組嘅參考資料畀你加落呢張表道。",
+ "cite-ve-referenceslist-isempty-default": "呢版冇參考資料畀你加落呢張表道。",
+ "cite-ve-referenceslist-missingref": "呢個註腳係用模或者其他組件砌成嘅,現時淨係可以喺源碼模式修改。",
+ "cite-ve-toolbar-group-label": "引用"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/zh-hans.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/zh-hans.json
new file mode 100644
index 00000000..9d62f7c0
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/zh-hans.json
@@ -0,0 +1,74 @@
+{
+ "@metadata": {
+ "authors": [
+ "Anakmalaysia",
+ "Bencmq",
+ "Demmy",
+ "Hydra",
+ "Hzy980512",
+ "Liangent",
+ "Liuxinyu970226",
+ "Qiyue2001",
+ "Shirayuki",
+ "Shizhao",
+ "TianyinLee",
+ "Xiaomingyan",
+ "Yfdyh000",
+ "Zhangjintao",
+ "乌拉跨氪",
+ "Hudafu",
+ "Mywood",
+ "Impersonator 1",
+ "Duolaimi",
+ "Byfserag",
+ "Linforest",
+ "Cwek",
+ "夢蝶葬花"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "空",
+ "visualeditor-cite-tool-name-book": "图书",
+ "visualeditor-cite-tool-name-journal": "期刊",
+ "visualeditor-cite-tool-name-news": "新闻",
+ "visualeditor-cite-tool-name-web": "网站",
+ "cite-tool-definition.json": "空",
+ "cite-ve-changedesc-ref-group-both": "已将参考文献组从“$1”更改为“$2”",
+ "cite-ve-changedesc-ref-group-from": "已将参考文献组从“$1”更改为一般组",
+ "cite-ve-changedesc-ref-group-to": "已将参考文献组从一般组更改为“$1”",
+ "cite-ve-changedesc-reflist-group-both": "已将参考列表组从“$1”更改为“$2”",
+ "cite-ve-changedesc-reflist-group-from": "已将参考列表组从“$1”更改为一般组",
+ "cite-ve-changedesc-reflist-group-to": "已将参考列表组从一般组更改为“$1”",
+ "cite-ve-changedesc-reflist-responsive-set": "参考列表已更改为在响应栏中显示",
+ "cite-ve-changedesc-reflist-responsive-unset": "参考列表已更改为只在一栏中显示",
+ "cite-ve-changedesc-reflist-item-id": "参考索引已更改",
+ "cite-ve-dialog-reference-editing-reused": "这个引用在此页面使用了$1{{PLURAL:$1|次}}。",
+ "cite-ve-dialog-reference-options-group-label": "使用该组",
+ "cite-ve-dialog-reference-options-group-placeholder": "一般参考文献",
+ "cite-ve-dialog-reference-options-name-label": "以该名称重复使用",
+ "cite-ve-dialog-reference-options-responsive-label": "使用响应列布局",
+ "cite-ve-dialog-reference-options-section": "选项",
+ "cite-ve-dialog-reference-placeholder": "在此写下或粘贴您的参考资料,或插入引用模板。",
+ "cite-ve-dialog-reference-title": "参考文献",
+ "cite-ve-dialog-reference-useexisting-full-label": "再次使用已存在于此页面的引用",
+ "cite-ve-dialog-reference-useexisting-label": "使用已有的参考文献",
+ "cite-ve-dialog-reference-useexisting-tool": "复用",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "一般参考文献列表",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "用于组“$1”的参考文献列表",
+ "cite-ve-dialog-referenceslist-title": "参考文献列表",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "通过添加信息来源以改进您的内容。您可以引用自图书、报纸和网站。",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "引用",
+ "cite-ve-dialogbutton-reference-full-label": "基本表格",
+ "cite-ve-dialogbutton-reference-title": "参考文献",
+ "cite-ve-dialogbutton-reference-tooltip": "基本",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "参考文献列表",
+ "cite-ve-reference-input-placeholder": "在当前引用中搜索",
+ "cite-ve-referenceslist-isempty": "本页面没有可包含在该列表中的组为“$1”的参考文献。",
+ "cite-ve-referenceslist-isempty-default": "本页面没有可包含在该列表中的参考文献。",
+ "cite-ve-referenceslist-missingref": "该参考文献定义在模板或其他生成块中,目前只能在源代码模式下编辑。",
+ "cite-ve-referenceslist-missingref-in-list": "该参考文献定义在模板或其他生成块中,目前只能在源代码模式下编辑。",
+ "cite-ve-referenceslist-missingreflist": "此参考资料列表由模板生成,并且目前只能在源代码模式中编辑。",
+ "cite-ve-toolbar-group-label": "引用",
+ "cite-ve-othergroup-item": "$1参考文献",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "参考文献",
+ "visualeditor-internal-list-diff-group-name-mwreference": "参考文献组名:“$1”"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/i18n/zh-hant.json b/www/wiki/extensions/Cite/modules/ve-cite/i18n/zh-hant.json
new file mode 100644
index 00000000..35d0331f
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/i18n/zh-hant.json
@@ -0,0 +1,71 @@
+{
+ "@metadata": {
+ "authors": [
+ "Anakmalaysia",
+ "Ch.Andrew",
+ "Hydra",
+ "Justincheng12345",
+ "Liflon",
+ "Liuxinyu970226",
+ "Qiyue2001",
+ "Radish10cm",
+ "Shirayuki",
+ "Simon Shek",
+ "Spring Roll Conan",
+ "Waihorace",
+ "EagerLin",
+ "Cwlin0416",
+ "Vincent Liu",
+ "LNDDYL",
+ "Deryck Chan",
+ "Cwek",
+ "Zhxy 519",
+ "Kly"
+ ]
+ },
+ "visualeditor-cite-tool-definition.json": "空",
+ "visualeditor-cite-tool-name-book": "書籍",
+ "visualeditor-cite-tool-name-journal": "期刊",
+ "visualeditor-cite-tool-name-news": "新聞",
+ "visualeditor-cite-tool-name-web": "網站",
+ "cite-tool-definition.json": "空",
+ "cite-ve-changedesc-ref-group-both": "參考文獻群組已從「$1」更改為「$2」",
+ "cite-ve-changedesc-ref-group-from": "參考文獻群組已從「$1」更改一般群組",
+ "cite-ve-changedesc-ref-group-to": "參考文獻群組已從一般群組更改為「$1」",
+ "cite-ve-changedesc-reflist-group-both": "參考文獻清單群組已從「$1」更改為「$2」",
+ "cite-ve-changedesc-reflist-group-from": "參考文獻清單群組已從「$1」更改一般群組",
+ "cite-ve-changedesc-reflist-group-to": "參考文獻清單群組已從一般群組更改為「$1」",
+ "cite-ve-changedesc-reflist-responsive-set": "僅在回應欄位裡顯示參考文獻清單的更改",
+ "cite-ve-changedesc-reflist-responsive-unset": "僅在一欄裡顯示參考文獻清單的更改",
+ "cite-ve-changedesc-reflist-item-id": "參考文獻索引已更改",
+ "cite-ve-dialog-reference-editing-reused": "此頁面已使用此參考文獻 $1 {{PLURAL:$1|次}}。",
+ "cite-ve-dialog-reference-options-group-label": "使用此群組",
+ "cite-ve-dialog-reference-options-group-placeholder": "一般參考文獻",
+ "cite-ve-dialog-reference-options-name-label": "以此名稱再使用",
+ "cite-ve-dialog-reference-options-responsive-label": "使用響應式欄位佈局",
+ "cite-ve-dialog-reference-options-section": "選項",
+ "cite-ve-dialog-reference-placeholder": "在此編寫或貼上您的參考文獻,或是插入引用模板。",
+ "cite-ve-dialog-reference-title": "參考文獻",
+ "cite-ve-dialog-reference-useexisting-full-label": "重複使用已經存在於此頁的引用",
+ "cite-ve-dialog-reference-useexisting-label": "使用現有的參考文獻",
+ "cite-ve-dialog-reference-useexisting-tool": "再利用",
+ "cite-ve-dialog-referenceslist-contextitem-description-general": "一般參考文獻清單",
+ "cite-ve-dialog-referenceslist-contextitem-description-named": "群組 \"$1\" 的參考文獻清單",
+ "cite-ve-dialog-referenceslist-title": "參考文獻清單",
+ "cite-ve-dialogbutton-citation-educationpopup-text": "透過增加來源資訊來改善您的內容,您可以引用自書籍、報章雜誌與網站。",
+ "cite-ve-dialogbutton-citation-educationpopup-title": "引用",
+ "cite-ve-dialogbutton-reference-full-label": "基礎表單",
+ "cite-ve-dialogbutton-reference-title": "參考文獻",
+ "cite-ve-dialogbutton-reference-tooltip": "基本",
+ "cite-ve-dialogbutton-referenceslist-tooltip": "參考文獻清單",
+ "cite-ve-reference-input-placeholder": "搜尋目前的引用",
+ "cite-ve-referenceslist-isempty": "此頁面中無群組為 \"$1\" 的參考文獻可加入引用清單。",
+ "cite-ve-referenceslist-isempty-default": "此頁面目前無任何參考文獻可加入引用清單。",
+ "cite-ve-referenceslist-missingref": "此參考文獻已定義於模板或其它產生的區塊上,目前只能使用原始碼模式來編輯。",
+ "cite-ve-referenceslist-missingref-in-list": "此參考文獻已定義於模板或其它產生的區塊上,目前只能使用原始碼模式來預覽。",
+ "cite-ve-referenceslist-missingreflist": "此參考文獻清單是由模板所產生,並僅可在原始碼模式下編輯。",
+ "cite-ve-toolbar-group-label": "引用",
+ "cite-ve-othergroup-item": "$1 參考文獻",
+ "visualeditor-internal-list-diff-default-group-name-mwreference": "參考文獻",
+ "visualeditor-internal-list-diff-group-name-mwreference": "參考文獻群組名稱:「$1」"
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-book.svg b/www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-book.svg
new file mode 100644
index 00000000..97112dca
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-book.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 2 20 20">
+ <path d="M14.25 4c-1.033 0-1.875 1.109-2.261 1.822C11.578 5.109 10.748 4 9.729 4H2v15h7c.938 0 1.844 1.422 2 2h2c.203-.609.938-2 2-2h7V4h-7.75zM11 18c-.25-.469-1.203-1-2-1l-4.016.016.008-11.024 4.43-.008C10.362 5.984 11 7.162 11 8v10zm8.016-.984L15 17c-.734 0-1.719.445-2 1V8c0-.839.63-2.031 1.594-2.031l4.422.016v11.031z"/>
+</svg>
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-journal-ltr.svg b/www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-journal-ltr.svg
new file mode 100644
index 00000000..031ac3f0
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-journal-ltr.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 2 20 20">
+ <path id="journal" d="M5 4v17h12c1 0 2-1 2-2V4H5zm12 14c0 1-1 1-1 1H8V6h9v12z"/>
+ <path id="text1" d="M10 9h5v2h-5z"/>
+ <path id="text2" d="M10 12h5v2h-5z"/>
+</svg>
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-journal-rtl.svg b/www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-journal-rtl.svg
new file mode 100644
index 00000000..30b74124
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-journal-rtl.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 2 20 20">
+ <path id="journal" d="M19 4v17H7c-1 0-2-1-2-2V4h14zM7 18c0 1 1 1 1 1h8V6H7v12z"/>
+ <path id="text1" d="M14 9H9v2h5z"/>
+ <path id="text2" d="M14 12H9v2h5z"/>
+</svg>
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-news-ltr.svg b/www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-news-ltr.svg
new file mode 100644
index 00000000..64deb4f9
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-news-ltr.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 2 20 20">
+ <path id="paper" d="M21 21H4c-1 0-2-1-2-2V4h19v17zM4 6v12.278c0 .397.325.722.722.722h14.28L19 6H4z"/>
+ <path id="banner" d="M6 8h11v3H6z"/>
+ <path id="text1" d="M12 12h5v2h-5z"/>
+ <path id="text2" d="M6 12h5v2H6z"/>
+ <path id="text3" d="M12 15h5v2h-5z"/>
+ <path id="text4" d="M6 15h5v2H6z"/>
+</svg>
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-news-rtl.svg b/www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-news-rtl.svg
new file mode 100644
index 00000000..211343ad
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-news-rtl.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 2 20 20">
+ <path id="paper" d="M2 21h17c1 0 2-1 2-2V4H2v17zM19 6v12.278a.724.724 0 0 1-.722.722H3.998L4 6h15z"/>
+ <path id="banner" d="M17 8H6v3h11z"/>
+ <path id="text1" d="M11 12H6v2h5z"/>
+ <path id="text2" d="M17 12h-5v2h5z"/>
+ <path id="text3" d="M11 15H6v2h5z"/>
+ <path id="text4" d="M17 15h-5v2h5z"/>
+</svg>
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-web.svg b/www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-web.svg
new file mode 100644
index 00000000..a45256c7
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/icons/ref-cite-web.svg
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 2 20 20">
+ <path id="laptop" d="M22.78 18.46L21 16V4H3v12l-1.757 2.463a.974.974 0 0 0-.157 1.043c.157.347.533.494.914.494h20c.382 0 .783-.148.94-.496a.976.976 0 0 0-.16-1.044zM4 18l1-2V6h14v10l1 2H4z"/>
+ <path id="window" d="M7 16h10V8H7v8zm2-2v-3h6v3H9z"/>
+</svg>
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/icons/reference-existing-ltr.svg b/www/wiki/extensions/Cite/modules/ve-cite/icons/reference-existing-ltr.svg
new file mode 100644
index 00000000..f0eddbd6
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/icons/reference-existing-ltr.svg
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 2 20 20">
+ <path id="fore-reference" d="M7 5v17h12c1 0 2-1 2-2V5H7zm12 14c0 1-1 1-1 1h-8V7h2v6l2-2 2 2V7h3v12z"/>
+ <path id="back-reference" d="M5 18h-.3C3.2 18 2 16.8 2 15.3V1.8h3V18zM2 1h16v2H2z"/>
+</svg>
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/icons/reference-existing-rtl.svg b/www/wiki/extensions/Cite/modules/ve-cite/icons/reference-existing-rtl.svg
new file mode 100644
index 00000000..1d21f332
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/icons/reference-existing-rtl.svg
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 2 20 20">
+ <path id="fore-reference" d="M17 5v17H5c-1 0-2-1-2-2V5h14zM5 19c0 1 1 1 1 1h8V7h-2v6l-2-2-2 2V7H5v12z"/>
+ <path id="back-reference" d="M19 18h.3c1.5 0 2.7-1.2 2.7-2.7V1.8h-3V18zm3-17H6v2h16z"/>
+</svg>
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/icons/reference-ltr.svg b/www/wiki/extensions/Cite/modules/ve-cite/icons/reference-ltr.svg
new file mode 100644
index 00000000..ae3911df
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/icons/reference-ltr.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 2 20 20">
+ <path d="M5 4v17h12c1 0 2-1 2-2V4H5zm12 14c0 1-1 1-1 1H8V6h2v6l2-2 2 2V6h3v12z"/>
+</svg>
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/icons/reference-rtl.svg b/www/wiki/extensions/Cite/modules/ve-cite/icons/reference-rtl.svg
new file mode 100644
index 00000000..245bb8d1
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/icons/reference-rtl.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 2 20 20">
+ <path d="M19 4v17H7c-1 0-2-1-2-2V4h14zM7 18c0 1 1 1 1 1h8V6h-2v6l-2-2-2 2V6H7v12z"/>
+</svg>
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/icons/references-ltr.svg b/www/wiki/extensions/Cite/modules/ve-cite/icons/references-ltr.svg
new file mode 100644
index 00000000..606094f1
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/icons/references-ltr.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 2 20 20">
+ <path d="M3 6v12h4V6H3zm3 10H4v-1h2v1zm0-3H4v-1h2v1zm2-7v12h4V6H8zm3 10H9v-1h2v1zm0-3H9v-1h2v1zm.934-5.353L18 18l3.449-2.021-6.065-10.354-3.45 2.022zm7.643 7.111l-1.726 1.012-.506-.862 1.725-1.012.507.862zM18.06 12.17l-1.725 1.011-.506-.862 1.726-1.012.505.863z"/>
+</svg>
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/icons/references-rtl.svg b/www/wiki/extensions/Cite/modules/ve-cite/icons/references-rtl.svg
new file mode 100644
index 00000000..87887836
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/icons/references-rtl.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 2 20 20">
+ <path d="M21.449 6v12h-4V6h4zm-3 10h2v-1h-2v1zm0-3h2v-1h-2v1zm-2-7v12h-4V6h4zm-3 10h2v-1h-2v1zm0-3h2v-1h-2v1zm-.934-5.353L6.449 18 3 15.979 9.065 5.625l3.45 2.022zm-7.643 7.111l1.726 1.012.506-.862-1.725-1.012-.507.862zm1.517-2.588l1.725 1.011.506-.862-1.726-1.012-.505.863z"/>
+</svg>
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.dm.Converter.test.js b/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.dm.Converter.test.js
new file mode 100644
index 00000000..a3410e8f
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.dm.Converter.test.js
@@ -0,0 +1,36 @@
+/*!
+ * VisualEditor DataModel Cite-specific Converter tests.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+QUnit.module( 've.dm.Converter (Cite)', ve.test.utils.mwEnvironment );
+
+QUnit.test( 'getModelFromDom', function ( assert ) {
+ var msg, caseItem,
+ cases = ve.dm.citeExample.domToDataCases;
+
+ for ( msg in cases ) {
+ caseItem = ve.copy( cases[ msg ] );
+ if ( caseItem.mwConfig ) {
+ mw.config.set( caseItem.mwConfig );
+ }
+
+ ve.test.utils.runGetModelFromDomTest( assert, caseItem, msg );
+ }
+} );
+
+QUnit.test( 'getDomFromModel', function ( assert ) {
+ var msg, caseItem,
+ cases = ve.dm.citeExample.domToDataCases;
+
+ for ( msg in cases ) {
+ caseItem = ve.copy( cases[ msg ] );
+ if ( caseItem.mwConfig ) {
+ mw.config.set( caseItem.mwConfig );
+ }
+
+ ve.test.utils.runGetDomFromModelTest( assert, caseItem, msg );
+ }
+} );
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.dm.InternalList.test.js b/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.dm.InternalList.test.js
new file mode 100644
index 00000000..78d3d10f
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.dm.InternalList.test.js
@@ -0,0 +1,237 @@
+/*!
+ * VisualEditor DataModel Cite-specific InternalList tests.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+QUnit.module( 've.dm.InternalList (Cite)', ve.test.utils.mwEnvironment );
+
+/* Tests */
+
+QUnit.test( 'addNode/removeNode', function ( assert ) {
+ var doc = ve.dm.citeExample.createExampleDocument( 'references' ),
+ newInternalList = new ve.dm.InternalList( doc ),
+ referenceNodes = [
+ doc.getDocumentNode().children[ 0 ].children[ 0 ],
+ doc.getDocumentNode().children[ 1 ].children[ 1 ],
+ doc.getDocumentNode().children[ 1 ].children[ 3 ],
+ doc.getDocumentNode().children[ 1 ].children[ 5 ],
+ doc.getDocumentNode().children[ 2 ].children[ 0 ],
+ doc.getDocumentNode().children[ 2 ].children[ 1 ]
+ ],
+ expectedNodes = {
+ 'mwReference/': {
+ keyedNodes: {
+ 'auto/0': [ referenceNodes[ 0 ] ],
+ 'literal/bar': [ referenceNodes[ 1 ], referenceNodes[ 3 ] ],
+ 'literal/:3': [ referenceNodes[ 2 ] ],
+ 'auto/1': [ referenceNodes[ 4 ] ]
+ },
+ firstNodes: [
+ referenceNodes[ 0 ],
+ referenceNodes[ 1 ],
+ referenceNodes[ 2 ],
+ referenceNodes[ 4 ]
+ ],
+ indexOrder: [ 0, 1, 2, 3 ],
+ uniqueListKeys: {},
+ uniqueListKeysInUse: {}
+ },
+ 'mwReference/foo': {
+ keyedNodes: {
+ 'auto/2': [ referenceNodes[ 5 ] ]
+ },
+ firstNodes: [ undefined, undefined, undefined, undefined, referenceNodes[ 5 ] ],
+ indexOrder: [ 4 ],
+ uniqueListKeys: {},
+ uniqueListKeysInUse: {}
+ }
+ };
+
+ assert.deepEqualWithNodeTree(
+ doc.internalList.nodes,
+ expectedNodes,
+ 'Document construction populates internal list correctly'
+ );
+
+ newInternalList.addNode( 'mwReference/', 'auto/0', 0, referenceNodes[ 0 ] );
+ newInternalList.addNode( 'mwReference/', 'literal/bar', 1, referenceNodes[ 1 ] );
+ newInternalList.addNode( 'mwReference/', 'literal/:3', 2, referenceNodes[ 2 ] );
+ newInternalList.addNode( 'mwReference/', 'literal/bar', 1, referenceNodes[ 3 ] );
+ newInternalList.addNode( 'mwReference/', 'auto/1', 3, referenceNodes[ 4 ] );
+ newInternalList.addNode( 'mwReference/foo', 'auto/2', 4, referenceNodes[ 5 ] );
+ newInternalList.onTransact();
+
+ assert.deepEqualWithNodeTree(
+ newInternalList.nodes,
+ expectedNodes,
+ 'Nodes added in order'
+ );
+
+ newInternalList = new ve.dm.InternalList( doc );
+
+ newInternalList.addNode( 'mwReference/foo', 'auto/2', 4, referenceNodes[ 5 ] );
+ newInternalList.addNode( 'mwReference/', 'auto/1', 3, referenceNodes[ 4 ] );
+ newInternalList.addNode( 'mwReference/', 'literal/bar', 1, referenceNodes[ 3 ] );
+ newInternalList.addNode( 'mwReference/', 'literal/:3', 2, referenceNodes[ 2 ] );
+ newInternalList.addNode( 'mwReference/', 'literal/bar', 1, referenceNodes[ 1 ] );
+ newInternalList.addNode( 'mwReference/', 'auto/0', 0, referenceNodes[ 0 ] );
+ newInternalList.onTransact();
+
+ assert.deepEqualWithNodeTree(
+ newInternalList.nodes,
+ expectedNodes,
+ 'Nodes added in reverse order'
+ );
+
+ newInternalList.removeNode( 'mwReference/', 'literal/bar', 1, referenceNodes[ 1 ] );
+ newInternalList.onTransact();
+
+ assert.deepEqualWithNodeTree(
+ newInternalList.nodes,
+ {
+ 'mwReference/': {
+ keyedNodes: {
+ 'auto/0': [ referenceNodes[ 0 ] ],
+ 'literal/bar': [ referenceNodes[ 3 ] ],
+ 'literal/:3': [ referenceNodes[ 2 ] ],
+ 'auto/1': [ referenceNodes[ 4 ] ]
+ },
+ firstNodes: [
+ referenceNodes[ 0 ],
+ referenceNodes[ 3 ],
+ referenceNodes[ 2 ],
+ referenceNodes[ 4 ]
+ ],
+ indexOrder: [ 0, 2, 1, 3 ],
+ uniqueListKeys: {},
+ uniqueListKeysInUse: {}
+ },
+ 'mwReference/foo': {
+ keyedNodes: {
+ 'auto/2': [ referenceNodes[ 5 ] ]
+ },
+ firstNodes: [ undefined, undefined, undefined, undefined, referenceNodes[ 5 ] ],
+ indexOrder: [ 4 ],
+ uniqueListKeys: {},
+ uniqueListKeysInUse: {}
+ }
+ },
+ 'Keys re-ordered after one item of key removed'
+ );
+
+ newInternalList.removeNode( 'mwReference/', 'literal/bar', 1, referenceNodes[ 3 ] );
+ newInternalList.onTransact();
+
+ assert.deepEqualWithNodeTree(
+ newInternalList.nodes,
+ {
+ 'mwReference/': {
+ keyedNodes: {
+ 'auto/0': [ referenceNodes[ 0 ] ],
+ 'literal/:3': [ referenceNodes[ 2 ] ],
+ 'auto/1': [ referenceNodes[ 4 ] ]
+ },
+ firstNodes: [
+ referenceNodes[ 0 ],
+ undefined,
+ referenceNodes[ 2 ],
+ referenceNodes[ 4 ]
+ ],
+ indexOrder: [ 0, 2, 3 ],
+ uniqueListKeys: {},
+ uniqueListKeysInUse: {}
+ },
+ 'mwReference/foo': {
+ keyedNodes: {
+ 'auto/2': [ referenceNodes[ 5 ] ]
+ },
+ firstNodes: [ undefined, undefined, undefined, undefined, referenceNodes[ 5 ] ],
+ indexOrder: [ 4 ],
+ uniqueListKeys: {},
+ uniqueListKeysInUse: {}
+ }
+ },
+ 'Keys truncated after last item of key removed'
+ );
+
+ newInternalList.removeNode( 'mwReference/', 'auto/0', 0, referenceNodes[ 0 ] );
+ newInternalList.removeNode( 'mwReference/foo', 'auto/2', 4, referenceNodes[ 5 ] );
+ newInternalList.removeNode( 'mwReference/', 'auto/1', 3, referenceNodes[ 4 ] );
+ newInternalList.removeNode( 'mwReference/', 'literal/:3', 2, referenceNodes[ 2 ] );
+ newInternalList.onTransact();
+
+ assert.deepEqualWithNodeTree(
+ newInternalList.nodes,
+ {
+ 'mwReference/': {
+ keyedNodes: {},
+ firstNodes: new Array( 4 ),
+ indexOrder: [],
+ uniqueListKeys: {},
+ uniqueListKeysInUse: {}
+ },
+ 'mwReference/foo': {
+ keyedNodes: {},
+ firstNodes: new Array( 5 ),
+ indexOrder: [],
+ uniqueListKeys: {},
+ uniqueListKeysInUse: {}
+ }
+ },
+ 'All nodes removed'
+ );
+} );
+
+QUnit.test( 'getItemInsertion', function ( assert ) {
+ var insertion, index,
+ doc = ve.dm.citeExample.createExampleDocument( 'references' ),
+ internalList = doc.getInternalList();
+
+ insertion = internalList.getItemInsertion( 'mwReference/', 'literal/foo', [] );
+ index = internalList.getItemNodeCount();
+ assert.strictEqual( insertion.index, index, 'Insertion creates a new reference' );
+ assert.deepEqual(
+ insertion.transaction.getOperations(),
+ [
+ { type: 'retain', length: 91 },
+ {
+ type: 'replace',
+ remove: [],
+ insert: [
+ { type: 'internalItem' },
+ { type: '/internalItem' }
+ ]
+ },
+ { type: 'retain', length: 1 }
+ ],
+ 'New reference operations match' );
+
+ insertion = internalList.getItemInsertion( 'mwReference/', 'literal/foo', [] );
+ assert.strictEqual( insertion.index, index, 'Insertion with duplicate key reuses old index' );
+ assert.strictEqual( insertion.transaction, null, 'Insertion with duplicate key has null transaction' );
+} );
+
+QUnit.test( 'getUniqueListKey', function ( assert ) {
+ var generatedName,
+ doc = ve.dm.citeExample.createExampleDocument( 'references' ),
+ internalList = doc.getInternalList();
+
+ generatedName = internalList.getUniqueListKey( 'mwReference/', 'auto/0', 'literal/:' );
+ assert.strictEqual( generatedName, 'literal/:0', '0 maps to 0' );
+ generatedName = internalList.getUniqueListKey( 'mwReference/', 'auto/1', 'literal/:' );
+ assert.strictEqual( generatedName, 'literal/:1', '1 maps to 1' );
+ generatedName = internalList.getUniqueListKey( 'mwReference/', 'auto/2', 'literal/:' );
+ assert.strictEqual( generatedName, 'literal/:2', '2 maps to 2' );
+ generatedName = internalList.getUniqueListKey( 'mwReference/', 'auto/3', 'literal/:' );
+ assert.strictEqual( generatedName, 'literal/:4', '3 maps to 4 (because a literal :3 is present)' );
+ generatedName = internalList.getUniqueListKey( 'mwReference/', 'auto/4', 'literal/:' );
+ assert.strictEqual( generatedName, 'literal/:5', '4 maps to 5' );
+
+ generatedName = internalList.getUniqueListKey( 'mwReference/', 'auto/0', 'literal/:' );
+ assert.strictEqual( generatedName, 'literal/:0', 'Reusing a key reuses the name' );
+
+ generatedName = internalList.getUniqueListKey( 'mwReference/foo', 'auto/4', 'literal/:' );
+ assert.strictEqual( generatedName, 'literal/:0', 'Different groups are treated separately' );
+} );
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.dm.Transaction.test.js b/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.dm.Transaction.test.js
new file mode 100644
index 00000000..bf9f30bc
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.dm.Transaction.test.js
@@ -0,0 +1,97 @@
+/*!
+ * VisualEditor DataModel Cite-specific Transaction tests.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+QUnit.module( 've.dm.Transaction (Cite)', ve.test.utils.mwEnvironment );
+
+// FIXME: Duplicates test runner; should be using a data provider
+QUnit.test( 'newFromDocumentInsertion with references', function ( assert ) {
+ var i, j, doc2, tx, actualStoreItems, expectedStoreItems, removalOps, doc,
+ complexDoc = ve.dm.citeExample.createExampleDocument( 'complexInternalData' ),
+ withReference = [
+ { type: 'paragraph' },
+ 'B', 'a', 'r',
+ { type: 'mwReference', attributes: {
+ mw: {},
+ about: '#mwt4',
+ listIndex: 0,
+ listGroup: 'mwReference/',
+ listKey: 'auto/0',
+ refGroup: '',
+ contentsUsed: true
+ } },
+ { type: '/mwReference' },
+ { type: '/paragraph' },
+ { type: 'internalList' },
+ { type: 'internalItem' },
+ { type: 'paragraph', internal: { generated: 'wrapper' } },
+ 'B',
+ 'a',
+ 'z',
+ { type: '/paragraph' },
+ { type: '/internalItem' },
+ { type: '/internalList' }
+ ],
+ cases = [
+ {
+ msg: 'inserting a brand new document; internal lists are merged and items renumbered',
+ doc: 'complexInternalData',
+ offset: 7,
+ newDocData: withReference,
+ removalOps: [],
+ expectedOps: [
+ { type: 'retain', length: 7 },
+ {
+ type: 'replace',
+ remove: [],
+ insert: withReference.slice( 0, 4 )
+ // Renumber listIndex from 0 to 2
+ // Renumber listKey from auto/0 to auto/1
+ .concat( [
+ ve.extendObject( true, {}, withReference[ 4 ],
+ { attributes: { listIndex: 2, listKey: 'auto/1' } }
+ )
+ ] )
+ .concat( withReference.slice( 5, 7 ) )
+ },
+ { type: 'retain', length: 1 },
+ {
+ type: 'replace',
+ remove: complexDoc.getData( new ve.Range( 8, 32 ) ),
+ insert: complexDoc.getData( new ve.Range( 8, 32 ) )
+ .concat( withReference.slice( 8, 15 ) )
+ },
+ { type: 'retain', length: 1 }
+ ]
+ }
+ ];
+
+ for ( i = 0; i < cases.length; i++ ) {
+ doc = ve.dm.citeExample.createExampleDocument( cases[ i ].doc );
+ if ( cases[ i ].newDocData ) {
+ doc2 = new ve.dm.Document( cases[ i ].newDocData );
+ removalOps = [];
+ } else if ( cases[ i ].range ) {
+ doc2 = doc.cloneFromRange( cases[ i ].range );
+ cases[ i ].modify( doc2 );
+ tx = ve.dm.TransactionBuilder.static.newFromRemoval( doc, cases[ i ].range, true );
+ doc.commit( tx );
+ removalOps = tx.getOperations();
+ }
+
+ assert.deepEqualWithDomElements( removalOps, cases[ i ].removalOps, cases[ i ].msg + ': removal' );
+
+ tx = ve.dm.TransactionBuilder.static.newFromDocumentInsertion( doc, cases[ i ].offset, doc2 );
+ assert.deepEqualWithDomElements( tx.getOperations(), cases[ i ].expectedOps, cases[ i ].msg + ': transaction' );
+
+ actualStoreItems = [];
+ expectedStoreItems = cases[ i ].expectedStoreItems || [];
+ for ( j = 0; j < expectedStoreItems.length; j++ ) {
+ actualStoreItems[ j ] = doc.store.value( OO.getHash( expectedStoreItems[ j ] ) );
+ }
+ assert.deepEqual( actualStoreItems, expectedStoreItems, cases[ i ].msg + ': store items' );
+ }
+} );
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.dm.citeExample.js b/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.dm.citeExample.js
new file mode 100644
index 00000000..2fd8c7f4
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.dm.citeExample.js
@@ -0,0 +1,754 @@
+/*!
+ * VisualEditor DataModel Cite-specific example data sets.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+ve.dm.citeExample = {};
+
+ve.dm.citeExample.createExampleDocument = function ( name, store ) {
+ return ve.dm.example.createExampleDocumentFromObject( name, store, ve.dm.citeExample );
+};
+
+ve.dm.citeExample.domToDataCases = {
+ 'mw:Reference': {
+ // Wikitext:
+ // Foo<ref name="bar" /> Baz<ref group="g1" name=":0">Quux</ref> Whee<ref name="bar">[[Bar]]</ref> Yay<ref group="g1">No name</ref> Quux<ref name="bar">Different content</ref> Foo<ref group="g1" name="foo" />
+ // <references group="g1"><ref group="g1" name="foo">Ref in refs</ref></references>
+ body:
+ '<p>Foo' +
+ '<sup about="#mwt1" class="reference" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;attrs&quot;:{&quot;name&quot;:&quot;bar&quot;}}" id="cite_ref-bar-1-0" rel="dc:references" typeof="mw:Extension/ref">' +
+ '<a href="#cite_note-bar-1">[1]</a>' +
+ '</sup>' +
+ ' Baz' +
+ '<sup about="#mwt2" class="reference" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;html&quot;:&quot;Quux&quot;},&quot;attrs&quot;:{&quot;group&quot;:&quot;g1&quot;,&quot;name&quot;:&quot;:0&quot;}}" id="cite_ref-quux-2-0" rel="dc:references" typeof="mw:Extension/ref">' +
+ '<a href="#cite_note-.3A0-2">[g1 1]</a>' +
+ '</sup>' +
+ ' Whee' +
+ '<sup about="#mwt3" class="reference" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;html&quot;:&quot;' +
+ '<a rel=\\&quot;mw:WikiLink\\&quot; href=\\&quot;./Bar\\&quot;>Bar' +
+ '</a>&quot;},&quot;attrs&quot;:{&quot;name&quot;:&quot;bar&quot;}}" id="cite_ref-bar-1-1" rel="dc:references" typeof="mw:Extension/ref">' +
+ '<a href="#cite_note-bar-1">[1]</a>' +
+ '</sup>' +
+ ' Yay' +
+ // This reference has .body.id instead of .body.html
+ '<sup about="#mwt4" class="reference" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;id&quot;:&quot;mw-cite-3&quot;},&quot;attrs&quot;:{&quot;group&quot;:&quot;g1&quot;}}" id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref">' +
+ '<a href="#cite_note-3">[g1 2]</a>' +
+ '</sup>' +
+ ' Quux' +
+ '<sup about="#mwt5" class="reference" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;html&quot;:&quot;Different content&quot;},&quot;attrs&quot;:{&quot;name&quot;:&quot;bar&quot;}}" id="cite_ref-bar-1-2" rel="dc:references" typeof="mw:Extension/ref">' +
+ '<a href="#cite_note-bar-1">[1]</a>' +
+ '</sup>' +
+ ' Foo' +
+ '<sup about="#mwt6" class="reference" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;attrs&quot;:{&quot;group&quot;:&quot;g1&quot;,&quot;name&quot;:&quot;foo&quot;}}" ' +
+ 'id="cite_ref-foo-4" rel="dc:references" typeof="mw:Extension/ref">' +
+ '<a href="#cite_ref-foo-4">[g1 3]</a>' +
+ '</sup>' +
+ '</p>' +
+ // The HTML below is enriched to wrap reference contents in <span id="mw-cite-[...]">
+ // which Parsoid doesn't do yet, but T88290 asks for
+ '<ol class="references" typeof="mw:Extension/references" about="#mwt7"' +
+ 'data-mw="{&quot;name&quot;:&quot;references&quot;,&quot;body&quot;:{' +
+ '&quot;html&quot;:&quot;<sup about=\\&quot;#mwt8\\&quot; class=\\&quot;reference\\&quot; ' +
+ 'data-mw=\\&quot;{&amp;quot;name&amp;quot;:&amp;quot;ref&amp;quot;,&amp;quot;body&amp;quot;:{&amp;quot;html&amp;quot;:&amp;quot;Ref in refs&amp;quot;},' +
+ '&amp;quot;attrs&amp;quot;:{&amp;quot;group&amp;quot;:&amp;quot;g1&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;foo&amp;quot;}}\\&quot; ' +
+ 'rel=\\&quot;dc:references\\&quot; typeof=\\&quot;mw:Extension/ref\\&quot;>' +
+ '<a href=\\&quot;#cite_note-foo-3\\&quot;>[3]</a></sup>&quot;},&quot;attrs&quot;:{&quot;group&quot;:&quot;g1&quot;}}">' +
+ '<li about="#cite_note-.3A0-2" id="cite_note-.3A0-2"><span rel="mw:referencedBy"><a href="#cite_ref-.3A0_2-0">↑</a></span> <span id="mw-cite-:0">Quux</span></li>' +
+ '<li about="#cite_note-3" id="cite_note-3"><span rel="mw:referencedBy"><a href="#cite_ref-3">↑</a></span> <span id="mw-cite-3">No name</span></li>' +
+ '<li about="#cite_note-foo-4" id="cite_note-foo-4"><span rel="mw:referencedBy"><a href="#cite_ref-foo_4-0">↑</a></span> <span id="mw-cite-foo">Ref in refs</span></li>' +
+ '</ol>',
+ fromDataBody:
+ '<p>Foo' +
+ '<sup data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;attrs&quot;:{&quot;name&quot;:&quot;bar&quot;}}" typeof="mw:Extension/ref">' +
+ '</sup>' +
+ ' Baz' +
+ '<sup data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;html&quot;:&quot;Quux&quot;},&quot;attrs&quot;:{&quot;group&quot;:&quot;g1&quot;,&quot;name&quot;:&quot;:0&quot;}}" typeof="mw:Extension/ref">' +
+ '</sup>' +
+ ' Whee' +
+ '<sup data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;html&quot;:&quot;' +
+ '<a rel=\\&quot;mw:WikiLink\\&quot; href=\\&quot;./Bar\\&quot;>Bar' +
+ '</a>&quot;},&quot;attrs&quot;:{&quot;name&quot;:&quot;bar&quot;}}" typeof="mw:Extension/ref">' +
+ '</sup>' +
+ ' Yay' +
+ '<sup data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;id&quot;:&quot;mw-cite-3&quot;},&quot;attrs&quot;:{&quot;group&quot;:&quot;g1&quot;}}" typeof="mw:Extension/ref">' +
+ '</sup>' +
+ ' Quux' +
+ '<sup data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;html&quot;:&quot;Different content&quot;},&quot;attrs&quot;:{&quot;name&quot;:&quot;bar&quot;}}" typeof="mw:Extension/ref">' +
+ '</sup>' +
+ ' Foo' +
+ '<sup data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;attrs&quot;:{&quot;group&quot;:&quot;g1&quot;,&quot;name&quot;:&quot;foo&quot;}}" ' +
+ 'typeof="mw:Extension/ref">' +
+ '</sup>' +
+ '</p>' +
+ '<div typeof="mw:Extension/references" ' +
+ 'data-mw="{&quot;name&quot;:&quot;references&quot;,&quot;attrs&quot;:{&quot;group&quot;:&quot;g1&quot;},&quot;body&quot;:{' +
+ '&quot;html&quot;:&quot;<sup typeof=\\&quot;mw:Extension/ref\\&quot; ' +
+ 'data-mw=\\&quot;{&amp;quot;name&amp;quot;:&amp;quot;ref&amp;quot;,&amp;quot;body&amp;quot;:{&amp;quot;html&amp;quot;:&amp;quot;Ref in refs&amp;quot;},' +
+ '&amp;quot;attrs&amp;quot;:{&amp;quot;group&amp;quot;:&amp;quot;g1&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;foo&amp;quot;}}\\&quot;>' +
+ '</sup>&quot;}}">' +
+ '</div>',
+ clipboardBody:
+ '<p>Foo' +
+ '<sup typeof="mw:Extension/ref" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;attrs&quot;:{&quot;name&quot;:&quot;bar&quot;}}" class="mw-ref">' +
+ '<a style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a>' +
+ '</sup>' +
+ ' Baz' +
+ '<sup typeof="mw:Extension/ref" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;html&quot;:&quot;Quux&quot;},&quot;attrs&quot;:{&quot;group&quot;:&quot;g1&quot;,&quot;name&quot;:&quot;:0&quot;}}" class="mw-ref">' +
+ '<a data-mw-group="g1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[g1 1]</span></a>' +
+ '</sup>' +
+ ' Whee' +
+ '<sup typeof="mw:Extension/ref" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;html&quot;:&quot;' +
+ '<a href=\\&quot;./Bar\\&quot; rel=\\&quot;mw:WikiLink\\&quot;>Bar' +
+ '</a>&quot;},&quot;attrs&quot;:{&quot;name&quot;:&quot;bar&quot;}}" class="mw-ref">' +
+ '<a style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a>' +
+ '</sup>' +
+ ' Yay' +
+ // This reference has .body.id instead of .body.html
+ '<sup typeof="mw:Extension/ref" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;id&quot;:&quot;mw-cite-3&quot;,&quot;html&quot;:&quot;No name&quot;},&quot;attrs&quot;:{&quot;group&quot;:&quot;g1&quot;}}" class="mw-ref">' +
+ '<a data-mw-group="g1" style="counter-reset: mw-Ref 2;"><span class="mw-reflink-text">[g1 2]</span></a>' +
+ '</sup>' +
+ ' Quux' +
+ '<sup typeof="mw:Extension/ref" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;html&quot;:&quot;Different content&quot;},&quot;attrs&quot;:{&quot;name&quot;:&quot;bar&quot;}}" class="mw-ref">' +
+ '<a style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a>' +
+ '</sup>' +
+ ' Foo' +
+ '<sup typeof="mw:Extension/ref" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;attrs&quot;:{&quot;group&quot;:&quot;g1&quot;,&quot;name&quot;:&quot;foo&quot;}}" class="mw-ref">' +
+ '<a data-mw-group="g1" style="counter-reset: mw-Ref 3;"><span class="mw-reflink-text">[g1 3]</span></a>' +
+ '</sup>' +
+ '</p>' +
+ // The HTML below is enriched to wrap reference contents in <span id="mw-cite-[...]">
+ // which Parsoid doesn't do yet, but T88290 asks for
+ '<div typeof="mw:Extension/references" ' +
+ 'data-mw="{&quot;name&quot;:&quot;references&quot;,&quot;attrs&quot;:{&quot;group&quot;:&quot;g1&quot;},&quot;body&quot;:{' +
+ '&quot;html&quot;:&quot;<sup typeof=\\&quot;mw:Extension/ref\\&quot; ' +
+ 'data-mw=\\&quot;{&amp;quot;name&amp;quot;:&amp;quot;ref&amp;quot;,&amp;quot;attrs&amp;quot;:{&amp;quot;group&amp;quot;:&amp;quot;g1&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;foo&amp;quot;},&amp;quot;body&amp;quot;:{&amp;quot;html&amp;quot;:&amp;quot;Ref in refs&amp;quot;}}' +
+ '\\&quot; class=\\&quot;mw-ref\\&quot;><a data-mw-group=\\&quot;g1\\&quot; style=\\&quot;counter-reset: mw-Ref 3;\\&quot;><span class=\\&quot;mw-reflink-text\\&quot;>[g1 3]</span></a></sup>&quot;}}">' +
+ '<ol class="mw-references references" data-mw-group="g1">' +
+ '<li>' +
+ '<a rel="mw:referencedBy" data-mw-group="g1"><span class="mw-linkback-text">↑ </span></a>' +
+ '<span class="reference-text"><span class="ve-ce-branchNode ve-ce-internalItemNode">Quux</span></span>' +
+ '</li>' +
+ '<li>' +
+ '<a rel="mw:referencedBy" data-mw-group="g1"><span class="mw-linkback-text">↑ </span></a>' +
+ '<span class="reference-text"><span class="ve-ce-branchNode ve-ce-internalItemNode">No name</span></span>' +
+ '</li>' +
+ '<li>' +
+ '<a rel="mw:referencedBy" data-mw-group="g1"><span class="mw-linkback-text">↑ </span></a>' +
+ '<span class="reference-text"><span class="ve-ce-branchNode ve-ce-internalItemNode">Ref in refs</span></span>' +
+ '</li>' +
+ '</ol>' +
+ '</div>',
+ head: '<base href="http://example.com" />',
+ data: [
+ { type: 'paragraph' },
+ 'F', 'o', 'o',
+ {
+ type: 'mwReference',
+ attributes: {
+ listIndex: 0,
+ listGroup: 'mwReference/',
+ listKey: 'literal/bar',
+ refGroup: '',
+ mw: { name: 'ref', attrs: { name: 'bar' } },
+ originalMw: '{"name":"ref","attrs":{"name":"bar"}}',
+ contentsUsed: false
+ }
+ },
+ { type: '/mwReference' },
+ ' ', 'B', 'a', 'z',
+ {
+ type: 'mwReference',
+ attributes: {
+ listIndex: 1,
+ listGroup: 'mwReference/g1',
+ listKey: 'literal/:0',
+ refGroup: 'g1',
+ mw: { name: 'ref', body: { html: 'Quux' }, attrs: { group: 'g1', name: ':0' } },
+ originalMw: '{"name":"ref","body":{"html":"Quux"},"attrs":{"group":"g1","name":":0"}}',
+ contentsUsed: true
+ }
+ },
+ { type: '/mwReference' },
+ ' ', 'W', 'h', 'e', 'e',
+ {
+ type: 'mwReference',
+ attributes: {
+ listIndex: 0,
+ listGroup: 'mwReference/',
+ listKey: 'literal/bar',
+ refGroup: '',
+ mw: { name: 'ref', body: { html: '<a rel="mw:WikiLink" href="./Bar">Bar</a>' }, attrs: { name: 'bar' } },
+ originalMw: '{"name":"ref","body":{"html":"<a rel=\\"mw:WikiLink\\" href=\\"./Bar\\">Bar</a>"},"attrs":{"name":"bar"}}',
+ contentsUsed: true
+ }
+ },
+ { type: '/mwReference' },
+ ' ', 'Y', 'a', 'y',
+ {
+ type: 'mwReference',
+ attributes: {
+ listIndex: 2,
+ listGroup: 'mwReference/g1',
+ listKey: 'auto/0',
+ refGroup: 'g1',
+ mw: { name: 'ref', body: { id: 'mw-cite-3' }, attrs: { group: 'g1' } },
+ originalMw: '{"name":"ref","body":{"id":"mw-cite-3"},"attrs":{"group":"g1"}}',
+ contentsUsed: true,
+ refListItemId: 'mw-cite-3'
+ }
+ },
+ { type: '/mwReference' },
+ ' ', 'Q', 'u', 'u', 'x',
+ {
+ type: 'mwReference',
+ attributes: {
+ listIndex: 0,
+ listGroup: 'mwReference/',
+ listKey: 'literal/bar',
+ refGroup: '',
+ mw: { name: 'ref', body: { html: 'Different content' }, attrs: { name: 'bar' } },
+ originalMw: '{"name":"ref","body":{"html":"Different content"},"attrs":{"name":"bar"}}',
+ contentsUsed: false
+ }
+ },
+ { type: '/mwReference' },
+ ' ', 'F', 'o', 'o',
+ {
+ type: 'mwReference',
+ attributes: {
+ listGroup: 'mwReference/g1',
+ listIndex: 3,
+ listKey: 'literal/foo',
+ refGroup: 'g1',
+ mw: { name: 'ref', attrs: { group: 'g1', name: 'foo' } },
+ originalMw: '{"name":"ref","attrs":{"group":"g1","name":"foo"}}',
+ contentsUsed: false
+ }
+ },
+ { type: '/mwReference' },
+ { type: '/paragraph' },
+ {
+ type: 'mwReferencesList',
+ attributes: {
+ mw: {
+ name: 'references',
+ attrs: { group: 'g1' },
+ body: {
+ html: '<sup about="#mwt8" class="reference" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;html&quot;:&quot;Ref in refs&quot;},&quot;attrs&quot;:{&quot;group&quot;:&quot;g1&quot;,&quot;name&quot;:&quot;foo&quot;}}" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-foo-3">[3]</a></sup>'
+ }
+ },
+ originalMw: '{"name":"references","body":{"html":"<sup about=\\"#mwt8\\" class=\\"reference\\" data-mw=\\"{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;html&quot;:&quot;Ref in refs&quot;},&quot;attrs&quot;:{&quot;group&quot;:&quot;g1&quot;,&quot;name&quot;:&quot;foo&quot;}}\\" rel=\\"dc:references\\" typeof=\\"mw:Extension/ref\\"><a href=\\"#cite_note-foo-3\\">[3]</a></sup>"},"attrs":{"group":"g1"}}',
+ listGroup: 'mwReference/g1',
+ refGroup: 'g1',
+ isResponsive: true,
+ templateGenerated: false
+ }
+ },
+ { type: 'paragraph', internal: { generated: 'wrapper' } },
+ {
+ type: 'mwReference',
+ attributes: {
+ contentsUsed: true,
+ listGroup: 'mwReference/g1',
+ listIndex: 3,
+ listKey: 'literal/foo',
+ mw: { name: 'ref', attrs: { group: 'g1', name: 'foo' }, body: { html: 'Ref in refs' } },
+ originalMw: '{"name":"ref","body":{"html":"Ref in refs"},"attrs":{"group":"g1","name":"foo"}}',
+ refGroup: 'g1'
+ }
+ },
+ { type: '/mwReference' },
+ { type: '/paragraph' },
+ { type: '/mwReferencesList' },
+ { type: 'internalList' },
+ { type: 'internalItem', attributes: { originalHtml: '<a rel="mw:WikiLink" href="./Bar">Bar</a>' } },
+ { type: 'paragraph', internal: { generated: 'wrapper' } },
+ [
+ 'B',
+ [ {
+ type: 'link/mwInternal',
+ attributes: {
+ title: 'Bar',
+ origTitle: 'Bar',
+ normalizedTitle: 'Bar',
+ lookupTitle: 'Bar',
+ hrefPrefix: './'
+ }
+ } ]
+ ],
+ [
+ 'a',
+ [ {
+ type: 'link/mwInternal',
+ attributes: {
+ title: 'Bar',
+ origTitle: 'Bar',
+ normalizedTitle: 'Bar',
+ lookupTitle: 'Bar',
+ hrefPrefix: './'
+ }
+ } ]
+ ],
+ [
+ 'r',
+ [ {
+ type: 'link/mwInternal',
+ attributes: {
+ title: 'Bar',
+ origTitle: 'Bar',
+ normalizedTitle: 'Bar',
+ lookupTitle: 'Bar',
+ hrefPrefix: './'
+ }
+ } ]
+ ],
+ { type: '/paragraph' },
+ { type: '/internalItem' },
+ { type: 'internalItem', attributes: { originalHtml: 'Quux' } },
+ { type: 'paragraph', internal: { generated: 'wrapper' } },
+ 'Q', 'u', 'u', 'x',
+ { type: '/paragraph' },
+ { type: '/internalItem' },
+ { type: 'internalItem', attributes: { originalHtml: 'No name' } },
+ { type: 'paragraph', internal: { generated: 'wrapper' } },
+ 'N', 'o', ' ', 'n', 'a', 'm', 'e',
+ { type: '/paragraph' },
+ { type: '/internalItem' },
+ { type: 'internalItem', attributes: { originalHtml: 'Ref in refs' } },
+ { type: 'paragraph', internal: { generated: 'wrapper' } },
+ 'R', 'e', 'f', ' ', 'i', 'n', ' ', 'r', 'e', 'f', 's',
+ { type: '/paragraph' },
+ { type: '/internalItem' },
+ { type: '/internalList' }
+ ]
+ },
+ 'mw:Reference with comment': {
+ body: '<p><sup about="#mwt2" class="reference" ' +
+ 'data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:' +
+ '{&quot;html&quot;:&quot;Foo<!-- bar -->&quot;},&quot;attrs&quot;:{}}" ' +
+ 'id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref">' +
+ '<a href="#cite_note-bar-1">[1]</a></sup></p>',
+ fromDataBody: '<p><sup ' +
+ 'data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:' +
+ '{&quot;html&quot;:&quot;Foo<!-- bar -->&quot;},&quot;attrs&quot;:{}}" ' +
+ 'typeof="mw:Extension/ref"></sup></p>',
+ clipboardBody: '<p><sup typeof="mw:Extension/ref" ' +
+ 'data-mw="{&quot;attrs&quot;:{},&quot;body&quot;:' +
+ '{&quot;html&quot;:&quot;Foo<span rel=\\&quot;ve:Comment\\&quot; data-ve-comment=\\&quot; bar \\&quot;>&amp;nbsp;</span>&quot;},&quot;name&quot;:&quot;ref&quot;}" ' +
+ ' class="mw-ref">' +
+ '<a style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup></p>',
+ head: '<base href="http://example.com" />',
+ data: [
+ { type: 'paragraph' },
+ {
+ type: 'mwReference',
+ attributes: {
+ contentsUsed: true,
+ listGroup: 'mwReference/',
+ listIndex: 0,
+ listKey: 'auto/0',
+ mw: {
+ attrs: {},
+ body: {
+ html: 'Foo<!-- bar -->'
+ },
+ name: 'ref'
+ },
+ originalMw: '{"name":"ref","body":{"html":"Foo<!-- bar -->"},"attrs":{}}',
+ refGroup: ''
+ }
+ },
+ { type: '/mwReference' },
+ { type: '/paragraph' },
+ { type: 'internalList' },
+ { type: 'internalItem', attributes: { originalHtml: 'Foo<!-- bar -->' } },
+ {
+ internal: {
+ generated: 'wrapper'
+ },
+ type: 'paragraph'
+ },
+ 'F', 'o', 'o',
+ {
+ type: 'comment',
+ attributes: {
+ text: ' bar '
+ }
+ },
+ { type: '/comment' },
+ { type: '/paragraph' },
+ { type: '/internalItem' },
+ { type: '/internalList' }
+ ]
+ },
+ 'Template generated reflist': {
+ body: '<p><sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;id&quot;:&quot;mw-reference-text-cite_note-1&quot;},&quot;attrs&quot;:{&quot;group&quot;:&quot;notes&quot;}}"><a href="./Main_Page#cite_note-1" style="counter-reset: mw-Ref 1;" data-mw-group="notes"><span class="mw-reflink-text">[notes 1]</span></a></sup></p>' +
+ '<div class="mw-references-wrap" typeof="mw:Extension/references mw:Transclusion" about="#mwt4" data-mw="{&quot;parts&quot;:[{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;<references group=\\&quot;notes\\&quot; />&quot;}},&quot;i&quot;:0}}]}">' +
+ '<ol class="mw-references references" data-mw-group="notes">' +
+ '<li about="#cite_note-1" id="cite_note-1"><a href="./Main_Page#cite_ref-1" data-mw-group="notes" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">Foo</span></li>' +
+ '</ol>' +
+ '</div>',
+ fromDataBody: '<p><sup typeof="mw:Extension/ref" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;id&quot;:&quot;mw-reference-text-cite_note-1&quot;},&quot;attrs&quot;:{&quot;group&quot;:&quot;notes&quot;}}"></sup></p>' +
+ '<span typeof="mw:Transclusion" data-mw="{&quot;parts&quot;:[{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;<references group=\\&quot;notes\\&quot; />&quot;}},&quot;i&quot;:0}}]}"></span>',
+ clipboardBody: '<p><sup typeof="mw:Extension/ref" data-mw="{&quot;attrs&quot;:{&quot;group&quot;:&quot;notes&quot;},&quot;body&quot;:{&quot;id&quot;:&quot;mw-reference-text-cite_note-1&quot;,&quot;html&quot;:&quot;Foo&quot;},&quot;name&quot;:&quot;ref&quot;}" class="mw-ref"><a data-mw-group="notes" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[notes 1]</span></a></sup></p>' +
+ '<div typeof="mw:Extension/references" data-mw="{&quot;parts&quot;:[{&quot;template&quot;:{&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;<references group=\\&quot;notes\\&quot; />&quot;}},&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;i&quot;:0}}],&quot;name&quot;:&quot;references&quot;}">' +
+ // TODO: This should list should get populated on copy
+ '<ol class="mw-references references"></ol>' +
+ '</div>',
+ data: [
+ { type: 'paragraph' },
+ {
+ type: 'mwReference',
+ attributes: {
+ contentsUsed: true,
+ listGroup: 'mwReference/notes',
+ listIndex: 0,
+ listKey: 'auto/0',
+ mw: {
+ attrs: {
+ group: 'notes'
+ },
+ body: {
+ id: 'mw-reference-text-cite_note-1'
+ },
+ name: 'ref'
+ },
+ originalMw: '{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{"group":"notes"}}',
+ refGroup: 'notes',
+ refListItemId: 'mw-reference-text-cite_note-1'
+ }
+ },
+ { type: '/mwReference' },
+ { type: '/paragraph' },
+ {
+ type: 'mwReferencesList',
+ attributes: {
+ mw: {
+ parts: [ {
+ template: {
+ params: {
+ 1: { wt: '<references group="notes" />' }
+ },
+ target: { wt: 'echo', href: './Template:Echo' },
+ i: 0
+ }
+ } ]
+ },
+ originalMw: '{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"<references group=\\"notes\\" />"}},"i":0}}]}',
+ refGroup: '',
+ listGroup: 'mwReference/',
+ isResponsive: true,
+ templateGenerated: true
+ }
+ },
+ { type: '/mwReferencesList' },
+ { type: 'internalList' },
+ { type: 'internalItem', attributes: { originalHtml: 'Foo' } },
+ {
+ internal: {
+ generated: 'wrapper'
+ },
+ type: 'paragraph'
+ },
+ 'F', 'o', 'o',
+ { type: '/paragraph' },
+ { type: '/internalItem' },
+ { type: '/internalList' }
+ ]
+ },
+ 'Template generated reflist (div wrapped)': {
+ body: '<p><sup about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;id&quot;:&quot;mw-reference-text-cite_note-1&quot;},&quot;attrs&quot;:{}}"><a href="./Main_Page#cite_note-1" style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup></p>' +
+ '<div about="#mwt3" typeof="mw:Transclusion" data-mw="{&quot;parts&quot;:[{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;reflist&quot;,&quot;href&quot;:&quot;./Template:Reflist&quot;},&quot;params&quot;:{},&quot;i&quot;:0}}]}">' +
+ '<div typeof="mw:Extension/references" about="#mwt5" data-mw="{&quot;name&quot;:&quot;references&quot;,&quot;attrs&quot;:{}}">' +
+ '<ol class="mw-references references">' +
+ '<li about="#cite_note-1" id="cite_note-1"><a href="./Main_Page#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">Foo</span></li>' +
+ '</ol>' +
+ '</div>' +
+ '</div>',
+ fromDataBody: '<p><sup typeof="mw:Extension/ref" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;id&quot;:&quot;mw-reference-text-cite_note-1&quot;},&quot;attrs&quot;:{}}"></sup></p>' +
+ '<span typeof="mw:Transclusion" data-mw="{&quot;name&quot;:&quot;references&quot;,&quot;attrs&quot;:{}}"></span>',
+ clipboardBody: '<p><sup typeof="mw:Extension/ref" data-mw="{&quot;attrs&quot;:{},&quot;body&quot;:{&quot;id&quot;:&quot;mw-reference-text-cite_note-1&quot;,&quot;html&quot;:&quot;Foo&quot;},&quot;name&quot;:&quot;ref&quot;}" class="mw-ref"><a style="counter-reset: mw-Ref 1;"><span class="mw-reflink-text">[1]</span></a></sup></p>' +
+ '<div typeof="mw:Extension/references" data-mw="{&quot;name&quot;:&quot;references&quot;,&quot;attrs&quot;:{}}">' +
+ '<ol class="mw-references references">' +
+ '<li><a rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a><span class="reference-text"><span class="ve-ce-branchNode ve-ce-internalItemNode">Foo</span></span></li>' +
+ '</ol>' +
+ '</div>',
+ data: [
+ { type: 'paragraph' },
+ {
+ type: 'mwReference',
+ attributes: {
+ contentsUsed: true,
+ listGroup: 'mwReference/',
+ listIndex: 0,
+ listKey: 'auto/0',
+ mw: {
+ attrs: {},
+ body: {
+ id: 'mw-reference-text-cite_note-1'
+ },
+ name: 'ref'
+ },
+ originalMw: '{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}',
+ refGroup: '',
+ refListItemId: 'mw-reference-text-cite_note-1'
+ }
+ },
+ { type: '/mwReference' },
+ { type: '/paragraph' },
+ {
+ type: 'mwReferencesList',
+ attributes: {
+ mw: {
+ name: 'references',
+ attrs: {}
+ },
+ originalMw: '{"name":"references","attrs":{}}',
+ refGroup: '',
+ listGroup: 'mwReference/',
+ isResponsive: true,
+ templateGenerated: true
+ }
+ },
+ { type: '/mwReferencesList' },
+ { type: 'internalList' },
+ { type: 'internalItem', attributes: { originalHtml: 'Foo' } },
+ {
+ internal: {
+ generated: 'wrapper'
+ },
+ type: 'paragraph'
+ },
+ 'F', 'o', 'o',
+ { type: '/paragraph' },
+ { type: '/internalItem' },
+ { type: '/internalList' }
+ ]
+ }
+};
+
+ve.dm.citeExample.references = [
+ { type: 'paragraph' },
+ {
+ type: 'mwReference',
+ attributes: {
+ contentsUsed: true,
+ listGroup: 'mwReference/',
+ listIndex: 0,
+ listKey: 'auto/0',
+ mw: {
+ attrs: {},
+ body: { html: 'No name 1' },
+ name: 'ref'
+ },
+ originalMw: '{"name":"ref","body":{"html":"No name 1"},"attrs":{}}',
+ refGroup: ''
+ }
+ },
+ { type: '/mwReference' },
+ { type: '/paragraph' },
+ { type: 'paragraph' },
+ 'F', 'o', 'o',
+ {
+ type: 'mwReference',
+ attributes: {
+ contentsUsed: true,
+ listGroup: 'mwReference/',
+ listIndex: 1,
+ listKey: 'literal/bar',
+ mw: {
+ attrs: { name: 'bar' },
+ body: { html: 'Bar' },
+ name: 'ref'
+ },
+ originalMw: '{"body":{"html":""},"attrs":{"name":"bar"}}',
+ refGroup: ''
+ }
+ },
+ { type: '/mwReference' },
+ ' ', 'B', 'a', 'z',
+ {
+ type: 'mwReference',
+ attributes: {
+ contentsUsed: true,
+ listGroup: 'mwReference/',
+ listIndex: 2,
+ listKey: 'literal/:3',
+ mw: {
+ attrs: { name: ':3' },
+ body: { html: 'Quux' },
+ name: 'ref'
+ },
+ originalMw: '{"name":"ref","body":{"html":"Quux"},"attrs":{"name":":3"}}',
+ refGroup: ''
+ }
+ },
+ { type: '/mwReference' },
+ ' ', 'W', 'h', 'e', 'e',
+ {
+ type: 'mwReference',
+ attributes: {
+ contentsUsed: false,
+ listGroup: 'mwReference/',
+ listIndex: 1,
+ listKey: 'literal/bar',
+ mw: {
+ attrs: { name: 'bar' },
+ name: 'ref'
+ },
+ originalMw: '{"body":{"html":""},"attrs":{"name":"bar"}}',
+ refGroup: ''
+ }
+ },
+ { type: '/mwReference' },
+ ' ', 'Y', 'a', 'y',
+ { type: '/paragraph' },
+ { type: 'paragraph' },
+ {
+ type: 'mwReference',
+ attributes: {
+ contentsUsed: true,
+ listGroup: 'mwReference/',
+ listIndex: 3,
+ listKey: 'auto/1',
+ mw: {
+ attrs: {},
+ body: { html: 'No name 2' },
+ name: 'ref'
+ },
+ originalMw: '{"name":"ref","body":{"html":"No name 2"},"attrs":{}}',
+ refGroup: ''
+ }
+ },
+ { type: '/mwReference' },
+ {
+ type: 'mwReference',
+ attributes: {
+ contentsUsed: true,
+ listGroup: 'mwReference/foo',
+ listIndex: 4,
+ listKey: 'auto/2',
+ mw: {
+ attrs: { group: 'foo' },
+ body: { html: 'No name 3' },
+ name: 'ref'
+ },
+ originalMw: '{"name":"ref","body":{"html":"No name 3"},"attrs":{"group":"foo"}}',
+ refGroup: 'foo'
+ }
+ },
+ { type: '/mwReference' },
+ { type: '/paragraph' },
+ {
+ type: 'mwReferencesList',
+ // originalDomElements: HTML,
+ attributes: {
+ mw: {
+ name: 'references',
+ attrs: { group: 'g1' }
+ },
+ originalMw: '{"name":"references","attrs":{"group":"g1"}"}',
+ listGroup: 'mwReference/',
+ refGroup: '',
+ isResponsive: true,
+ templateGenerated: false
+ }
+ },
+ { type: '/mwReferencesList' },
+ { type: 'internalList' },
+ { type: 'internalItem' },
+ { type: 'paragraph' },
+ 'N', 'o', ' ', 'n', 'a', 'm', 'e', ' ', '1',
+ { type: '/paragraph' },
+ { type: '/internalItem' },
+ { type: 'internalItem' },
+ { type: 'paragraph' },
+ 'B', 'a', 'r',
+ { type: '/paragraph' },
+ { type: '/internalItem' },
+ { type: 'internalItem' },
+ { type: 'paragraph' },
+ 'Q', 'u', 'u', 'x',
+ { type: '/paragraph' },
+ { type: '/internalItem' },
+ { type: 'internalItem' },
+ { type: 'paragraph' },
+ 'N', 'o', ' ', 'n', 'a', 'm', 'e', ' ', '2',
+ { type: '/paragraph' },
+ { type: '/internalItem' },
+ { type: 'internalItem' },
+ { type: 'paragraph' },
+ 'N', 'o', ' ', 'n', 'a', 'm', 'e', ' ', '3',
+ { type: '/paragraph' },
+ { type: '/internalItem' },
+ { type: '/internalList' }
+];
+
+ve.dm.citeExample.complexInternalData = [
+ // 0
+ { type: 'paragraph' },
+ 'F', [ 'o', [ ve.dm.example.bold ] ], [ 'o', [ ve.dm.example.italic ] ],
+ // 4
+ { type: 'mwReference', attributes: {
+ about: '#mwt1',
+ listIndex: 0,
+ listGroup: 'mwReference/',
+ listKey: 'auto/0',
+ refGroup: ''
+ } },
+ // 5
+ { type: '/mwReference' },
+ // 6
+ { type: '/paragraph' },
+ // 7
+ { type: 'internalList' },
+ // 8
+ { type: 'internalItem' },
+ // 9
+ { type: 'paragraph', internal: { generated: 'wrapper' } },
+ 'R', [ 'e', [ ve.dm.example.bold ] ], 'f',
+ // 13
+ 'e', [ 'r', [ ve.dm.example.italic ] ], [ 'e', [ ve.dm.example.italic ] ],
+ // 16
+ { type: 'mwReference', attributes: {
+ mw: {},
+ about: '#mwt2',
+ listIndex: 1,
+ listGroup: 'mwReference/',
+ listKey: 'foo',
+ refGroup: '',
+ contentsUsed: true
+ } },
+ // 17
+ { type: '/mwReference' },
+ 'n', 'c', 'e',
+ // 21
+ { type: '/paragraph' },
+ // 22
+ { type: '/internalItem' },
+ // 23
+ { type: 'internalItem' },
+ // 24
+ { type: 'preformatted' },
+ // 25
+ { type: 'mwEntity', attributes: { character: '€' } },
+ // 26
+ { type: '/mwEntity' },
+ '2', '5', '0',
+ // 30
+ { type: '/preformatted' },
+ // 31
+ { type: '/internalItem' },
+ // 32
+ { type: '/internalList' }
+ // 33
+];
+
+ve.dm.citeExample.complexInternalData.internalItems = [
+ { group: 'mwReference', key: null, body: 'First reference' },
+ { group: 'mwReference', key: 'foo', body: 'Table in ref: <table><tr><td>because I can</td></tr></table>' }
+];
+
+ve.dm.citeExample.complexInternalData.internalListNextUniqueNumber = 1;
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.ui.DiffElement.test.js b/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.ui.DiffElement.test.js
new file mode 100644
index 00000000..79b4497b
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.ui.DiffElement.test.js
@@ -0,0 +1,67 @@
+/*!
+ * VisualEditor Cite-specific DiffElement tests.
+ *
+ * @copyright 2011-2018 VisualEditor Team and others; see http://ve.mit-license.org
+ */
+
+QUnit.module( 've.ui.DiffElement (Cite)' );
+
+QUnit.test( 'Diffing', function ( assert ) {
+ var i, len,
+ // spacer = '<div class="ve-ui-diffElement-spacer">⋮</div>',
+ ref = function ( text, num, name ) {
+ var dataMw = {
+ name: 'ref',
+ body: { html: text }
+ };
+ if ( name ) {
+ dataMw.attrs = { name: name };
+ }
+ return '<sup typeof="mw:Extension/ref" data-mw="' + JSON.stringify( dataMw ).replace( /"/g, '&quot;' ) + '" class="mw-ref">' +
+ '<a style="counter-reset: mw-Ref ' + num + ';"><span class="mw-reflink-text">[' + num + ']</span></a>' +
+ '</sup>';
+ },
+ cases = [
+ {
+ msg: 'Simple ref change',
+ oldDoc:
+ '<p>' + ref( 'Foo' ) + ref( 'Bar' ) + ref( 'Baz' ) + '</p>' +
+ '<h2>Notes</h2>' +
+ '<div typeof="mw:Extension/references" data-mw="{&quot;name&quot;:&quot;references&quot;}"></div>',
+ newDoc:
+ '<p>' + ref( 'Foo' ) + ref( 'Bar ish' ) + ref( 'Baz' ) + '</p>' +
+ '<h2>Notes</h2>' +
+ '<div typeof="mw:Extension/references" data-mw="{&quot;name&quot;:&quot;references&quot;}"></div>',
+ expected:
+ '<div class="ve-ui-diffElement-doc-child-change">' +
+ '<p>' +
+ ref( 'Foo', '1' ) +
+ '<span data-diff-action="change-remove">' +
+ ref( 'Bar', '2', ':0' ) +
+ '</span>' +
+ '<span data-diff-action="change-insert">' +
+ ref( 'Bar ish', '2', ':0' ) +
+ '</span>' +
+ ref( 'Baz', '3' ) +
+ '</p>' +
+ '</div>' +
+ '<h2 data-diff-action="none">Notes</h2>' +
+ '<div class="ve-ui-diffElement-doc-child-change" data-diff-move="undefined">' +
+ '<ol start="1">' +
+ '<li><p data-diff-action="none">Foo</p></li>' +
+ '</ol>' +
+ '<ol start="2">' +
+ '<li><div class="ve-ui-diffElement-doc-child-change">Bar<ins data-diff-action="insert"> ish</ins></div></li>' +
+ '</ol>' +
+ '<ol start="3">' +
+ '<li><p data-diff-action="none">Baz</p></li>' +
+ '</ol>' +
+ '</div>'
+ }
+ ];
+
+ for ( i = 0, len = cases.length; i < len; i++ ) {
+ ve.test.utils.runDiffElementTest( assert, cases[ i ] );
+ }
+
+} );
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.ui.MWWikitextStringTransferHandler.test.js b/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.ui.MWWikitextStringTransferHandler.test.js
new file mode 100644
index 00000000..210dd49c
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.ui.MWWikitextStringTransferHandler.test.js
@@ -0,0 +1,95 @@
+/*!
+ * VisualEditor UserInterface MWWikitextStringTransferHandler tests.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+window.MWWIKITEXT_MOCK_API = true;
+
+QUnit.module( 've.ui.MWWikitextStringTransferHandler (Cite)', QUnit.newMwEnvironment( {
+ beforeEach: function () {
+ // Mock XHR for mw.Api()
+ this.server = window.MWWIKITEXT_MOCK_API ? this.sandbox.useFakeServer() : null;
+ ve.test.utils.mwEnvironment.setup.call( this );
+ },
+ afterEach: ve.test.utils.mwEnvironment.teardown
+} ) );
+
+/* Tests */
+
+QUnit.test( 'convert', function ( assert ) {
+ var i,
+ cases = [
+ {
+ msg: 'Simple reference',
+ pasteString: '<ref>Foo</ref>',
+ pasteType: 'text/plain',
+ parsoidResponse: '<p><span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw=\'{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}\'>[1]</span></p>' +
+ '<ol class="mw-references" typeof="mw:Extension/references" about="#mwt3" data-mw=\'{"name":"references","attrs":{},"autoGenerated":true}\'>' +
+ '<li about="#cite_note-1" id="cite_note-1">↑ <span id="mw-reference-text-cite_note-1" class="mw-reference-text">Foo</span></li>' +
+ '</ol>',
+ annotations: [],
+ expectedData: [
+ {
+ type: 'mwReference',
+ attributes: {
+ mw: {
+ attrs: {},
+ body: {
+ id: 'mw-reference-text-cite_note-1'
+ },
+ name: 'ref'
+ },
+ contentsUsed: true,
+ listGroup: 'mwReference/',
+ listIndex: 0,
+ listKey: 'auto/0',
+ originalMw: '{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}',
+ refGroup: '',
+ refListItemId: 'mw-reference-text-cite_note-1'
+ }
+ },
+ { type: '/mwReference' },
+ { type: 'internalList' },
+ { type: 'internalItem' },
+ { type: 'paragraph', internal: { generated: 'wrapper' } },
+ 'F', 'o', 'o',
+ { type: '/paragraph' },
+ { type: '/internalItem' },
+ { type: '/internalList' }
+ ]
+ },
+ {
+ msg: 'Reference template with autoGenerated content',
+ pasteString: '{{reference}}',
+ pasteType: 'text/plain',
+ parsoidResponse: '<p><span typeof="mw:Transclusion">[1]</span></p>' +
+ '<ol class="mw-references" typeof="mw:Extension/references" about="#mwt3" data-mw=\'{"name":"references","attrs":{},"autoGenerated":true}\'>' +
+ '<li>Reference list</li>' +
+ '</ol>',
+ annotations: [],
+ expectedData: [
+ {
+ type: 'mwTransclusionInline',
+ attributes: {
+ mw: {},
+ originalMw: null
+ }
+ },
+ {
+ type: '/mwTransclusionInline'
+ },
+ { type: 'internalList' },
+ { type: '/internalList' }
+ ]
+ }
+ ];
+
+ for ( i = 0; i < cases.length; i++ ) {
+ ve.test.utils.runWikitextStringHandlerTest(
+ assert, this.server, cases[ i ].pasteString, cases[ i ].pasteType, cases[ i ].parsoidResponse,
+ cases[ i ].expectedData, cases[ i ].annotations, cases[ i ].assertDom, cases[ i ].msg
+ );
+ }
+} );
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ce.MWReferenceNode.css b/www/wiki/extensions/Cite/modules/ve-cite/ve.ce.MWReferenceNode.css
new file mode 100644
index 00000000..84e7470f
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ce.MWReferenceNode.css
@@ -0,0 +1,24 @@
+/*!
+ * VisualEditor ContentEditable MediaWiki MWReferenceNode styles.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+/* HACK: Hide Ref errors in templates */
+.mw-ext-cite-error {
+ display: none;
+}
+
+/* In IE, force hasLayout so the <sup>'s box gets measured correctly */
+.ve-init-target-ie .ve-ce-mwReferenceNode {
+ display: inline-block;
+}
+
+/* Use zero font size to hide the default rendering, rather than display:none, to
+ * work around T123608 (cursoring bug in Chromium). See that bug for a discussion
+ * of the effect this has on bidi text. */
+.ve-ce-mwReferenceNode span.mw-reflink-text {
+ font-size: 0;
+ display: inline;
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ce.MWReferenceNode.js b/www/wiki/extensions/Cite/modules/ve-cite/ve.ce.MWReferenceNode.js
new file mode 100644
index 00000000..9a4b471e
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ce.MWReferenceNode.js
@@ -0,0 +1,130 @@
+/*!
+ * VisualEditor ContentEditable MWReferenceNode class.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+/**
+ * ContentEditable MediaWiki reference node.
+ *
+ * @class
+ * @extends ve.ce.LeafNode
+ * @mixins ve.ce.FocusableNode
+ *
+ * @constructor
+ * @param {ve.dm.MWReferenceNode} model Model to observe
+ * @param {Object} [config] Configuration options
+ */
+ve.ce.MWReferenceNode = function VeCeMWReferenceNode() {
+ // Parent constructor
+ ve.ce.MWReferenceNode.super.apply( this, arguments );
+
+ // Mixin constructors
+ ve.ce.FocusableNode.call( this );
+
+ // DOM changes
+ this.$link = $( '<a>' ).attr( 'href', '#' );
+ this.$element.addClass( 've-ce-mwReferenceNode mw-ref' ).append( this.$link )
+ // In case we have received a version with old-style Cite HTML, remove the
+ // old reference class
+ .removeClass( 'reference' );
+ // Add a backwards-compatible text for browsers that don't support counters
+ this.$text = $( '<span>' ).addClass( 'mw-reflink-text' );
+ this.$link.append( this.$text );
+
+ this.index = '';
+ this.internalList = this.model.getDocument().internalList;
+
+ // Events
+ this.connect( this, { setup: 'onSetup' } );
+ this.connect( this, { teardown: 'onTeardown' } );
+
+ // Initialization
+ this.update();
+};
+
+/* Inheritance */
+
+OO.inheritClass( ve.ce.MWReferenceNode, ve.ce.LeafNode );
+
+OO.mixinClass( ve.ce.MWReferenceNode, ve.ce.FocusableNode );
+
+/* Static Properties */
+
+ve.ce.MWReferenceNode.static.name = 'mwReference';
+
+ve.ce.MWReferenceNode.static.tagName = 'span';
+
+ve.ce.MWReferenceNode.static.primaryCommandName = 'reference';
+
+/* Methods */
+
+/**
+ * Handle setup event.
+ */
+ve.ce.MWReferenceNode.prototype.onSetup = function () {
+ ve.ce.MWReferenceNode.super.prototype.onSetup.call( this );
+ this.internalList.connect( this, { update: 'onInternalListUpdate' } );
+};
+
+/**
+ * Handle teardown event.
+ */
+ve.ce.MWReferenceNode.prototype.onTeardown = function () {
+ // As we are listening to the internal list, we need to make sure
+ // we remove the listeners when this object is removed from the document
+ this.internalList.disconnect( this );
+
+ ve.ce.MWReferenceNode.super.prototype.onTeardown.call( this );
+};
+
+/**
+ * Handle the updating of the InternalList object.
+ *
+ * This will occur after a document transaction.
+ *
+ * @param {string[]} groupsChanged A list of groups which have changed in this transaction
+ */
+ve.ce.MWReferenceNode.prototype.onInternalListUpdate = function ( groupsChanged ) {
+ // Only update if this group has been changed
+ if ( groupsChanged.indexOf( this.model.getAttribute( 'listGroup' ) ) !== -1 ) {
+ this.update();
+ }
+};
+
+/**
+ * @inheritdoc ve.ce.FocusableNode
+ */
+ve.ce.MWReferenceNode.prototype.executeCommand = function () {
+ var command, contextItem,
+ items = ve.ui.contextItemFactory.getRelatedItems( [ this.model ] );
+
+ if ( items.length ) {
+ contextItem = ve.ui.contextItemFactory.lookup( items[ 0 ].name );
+ if ( contextItem ) {
+ command = this.getRoot().getSurface().getSurface().commandRegistry.lookup( contextItem.static.commandName );
+ if ( command ) {
+ command.execute( this.focusableSurface.getSurface() );
+ }
+ }
+ }
+};
+
+/**
+ * Update the rendering
+ */
+ve.ce.MWReferenceNode.prototype.update = function () {
+ var group = this.model.getGroup();
+ this.$text.text( this.model.getIndexLabel() );
+ this.$link.css( 'counterReset', 'mw-Ref ' + this.model.getIndex() );
+ if ( group ) {
+ this.$link.attr( 'data-mw-group', group );
+ } else {
+ this.$link.removeAttr( 'data-mw-group' );
+ }
+};
+
+/* Registration */
+
+ve.ce.nodeFactory.register( ve.ce.MWReferenceNode );
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ce.MWReferencesListNode.css b/www/wiki/extensions/Cite/modules/ve-cite/ve.ce.MWReferencesListNode.css
new file mode 100644
index 00000000..b625416f
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ce.MWReferencesListNode.css
@@ -0,0 +1,15 @@
+/*!
+ * VisualEditor ContentEditable MediaWiki MWReferencesListNode styles.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+.ve-ce-mwReferencesListNode .ve-ce-generated-wrapper {
+ display: inline-block;
+}
+
+.ve-ce-mwReferencesListNode-muted {
+ color: #72777d;
+ font-style: italic;
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ce.MWReferencesListNode.js b/www/wiki/extensions/Cite/modules/ve-cite/ve.ce.MWReferencesListNode.js
new file mode 100644
index 00000000..96843abd
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ce.MWReferencesListNode.js
@@ -0,0 +1,321 @@
+/*!
+ * VisualEditor ContentEditable MWReferencesListNode class.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+/**
+ * ContentEditable MediaWiki references list node.
+ *
+ * @class
+ * @extends ve.ce.LeafNode
+ * @mixins ve.ce.FocusableNode
+ *
+ * @constructor
+ * @param {ve.dm.MWReferencesListNode} model Model to observe
+ * @param {Object} [config] Configuration options
+ */
+ve.ce.MWReferencesListNode = function VeCeMWReferencesListNode() {
+ // Parent constructor
+ ve.ce.MWReferencesListNode.super.apply( this, arguments );
+
+ // Mixin constructors
+ ve.ce.FocusableNode.call( this );
+
+ // Properties
+ this.internalList = null;
+ this.listNode = null;
+ this.modified = false;
+
+ // DOM changes
+ this.$element.addClass( 've-ce-mwReferencesListNode' );
+ this.$reflist = $( '<ol>' ).addClass( 'mw-references references' );
+ this.$originalRefList = null;
+ this.$refmsg = $( '<p>' )
+ .addClass( 've-ce-mwReferencesListNode-muted' );
+
+ // Events
+ this.getModel().connect( this, { attributeChange: 'onAttributeChange' } );
+
+ this.updateDebounced = ve.debounce( this.update.bind( this ) );
+
+ // Initialization
+ this.updateDebounced();
+};
+
+/* Inheritance */
+
+OO.inheritClass( ve.ce.MWReferencesListNode, ve.ce.LeafNode );
+
+OO.mixinClass( ve.ce.MWReferencesListNode, ve.ce.FocusableNode );
+
+/* Static Properties */
+
+ve.ce.MWReferencesListNode.static.name = 'mwReferencesList';
+
+ve.ce.MWReferencesListNode.static.tagName = 'div';
+
+ve.ce.MWReferencesListNode.static.primaryCommandName = 'referencesList';
+
+/* Static Methods */
+
+/**
+ * @inheritdoc
+ */
+ve.ce.MWReferencesListNode.static.getDescription = function ( model ) {
+ return model.getAttribute( 'refGroup' );
+};
+
+/* Methods */
+
+/**
+ * Handle setup events.
+ *
+ * @method
+ */
+ve.ce.MWReferencesListNode.prototype.onSetup = function () {
+ this.internalList = this.getModel().getDocument().getInternalList();
+ this.listNode = this.internalList.getListNode();
+
+ this.internalList.connect( this, { update: 'onInternalListUpdate' } );
+ this.listNode.connect( this, { update: 'onListNodeUpdate' } );
+
+ // Parent method
+ ve.ce.MWReferencesListNode.super.prototype.onSetup.call( this );
+};
+
+/**
+ * Handle teardown events.
+ *
+ * @method
+ */
+ve.ce.MWReferencesListNode.prototype.onTeardown = function () {
+ this.internalList.disconnect( this, { update: 'onInternalListUpdate' } );
+ this.listNode.disconnect( this, { update: 'onListNodeUpdate' } );
+
+ this.internalList = null;
+ this.listNode = null;
+
+ // Parent method
+ ve.ce.MWReferencesListNode.super.prototype.onTeardown.call( this );
+};
+
+/**
+ * Handle the updating of the InternalList object.
+ *
+ * This will occur after a document transaction.
+ *
+ * @method
+ * @param {string[]} groupsChanged A list of groups which have changed in this transaction
+ */
+ve.ce.MWReferencesListNode.prototype.onInternalListUpdate = function ( groupsChanged ) {
+ // Only update if this group has been changed
+ if ( groupsChanged.indexOf( this.getModel().getAttribute( 'listGroup' ) ) !== -1 ) {
+ this.modified = true;
+ this.updateDebounced();
+ }
+};
+
+/**
+ * Rerender when the 'listGroup' attribute changes in the model.
+ *
+ * @param {string} key Attribute key
+ * @param {string} from Old value
+ * @param {string} to New value
+ */
+ve.ce.MWReferencesListNode.prototype.onAttributeChange = function ( key ) {
+ switch ( key ) {
+ case 'listGroup':
+ this.updateDebounced();
+ this.modified = true;
+ break;
+ case 'isResponsive':
+ this.updateClasses();
+ break;
+ }
+};
+
+/**
+ * Handle the updating of the InternalListNode.
+ *
+ * This will occur after changes to any InternalItemNode.
+ *
+ * @method
+ */
+ve.ce.MWReferencesListNode.prototype.onListNodeUpdate = function () {
+ // When the list node updates we're not sure which list group the item
+ // belonged to so we always update
+ // TODO: Only re-render the reference which has been edited
+ this.updateDebounced();
+};
+
+/**
+ * Update the references list.
+ */
+ve.ce.MWReferencesListNode.prototype.update = function () {
+ var i, j, iLen, jLen, index, firstNode, key, keyedNodes, modelNode, viewNode,
+ $li, $refSpan, $link, internalList, refGroup, listGroup, nodes,
+ model = this.getModel();
+
+ // Check the node hasn't been destroyed, as this method is debounced.
+ if ( !model ) {
+ return;
+ }
+
+ internalList = model.getDocument().internalList;
+ refGroup = model.getAttribute( 'refGroup' );
+ listGroup = model.getAttribute( 'listGroup' );
+ nodes = internalList.getNodeGroup( listGroup );
+
+ // Just use Parsoid-provided DOM for first rendering
+ // NB: Technically this.modified could be reset to false if this
+ // node is re-attached, but that is an unlikely edge case.
+ if ( !this.modified && model.getElement().originalDomElementsHash ) {
+ this.$originalRefList = $( model.getStore().value(
+ model.getElement().originalDomElementsHash
+ ) );
+ this.$element.append( this.$originalRefList );
+ return;
+ }
+
+ function updateGeneratedContent( viewNode, $li ) {
+ // HACK: PHP parser doesn't wrap single lines in a paragraph
+ if (
+ viewNode.$element.children().length === 1 &&
+ viewNode.$element.children( 'p' ).length === 1
+ ) {
+ // unwrap inner
+ viewNode.$element.children().replaceWith(
+ viewNode.$element.children().contents()
+ );
+ }
+ $li.append(
+ $( '<span>' )
+ .addClass( 'reference-text' )
+ .append( viewNode.$element )
+ );
+
+ // Since this is running after content generation has finished, it's
+ // safe to destroy the view.
+ viewNode.destroy();
+ }
+
+ if ( this.$originalRefList ) {
+ this.$originalRefList.remove();
+ this.$originalRefList = null;
+ }
+ this.$reflist.detach().empty();
+ this.$refmsg.detach();
+
+ if ( refGroup !== '' ) {
+ this.$reflist.attr( 'data-mw-group', refGroup );
+ } else {
+ this.$reflist.removeAttr( 'data-mw-group' );
+ }
+
+ if ( !nodes || !nodes.indexOrder.length ) {
+ if ( refGroup !== '' ) {
+ this.$refmsg.text( ve.msg( 'cite-ve-referenceslist-isempty', refGroup ) );
+ } else {
+ this.$refmsg.text( ve.msg( 'cite-ve-referenceslist-isempty-default' ) );
+ }
+ this.$element.append( this.$refmsg );
+ } else {
+ for ( i = 0, iLen = nodes.indexOrder.length; i < iLen; i++ ) {
+ index = nodes.indexOrder[ i ];
+ firstNode = nodes.firstNodes[ index ];
+
+ key = internalList.keys[ index ];
+ keyedNodes = nodes.keyedNodes[ key ];
+ keyedNodes = keyedNodes.filter( function ( node ) {
+ // Exclude placeholder references
+ if ( node.getAttribute( 'placeholder' ) ) {
+ return false;
+ }
+ // Exclude references defined inside the references list node
+ while ( ( node = node.parent ) && node !== null ) {
+ if ( node instanceof ve.dm.MWReferencesListNode ) {
+ return false;
+ }
+ }
+ return true;
+ } );
+
+ if ( !keyedNodes.length ) {
+ continue;
+ }
+
+ $li = $( '<li>' );
+
+ if ( keyedNodes.length > 1 ) {
+ $refSpan = $( '<span>' ).attr( 'rel', 'mw:referencedBy' );
+ for ( j = 0, jLen = keyedNodes.length; j < jLen; j++ ) {
+ $link = $( '<a>' ).append(
+ $( '<span>' ).addClass( 'mw-linkback-text' )
+ .text( ( j + 1 ) + ' ' )
+ );
+ if ( refGroup !== '' ) {
+ $link.attr( 'data-mw-group', refGroup );
+ }
+ $refSpan.append( $link );
+ }
+ $li.append( $refSpan );
+ } else {
+ $link = $( '<a>' ).attr( 'rel', 'mw:referencedBy' ).append(
+ $( '<span>' ).addClass( 'mw-linkback-text' )
+ .text( '↑ ' )
+ );
+ if ( refGroup !== '' ) {
+ $link.attr( 'data-mw-group', refGroup );
+ }
+ $li.append( $link );
+ }
+
+ // Generate reference HTML from first item in key
+ modelNode = internalList.getItemNode( firstNode.getAttribute( 'listIndex' ) );
+ if ( modelNode && modelNode.length ) {
+ viewNode = new ve.ce.InternalItemNode( modelNode );
+
+ // Use 'done' instead of 'then' so content is updated synchronously
+ // if possible, for clipboard conversion.
+ ve.ce.GeneratedContentNode.static.awaitGeneratedContent( viewNode )
+ .done( updateGeneratedContent.bind( this, viewNode, $li ) );
+
+ // Because this update runs a number of times when using the
+ // basic dialog, disconnect the model here rather than waiting
+ // for when it's destroyed after the generated content is
+ // finished. Failing to do this causes teardown errors with
+ // basic citations.
+ modelNode.disconnect( viewNode );
+ } else {
+ $li.append(
+ $( '<span>' )
+ .addClass( 've-ce-mwReferencesListNode-muted' )
+ .text( ve.msg( 'cite-ve-referenceslist-missingref-in-list' ) )
+ );
+ }
+
+ this.$reflist.append( $li );
+ }
+ this.updateClasses();
+ this.$element.append( this.$reflist );
+ }
+};
+
+/**
+ * Update ref list classes.
+ *
+ * Currently used to set responsive layout
+ */
+ve.ce.MWReferencesListNode.prototype.updateClasses = function () {
+ var isResponsive = this.getModel().getAttribute( 'isResponsive' );
+
+ this.$element
+ .toggleClass( 'mw-references-wrap', isResponsive )
+ .toggleClass( 'mw-references-columns', isResponsive && this.$reflist.children().length > 10 );
+};
+
+/* Registration */
+
+ve.ce.nodeFactory.register( ve.ce.MWReferencesListNode );
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.dm.MWReferenceModel.js b/www/wiki/extensions/Cite/modules/ve-cite/ve.dm.MWReferenceModel.js
new file mode 100644
index 00000000..fcfccfac
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.dm.MWReferenceModel.js
@@ -0,0 +1,283 @@
+/*!
+ * VisualEditor DataModel MWReferenceModel class.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+/**
+ * MediaWiki reference model.
+ *
+ * @class
+ * @mixins OO.EventEmitter
+ *
+ * @constructor
+ * @param {ve.dm.Document} parentDoc Document that contains or will contain the reference
+ */
+ve.dm.MWReferenceModel = function VeDmMWReferenceModel( parentDoc ) {
+ // Mixin constructors
+ OO.EventEmitter.call( this );
+
+ // Properties
+ this.listKey = '';
+ this.listGroup = '';
+ this.listIndex = null;
+ this.group = '';
+ this.doc = null;
+ this.parentDoc = parentDoc;
+ this.deferDoc = null;
+};
+
+/* Inheritance */
+
+OO.mixinClass( ve.dm.MWReferenceModel, OO.EventEmitter );
+
+/* Static Methods */
+
+/**
+ * Create a reference model from a reference internal item.
+ *
+ * @param {ve.dm.MWReferenceNode} node Reference node
+ * @return {ve.dm.MWReferenceModel} Reference model
+ */
+ve.dm.MWReferenceModel.static.newFromReferenceNode = function ( node ) {
+ var doc = node.getDocument(),
+ internalList = doc.getInternalList(),
+ attr = node.getAttributes(),
+ ref = new ve.dm.MWReferenceModel( doc );
+
+ ref.setListKey( attr.listKey );
+ ref.setListGroup( attr.listGroup );
+ ref.setListIndex( attr.listIndex );
+ ref.setGroup( attr.refGroup );
+ ref.deferDoc = function () {
+ // cloneFromRange is very expensive, so lazy evaluate it
+ return doc.cloneFromRange( internalList.getItemNode( attr.listIndex ).getRange() );
+ };
+
+ return ref;
+};
+
+/* Methods */
+
+/**
+ * Find matching item in a surface.
+ *
+ * @param {ve.dm.Surface} surfaceModel Surface reference is in
+ * @return {ve.dm.InternalItemNode|null} Internal reference item, null if none exists
+ */
+ve.dm.MWReferenceModel.prototype.findInternalItem = function ( surfaceModel ) {
+ if ( this.listIndex !== null ) {
+ return surfaceModel.getDocument().getInternalList().getItemNode( this.listIndex );
+ }
+ return null;
+};
+
+/**
+ * Insert reference internal item into a surface.
+ *
+ * If the internal item for this reference doesn't exist, use this method to create one.
+ * The inserted reference is empty and auto-numbered.
+ *
+ * @param {ve.dm.Surface} surfaceModel Surface model of main document
+ */
+ve.dm.MWReferenceModel.prototype.insertInternalItem = function ( surfaceModel ) {
+ // Create new internal item
+ var item,
+ doc = surfaceModel.getDocument(),
+ internalList = doc.getInternalList();
+
+ // Fill in data
+ this.setListKey( 'auto/' + internalList.getNextUniqueNumber() );
+ this.setListGroup( 'mwReference/' + this.group );
+
+ // Insert internal reference item into document
+ item = internalList.getItemInsertion( this.listGroup, this.listKey, [] );
+ surfaceModel.change( item.transaction );
+ this.setListIndex( item.index );
+
+ // Inject reference document into internal reference item
+ surfaceModel.change(
+ ve.dm.TransactionBuilder.static.newFromDocumentInsertion(
+ doc,
+ internalList.getItemNode( item.index ).getRange().start,
+ this.getDocument()
+ )
+ );
+};
+
+/**
+ * Update an internal reference item.
+ *
+ * An internal item for the reference will be created if no `ref` argument is given.
+ *
+ * @param {ve.dm.Surface} surfaceModel Surface model of main document
+ */
+ve.dm.MWReferenceModel.prototype.updateInternalItem = function ( surfaceModel ) {
+ var i, len, txs, group, refNodes, keyIndex, itemNodeRange,
+ doc = surfaceModel.getDocument(),
+ internalList = doc.getInternalList(),
+ listGroup = 'mwReference/' + this.group;
+
+ // Group/key has changed
+ if ( this.listGroup !== listGroup ) {
+ // Get all reference nodes with the same group and key
+ group = internalList.getNodeGroup( this.listGroup );
+ refNodes = group.keyedNodes[ this.listKey ] ?
+ group.keyedNodes[ this.listKey ].slice() :
+ [ group.firstNodes[ this.listIndex ] ];
+ // Check for name collision when moving items between groups
+ keyIndex = internalList.getKeyIndex( this.listGroup, this.listKey );
+ if ( keyIndex !== undefined ) {
+ // Resolve name collision by generating a new list key
+ this.listKey = 'auto/' + internalList.getNextUniqueNumber();
+ }
+ // Update the group name of all references nodes with the same group and key
+ txs = [];
+ for ( i = 0, len = refNodes.length; i < len; i++ ) {
+ txs.push( ve.dm.TransactionBuilder.static.newFromAttributeChanges(
+ doc,
+ refNodes[ i ].getOuterRange().start,
+ { refGroup: this.group, listGroup: listGroup }
+ ) );
+ }
+ surfaceModel.change( txs );
+ this.listGroup = listGroup;
+ }
+ // Update internal node content
+ itemNodeRange = internalList.getItemNode( this.listIndex ).getRange();
+ surfaceModel.change( ve.dm.TransactionBuilder.static.newFromRemoval( doc, itemNodeRange, true ) );
+ surfaceModel.change(
+ ve.dm.TransactionBuilder.static.newFromDocumentInsertion( doc, itemNodeRange.start, this.getDocument() )
+ );
+};
+
+/**
+ * Insert reference at the end of a surface fragment.
+ *
+ * @param {ve.dm.SurfaceFragment} surfaceFragment Surface fragment to insert at
+ * @param {boolean} [placeholder] Reference is a placeholder for staging purposes
+ */
+ve.dm.MWReferenceModel.prototype.insertReferenceNode = function ( surfaceFragment, placeholder ) {
+ var attributes = {
+ listKey: this.listKey,
+ listGroup: this.listGroup,
+ listIndex: this.listIndex,
+ refGroup: this.group
+ };
+ if ( placeholder ) {
+ attributes.placeholder = true;
+ }
+ surfaceFragment
+ .insertContent( [
+ {
+ type: 'mwReference',
+ attributes: attributes
+ },
+ { type: '/mwReference' }
+ ] );
+};
+
+/**
+ * Get the key of a reference in the references list.
+ *
+ * @return {string} Reference's list key
+ */
+ve.dm.MWReferenceModel.prototype.getListKey = function () {
+ return this.listKey;
+};
+
+/**
+ * Get the name of the group a references list is in.
+ *
+ * @return {string} References list's group
+ */
+ve.dm.MWReferenceModel.prototype.getListGroup = function () {
+ return this.listGroup;
+};
+
+/**
+ * Get the index of reference in the references list.
+ *
+ * @return {string} Reference's index
+ */
+ve.dm.MWReferenceModel.prototype.getListIndex = function () {
+ return this.listIndex;
+};
+
+/**
+ * Get the name of the group a reference is in.
+ *
+ * @return {string} Reference's group
+ */
+ve.dm.MWReferenceModel.prototype.getGroup = function () {
+ return this.group;
+};
+
+/**
+ * Get reference document.
+ *
+ * Auto-generates a blank document if no document exists.
+ *
+ * @return {ve.dm.Document} Reference document
+ */
+ve.dm.MWReferenceModel.prototype.getDocument = function () {
+ if ( !this.doc ) {
+ if ( this.deferDoc ) {
+ this.doc = this.deferDoc();
+ } else {
+ this.doc = this.parentDoc.cloneWithData( [
+ { type: 'paragraph', internal: { generated: 'wrapper' } },
+ { type: '/paragraph' },
+ { type: 'internalList' },
+ { type: '/internalList' }
+ ] );
+ }
+ }
+ return this.doc;
+};
+
+/**
+ * Set key of reference in list.
+ *
+ * @param {string} listKey Reference's list key
+ */
+ve.dm.MWReferenceModel.prototype.setListKey = function ( listKey ) {
+ this.listKey = listKey;
+};
+
+/**
+ * Set name of the group a references list is in.
+ *
+ * @param {string} listGroup References list's group
+ */
+ve.dm.MWReferenceModel.prototype.setListGroup = function ( listGroup ) {
+ this.listGroup = listGroup;
+};
+
+/**
+ * Set the index of reference in list.
+ *
+ * @param {string} listIndex Reference's list index
+ */
+ve.dm.MWReferenceModel.prototype.setListIndex = function ( listIndex ) {
+ this.listIndex = listIndex;
+};
+
+/**
+ * Set the name of the group a reference is in.
+ *
+ * @param {string} group Reference's group
+ */
+ve.dm.MWReferenceModel.prototype.setGroup = function ( group ) {
+ this.group = group;
+};
+
+/**
+ * Set the reference document.
+ *
+ * @param {ve.dm.Document} doc Reference document
+ */
+ve.dm.MWReferenceModel.prototype.setDocument = function ( doc ) {
+ this.doc = doc;
+};
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.dm.MWReferenceNode.js b/www/wiki/extensions/Cite/modules/ve-cite/ve.dm.MWReferenceNode.js
new file mode 100644
index 00000000..e84d247a
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.dm.MWReferenceNode.js
@@ -0,0 +1,461 @@
+/*!
+ * VisualEditor DataModel MWReferenceNode class.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+/**
+ * DataModel MediaWiki reference node.
+ *
+ * @class
+ * @extends ve.dm.LeafNode
+ * @mixins ve.dm.FocusableNode
+ *
+ * @constructor
+ * @param {Object} [element] Reference to element in linear model
+ */
+ve.dm.MWReferenceNode = function VeDmMWReferenceNode() {
+ // Parent constructor
+ ve.dm.MWReferenceNode.super.apply( this, arguments );
+
+ // Mixin constructors
+ ve.dm.FocusableNode.call( this );
+
+ // Event handlers
+ this.connect( this, {
+ root: 'onRoot',
+ unroot: 'onUnroot',
+ attributeChange: 'onAttributeChange'
+ } );
+};
+
+/* Inheritance */
+
+OO.inheritClass( ve.dm.MWReferenceNode, ve.dm.LeafNode );
+
+OO.mixinClass( ve.dm.MWReferenceNode, ve.dm.FocusableNode );
+
+/* Static members */
+
+ve.dm.MWReferenceNode.static.name = 'mwReference';
+
+ve.dm.MWReferenceNode.static.matchTagNames = null;
+
+ve.dm.MWReferenceNode.static.matchRdfaTypes = [ 'mw:Extension/ref' ];
+
+ve.dm.MWReferenceNode.static.allowedRdfaTypes = [ 'dc:references' ];
+
+ve.dm.MWReferenceNode.static.isContent = true;
+
+ve.dm.MWReferenceNode.static.blacklistedAnnotationTypes = [ 'link' ];
+
+/**
+ * Regular expression for parsing the listKey attribute
+ * @static
+ * @property {RegExp}
+ * @inheritable
+ */
+ve.dm.MWReferenceNode.static.listKeyRegex = /^(auto|literal)\/(.*)$/;
+
+ve.dm.MWReferenceNode.static.toDataElement = function ( domElements, converter ) {
+ var dataElement, mwDataJSON, mwData, reflistItemId, body, refGroup, listGroup, autoKeyed, listKey, queueResult, listIndex, contentsUsed;
+
+ function getReflistItemHtml( id ) {
+ var elem = converter.getHtmlDocument().getElementById( id );
+ return elem && elem.innerHTML || '';
+ }
+
+ mwDataJSON = domElements[ 0 ].getAttribute( 'data-mw' );
+ mwData = mwDataJSON ? JSON.parse( mwDataJSON ) : {};
+ reflistItemId = mwData.body && mwData.body.id;
+ body = ( mwData.body && mwData.body.html ) ||
+ ( reflistItemId && getReflistItemHtml( reflistItemId ) ) ||
+ '';
+ refGroup = mwData.attrs && mwData.attrs.group || '';
+ listGroup = this.name + '/' + refGroup;
+ autoKeyed = !mwData.attrs || mwData.attrs.name === undefined;
+ listKey = autoKeyed ?
+ 'auto/' + converter.internalList.getNextUniqueNumber() :
+ 'literal/' + mwData.attrs.name;
+ queueResult = converter.internalList.queueItemHtml( listGroup, listKey, body );
+ listIndex = queueResult.index;
+ contentsUsed = ( body !== '' && queueResult.isNew );
+
+ dataElement = {
+ type: this.name,
+ attributes: {
+ mw: mwData,
+ originalMw: mwDataJSON,
+ listIndex: listIndex,
+ listGroup: listGroup,
+ listKey: listKey,
+ refGroup: refGroup,
+ contentsUsed: contentsUsed
+ }
+ };
+ if ( reflistItemId ) {
+ dataElement.attributes.refListItemId = reflistItemId;
+ }
+ return dataElement;
+};
+
+ve.dm.MWReferenceNode.static.toDomElements = function ( dataElement, doc, converter ) {
+ var itemNodeHtml, originalHtml, mwData, i, iLen, keyedNodes, setContents, contentsAlreadySet,
+ originalMw, listKeyParts, name, group, $link,
+ isForClipboard = converter.isForClipboard(),
+ el = doc.createElement( 'sup' ),
+ itemNodeWrapper = doc.createElement( 'div' ),
+ originalHtmlWrapper = doc.createElement( 'div' ),
+ itemNode = converter.internalList.getItemNode( dataElement.attributes.listIndex ),
+ itemNodeRange = itemNode.getRange();
+
+ el.setAttribute( 'typeof', 'mw:Extension/ref' );
+
+ mwData = dataElement.attributes.mw ? ve.copy( dataElement.attributes.mw ) : {};
+ mwData.name = 'ref';
+
+ setContents = dataElement.attributes.contentsUsed;
+
+ keyedNodes = converter.internalList
+ .getNodeGroup( dataElement.attributes.listGroup )
+ .keyedNodes[ dataElement.attributes.listKey ];
+
+ if ( setContents ) {
+ // Check if a previous node has already set the content. If so, we don't overwrite this
+ // node's contents.
+ contentsAlreadySet = false;
+ if ( keyedNodes ) {
+ for ( i = 0, iLen = keyedNodes.length; i < iLen; i++ ) {
+ if ( keyedNodes[ i ].element === dataElement ) {
+ break;
+ }
+ if ( keyedNodes[ i ].element.attributes.contentsUsed ) {
+ contentsAlreadySet = true;
+ break;
+ }
+ }
+ }
+ } else {
+ // Check if any other nodes with this key provided content. If not
+ // then we attach the contents to the first reference with this key
+
+ // Check that this is the first reference with its key
+ if ( keyedNodes && dataElement === keyedNodes[ 0 ].element ) {
+ setContents = true;
+ // Check no other reference originally defined the contents
+ // As this is keyedNodes[0] we can start at 1
+ for ( i = 1, iLen = keyedNodes.length; i < iLen; i++ ) {
+ if ( keyedNodes[ i ].element.attributes.contentsUsed ) {
+ setContents = false;
+ break;
+ }
+ }
+ }
+ }
+
+ if ( setContents && !contentsAlreadySet ) {
+ converter.getDomSubtreeFromData(
+ itemNode.getDocument().getFullData( itemNodeRange, true ),
+ itemNodeWrapper
+ );
+ itemNodeHtml = itemNodeWrapper.innerHTML; // Returns '' if itemNodeWrapper is empty
+ originalHtml = ve.getProp( mwData, 'body', 'html' ) ||
+ ( ve.getProp( mwData, 'body', 'id' ) !== undefined && itemNode.getAttribute( 'originalHtml' ) ) ||
+ '';
+ originalHtmlWrapper.innerHTML = originalHtml;
+ // Only set body.html if itemNodeHtml and originalHtml are actually different,
+ // or we are writing the clipboard for use in another VE instance
+ if ( isForClipboard || !originalHtmlWrapper.isEqualNode( itemNodeWrapper ) ) {
+ ve.setProp( mwData, 'body', 'html', itemNodeHtml );
+ }
+ }
+
+ // If we have no internal item data for this reference, don't let it get pasted into
+ // another VE document. T110479
+ if ( isForClipboard && itemNodeRange.isCollapsed() ) {
+ el.setAttribute( 'data-ve-ignore', 'true' );
+ }
+
+ // Generate name
+ listKeyParts = dataElement.attributes.listKey.match( this.listKeyRegex );
+ if ( listKeyParts[ 1 ] === 'auto' ) {
+ // Only render a name if this key was reused
+ if ( keyedNodes.length > 1 ) {
+ // Allocate a unique list key, then strip the 'literal/'' prefix
+ name = converter.internalList.getUniqueListKey(
+ dataElement.attributes.listGroup,
+ dataElement.attributes.listKey,
+ // Generate a name starting with ':' to distinguish it from normal names
+ 'literal/:'
+ ).slice( 'literal/'.length );
+ } else {
+ name = undefined;
+ }
+ } else {
+ // Use literal name
+ name = listKeyParts[ 2 ];
+ }
+ // Set name
+ if ( name !== undefined ) {
+ ve.setProp( mwData, 'attrs', 'name', name );
+ }
+
+ // Set or clear group
+ if ( dataElement.attributes.refGroup !== '' ) {
+ ve.setProp( mwData, 'attrs', 'group', dataElement.attributes.refGroup );
+ } else if ( mwData.attrs ) {
+ delete mwData.attrs.refGroup;
+ }
+
+ // If mwAttr and originalMw are the same, use originalMw to prevent reserialization,
+ // unless we are writing the clipboard for use in another VE instance
+ // Reserialization has the potential to reorder keys and so change the DOM unnecessarily
+ originalMw = dataElement.attributes.originalMw;
+ if ( !isForClipboard && originalMw && ve.compare( mwData, JSON.parse( originalMw ) ) ) {
+ el.setAttribute( 'data-mw', originalMw );
+
+ // Return the original DOM elements if possible
+ if ( dataElement.originalDomElementsHash !== undefined ) {
+ return ve.copyDomElements( converter.getStore().value( dataElement.originalDomElementsHash ), doc );
+ }
+ } else {
+ el.setAttribute( 'data-mw', JSON.stringify( mwData ) );
+
+ // HTML for the external clipboard, it will be ignored by the converter
+ group = this.getGroup( dataElement );
+ $link = $( '<a>', doc ).css(
+ 'counterReset', 'mw-Ref ' + this.getIndex( dataElement, converter.internalList )
+ );
+ if ( group ) {
+ $link.attr( 'data-mw-group', this.getGroup( dataElement ) );
+ }
+ $( el ).addClass( 'mw-ref' ).append(
+ $link.append(
+ $( '<span>', doc ).addClass( 'mw-reflink-text' ).text( this.getIndexLabel( dataElement, converter.internalList ) )
+ )
+ );
+ }
+
+ return [ el ];
+};
+
+ve.dm.MWReferenceNode.static.remapInternalListIndexes = function ( dataElement, mapping, internalList ) {
+ var listKeyParts;
+ // Remap listIndex
+ dataElement.attributes.listIndex = mapping[ dataElement.attributes.listIndex ];
+
+ // Remap listKey if it was automatically generated
+ listKeyParts = dataElement.attributes.listKey.match( this.listKeyRegex );
+ if ( listKeyParts[ 1 ] === 'auto' ) {
+ dataElement.attributes.listKey = 'auto/' + internalList.getNextUniqueNumber();
+ }
+};
+
+ve.dm.MWReferenceNode.static.remapInternalListKeys = function ( dataElement, internalList ) {
+ var suffix = '';
+ // Try name, name2, name3, ... until unique
+ while ( internalList.keys.indexOf( dataElement.attributes.listKey + suffix ) !== -1 ) {
+ suffix = suffix ? suffix + 1 : 2;
+ }
+ if ( suffix ) {
+ dataElement.attributes.listKey = dataElement.attributes.listKey + suffix;
+ }
+};
+
+/**
+ * Gets the index for the reference
+ *
+ * @static
+ * @param {Object} dataElement Element data
+ * @param {ve.dm.InternalList} internalList Internal list
+ * @return {number} Index
+ */
+ve.dm.MWReferenceNode.static.getIndex = function ( dataElement, internalList ) {
+ var listIndex, listGroup, position,
+ overrideIndex = ve.getProp( dataElement, 'internal', 'overrideIndex' );
+
+ if ( overrideIndex ) {
+ return overrideIndex;
+ }
+
+ listIndex = dataElement.attributes.listIndex;
+ listGroup = dataElement.attributes.listGroup;
+ position = internalList.getIndexPosition( listGroup, listIndex );
+
+ return position + 1;
+};
+
+/**
+ * Gets the group for the reference
+ *
+ * @static
+ * @param {Object} dataElement Element data
+ * @return {string} Group
+ */
+ve.dm.MWReferenceNode.static.getGroup = function ( dataElement ) {
+ return dataElement.attributes.refGroup;
+};
+
+/**
+ * Gets the index label for the reference
+ *
+ * @static
+ * @param {Object} dataElement Element data
+ * @param {ve.dm.InternalList} internalList Internal list
+ * @return {string} Reference label
+ */
+ve.dm.MWReferenceNode.static.getIndexLabel = function ( dataElement, internalList ) {
+ var refGroup = dataElement.attributes.refGroup,
+ index = ve.dm.MWReferenceNode.static.getIndex( dataElement, internalList );
+
+ return '[' + ( refGroup ? refGroup + ' ' : '' ) + index + ']';
+};
+
+/**
+ * @inheritdoc
+ */
+ve.dm.MWReferenceNode.static.cloneElement = function () {
+ var clone = ve.dm.MWReferenceNode.super.static.cloneElement.apply( this, arguments );
+ delete clone.attributes.contentsUsed;
+ delete clone.attributes.mw;
+ delete clone.attributes.originalMw;
+ return clone;
+};
+
+/**
+ * @inheritdoc
+ */
+ve.dm.MWReferenceNode.static.describeChange = function ( key, change ) {
+ if ( key === 'refGroup' ) {
+ if ( change.from ) {
+ if ( change.to ) {
+ return ve.msg( 'cite-ve-changedesc-ref-group-both', change.from, change.to );
+ } else {
+ return ve.msg( 'cite-ve-changedesc-ref-group-from', change.from );
+ }
+ }
+ return ve.msg( 'cite-ve-changedesc-ref-group-to', change.to );
+ }
+ if ( key === 'refListItemId' ) {
+ return ve.msg( 'cite-ve-changedesc-reflist-item-id' );
+ }
+};
+
+/* Methods */
+
+/**
+ * Don't allow reference nodes to be edited if we can't find their contents.
+ *
+ * @inheritdoc
+ */
+ve.dm.MWReferenceNode.prototype.isEditable = function () {
+ var internalItem = this.getInternalItem();
+ return internalItem && internalItem.getLength() > 0;
+};
+
+/**
+ * Gets the internal item node associated with this node
+ *
+ * @return {ve.dm.InternalItemNode} Item node
+ */
+ve.dm.MWReferenceNode.prototype.getInternalItem = function () {
+ return this.getDocument().getInternalList().getItemNode( this.getAttribute( 'listIndex' ) );
+};
+
+/**
+ * Gets the index for the reference
+ *
+ * @return {number} Index
+ */
+ve.dm.MWReferenceNode.prototype.getIndex = function () {
+ return this.constructor.static.getIndex( this.element, this.getDocument().getInternalList() );
+};
+
+/**
+ * Gets the group for the reference
+ *
+ * @return {string} Group
+ */
+ve.dm.MWReferenceNode.prototype.getGroup = function () {
+ return this.constructor.static.getGroup( this.element );
+};
+
+/**
+ * Gets the index label for the reference
+ *
+ * @return {string} Reference label
+ */
+ve.dm.MWReferenceNode.prototype.getIndexLabel = function () {
+ return this.constructor.static.getIndexLabel( this.element, this.getDocument().getInternalList() );
+};
+
+/**
+ * Handle the node being attached to the root
+ */
+ve.dm.MWReferenceNode.prototype.onRoot = function () {
+ this.addToInternalList();
+};
+
+/**
+ * Handle the node being detached from the root
+ *
+ * @param {ve.dm.DocumentNode} oldRoot Old document root
+ */
+ve.dm.MWReferenceNode.prototype.onUnroot = function ( oldRoot ) {
+ if ( this.getDocument().getDocumentNode() === oldRoot ) {
+ this.removeFromInternalList();
+ }
+};
+
+/**
+ * Register the node with the internal list
+ */
+ve.dm.MWReferenceNode.prototype.addToInternalList = function () {
+ if ( this.getRoot() === this.getDocument().getDocumentNode() ) {
+ this.registeredListGroup = this.element.attributes.listGroup;
+ this.registeredListKey = this.element.attributes.listKey;
+ this.registeredListIndex = this.element.attributes.listIndex;
+ this.getDocument().getInternalList().addNode(
+ this.registeredListGroup,
+ this.registeredListKey,
+ this.registeredListIndex,
+ this
+ );
+ }
+};
+
+/**
+ * Unregister the node from the internal list
+ */
+ve.dm.MWReferenceNode.prototype.removeFromInternalList = function () {
+ if ( !this.registeredListGroup ) {
+ // Don't try to remove if we haven't been added in the first place.
+ return;
+ }
+ this.getDocument().getInternalList().removeNode(
+ this.registeredListGroup,
+ this.registeredListKey,
+ this.registeredListIndex,
+ this
+ );
+};
+
+ve.dm.MWReferenceNode.prototype.onAttributeChange = function ( key, from, to ) {
+ if (
+ ( key !== 'listGroup' && key !== 'listKey' ) ||
+ ( key === 'listGroup' && this.registeredListGroup === to ) ||
+ ( key === 'listKey' && this.registeredListKey === to )
+ ) {
+ return;
+ }
+
+ // Need the old list keys and indexes, so we register them in addToInternalList
+ // They've already been updated in this.element.attributes before this code runs
+ this.removeFromInternalList();
+ this.addToInternalList();
+};
+
+/* Registration */
+
+ve.dm.modelRegistry.register( ve.dm.MWReferenceNode );
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.dm.MWReferencesListNode.js b/www/wiki/extensions/Cite/modules/ve-cite/ve.dm.MWReferencesListNode.js
new file mode 100644
index 00000000..a06968a8
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.dm.MWReferencesListNode.js
@@ -0,0 +1,243 @@
+/*!
+ * VisualEditor DataModel MWReferencesListNode class.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+/**
+ * DataModel MediaWiki references list node.
+ *
+ * @class
+ * @extends ve.dm.BranchNode
+ * @mixins ve.dm.FocusableNode
+ *
+ * @constructor
+ * @param {Object} [element] Reference to element in linear model
+ * @param {ve.dm.Node[]} [children]
+ */
+ve.dm.MWReferencesListNode = function VeDmMWReferencesListNode() {
+ // Parent constructor
+ ve.dm.MWReferencesListNode.super.apply( this, arguments );
+
+ // Mixin constructors
+ ve.dm.FocusableNode.call( this );
+};
+
+/* Inheritance */
+
+OO.inheritClass( ve.dm.MWReferencesListNode, ve.dm.BranchNode );
+
+OO.mixinClass( ve.dm.MWReferencesListNode, ve.dm.FocusableNode );
+
+/* Methods */
+
+ve.dm.MWReferencesListNode.prototype.isEditable = function () {
+ return !this.getAttribute( 'templateGenerated' );
+};
+
+/* Static members */
+
+ve.dm.MWReferencesListNode.static.name = 'mwReferencesList';
+
+ve.dm.MWReferencesListNode.static.handlesOwnChildren = true;
+
+ve.dm.MWReferencesListNode.static.ignoreChildren = true;
+
+ve.dm.MWReferencesListNode.static.matchTagNames = null;
+
+ve.dm.MWReferencesListNode.static.matchRdfaTypes = [ 'mw:Extension/references', 'mw:Transclusion' ];
+
+ve.dm.MWReferencesListNode.static.matchFunction = function ( domElement ) {
+ function isRefList( el ) {
+ return el && el.nodeType === Node.ELEMENT_NODE && ( el.getAttribute( 'typeof' ) || '' ).indexOf( 'mw:Extension/references' ) !== -1;
+ }
+ // If the template generated only a reference list, treat it as a ref list (T52769)
+ return isRefList( domElement ) ||
+ // A div-wrapped reference list
+ ( domElement.children.length === 1 && isRefList( domElement.children[ 0 ] ) );
+};
+
+ve.dm.MWReferencesListNode.static.preserveHtmlAttributes = false;
+
+ve.dm.MWReferencesListNode.static.toDataElement = function ( domElements, converter ) {
+ var referencesListData, contentsDiv, contentsData, refListNode,
+ mwDataJSON, mwData, refGroup, responsiveAttr, listGroup,
+ type = domElements[ 0 ].getAttribute( 'typeof' ) || '',
+ templateGenerated = type.indexOf( 'mw:Transclusion' ) !== -1,
+ isResponsiveDefault = mw.config.get( 'wgCiteResponsiveReferences' );
+
+ // We may have matched a mw:Transclusion wrapping a reference list, so pull out the refListNode
+ if ( type.indexOf( 'mw:Extension/references' ) !== -1 ) {
+ refListNode = domElements[ 0 ];
+ } else {
+ refListNode = domElements[ 0 ].querySelectorAll( '[typeof*="mw:Extension/references"]' )[ 0 ];
+ }
+
+ mwDataJSON = refListNode.getAttribute( 'data-mw' );
+ mwData = mwDataJSON ? JSON.parse( mwDataJSON ) : {};
+ refGroup = ve.getProp( mwData, 'attrs', 'group' ) || '';
+ responsiveAttr = ve.getProp( mwData, 'attrs', 'responsive' );
+ listGroup = 'mwReference/' + refGroup;
+
+ referencesListData = {
+ type: this.name,
+ attributes: {
+ mw: mwData,
+ originalMw: mwDataJSON,
+ refGroup: refGroup,
+ listGroup: listGroup,
+ isResponsive: responsiveAttr !== undefined ? responsiveAttr !== '0' : isResponsiveDefault,
+ templateGenerated: templateGenerated
+ }
+ };
+ if ( mwData.body && mwData.body.html ) {
+ // Process the nodes in .body.html as if they were this node's children
+ contentsDiv = domElements[ 0 ].ownerDocument.createElement( 'div' );
+ contentsDiv.innerHTML = mwData.body.html;
+ contentsData = converter.getDataFromDomClean( contentsDiv );
+ referencesListData = [ referencesListData ]
+ .concat( contentsData )
+ .concat( [ { type: '/' + this.name } ] );
+ }
+ return referencesListData;
+};
+
+ve.dm.MWReferencesListNode.static.toDomElements = function ( data, doc, converter ) {
+ var el, els, mwData, originalMw, contentsHtml, originalHtml, nextIndex, nextElement, modelNode, viewNode,
+ isResponsiveDefault = mw.config.get( 'wgCiteResponsiveReferences' ),
+ isForClipboard = converter.isForClipboard(),
+ wrapper = doc.createElement( 'div' ),
+ originalHtmlWrapper = doc.createElement( 'div' ),
+ dataElement = data[ 0 ],
+ attrs = dataElement.attributes,
+ contentsData = data.slice( 1, -1 );
+
+ // If we are sending a template generated ref back to Parsoid, output it as a template.
+ // This works because the dataElement already as mw, originalMw and originalDomIndex properties.
+ if ( attrs.templateGenerated && !isForClipboard ) {
+ return ve.dm.MWTransclusionNode.static.toDomElements.call( this, dataElement, doc, converter );
+ }
+
+ if ( isForClipboard ) {
+ // Output needs to be read so re-render
+ modelNode = new ve.dm.MWReferencesListNode( dataElement );
+ // Build from original doc's internal list to get all refs (T186407)
+ modelNode.setDocument( converter.originalDocInternalList.getDocument() );
+ viewNode = new ve.ce.MWReferencesListNode( modelNode );
+ viewNode.modified = true;
+ viewNode.update();
+ els = [ doc.createElement( 'div' ) ];
+ els[ 0 ].appendChild( viewNode.$reflist[ 0 ] );
+ // Destroy the view node so it doesn't try to update the DOM node later (e.g. updateDebounced)
+ viewNode.destroy();
+ } else if ( dataElement.originalDomElementsHash !== undefined ) {
+ // If there's more than 1 element, preserve entire array, not just first element
+ els = ve.copyDomElements( converter.getStore().value( dataElement.originalDomElementsHash ), doc );
+ } else {
+ els = [ doc.createElement( 'div' ) ];
+ }
+
+ mwData = attrs.mw ? ve.copy( attrs.mw ) : {};
+
+ mwData.name = 'references';
+
+ if ( attrs.refGroup ) {
+ ve.setProp( mwData, 'attrs', 'group', attrs.refGroup );
+ } else if ( mwData.attrs ) {
+ delete mwData.attrs.refGroup;
+ }
+
+ if ( attrs.isResponsive !== isResponsiveDefault ) {
+ ve.setProp( mwData, 'attrs', 'responsive', attrs.isResponsive ? '' : '0' );
+ } else if ( mwData.attrs ) {
+ delete mwData.attrs.responsive;
+ }
+
+ if ( mwData.autoGenerated ) {
+ // This was an autogenerated reflist. We need to check whether changes
+ // have been made which make that no longer true. The reflist dialog
+ // handles unsetting this if changes to the properties have been made.
+ // Here we want to work out if it has been moved away from the end of
+ // the document.
+ // TODO: it would be better to do this without needing to fish through
+ // the converter's linear data. Use the DM tree instead?
+ nextIndex = converter.documentData.indexOf( data[ data.length - 1 ] ) + 1;
+ while ( ( nextElement = converter.documentData[ nextIndex ] ) ) {
+ if ( nextElement.type[ 0 ] !== '/' ) {
+ break;
+ }
+ nextIndex++;
+ }
+ if ( nextElement && nextElement.type !== 'internalList' ) {
+ delete mwData.autoGenerated;
+ }
+ }
+
+ el = els[ 0 ];
+ el.setAttribute( 'typeof', 'mw:Extension/references' );
+
+ if ( contentsData.length > 2 ) {
+ converter.getDomSubtreeFromData( data.slice( 1, -1 ), wrapper );
+ contentsHtml = wrapper.innerHTML; // Returns '' if wrapper is empty
+ originalHtml = ve.getProp( mwData, 'body', 'html' ) || '';
+ originalHtmlWrapper.innerHTML = originalHtml;
+ // Only set body.html if contentsHtml and originalHtml are actually different
+ if ( !originalHtmlWrapper.isEqualNode( wrapper ) ) {
+ ve.setProp( mwData, 'body', 'html', contentsHtml );
+ }
+ }
+
+ // If mwData and originalMw are the same, use originalMw to prevent reserialization.
+ // Reserialization has the potential to reorder keys and so change the DOM unnecessarily
+ originalMw = attrs.originalMw;
+ if ( originalMw && ve.compare( mwData, JSON.parse( originalMw ) ) ) {
+ el.setAttribute( 'data-mw', originalMw );
+ } else {
+ el.setAttribute( 'data-mw', JSON.stringify( mwData ) );
+ }
+
+ return els;
+};
+
+ve.dm.MWReferencesListNode.static.describeChange = function ( key, change ) {
+ if ( key === 'refGroup' ) {
+ if ( change.from ) {
+ if ( change.to ) {
+ return ve.msg( 'cite-ve-changedesc-reflist-group-both', change.from, change.to );
+ } else {
+ return ve.msg( 'cite-ve-changedesc-reflist-group-from', change.from );
+ }
+ }
+ return ve.msg( 'cite-ve-changedesc-reflist-group-to', change.to );
+ }
+
+ if ( key === 'isResponsive' ) {
+ if ( change.from ) {
+ return ve.msg( 'cite-ve-changedesc-reflist-responsive-unset' );
+ }
+ return ve.msg( 'cite-ve-changedesc-reflist-responsive-set' );
+ }
+
+ if ( key === 'originalMw' ) {
+ return null;
+ }
+
+ return null;
+};
+
+ve.dm.MWReferencesListNode.static.getHashObject = function ( dataElement ) {
+ return {
+ type: dataElement.type,
+ attributes: {
+ refGroup: dataElement.attributes.refGroup,
+ listGroup: dataElement.attributes.listGroup,
+ isResponsive: dataElement.attributes.isResponsive,
+ templateGenerated: dataElement.attributes.templateGenerated
+ }
+ };
+};
+
+/* Registration */
+
+ve.dm.modelRegistry.register( ve.dm.MWReferencesListNode );
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWCitationAction.js b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWCitationAction.js
new file mode 100644
index 00000000..616a9067
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWCitationAction.js
@@ -0,0 +1,58 @@
+/*!
+ * VisualEditor UserInterface MWCitationAction class.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+/**
+ * Link action.
+ *
+ * Opens either MWLinkAnnotationInspector or MWLinkNodeInspector depending on what is selected.
+ *
+ * @class
+ * @extends ve.ui.Action
+ * @constructor
+ * @param {ve.ui.Surface} surface Surface to act on
+ */
+ve.ui.MWCitationAction = function VeUiMWCitationAction() {
+ // Parent constructor
+ ve.ui.MWCitationAction.super.apply( this, arguments );
+};
+
+/* Inheritance */
+
+OO.inheritClass( ve.ui.MWCitationAction, ve.ui.Action );
+
+/* Static Properties */
+
+ve.ui.MWCitationAction.static.name = 'mwcite';
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWCitationAction.static.methods = [ 'open' ];
+
+/* Methods */
+
+/**
+ * When opening a citation, send the dialog a property of the surface
+ * dialog name.
+ *
+ * @method
+ * @param {string} windowName Dialog name to open
+ * @param {Object} windowData Data to send to the dialog
+ * @return {boolean} Action was executed
+ */
+ve.ui.MWCitationAction.prototype.open = function ( windowName, windowData ) {
+ windowData = $.extend( {
+ inDialog: this.surface.getInDialog()
+ }, windowData );
+
+ this.surface.execute( 'window', 'open', windowName, windowData );
+ return true;
+};
+
+/* Registration */
+
+ve.ui.actionFactory.register( ve.ui.MWCitationAction );
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWCitationContextItem.js b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWCitationContextItem.js
new file mode 100644
index 00000000..da4e1d7e
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWCitationContextItem.js
@@ -0,0 +1,49 @@
+/*!
+ * VisualEditor MWCitationContextItem class.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+/**
+ * Context item for a MWCitation.
+ *
+ * @class
+ * @extends ve.ui.MWReferenceContextItem
+ *
+ * @constructor
+ * @param {ve.ui.Context} context Context item is in
+ * @param {ve.dm.Model} model Model item is related to
+ * @param {Object} config Configuration options
+ */
+ve.ui.MWCitationContextItem = function VeUiMWCitationContextItem() {
+ // Parent constructor
+ ve.ui.MWCitationContextItem.super.apply( this, arguments );
+
+ // Initialization
+ this.$element.addClass( 've-ui-mwCitationContextItem' );
+};
+
+/* Inheritance */
+
+OO.inheritClass( ve.ui.MWCitationContextItem, ve.ui.MWReferenceContextItem );
+
+/* Static Properties */
+
+/**
+ * Only display item for single-template transclusions of these templates.
+ *
+ * @property {string|string[]|null}
+ * @static
+ * @inheritable
+ */
+ve.ui.MWCitationContextItem.static.template = null;
+
+/* Static Methods */
+
+/**
+ * @static
+ * @localdoc Sharing implementation with ve.ui.MWCitationDialogTool
+ */
+ve.ui.MWCitationContextItem.static.isCompatibleWith =
+ ve.ui.MWCitationDialogTool.static.isCompatibleWith;
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWCitationDialog.js b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWCitationDialog.js
new file mode 100644
index 00000000..31bb6020
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWCitationDialog.js
@@ -0,0 +1,241 @@
+/*
+ * VisualEditor user interface MWCitationDialog class.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+/**
+ * Dialog for inserting and editing MediaWiki citations.
+ *
+ * @class
+ * @extends ve.ui.MWTemplateDialog
+ *
+ * @constructor
+ * @param {Object} [config] Configuration options
+ */
+ve.ui.MWCitationDialog = function VeUiMWCitationDialog( config ) {
+ // Parent constructor
+ ve.ui.MWCitationDialog.super.call( this, config );
+
+ // Properties
+ this.referenceModel = null;
+ this.referenceNode = null;
+ this.inDialog = '';
+};
+
+/* Inheritance */
+
+OO.inheritClass( ve.ui.MWCitationDialog, ve.ui.MWTemplateDialog );
+
+/* Static Properties */
+
+ve.ui.MWCitationDialog.static.name = 'citation';
+
+/* Methods */
+
+/**
+ * Get the reference node to be edited.
+ *
+ * @return {ve.dm.MWReferenceNode|null} Reference node to be edited, null if none exists
+ */
+ve.ui.MWCitationDialog.prototype.getReferenceNode = function () {
+ var selectedNode = this.getFragment().getSelectedNode();
+
+ if ( selectedNode instanceof ve.dm.MWReferenceNode ) {
+ return selectedNode;
+ }
+
+ return null;
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWCitationDialog.prototype.getSelectedNode = function () {
+ var branches, leaves, transclusionNode,
+ referenceNode = this.getReferenceNode();
+
+ if ( referenceNode ) {
+ branches = referenceNode.getInternalItem().getChildren();
+ leaves = branches &&
+ branches.length === 1 &&
+ branches[ 0 ].canContainContent() &&
+ branches[ 0 ].getChildren();
+ transclusionNode = leaves &&
+ leaves.length === 1 &&
+ leaves[ 0 ] instanceof ve.dm.MWTransclusionNode &&
+ leaves[ 0 ];
+ }
+
+ return transclusionNode || null;
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWCitationDialog.prototype.initialize = function ( data ) {
+ // Parent method
+ ve.ui.MWCitationDialog.super.prototype.initialize.call( this, data );
+
+ // HACK: Use the same styling as single-mode transclusion dialog - this should be generalized
+ this.$content.addClass( 've-ui-mwTransclusionDialog-single' );
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWCitationDialog.prototype.getSetupProcess = function ( data ) {
+ return ve.ui.MWCitationDialog.super.prototype.getSetupProcess.call( this, data )
+ .next( function () {
+ data = data || {};
+ this.inDialog = data.inDialog;
+
+ // Initialization
+ if ( this.selectedNode ) {
+ this.referenceNode = this.getReferenceNode();
+ if ( this.referenceNode ) {
+ this.referenceModel = ve.dm.MWReferenceModel.static.newFromReferenceNode(
+ this.referenceNode
+ );
+ }
+ }
+ this.actions.forEach( { actions: 'insert' }, function ( action ) {
+ action.setLabel( ve.msg( 'visualeditor-dialog-action-insert' ) );
+ } );
+ }, this );
+};
+
+ve.ui.MWCitationDialog.prototype.onTransclusionReady = function () {
+ // Parent method
+ ve.ui.MWCitationDialog.super.prototype.onTransclusionReady.call( this );
+
+ if ( !this.hasUsefulParameter() ) {
+ this.actions.setAbilities( { apply: false, insert: false } );
+ }
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWCitationDialog.prototype.setPageByName = function ( param ) {
+ var hasUsefulParameter = this.hasUsefulParameter();
+
+ // Parent method
+ ve.ui.MWCitationDialog.super.prototype.setPageByName.call( this, param );
+
+ this.actions.setAbilities( { apply: hasUsefulParameter, insert: hasUsefulParameter } );
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWCitationDialog.prototype.onAddParameterBeforeLoad = function ( page ) {
+ var dialog = this,
+ hasUsefulParameter = this.hasUsefulParameter();
+
+ page.preLoad = true;
+ page.valueInput.on( 'change', function () {
+ dialog.actions.setAbilities( { apply: hasUsefulParameter, insert: hasUsefulParameter } );
+ } );
+};
+
+/**
+ * Works out whether there are any set parameters that aren't just placeholders
+ *
+ * @return {boolean}
+ */
+ve.ui.MWCitationDialog.prototype.hasUsefulParameter = function () {
+ var foundUseful = false;
+ $.each( this.bookletLayout.pages, function () {
+ if (
+ this instanceof ve.ui.MWParameterPage &&
+ ( !this.preLoad || this.valueInput.getValue() !== '' )
+ ) {
+ foundUseful = true;
+ return false;
+ }
+ } );
+ return foundUseful;
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWCitationDialog.prototype.getActionProcess = function ( action ) {
+ var dialog = this;
+ if (
+ this.inDialog !== 'reference' &&
+ ( action === 'apply' || action === 'insert' )
+ ) {
+ return new OO.ui.Process( function () {
+ var deferred = $.Deferred();
+ dialog.checkRequiredParameters().done( function () {
+ var item,
+ surfaceModel = dialog.getFragment().getSurface(),
+ doc = surfaceModel.getDocument(),
+ internalList = doc.getInternalList(),
+ obj = dialog.transclusionModel.getPlainObject();
+
+ if ( !dialog.referenceModel ) {
+ // Collapse returns a new fragment, so update dialog.fragment
+ dialog.fragment = dialog.getFragment().collapseToEnd();
+ dialog.referenceModel = new ve.dm.MWReferenceModel( doc );
+ dialog.referenceModel.insertInternalItem( surfaceModel );
+ dialog.referenceModel.insertReferenceNode( dialog.getFragment() );
+ }
+
+ item = dialog.referenceModel.findInternalItem( surfaceModel );
+ if ( item ) {
+ if ( dialog.selectedNode ) {
+ dialog.transclusionModel.updateTransclusionNode(
+ surfaceModel, dialog.selectedNode
+ );
+ } else if ( obj !== null ) {
+ dialog.transclusionModel.insertTransclusionNode(
+ // HACK: This is trying to place the cursor inside the first content branch
+ // node but this theoretically not a safe assumption - in practice, the
+ // citation dialog will only reach this code if we are inserting (not
+ // updating) a transclusion, so the referenceModel will have already
+ // initialized the internal node with a paragraph - getting the range of the
+ // item covers the entire paragraph so we have to get the range of it's
+ // first (and empty) child
+ dialog.getFragment().clone(
+ new ve.dm.LinearSelection( doc, item.getChildren()[ 0 ].getRange() )
+ ),
+ 'inline'
+ );
+ }
+ }
+
+ // HACK: Scorch the earth - this is only needed because without it, the references list
+ // won't re-render properly, and can be removed once someone fixes that
+ dialog.referenceModel.setDocument(
+ doc.cloneFromRange(
+ internalList.getItemNode( dialog.referenceModel.getListIndex() ).getRange()
+ )
+ );
+ dialog.referenceModel.updateInternalItem( surfaceModel );
+
+ dialog.close( { action: action } );
+ } ).always( deferred.resolve );
+
+ return deferred;
+ } );
+ }
+
+ // Parent method
+ return ve.ui.MWCitationDialog.super.prototype.getActionProcess.call( this, action );
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWCitationDialog.prototype.getTeardownProcess = function ( data ) {
+ return ve.ui.MWCitationDialog.super.prototype.getTeardownProcess.call( this, data )
+ .first( function () {
+ // Cleanup
+ this.referenceModel = null;
+ this.referenceNode = null;
+ }, this );
+};
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWCitationDialogTool.js b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWCitationDialogTool.js
new file mode 100644
index 00000000..b7011fca
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWCitationDialogTool.js
@@ -0,0 +1,64 @@
+/*!
+ * VisualEditor MediaWiki UserInterface citation dialog tool class.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+/**
+ * MediaWiki UserInterface citation dialog tool.
+ *
+ * @class
+ * @abstract
+ * @extends ve.ui.MWReferenceDialogTool
+ * @constructor
+ * @param {OO.ui.Toolbar} toolbar
+ * @param {Object} [config] Configuration options
+ */
+ve.ui.MWCitationDialogTool = function VeUiMWCitationDialogTool( toolbar, config ) {
+ // Parent method
+ ve.ui.MWCitationDialogTool.super.call( this, toolbar, config );
+};
+
+/* Inheritance */
+
+OO.inheritClass( ve.ui.MWCitationDialogTool, ve.ui.MWReferenceDialogTool );
+
+/* Static Properties */
+
+ve.ui.MWCitationDialogTool.static.group = 'cite';
+
+/**
+ * Only display tool for single-template transclusions of these templates.
+ *
+ * @property {string|string[]|null}
+ * @static
+ * @inheritable
+ */
+ve.ui.MWCitationDialogTool.static.template = null;
+
+/* Static Methods */
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWCitationDialogTool.static.isCompatibleWith = function ( model ) {
+ var internalItem, branches, leaves,
+ compatible = ve.ui.MWCitationDialogTool.super.static.isCompatibleWith.call( this, model );
+
+ if ( compatible && this.template ) {
+ // Check if content of the reference node contains only a template with the same name as
+ // this.template
+ internalItem = model.getInternalItem();
+ branches = internalItem.getChildren();
+ if ( branches.length === 1 && branches[ 0 ].canContainContent() ) {
+ leaves = branches[ 0 ].getChildren();
+ if ( leaves.length === 1 && leaves[ 0 ] instanceof ve.dm.MWTransclusionNode ) {
+ return leaves[ 0 ].isSingleTemplate( this.template );
+ }
+ }
+ return false;
+ }
+
+ return compatible;
+};
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReference.init.js b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReference.init.js
new file mode 100644
index 00000000..c8a6be19
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReference.init.js
@@ -0,0 +1,165 @@
+/*!
+ * VisualEditor MediaWiki Cite initialisation code.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+( function () {
+ var i, j, jLen, toolGroup, toolGroups, linkIndex, target, label, group;
+
+ // HACK: Find the position of the current citation toolbar definition
+ // and manipulate it.
+
+ targetLoop:
+ for ( i in ve.init.mw ) {
+ target = ve.init.mw[ i ];
+ if ( !target || !( target.prototype instanceof ve.init.Target ) ) {
+ continue;
+ }
+ toolGroups = target.static.toolbarGroups;
+ linkIndex = toolGroups.length;
+
+ if ( mw.config.get( 'wgCiteVisualEditorOtherGroup' ) ) {
+ for ( j = 0; j < linkIndex; j++ ) {
+ toolGroup = toolGroups[ j ];
+ if ( toolGroup.include === '*' && ( !toolGroup.demote || toolGroup.demote.indexOf( 'reference' ) === -1 ) ) {
+ toolGroup.demote = toolGroup.demote || [];
+ toolGroup.demote.push( { group: 'cite' }, 'reference', 'reference/existing' );
+ }
+ }
+ continue;
+ }
+
+ for ( j = 0, jLen = toolGroups.length; j < jLen; j++ ) {
+ if ( ve.getProp( toolGroups[ j ], 'include', 0, 'group' ) === 'cite' ) {
+ // Skip if the cite group exists already
+ linkIndex = -1;
+ continue targetLoop;
+ }
+ }
+ // Looking through the object to find what we actually need
+ // to replace. This way, if toolbarGroups are changed in VE code
+ // we won't have to manually change the index here.
+ for ( j = 0, jLen = toolGroups.length; j < jLen; j++ ) {
+ if ( ve.getProp( toolGroups[ j ], 'include', 0 ) === 'link' ) {
+ linkIndex = j;
+ break;
+ }
+ }
+
+ label = OO.ui.deferMsg( 'cite-ve-toolbar-group-label' );
+ group = {
+ classes: [ 've-test-toolbar-cite' ],
+ type: 'list',
+ indicator: 'down',
+ include: [ { group: 'cite' }, 'reference', 'reference/existing' ],
+ demote: [ 'reference', 'reference/existing' ]
+ };
+
+ // Treat mobile targets differently
+ if ( ve.init.mw.MobileArticleTarget && target.prototype instanceof ve.init.mw.MobileArticleTarget ) {
+ group.header = label;
+ group.title = label;
+ group.icon = 'reference';
+ } else {
+ group.label = label;
+ }
+
+ // Insert a new group for references after the link group (or at the end).
+ toolGroups.splice( linkIndex + 1, 0, group );
+ }
+
+ /**
+ * Add reference insertion tools from on-wiki data.
+ *
+ * By adding a definition in JSON to MediaWiki:Visualeditor-cite-tool-definition, the cite menu can
+ * be populated with tools that create refrences containing a specific templates. The content of the
+ * definition should be an array containing a series of objects, one for each tool. Each object must
+ * contain a `name`, `icon` and `template` property. An optional `title` property can also be used
+ * to define the tool title in plain text. The `name` property is a unique identifier for the tool,
+ * and also provides a fallback title for the tool by being transformed into a message key. The name
+ * is prefixed with `visualeditor-cite-tool-name-`, and messages can be defined on Wiki. Some common
+ * messages are pre-defined for tool names such as `web`, `book`, `news` and `journal`.
+ *
+ * Example:
+ * [ { "name": "web", "icon": "cite-web", "template": "Cite web" }, ... ]
+ *
+ */
+ ( function () {
+ var i, len, item, name, data, tool, tools, dialog, contextItem,
+ limit = 5;
+
+ try {
+ // Must use mw.message to avoid JSON being parsed as Wikitext
+ tools = JSON.parse( mw.message( 'cite-tool-definition.json' ).plain() );
+ } catch ( e ) {}
+ if ( !tools ) {
+ try {
+ // Must use mw.message to avoid JSON being parsed as Wikitext
+ tools = JSON.parse( mw.message( 'visualeditor-cite-tool-definition.json' ).plain() );
+ } catch ( e ) {}
+ }
+
+ if ( Array.isArray( tools ) ) {
+ for ( i = 0, len = Math.min( limit, tools.length ); i < len; i++ ) {
+ item = tools[ i ];
+ data = { template: item.template };
+
+ // Generate citation tool
+ name = 'cite-' + item.name;
+ if ( !ve.ui.toolFactory.lookup( name ) ) {
+ tool = function GeneratedMWCitationDialogTool() {
+ ve.ui.MWCitationDialogTool.apply( this, arguments );
+ };
+ OO.inheritClass( tool, ve.ui.MWCitationDialogTool );
+ tool.static.group = 'cite';
+ tool.static.name = name;
+ tool.static.icon = item.icon;
+ if ( mw.config.get( 'wgCiteVisualEditorOtherGroup' ) ) {
+ tool.static.title = mw.msg( 'cite-ve-othergroup-item', item.title );
+ } else {
+ tool.static.title = item.title;
+ }
+ tool.static.commandName = name;
+ tool.static.template = item.template;
+ tool.static.autoAddToCatchall = false;
+ tool.static.autoAddToGroup = true;
+ tool.static.associatedWindows = [ name ];
+ ve.ui.toolFactory.register( tool );
+ ve.ui.commandRegistry.register(
+ new ve.ui.Command(
+ name, 'mwcite', 'open', { args: [ name, data ], supportedSelections: [ 'linear' ] }
+ )
+ );
+ }
+
+ // Generate citation context item
+ if ( !ve.ui.contextItemFactory.lookup( name ) ) {
+ contextItem = function GeneratedMWCitationContextItem() {
+ // Parent constructor
+ ve.ui.MWCitationContextItem.apply( this, arguments );
+ };
+ OO.inheritClass( contextItem, ve.ui.MWCitationContextItem );
+ contextItem.static.name = name;
+ contextItem.static.icon = item.icon;
+ contextItem.static.label = item.title;
+ contextItem.static.commandName = name;
+ contextItem.static.template = item.template;
+ ve.ui.contextItemFactory.register( contextItem );
+ }
+
+ // Generate dialog
+ if ( !ve.ui.windowFactory.lookup( name ) ) {
+ dialog = function GeneratedMWCitationDialog() {
+ ve.ui.MWCitationDialog.apply( this, arguments );
+ };
+ OO.inheritClass( dialog, ve.ui.MWCitationDialog );
+ dialog.static.name = name;
+ dialog.static.title = item.title;
+ ve.ui.windowFactory.register( dialog );
+ }
+ }
+ }
+ }() );
+
+}() );
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceContextItem.css b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceContextItem.css
new file mode 100644
index 00000000..ac2463ce
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceContextItem.css
@@ -0,0 +1,19 @@
+/*!
+ * VisualEditor MediaWiki UserInterface reference context item styles.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+.ve-ui-mwReferenceContextItem-muted {
+ color: #72777d;
+ font-style: italic;
+ line-height: 1.5;
+}
+
+.ve-ui-mwReferenceContextItem .ve-ui-previewElement {
+ /* Reference links can often be too long, so break them up */
+ word-break: break-word;
+ word-wrap: break-word;
+ overflow-wrap: break-word;
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceContextItem.js b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceContextItem.js
new file mode 100644
index 00000000..99aa8921
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceContextItem.js
@@ -0,0 +1,113 @@
+/*!
+ * VisualEditor MWReferenceContextItem class.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+/**
+ * Context item for a MWReference.
+ *
+ * @class
+ * @extends ve.ui.LinearContextItem
+ *
+ * @constructor
+ * @param {ve.ui.Context} context Context item is in
+ * @param {ve.dm.Model} model Model item is related to
+ * @param {Object} config Configuration options
+ */
+ve.ui.MWReferenceContextItem = function VeUiMWReferenceContextItem() {
+ // Parent constructor
+ ve.ui.MWReferenceContextItem.super.apply( this, arguments );
+ this.view = null;
+ // Initialization
+ this.$element.addClass( 've-ui-mwReferenceContextItem' );
+};
+
+/* Inheritance */
+
+OO.inheritClass( ve.ui.MWReferenceContextItem, ve.ui.LinearContextItem );
+
+/* Static Properties */
+
+ve.ui.MWReferenceContextItem.static.name = 'reference';
+
+ve.ui.MWReferenceContextItem.static.icon = 'reference';
+
+ve.ui.MWReferenceContextItem.static.label = OO.ui.deferMsg( 'cite-ve-dialogbutton-reference-title' );
+
+ve.ui.MWReferenceContextItem.static.modelClasses = [ ve.dm.MWReferenceNode ];
+
+ve.ui.MWReferenceContextItem.static.commandName = 'reference';
+
+/* Methods */
+
+/**
+ * Get a DOM rendering of the reference.
+ *
+ * @private
+ * @return {jQuery} DOM rendering of reference
+ */
+ve.ui.MWReferenceContextItem.prototype.getRendering = function () {
+ var refNode = this.getReferenceNode();
+ if ( refNode ) {
+ this.view = new ve.ui.MWPreviewElement( refNode );
+
+ // The $element property may be rendered into asynchronously, update the context's size when the
+ // rendering is complete if that's the case
+ this.view.once( 'render', this.context.updateDimensions.bind( this.context ) );
+
+ return this.view.$element;
+ } else {
+ return $( '<div>' )
+ .addClass( 've-ui-mwReferenceContextItem-muted' )
+ .text( ve.msg( 'cite-ve-referenceslist-missingref' ) );
+ }
+};
+
+/**
+ * Get the reference node in the containing document (not the internal list document)
+ *
+ * @return {ve.dm.InternalItemNode|null} Reference item node
+ */
+ve.ui.MWReferenceContextItem.prototype.getReferenceNode = function () {
+ var refModel;
+ if ( !this.model.isEditable() ) {
+ return null;
+ }
+ if ( !this.referenceNode ) {
+ refModel = ve.dm.MWReferenceModel.static.newFromReferenceNode( this.model );
+ this.referenceNode = this.getFragment().getDocument().getInternalList().getItemNode( refModel.getListIndex() );
+ }
+ return this.referenceNode;
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWReferenceContextItem.prototype.getDescription = function () {
+ return this.model.isEditable() ? this.getRendering().text() : ve.msg( 'cite-ve-referenceslist-missingref' );
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWReferenceContextItem.prototype.renderBody = function () {
+ this.$body.empty().append( this.getRendering() );
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWReferenceContextItem.prototype.teardown = function () {
+ if ( this.view ) {
+ this.view.destroy();
+ }
+
+ // Call parent
+ ve.ui.MWReferenceContextItem.super.prototype.teardown.call( this );
+};
+
+/* Registration */
+
+ve.ui.contextItemFactory.register( ve.ui.MWReferenceContextItem );
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceDialog.js b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceDialog.js
new file mode 100644
index 00000000..f041784d
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceDialog.js
@@ -0,0 +1,434 @@
+/*!
+ * VisualEditor UserInterface MediaWiki MWReferenceDialog class.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+/**
+ * Dialog for editing MediaWiki references.
+ *
+ * @class
+ * @extends ve.ui.NodeDialog
+ *
+ * @constructor
+ * @param {Object} [config] Configuration options
+ */
+ve.ui.MWReferenceDialog = function VeUiMWReferenceDialog( config ) {
+ // Parent constructor
+ ve.ui.MWReferenceDialog.super.call( this, config );
+
+ // Properties
+ this.referenceModel = null;
+ this.useExisting = false;
+};
+
+/* Inheritance */
+
+OO.inheritClass( ve.ui.MWReferenceDialog, ve.ui.NodeDialog );
+
+/* Static Properties */
+
+ve.ui.MWReferenceDialog.static.name = 'reference';
+
+ve.ui.MWReferenceDialog.static.title =
+ OO.ui.deferMsg( 'cite-ve-dialog-reference-title' );
+
+ve.ui.MWReferenceDialog.static.actions = [
+ {
+ action: 'apply',
+ label: OO.ui.deferMsg( 'visualeditor-dialog-action-apply' ),
+ flags: [ 'progressive', 'primary' ],
+ modes: 'edit'
+ },
+ {
+ action: 'insert',
+ label: OO.ui.deferMsg( 'visualeditor-dialog-action-insert' ),
+ flags: [ 'progressive', 'primary' ],
+ modes: 'insert'
+ },
+ {
+ label: OO.ui.deferMsg( 'visualeditor-dialog-action-cancel' ),
+ flags: [ 'safe', 'back' ],
+ modes: [ 'insert', 'edit', 'insert-select' ]
+ },
+ {
+ action: 'select',
+ label: OO.ui.deferMsg( 'cite-ve-dialog-reference-useexisting-label' ),
+ modes: [ 'insert', 'edit' ]
+ },
+ {
+ action: 'back',
+ label: OO.ui.deferMsg( 'visualeditor-dialog-action-goback' ),
+ flags: 'safe',
+ modes: 'select'
+ }
+];
+
+ve.ui.MWReferenceDialog.static.modelClasses = [ ve.dm.MWReferenceNode ];
+
+ve.ui.MWReferenceDialog.static.includeCommands = null;
+
+ve.ui.MWReferenceDialog.static.excludeCommands = [
+ // No formatting
+ 'paragraph',
+ 'heading1',
+ 'heading2',
+ 'heading3',
+ 'heading4',
+ 'heading5',
+ 'heading6',
+ 'preformatted',
+ 'blockquote',
+ // No tables
+ 'insertTable',
+ 'deleteTable',
+ 'mergeCells',
+ 'tableCaption',
+ 'tableCellHeader',
+ 'tableCellData',
+ // No structure
+ 'bullet',
+ 'bulletWrapOnce',
+ 'number',
+ 'numberWrapOnce',
+ 'indent',
+ 'outdent',
+ // References
+ 'reference',
+ 'reference/existing',
+ 'citefromid',
+ 'referencesList'
+];
+
+/**
+ * Get the import rules for the surface widget in the dialog.
+ *
+ * @see ve.dm.ElementLinearData#sanitize
+ * @return {Object} Import rules
+ */
+ve.ui.MWReferenceDialog.static.getImportRules = function () {
+ return ve.extendObject(
+ ve.copy( ve.init.target.constructor.static.importRules ),
+ {
+ all: {
+ blacklist: OO.simpleArrayUnion(
+ ve.getProp( ve.init.target.constructor.static.importRules, 'all', 'blacklist' ) || [],
+ [
+ // Nested references are impossible
+ 'mwReference', 'mwReferencesList',
+ // Lists and tables are actually possible in wikitext with a leading
+ // line break but we prevent creating these with the UI
+ 'list', 'listItem', 'definitionList', 'definitionListItem',
+ 'table', 'tableCaption', 'tableSection', 'tableRow', 'tableCell'
+ ]
+ ),
+ // Headings are not possible in wikitext without HTML
+ conversions: {
+ mwHeading: 'paragraph'
+ }
+ }
+ }
+ );
+};
+
+/* Methods */
+
+/**
+ * Determine whether the reference document we're editing has any content.
+ *
+ * @return {boolean} Document has content
+ */
+ve.ui.MWReferenceDialog.prototype.documentHasContent = function () {
+ // TODO: Check for other types of empty, e.g. only whitespace?
+ return this.referenceModel.getDocument().data.hasContent();
+};
+
+/*
+ * Determine whether any changes have been made (and haven't been undone).
+ *
+ * @return {boolean} Dialog can be applied
+ */
+ve.ui.MWReferenceDialog.prototype.canApply = function () {
+ return this.documentHasContent() &&
+ ( this.referenceTarget.hasBeenModified() ||
+ this.referenceGroupInput.getValue() !== this.originalGroup );
+};
+
+/**
+ * Handle reference target widget change events
+ */
+ve.ui.MWReferenceDialog.prototype.onTargetChange = function () {
+ var hasContent = this.documentHasContent();
+
+ this.actions.setAbilities( {
+ apply: this.canApply(),
+ insert: hasContent,
+ select: !hasContent && !this.search.isIndexEmpty()
+ } );
+};
+
+/**
+ * Handle reference group input change events.
+ */
+ve.ui.MWReferenceDialog.prototype.onReferenceGroupInputChange = function () {
+ this.actions.setAbilities( {
+ apply: this.canApply()
+ } );
+};
+
+/**
+ * Handle search results choose events.
+ *
+ * @param {ve.ui.MWReferenceResultWidget} item Chosen item
+ */
+ve.ui.MWReferenceDialog.prototype.onSearchResultsChoose = function ( item ) {
+ var ref = item.getData();
+
+ if ( this.selectedNode instanceof ve.dm.MWReferenceNode ) {
+ this.getFragment().removeContent();
+ this.selectedNode = null;
+ }
+ this.useReference( ref );
+ this.executeAction( 'insert' );
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWReferenceDialog.prototype.getReadyProcess = function ( data ) {
+ return ve.ui.MWReferenceDialog.super.prototype.getReadyProcess.call( this, data )
+ .next( function () {
+ if ( this.useExisting ) {
+ this.search.getQuery().focus().select();
+ } else {
+ this.referenceTarget.focus();
+ }
+ }, this );
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWReferenceDialog.prototype.getBodyHeight = function () {
+ // Clamp value to between 300 and 400px height, preferring the actual height if available
+ return Math.min(
+ 400,
+ Math.max(
+ 300,
+ Math.ceil( this.panels.getCurrentItem().$element[ 0 ].scrollHeight )
+ )
+ );
+};
+
+// eslint-disable-next-line valid-jsdoc
+/**
+ * Work on a specific reference.
+ *
+ * @param {ve.dm.MWReferenceModel} [ref] Reference model, omit to work on a new reference
+ * @chainable
+ */
+ve.ui.MWReferenceDialog.prototype.useReference = function ( ref ) {
+ var group;
+
+ // Properties
+ if ( ref instanceof ve.dm.MWReferenceModel ) {
+ // Use an existing reference
+ this.referenceModel = ref;
+ } else {
+ // Create a new reference
+ this.referenceModel = new ve.dm.MWReferenceModel( this.getFragment().getDocument() );
+ }
+
+ this.referenceTarget.setDocument( this.referenceModel.getDocument() );
+
+ // Initialization
+ this.originalGroup = this.referenceModel.getGroup();
+ // Set the group input while it's disabled, so this doesn't pop up the group-picker menu
+ this.referenceGroupInput.setDisabled( true );
+ this.referenceGroupInput.setValue( this.originalGroup );
+ this.referenceGroupInput.setDisabled( false );
+ this.referenceTarget.initialize();
+
+ group = this.getFragment().getDocument().getInternalList()
+ .getNodeGroup( this.referenceModel.getListGroup() );
+ if ( ve.getProp( group, 'keyedNodes', this.referenceModel.getListKey(), 'length' ) > 1 ) {
+ this.$reuseWarning.removeClass( 'oo-ui-element-hidden' );
+ this.$reuseWarningText.text( mw.msg(
+ 'cite-ve-dialog-reference-editing-reused',
+ group.keyedNodes[ this.referenceModel.getListKey() ].length
+ ) );
+ } else {
+ this.$reuseWarning.addClass( 'oo-ui-element-hidden' );
+ }
+
+ return this;
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWReferenceDialog.prototype.initialize = function () {
+ var citeCommands = Object.keys( ve.init.target.getSurface().commandRegistry.registry ).filter( function ( command ) {
+ return command.indexOf( 'cite-' ) !== -1;
+ } );
+
+ // Parent method
+ ve.ui.MWReferenceDialog.super.prototype.initialize.call( this );
+
+ // Properties
+ this.panels = new OO.ui.StackLayout();
+ this.editPanel = new OO.ui.PanelLayout( {
+ scrollable: true, padded: true
+ } );
+ this.searchPanel = new OO.ui.PanelLayout();
+
+ this.reuseWarningIcon = new OO.ui.IconWidget( { icon: 'alert' } );
+ this.$reuseWarningText = $( '<span>' );
+ this.$reuseWarning = $( '<span>' ).append( this.reuseWarningIcon.$element, this.$reuseWarningText );
+
+ this.referenceTarget = ve.init.target.createTargetWidget(
+ {
+ tools: ve.copy( ve.init.target.constructor.static.toolbarGroups ),
+ includeCommands: this.constructor.static.includeCommands,
+ excludeCommands: this.constructor.static.excludeCommands.concat( citeCommands ),
+ importRules: this.constructor.static.getImportRules(),
+ inDialog: this.constructor.static.name,
+ placeholder: ve.msg( 'cite-ve-dialog-reference-placeholder' )
+ }
+ );
+
+ this.contentFieldset = new OO.ui.FieldsetLayout();
+ this.optionsFieldset = new OO.ui.FieldsetLayout( {
+ label: ve.msg( 'cite-ve-dialog-reference-options-section' ),
+ icon: 'advanced'
+ } );
+ this.contentFieldset.$element.append( this.referenceTarget.$element );
+
+ this.referenceGroupInput = new ve.ui.MWReferenceGroupInputWidget( {
+ $overlay: this.$overlay,
+ emptyGroupName: ve.msg( 'cite-ve-dialog-reference-options-group-placeholder' )
+ } );
+ this.referenceGroupInput.connect( this, { change: 'onReferenceGroupInputChange' } );
+ this.referenceGroupField = new OO.ui.FieldLayout( this.referenceGroupInput, {
+ align: 'top',
+ label: ve.msg( 'cite-ve-dialog-reference-options-group-label' )
+ } );
+ this.search = new ve.ui.MWReferenceSearchWidget();
+
+ // Events
+ this.search.getResults().connect( this, { choose: 'onSearchResultsChoose' } );
+ this.referenceTarget.connect( this, { change: 'onTargetChange' } );
+
+ // Initialization
+ this.panels.addItems( [ this.editPanel, this.searchPanel ] );
+ this.editPanel.$element.append( this.$reuseWarning, this.contentFieldset.$element, this.optionsFieldset.$element );
+ this.optionsFieldset.addItems( [ this.referenceGroupField ] );
+ this.searchPanel.$element.append( this.search.$element );
+ this.$body.append( this.panels.$element );
+};
+
+/**
+ * Switches dialog to use existing reference mode.
+ *
+ * @param {string} [action='select'] Symbolic name of action, either 'select' or 'insert-select'
+ */
+ve.ui.MWReferenceDialog.prototype.useExistingReference = function ( action ) {
+ action = action || 'select';
+ if ( action === 'insert-select' || action === 'select' ) {
+ this.actions.setMode( action );
+ }
+ this.search.buildIndex();
+ this.panels.setItem( this.searchPanel );
+ this.search.getQuery().focus().select();
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWReferenceDialog.prototype.getActionProcess = function ( action ) {
+ if ( action === 'insert' || action === 'apply' ) {
+ return new OO.ui.Process( function () {
+ var surfaceModel = this.getFragment().getSurface();
+
+ this.referenceModel.setGroup( this.referenceGroupInput.getValue() );
+
+ // Insert reference (will auto-create an internal item if needed)
+ if ( !( this.selectedNode instanceof ve.dm.MWReferenceNode ) ) {
+ if ( !this.referenceModel.findInternalItem( surfaceModel ) ) {
+ this.referenceModel.insertInternalItem( surfaceModel );
+ }
+ // Collapse returns a new fragment, so update this.fragment
+ this.fragment = this.getFragment().collapseToEnd();
+ this.referenceModel.insertReferenceNode( this.getFragment() );
+ }
+
+ // Update internal item
+ this.referenceModel.updateInternalItem( surfaceModel );
+
+ this.close( { action: action } );
+ }, this );
+ } else if ( action === 'back' ) {
+ this.actions.setMode( this.selectedNode ? 'edit' : 'insert' );
+ this.panels.setItem( this.editPanel );
+ this.editPanel.$element.find( '.ve-ce-documentNode' )[ 0 ].focus();
+ } else if ( action === 'select' || action === 'insert-select' ) {
+ this.useExistingReference( action );
+ }
+ return ve.ui.MWReferenceDialog.super.prototype.getActionProcess.call( this, action );
+};
+
+/**
+ * @inheritdoc
+ * @param {Object} [data] Setup data
+ * @param {boolean} [data.useExistingReference] Open the dialog in "use existing reference" mode
+ */
+ve.ui.MWReferenceDialog.prototype.getSetupProcess = function ( data ) {
+ data = data || {};
+ return ve.ui.MWReferenceDialog.super.prototype.getSetupProcess.call( this, data )
+ .next( function () {
+ this.panels.setItem( this.editPanel );
+ if ( this.selectedNode instanceof ve.dm.MWReferenceNode ) {
+ this.useReference(
+ ve.dm.MWReferenceModel.static.newFromReferenceNode( this.selectedNode )
+ );
+ } else {
+ this.useReference( null );
+ this.actions.setAbilities( { apply: false, insert: false } );
+ }
+
+ this.actions.setMode( this.selectedNode ? 'edit' : 'insert' );
+ this.search.setInternalList( this.getFragment().getDocument().getInternalList() );
+
+ if ( data.useExisting ) {
+ this.useExistingReference( 'insert-select' );
+ }
+ this.useExisting = !!data.useExisting;
+ // If we're using an existing reference, start off disabled
+ // If not, set disabled based on whether or not there are any existing ones.
+ this.actions.setAbilities( {
+ select: !( this.selectedNode instanceof ve.dm.MWReferenceNode ) &&
+ !this.search.isIndexEmpty(),
+ apply: false
+ } );
+
+ this.referenceGroupInput.populateMenu( this.getFragment().getDocument().getInternalList() );
+ }, this );
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWReferenceDialog.prototype.getTeardownProcess = function ( data ) {
+ return ve.ui.MWReferenceDialog.super.prototype.getTeardownProcess.call( this, data )
+ .first( function () {
+ this.referenceTarget.getSurface().getModel().disconnect( this );
+ this.search.getQuery().setValue( '' );
+ this.referenceTarget.clear();
+ this.referenceModel = null;
+ }, this );
+};
+
+/* Registration */
+
+ve.ui.windowFactory.register( ve.ui.MWReferenceDialog );
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceDialogTool.js b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceDialogTool.js
new file mode 100644
index 00000000..1db75909
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceDialogTool.js
@@ -0,0 +1,114 @@
+/*!
+ * VisualEditor MediaWiki Reference dialog tool classes.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+/**
+ * MediaWiki UserInterface reference tool.
+ *
+ * @class
+ * @extends ve.ui.FragmentWindowTool
+ * @constructor
+ * @param {OO.ui.ToolGroup} toolGroup
+ * @param {Object} [config] Configuration options
+ */
+ve.ui.MWReferenceDialogTool = function VeUiMWReferenceDialogTool() {
+ ve.ui.MWReferenceDialogTool.super.apply( this, arguments );
+};
+OO.inheritClass( ve.ui.MWReferenceDialogTool, ve.ui.FragmentWindowTool );
+ve.ui.MWReferenceDialogTool.static.name = 'reference';
+ve.ui.MWReferenceDialogTool.static.group = 'object';
+ve.ui.MWReferenceDialogTool.static.icon = 'reference';
+if ( mw.config.get( 'wgCiteVisualEditorOtherGroup' ) ) {
+ ve.ui.MWReferenceDialogTool.static.title = OO.ui.deferMsg(
+ 'cite-ve-othergroup-item',
+ OO.ui.msg( 'cite-ve-dialogbutton-reference-tooltip' )
+ );
+} else {
+ ve.ui.MWReferenceDialogTool.static.title = OO.ui.deferMsg(
+ 'cite-ve-dialogbutton-reference-tooltip'
+ );
+}
+ve.ui.MWReferenceDialogTool.static.modelClasses = [ ve.dm.MWReferenceNode ];
+ve.ui.MWReferenceDialogTool.static.commandName = 'reference';
+ve.ui.MWReferenceDialogTool.static.autoAddToCatchall = false;
+ve.ui.toolFactory.register( ve.ui.MWReferenceDialogTool );
+
+/**
+ * MediaWiki UserInterface use existing reference tool.
+ *
+ * @class
+ * @extends ve.ui.WindowTool
+ * @constructor
+ * @param {OO.ui.ToolGroup} toolGroup
+ * @param {Object} [config] Configuration options
+ */
+ve.ui.MWUseExistingReferenceDialogTool = function VeUiMWUseExistingReferenceDialogTool() {
+ ve.ui.MWUseExistingReferenceDialogTool.super.apply( this, arguments );
+};
+OO.inheritClass( ve.ui.MWUseExistingReferenceDialogTool, ve.ui.WindowTool );
+ve.ui.MWUseExistingReferenceDialogTool.static.name = 'reference/existing';
+ve.ui.MWUseExistingReferenceDialogTool.static.group = 'object';
+ve.ui.MWUseExistingReferenceDialogTool.static.icon = 'reference-existing';
+if ( mw.config.get( 'wgCiteVisualEditorOtherGroup' ) ) {
+ ve.ui.MWUseExistingReferenceDialogTool.static.title = OO.ui.deferMsg(
+ 'cite-ve-othergroup-item',
+ OO.ui.msg( 'cite-ve-dialog-reference-useexisting-tool' )
+ );
+} else {
+ ve.ui.MWUseExistingReferenceDialogTool.static.title = OO.ui.deferMsg(
+ 'cite-ve-dialog-reference-useexisting-tool'
+ );
+}
+ve.ui.MWUseExistingReferenceDialogTool.static.commandName = 'reference/existing';
+ve.ui.MWUseExistingReferenceDialogTool.static.autoAddToGroup = false;
+ve.ui.MWUseExistingReferenceDialogTool.static.autoAddToCatchall = false;
+ve.ui.toolFactory.register( ve.ui.MWUseExistingReferenceDialogTool );
+
+ve.ui.commandRegistry.register(
+ new ve.ui.Command(
+ 'reference', 'window', 'open',
+ { args: [ 'reference' ], supportedSelections: [ 'linear' ] }
+ )
+);
+
+/* If Citoid is installed these will be overridden */
+ve.ui.sequenceRegistry.register(
+ new ve.ui.Sequence( 'wikitextRef', 'reference', '<ref', 4 )
+);
+
+ve.ui.triggerRegistry.register(
+ 'reference', { mac: new ve.ui.Trigger( 'cmd+shift+k' ), pc: new ve.ui.Trigger( 'ctrl+shift+k' ) }
+);
+
+ve.ui.commandHelpRegistry.register( 'insert', 'ref', {
+ trigger: 'reference',
+ sequences: [ 'wikitextRef' ],
+ label: OO.ui.deferMsg( 'cite-ve-dialog-reference-title' )
+} );
+
+ve.ui.mwWikitextTransferRegistry.register( 'reference', /<ref[^>]*>/ );
+
+/**
+ * MediaWiki UserInterface references list tool.
+ *
+ * @class
+ * @extends ve.ui.FragmentWindowTool
+ * @constructor
+ * @param {OO.ui.ToolGroup} toolGroup
+ * @param {Object} [config] Configuration options
+ */
+ve.ui.MWReferencesListDialogTool = function VeUiMWReferencesListDialogTool() {
+ ve.ui.MWReferencesListDialogTool.super.apply( this, arguments );
+};
+OO.inheritClass( ve.ui.MWReferencesListDialogTool, ve.ui.FragmentWindowTool );
+ve.ui.MWReferencesListDialogTool.static.name = 'referencesList';
+ve.ui.MWReferencesListDialogTool.static.group = 'object';
+ve.ui.MWReferencesListDialogTool.static.icon = 'references';
+ve.ui.MWReferencesListDialogTool.static.title =
+ OO.ui.deferMsg( 'cite-ve-dialogbutton-referenceslist-tooltip' );
+ve.ui.MWReferencesListDialogTool.static.modelClasses = [ ve.dm.MWReferencesListNode ];
+ve.ui.MWReferencesListDialogTool.static.commandName = 'referencesList';
+ve.ui.toolFactory.register( ve.ui.MWReferencesListDialogTool );
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceGroupInputWidget.css b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceGroupInputWidget.css
new file mode 100644
index 00000000..227f7f01
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceGroupInputWidget.css
@@ -0,0 +1,10 @@
+/*!
+ * VisualEditor MediaWiki UserInterface MWReferenceGroupInputWidget styles.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+.ve-ui-mwReferenceGroupInputWidget .oo-ui-flaggableElement-emptyGroupPlaceholder {
+ color: #72777d;
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceGroupInputWidget.js b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceGroupInputWidget.js
new file mode 100644
index 00000000..ebe72aa1
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceGroupInputWidget.js
@@ -0,0 +1,60 @@
+/*!
+ * VisualEditor UserInterface MWReferenceGroupInput class.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+/**
+ * Creates an ve.ui.MWReferenceGroupInput object.
+ *
+ * @class
+ * @extends OO.ui.ComboBoxInputWidget
+ *
+ * @constructor
+ * @param {Object} [config] Configuration options
+ * @cfg {string} emptyGroupName Label of the placeholder item
+ */
+ve.ui.MWReferenceGroupInputWidget = function VeUiMWReferenceGroupInputWidget( config ) {
+ config = config || {};
+
+ this.emptyGroupName = config.emptyGroupName;
+
+ // Parent constructor
+ ve.ui.MWReferenceGroupInputWidget.super.call( this, ve.extendObject( { placeholder: config.emptyGroupName }, config ) );
+
+ this.$element.addClass( 've-ui-mwReferenceGroupInputWidget' );
+};
+
+/* Inheritance */
+
+OO.inheritClass( ve.ui.MWReferenceGroupInputWidget, OO.ui.ComboBoxInputWidget );
+
+/* Methods */
+
+/**
+ * Populate the reference group menu
+ *
+ * @param {ve.dm.InternalList} internalList Internal list with which to populate the menu
+ */
+ve.ui.MWReferenceGroupInputWidget.prototype.populateMenu = function ( internalList ) {
+ var placeholderGroupItem = new OO.ui.MenuOptionWidget( {
+ data: '',
+ label: this.emptyGroupName,
+ flags: 'emptyGroupPlaceholder'
+ } );
+ this.menu.clearItems();
+ this.menu.addItems( [ placeholderGroupItem ].concat( $.map(
+ Object.keys( internalList.getNodeGroups() ),
+ function ( groupInternalName ) {
+ var groupName;
+ if ( groupInternalName.indexOf( 'mwReference/' ) === 0 ) {
+ groupName = groupInternalName.slice( 'mwReference/'.length );
+ if ( groupName ) {
+ return new OO.ui.MenuOptionWidget( { data: groupName, label: groupName } );
+ }
+ }
+ }
+ ) ), 0 );
+ this.menu.toggle( false );
+};
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceIcons.css b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceIcons.css
new file mode 100644
index 00000000..faf3f3f2
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceIcons.css
@@ -0,0 +1,116 @@
+/*!
+ * Cite VisualEditor UserInterface icon styles.
+ *
+ * @copyright 2011-2017 Cite VisualEditor Team and others; see AUTHORS.txt
+ * @license The MIT License (MIT); see LICENSE.txt
+ */
+
+/* @noflip */
+.ve-ui-dir-block-rtl .oo-ui-icon-reference,
+/* HACK */
+.ve-ui-surface-dir-rtl .oo-ui-icon-reference,
+/* HACK */
+.oo-ui-rtl .oo-ui-icon-reference {
+ /* @embed */
+ background-image: url( icons/reference-rtl.svg );
+}
+
+/* @noflip */
+.ve-ui-dir-block-ltr .oo-ui-icon-reference,
+/* HACK */
+.ve-ui-surface-dir-ltr .oo-ui-icon-reference,
+/* HACK */
+.oo-ui-ltr .oo-ui-icon-reference {
+ /* @embed */
+ background-image: url( icons/reference-ltr.svg );
+}
+
+/* @noflip */
+.ve-ui-dir-block-rtl .oo-ui-icon-reference-existing,
+/* HACK */
+.ve-ui-surface-dir-rtl .oo-ui-icon-reference-existing,
+/* HACK */
+.oo-ui-rtl .oo-ui-icon-reference-existing {
+ /* @embed */
+ background-image: url( icons/reference-existing-rtl.svg );
+}
+
+/* @noflip */
+.ve-ui-dir-block-ltr .oo-ui-icon-reference-existing,
+/* HACK */
+.ve-ui-surface-dir-ltr .oo-ui-icon-reference-existing,
+/* HACK */
+.oo-ui-ltr .oo-ui-icon-reference-existing {
+ /* @embed */
+ background-image: url( icons/reference-existing-ltr.svg );
+}
+
+/* @noflip */
+.ve-ui-dir-block-rtl .oo-ui-icon-references,
+/* HACK */
+.ve-ui-surface-dir-rtl .oo-ui-icon-references,
+/* HACK */
+.oo-ui-rtl .oo-ui-icon-references {
+ /* @embed */
+ background-image: url( icons/references-rtl.svg );
+}
+
+/* @noflip */
+.ve-ui-dir-block-ltr .oo-ui-icon-references,
+/* HACK */
+.ve-ui-surface-dir-ltr .oo-ui-icon-references,
+/* HACK */
+.oo-ui-ltr .oo-ui-icon-references {
+ /* @embed */
+ background-image: url( icons/references-ltr.svg );
+}
+
+.oo-ui-icon-ref-cite-book {
+ /* @embed */
+ background-image: url( icons/ref-cite-book.svg );
+}
+
+/* @noflip */
+.ve-ui-dir-block-rtl .oo-ui-icon-ref-cite-journal,
+/* HACK */
+.ve-ui-surface-dir-rtl .oo-ui-icon-ref-cite-journal,
+/* HACK */
+.oo-ui-rtl .oo-ui-icon-ref-cite-journal {
+ /* @embed */
+ background-image: url( icons/ref-cite-journal-rtl.svg );
+}
+
+/* @noflip */
+.ve-ui-dir-block-ltr .oo-ui-icon-ref-cite-journal,
+/* HACK */
+.ve-ui-surface-dir-ltr .oo-ui-icon-ref-cite-journal,
+/* HACK */
+.oo-ui-ltr .oo-ui-icon-ref-cite-journal {
+ /* @embed */
+ background-image: url( icons/ref-cite-journal-ltr.svg );
+}
+
+/* @noflip */
+.ve-ui-dir-block-rtl .oo-ui-icon-ref-cite-news,
+/* HACK */
+.ve-ui-surface-dir-rtl .oo-ui-icon-ref-cite-news,
+/* HACK */
+.oo-ui-rtl .oo-ui-icon-ref-cite-news {
+ /* @embed */
+ background-image: url( icons/ref-cite-news-rtl.svg );
+}
+
+/* @noflip */
+.ve-ui-dir-block-ltr .oo-ui-icon-ref-cite-news,
+/* HACK */
+.ve-ui-surface-dir-ltr .oo-ui-icon-ref-cite-news,
+/* HACK */
+.oo-ui-ltr .oo-ui-icon-ref-cite-news {
+ /* @embed */
+ background-image: url( icons/ref-cite-news-ltr.svg );
+}
+
+.oo-ui-icon-ref-cite-web {
+ /* @embed */
+ background-image: url( icons/ref-cite-web.svg );
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceResultWidget.css b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceResultWidget.css
new file mode 100644
index 00000000..85986f64
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceResultWidget.css
@@ -0,0 +1,28 @@
+/*!
+ * VisualEditor MediaWiki UserInterface MWReferenceResultWidget styles.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+.ve-ui-mwReferenceResultWidget {
+ position: relative;
+ padding: 1em;
+ border-bottom: 1px solid #eaecf0;
+}
+
+.ve-ui-mwReferenceResultWidget:last-child {
+ border-bottom: 0;
+}
+
+.ve-ui-mwReferenceResultWidget.oo-ui-labelElement .oo-ui-labelElement-label {
+ white-space: normal;
+}
+
+.ve-ui-mwReferenceResultWidget-shield {
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceResultWidget.js b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceResultWidget.js
new file mode 100644
index 00000000..6b1034d8
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceResultWidget.js
@@ -0,0 +1,31 @@
+/*!
+ * VisualEditor UserInterface MWReferenceResultWidget class.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+/**
+ * Creates an ve.ui.MWReferenceResultWidget object.
+ *
+ * @class
+ * @extends OO.ui.OptionWidget
+ *
+ * @constructor
+ * @param {Object} [config] Configuration options
+ */
+ve.ui.MWReferenceResultWidget = function VeUiMWReferenceResultWidget() {
+ // Parent constructor
+ ve.ui.MWReferenceResultWidget.super.apply( this, arguments );
+
+ // Initialization
+ this.$element
+ .addClass( 've-ui-mwReferenceResultWidget' )
+ .append(
+ $( '<div>' ).addClass( 've-ui-mwReferenceResultWidget-shield' )
+ );
+};
+
+/* Inheritance */
+
+OO.inheritClass( ve.ui.MWReferenceResultWidget, OO.ui.OptionWidget );
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceSearchWidget.css b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceSearchWidget.css
new file mode 100644
index 00000000..c972e270
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceSearchWidget.css
@@ -0,0 +1,18 @@
+/*!
+ * VisualEditor MediaWiki UserInterface MWReferenceSearchWidget styles.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+.ve-ui-mwReferenceSearchWidget-citation {
+ float: left;
+ margin-right: 0.75em;
+}
+
+.ve-ui-mwReferenceSearchWidget-name {
+ color: #72777d;
+ float: right;
+ margin-left: 0.75em;
+ margin-bottom: 0.05em;
+}
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceSearchWidget.js b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceSearchWidget.js
new file mode 100644
index 00000000..421b2bd1
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferenceSearchWidget.js
@@ -0,0 +1,232 @@
+/*!
+ * VisualEditor UserInterface MWReferenceSearchWidget class.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+/**
+ * Creates an ve.ui.MWReferenceSearchWidget object.
+ *
+ * @class
+ * @extends OO.ui.SearchWidget
+ *
+ * @constructor
+ * @param {Object} [config] Configuration options
+ */
+ve.ui.MWReferenceSearchWidget = function VeUiMWReferenceSearchWidget( config ) {
+ // Configuration initialization
+ config = ve.extendObject( {
+ placeholder: ve.msg( 'cite-ve-reference-input-placeholder' )
+ }, config );
+
+ // Parent constructor
+ ve.ui.MWReferenceSearchWidget.super.call( this, config );
+
+ // Properties
+ this.index = [];
+ this.indexEmpty = true;
+ this.built = false;
+
+ // Initialization
+ this.$element.addClass( 've-ui-mwReferenceSearchWidget' );
+};
+
+/* Inheritance */
+
+OO.inheritClass( ve.ui.MWReferenceSearchWidget, OO.ui.SearchWidget );
+
+/* Methods */
+
+/**
+ * Handle query change events.
+ *
+ * @method
+ * @param {string} value New value
+ */
+ve.ui.MWReferenceSearchWidget.prototype.onQueryChange = function () {
+ // Parent method
+ ve.ui.MWReferenceSearchWidget.super.prototype.onQueryChange.call( this );
+
+ // Populate
+ this.addResults();
+};
+
+/**
+ * Set the internal list and check if it contains any references
+ *
+ * @param {ve.dm.InternalList} internalList Internal list
+ */
+ve.ui.MWReferenceSearchWidget.prototype.setInternalList = function ( internalList ) {
+ var i, iLen, groupNames, groupName, groups = internalList.getNodeGroups();
+
+ if ( this.results.findSelectedItem() ) {
+ this.results.findSelectedItem().setSelected( false );
+ }
+
+ this.internalList = internalList;
+ this.internalList.connect( this, { update: 'onInternalListUpdate' } );
+ this.internalList.getListNode().connect( this, { update: 'onListNodeUpdate' } );
+
+ groupNames = Object.keys( groups );
+ for ( i = 0, iLen = groupNames.length; i < iLen; i++ ) {
+ groupName = groupNames[ i ];
+ if ( groupName.lastIndexOf( 'mwReference/' ) !== 0 ) {
+ continue;
+ }
+ if ( groups[ groupName ].indexOrder.length ) {
+ this.indexEmpty = false;
+ return;
+ }
+ }
+ this.indexEmpty = true;
+};
+
+/**
+ * Handle the updating of the InternalList object.
+ *
+ * This will occur after a document transaction.
+ *
+ * @method
+ * @param {string[]} groupsChanged A list of groups which have changed in this transaction
+ */
+ve.ui.MWReferenceSearchWidget.prototype.onInternalListUpdate = function ( groupsChanged ) {
+ var i, len;
+ for ( i = 0, len = groupsChanged.length; i < len; i++ ) {
+ if ( groupsChanged[ i ].indexOf( 'mwReference/' ) === 0 ) {
+ this.built = false;
+ break;
+ }
+ }
+};
+
+/**
+ * Handle the updating of the InternalListNode.
+ *
+ * This will occur after changes to any InternalItemNode.
+ *
+ * @method
+ */
+ve.ui.MWReferenceSearchWidget.prototype.onListNodeUpdate = function () {
+ this.built = false;
+};
+
+/**
+ * Build a searchable index of references.
+ *
+ * @method
+ */
+ve.ui.MWReferenceSearchWidget.prototype.buildIndex = function () {
+ var n, i, iLen, j, jLen, refModel, group, groupName, groupNames, view, text, firstNodes, indexOrder,
+ refGroup, refNode, matches, name, citation,
+ groups = this.internalList.getNodeGroups();
+
+ if ( this.built ) {
+ return;
+ }
+
+ function extractAttrs() {
+ text += ' ' + this.getAttribute( 'href' );
+ }
+
+ this.index = [];
+ groupNames = Object.keys( groups ).sort();
+
+ for ( i = 0, iLen = groupNames.length; i < iLen; i++ ) {
+ groupName = groupNames[ i ];
+ if ( groupName.lastIndexOf( 'mwReference/' ) !== 0 ) {
+ continue;
+ }
+ group = groups[ groupName ];
+ firstNodes = group.firstNodes;
+ indexOrder = group.indexOrder;
+
+ n = 0;
+ for ( j = 0, jLen = indexOrder.length; j < jLen; j++ ) {
+ refNode = firstNodes[ indexOrder[ j ] ];
+ // Exclude placeholder references
+ if ( refNode.getAttribute( 'placeholder' ) ) {
+ continue;
+ }
+ // Only increment counter for real references
+ n++;
+ refModel = ve.dm.MWReferenceModel.static.newFromReferenceNode( refNode );
+ view = new ve.ui.MWPreviewElement(
+ this.internalList.getItemNode( refModel.getListIndex() )
+ );
+
+ refGroup = refModel.getGroup();
+ citation = ( refGroup && refGroup.length ? refGroup + ' ' : '' ) + n;
+ matches = refModel.getListKey().match( /^literal\/(.*)$/ );
+ name = matches && matches[ 1 ] || '';
+ // Hide previously auto-generated reference names
+ if ( name.match( /^:[0-9]+$/ ) ) {
+ name = '';
+ }
+
+ // TODO: At some point we need to make sure this text is updated in
+ // case the view node is still rendering. This shouldn't happen because
+ // all references are supposed to be in the store and therefore are
+ // immediately rendered, but we shouldn't trust that on principle to
+ // account for edge cases.
+
+ // Make visible text, citation and reference name searchable
+ text = [ view.$element.text().toLowerCase(), citation, name ].join( ' ' );
+ // Make URLs searchable
+ view.$element.find( 'a[href]' ).each( extractAttrs );
+
+ this.index.push( {
+ $element: view.$element,
+ text: text,
+ reference: refModel,
+ citation: citation,
+ name: name
+ } );
+ }
+ }
+
+ // Re-populate
+ this.onQueryChange();
+
+ this.built = true;
+};
+
+/**
+ * Check whether buildIndex will create an empty index based on the current internalList.
+ *
+ * @return {boolean} Index is empty
+ */
+ve.ui.MWReferenceSearchWidget.prototype.isIndexEmpty = function () {
+ return this.indexEmpty;
+};
+
+/**
+ * Handle media query response events.
+ *
+ * @method
+ */
+ve.ui.MWReferenceSearchWidget.prototype.addResults = function () {
+ var i, len, item, $citation, $name,
+ query = this.query.getValue().trim().toLowerCase(),
+ items = [];
+
+ for ( i = 0, len = this.index.length; i < len; i++ ) {
+ item = this.index[ i ];
+ if ( item.text.indexOf( query ) >= 0 ) {
+ $citation = $( '<div>' )
+ .addClass( 've-ui-mwReferenceSearchWidget-citation' )
+ .text( '[' + item.citation + ']' );
+ $name = $( '<div>' )
+ .addClass( 've-ui-mwReferenceSearchWidget-name' )
+ .text( item.name );
+ items.push(
+ new ve.ui.MWReferenceResultWidget( {
+ data: item.reference,
+ label: $citation.add( $name ).add( item.$element )
+ } )
+ );
+ }
+ }
+
+ this.results.addItems( items );
+};
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferencesListCommand.js b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferencesListCommand.js
new file mode 100644
index 00000000..0ab9af85
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferencesListCommand.js
@@ -0,0 +1,61 @@
+/*!
+ * VisualEditor UserInterface MediaWiki ReferencesListCommand class.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+/**
+ * References list command.
+ *
+ * If a references list node is selected, opens the dialog to edit it.
+ * Otherwise inserts the references list for the default group.
+ *
+ * @class
+ * @extends ve.ui.Command
+ *
+ * @constructor
+ */
+ve.ui.MWReferencesListCommand = function VeUiMWReferencesListCommand() {
+ // Parent constructor
+ ve.ui.MWReferencesListCommand.super.call(
+ this, 'referencesList', null, null,
+ { supportedSelections: [ 'linear' ] }
+ );
+};
+
+/* Inheritance */
+
+OO.inheritClass( ve.ui.MWReferencesListCommand, ve.ui.Command );
+
+/* Methods */
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWReferencesListCommand.prototype.execute = function ( surface ) {
+ var fragment = surface.getModel().getFragment(),
+ selectedNode = fragment.getSelectedNode(),
+ isReflistNodeSelected = selectedNode && selectedNode instanceof ve.dm.MWReferencesListNode;
+
+ if ( isReflistNodeSelected ) {
+ return surface.execute( 'window', 'open', 'referencesList' );
+ } else {
+ fragment.collapseToEnd().insertContent( [
+ {
+ type: 'mwReferencesList',
+ attributes: {
+ listGroup: 'mwReference/',
+ refGroup: '',
+ isResponsive: mw.config.get( 'wgCiteResponsiveReferences' )
+ }
+ },
+ { type: '/mwReferencesList' }
+ ] );
+ return true;
+ }
+};
+
+/* Registration */
+
+ve.ui.commandRegistry.register( new ve.ui.MWReferencesListCommand() );
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferencesListContextItem.js b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferencesListContextItem.js
new file mode 100644
index 00000000..46c9f2fb
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferencesListContextItem.js
@@ -0,0 +1,75 @@
+/*!
+ * VisualEditor MWReferencesListContextItem class.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+/**
+ * Context item for a MWReferencesList.
+ *
+ * @class
+ * @extends ve.ui.LinearContextItem
+ *
+ * @constructor
+ * @param {ve.ui.Context} context Context item is in
+ * @param {ve.dm.Model} model Model item is related to
+ * @param {Object} config Configuration options
+ */
+ve.ui.MWReferencesListContextItem = function VeUiMWReferencesListContextItem() {
+ // Parent constructor
+ ve.ui.MWReferencesListContextItem.super.apply( this, arguments );
+
+ // Initialization
+ this.$element.addClass( 've-ui-mwReferencesListContextItem' );
+};
+
+/* Inheritance */
+
+OO.inheritClass( ve.ui.MWReferencesListContextItem, ve.ui.LinearContextItem );
+
+/* Static Properties */
+
+ve.ui.MWReferencesListContextItem.static.name = 'referencesList';
+
+ve.ui.MWReferencesListContextItem.static.icon = 'references';
+
+ve.ui.MWReferencesListContextItem.static.label =
+ OO.ui.deferMsg( 'cite-ve-dialogbutton-referenceslist-tooltip' );
+
+ve.ui.MWReferencesListContextItem.static.modelClasses = [ ve.dm.MWReferencesListNode ];
+
+ve.ui.MWReferencesListContextItem.static.commandName = 'referencesList';
+
+/* Methods */
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWReferencesListContextItem.prototype.renderBody = function () {
+ this.$body.append(
+ $( '<div>' ).text( this.getDescription() )
+ );
+ if ( this.model.getAttribute( 'templateGenerated' ) ) {
+ this.$body.append(
+ $( '<div>' )
+ .addClass( 've-ui-mwReferenceContextItem-muted' )
+ .text( ve.msg( 'cite-ve-referenceslist-missingreflist' ) )
+ );
+ }
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWReferencesListContextItem.prototype.getDescription = function () {
+ var group = this.model.getAttribute( 'refGroup' );
+
+ return group ?
+ ve.msg( 'cite-ve-dialog-referenceslist-contextitem-description-named', group ) :
+ ve.msg( 'cite-ve-dialog-referenceslist-contextitem-description-general' );
+};
+
+/* Registration */
+
+ve.ui.contextItemFactory.register( ve.ui.MWReferencesListContextItem );
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferencesListDialog.js b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferencesListDialog.js
new file mode 100644
index 00000000..10dba30f
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWReferencesListDialog.js
@@ -0,0 +1,178 @@
+/*!
+ * VisualEditor user interface MWReferencesListDialog class.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+/**
+ * Dialog for editing MediaWiki references lists.
+ *
+ * @class
+ * @extends ve.ui.NodeDialog
+ *
+ * @constructor
+ * @param {Object} [config] Configuration options
+ */
+ve.ui.MWReferencesListDialog = function VeUiMWReferencesListDialog( config ) {
+ // Parent constructor
+ ve.ui.MWReferencesListDialog.super.call( this, config );
+};
+
+/* Inheritance */
+
+OO.inheritClass( ve.ui.MWReferencesListDialog, ve.ui.NodeDialog );
+
+/* Static Properties */
+
+ve.ui.MWReferencesListDialog.static.name = 'referencesList';
+
+ve.ui.MWReferencesListDialog.static.title =
+ OO.ui.deferMsg( 'cite-ve-dialog-referenceslist-title' );
+
+ve.ui.MWReferencesListDialog.static.modelClasses = [ ve.dm.MWReferencesListNode ];
+
+ve.ui.MWReferencesListDialog.static.size = 'medium';
+
+ve.ui.MWReferencesListDialog.static.actions = [
+ {
+ action: 'apply',
+ label: OO.ui.deferMsg( 'visualeditor-dialog-action-apply' ),
+ flags: [ 'progressive', 'primary' ],
+ modes: 'edit'
+ },
+ {
+ label: OO.ui.deferMsg( 'visualeditor-dialog-action-cancel' ),
+ flags: [ 'safe', 'back' ],
+ modes: 'edit'
+ }
+];
+
+/* Methods */
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWReferencesListDialog.prototype.getBodyHeight = function () {
+ return Math.max( 150, Math.ceil( this.editPanel.$element[ 0 ].scrollHeight ) );
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWReferencesListDialog.prototype.initialize = function () {
+ var groupField, responsiveField;
+
+ // Parent method
+ ve.ui.MWReferencesListDialog.super.prototype.initialize.call( this );
+
+ // Properties
+ this.panels = new OO.ui.StackLayout();
+ this.editPanel = new OO.ui.PanelLayout( {
+ scrollable: true, padded: true
+ } );
+ this.optionsFieldset = new OO.ui.FieldsetLayout();
+
+ this.groupInput = new ve.ui.MWReferenceGroupInputWidget( {
+ $overlay: this.$overlay,
+ emptyGroupName: ve.msg( 'cite-ve-dialog-reference-options-group-placeholder' )
+ } );
+ groupField = new OO.ui.FieldLayout( this.groupInput, {
+ align: 'top',
+ label: ve.msg( 'cite-ve-dialog-reference-options-group-label' )
+ } );
+
+ this.responsiveCheckbox = new OO.ui.CheckboxInputWidget();
+ responsiveField = new OO.ui.FieldLayout( this.responsiveCheckbox, {
+ align: 'inline',
+ label: ve.msg( 'cite-ve-dialog-reference-options-responsive-label' )
+ } );
+
+ // Initialization
+ this.optionsFieldset.addItems( [ groupField, responsiveField ] );
+ this.editPanel.$element.append( this.optionsFieldset.$element );
+ this.panels.addItems( [ this.editPanel ] );
+ this.$body.append( this.panels.$element );
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWReferencesListDialog.prototype.getActionProcess = function ( action ) {
+ if ( action === 'apply' ) {
+ return new OO.ui.Process( function () {
+ var refGroup, listGroup, oldListGroup, isResponsive, oldResponsive, mwData, attrChanges, doc,
+ surfaceModel = this.getFragment().getSurface();
+
+ // Save changes
+ refGroup = this.groupInput.getValue();
+ listGroup = 'mwReference/' + refGroup;
+ isResponsive = this.responsiveCheckbox.isSelected();
+
+ if ( this.selectedNode ) {
+ // Edit existing model
+ doc = surfaceModel.getDocument();
+ oldListGroup = this.selectedNode.getAttribute( 'listGroup' );
+ oldResponsive = this.selectedNode.getAttribute( 'isResponsive' );
+
+ if ( listGroup !== oldListGroup || isResponsive !== oldResponsive ) {
+ // newFromAttributeChanges doesn't do the smart-replacing
+ // for nested attributes, so make a copy of the mw
+ // attribute so we can disable autoGenerated now we've
+ // changed it.
+ mwData = ve.copy( this.selectedNode.getAttribute( 'mw' ) ) || {};
+ delete mwData.autoGenerated;
+
+ attrChanges = {
+ listGroup: listGroup,
+ refGroup: refGroup,
+ isResponsive: isResponsive,
+ mw: mwData
+ };
+ surfaceModel.change(
+ ve.dm.TransactionBuilder.static.newFromAttributeChanges(
+ doc, this.selectedNode.getOuterRange().start, attrChanges
+ )
+ );
+ }
+ }
+
+ this.close( { action: action } );
+ }, this );
+ }
+ // Parent method
+ return ve.ui.MWReferencesListDialog.super.prototype.getActionProcess.call( this, action );
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWReferencesListDialog.prototype.getSetupProcess = function ( data ) {
+ return ve.ui.MWReferencesListDialog.super.prototype.getSetupProcess.call( this, data )
+ .next( function () {
+ if ( !( this.selectedNode instanceof ve.dm.MWReferencesListNode ) ) {
+ throw new Error( 'Cannot open dialog: references list must be selected' );
+ }
+
+ this.actions.setMode( 'edit' );
+
+ this.groupInput.setValue( this.selectedNode.getAttribute( 'refGroup' ) );
+ this.groupInput.populateMenu( this.getFragment().getDocument().getInternalList() );
+
+ this.responsiveCheckbox.setSelected( this.selectedNode.getAttribute( 'isResponsive' ) );
+ }, this );
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWReferencesListDialog.prototype.getReadyProcess = function ( data ) {
+ return ve.ui.MWReferencesListDialog.super.prototype.getReadyProcess.call( this, data )
+ .next( function () {
+ this.groupInput.focus();
+ }, this );
+};
+
+/* Registration */
+
+ve.ui.windowFactory.register( ve.ui.MWReferencesListDialog );
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWUseExistingReferenceCommand.js b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWUseExistingReferenceCommand.js
new file mode 100644
index 00000000..0066d39f
--- /dev/null
+++ b/www/wiki/extensions/Cite/modules/ve-cite/ve.ui.MWUseExistingReferenceCommand.js
@@ -0,0 +1,53 @@
+/*!
+ * VisualEditor UserInterface MediaWiki UseExistingReferenceCommand class.
+ *
+ * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
+ * @license MIT
+ */
+
+/**
+ * Use existing reference command.
+ *
+ * @class
+ * @extends ve.ui.Command
+ *
+ * @constructor
+ */
+ve.ui.MWUseExistingReferenceCommand = function VeUiMWUseExistingReferenceCommand() {
+ // Parent constructor
+ ve.ui.MWUseExistingReferenceCommand.super.call(
+ this, 'reference/existing', 'window', 'open',
+ { args: [ 'reference', { useExisting: true } ], supportedSelections: [ 'linear' ] }
+ );
+};
+
+/* Inheritance */
+
+OO.inheritClass( ve.ui.MWUseExistingReferenceCommand, ve.ui.Command );
+
+/* Methods */
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWUseExistingReferenceCommand.prototype.isExecutable = function ( fragment ) {
+ var groupName, groups;
+
+ // Parent method
+ if ( !ve.ui.MWUseExistingReferenceCommand.super.prototype.isExecutable.apply( this, arguments ) ) {
+ return false;
+ }
+
+ groups = fragment.getDocument().getInternalList().getNodeGroups();
+
+ for ( groupName in groups ) {
+ if ( groupName.lastIndexOf( 'mwReference/' ) === 0 && groups[ groupName ].indexOrder.length ) {
+ return true;
+ }
+ }
+ return false;
+};
+
+/* Registration */
+
+ve.ui.commandRegistry.register( new ve.ui.MWUseExistingReferenceCommand() );