pywikibot-scripts 9.4.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4292) hide show
  1. pywikibot_scripts/README.rst +204 -0
  2. pywikibot_scripts/__init__.py +40 -0
  3. pywikibot_scripts/add_text.py +239 -0
  4. pywikibot_scripts/archivebot.py +999 -0
  5. pywikibot_scripts/basic.py +176 -0
  6. pywikibot_scripts/blockpageschecker.py +494 -0
  7. pywikibot_scripts/category.py +1692 -0
  8. pywikibot_scripts/category_graph.py +255 -0
  9. pywikibot_scripts/category_redirect.py +597 -0
  10. pywikibot_scripts/change_pagelang.py +190 -0
  11. pywikibot_scripts/checkimages.py +1718 -0
  12. pywikibot_scripts/claimit.py +155 -0
  13. pywikibot_scripts/clean_sandbox.py +363 -0
  14. pywikibot_scripts/commons_information.py +328 -0
  15. pywikibot_scripts/commonscat.py +579 -0
  16. pywikibot_scripts/coordinate_import.py +185 -0
  17. pywikibot_scripts/cosmetic_changes.py +133 -0
  18. pywikibot_scripts/create_isbn_edition.py +823 -0
  19. pywikibot_scripts/data_ingestion.py +346 -0
  20. pywikibot_scripts/dataextend.py +17768 -0
  21. pywikibot_scripts/delete.py +295 -0
  22. pywikibot_scripts/delinker.py +249 -0
  23. pywikibot_scripts/djvutext.py +213 -0
  24. pywikibot_scripts/download_dump.py +237 -0
  25. pywikibot_scripts/fixing_redirects.py +254 -0
  26. pywikibot_scripts/harvest_template.py +591 -0
  27. pywikibot_scripts/i18n/.git +1 -0
  28. pywikibot_scripts/i18n/.gitignore +7 -0
  29. pywikibot_scripts/i18n/.gitreview +6 -0
  30. pywikibot_scripts/i18n/Gruntfile.js +14 -0
  31. pywikibot_scripts/i18n/__init__.py +12 -0
  32. pywikibot_scripts/i18n/__pycache__/__init__.cpython-311.pyc +0 -0
  33. pywikibot_scripts/i18n/__pycache__/__init__.cpython-313.pyc +0 -0
  34. pywikibot_scripts/i18n/add_text/ab.json +8 -0
  35. pywikibot_scripts/i18n/add_text/af.json +6 -0
  36. pywikibot_scripts/i18n/add_text/am.json +8 -0
  37. pywikibot_scripts/i18n/add_text/an.json +8 -0
  38. pywikibot_scripts/i18n/add_text/ang.json +6 -0
  39. pywikibot_scripts/i18n/add_text/ar.json +6 -0
  40. pywikibot_scripts/i18n/add_text/arc.json +6 -0
  41. pywikibot_scripts/i18n/add_text/arz.json +6 -0
  42. pywikibot_scripts/i18n/add_text/as.json +6 -0
  43. pywikibot_scripts/i18n/add_text/ast.json +9 -0
  44. pywikibot_scripts/i18n/add_text/av.json +8 -0
  45. pywikibot_scripts/i18n/add_text/awa.json +8 -0
  46. pywikibot_scripts/i18n/add_text/az.json +8 -0
  47. pywikibot_scripts/i18n/add_text/azb.json +9 -0
  48. pywikibot_scripts/i18n/add_text/ba.json +8 -0
  49. pywikibot_scripts/i18n/add_text/bar.json +6 -0
  50. pywikibot_scripts/i18n/add_text/bcl.json +6 -0
  51. pywikibot_scripts/i18n/add_text/be-tarask.json +8 -0
  52. pywikibot_scripts/i18n/add_text/be.json +6 -0
  53. pywikibot_scripts/i18n/add_text/bg.json +8 -0
  54. pywikibot_scripts/i18n/add_text/bgn.json +8 -0
  55. pywikibot_scripts/i18n/add_text/bjn.json +6 -0
  56. pywikibot_scripts/i18n/add_text/blk.json +8 -0
  57. pywikibot_scripts/i18n/add_text/bn.json +9 -0
  58. pywikibot_scripts/i18n/add_text/bo.json +6 -0
  59. pywikibot_scripts/i18n/add_text/bpy.json +6 -0
  60. pywikibot_scripts/i18n/add_text/br.json +8 -0
  61. pywikibot_scripts/i18n/add_text/bs.json +8 -0
  62. pywikibot_scripts/i18n/add_text/ca.json +10 -0
  63. pywikibot_scripts/i18n/add_text/ce.json +6 -0
  64. pywikibot_scripts/i18n/add_text/ceb.json +6 -0
  65. pywikibot_scripts/i18n/add_text/ckb.json +10 -0
  66. pywikibot_scripts/i18n/add_text/crh.json +4 -0
  67. pywikibot_scripts/i18n/add_text/cs.json +10 -0
  68. pywikibot_scripts/i18n/add_text/csb.json +8 -0
  69. pywikibot_scripts/i18n/add_text/cu.json +8 -0
  70. pywikibot_scripts/i18n/add_text/cv.json +8 -0
  71. pywikibot_scripts/i18n/add_text/cy.json +8 -0
  72. pywikibot_scripts/i18n/add_text/da.json +9 -0
  73. pywikibot_scripts/i18n/add_text/dag.json +8 -0
  74. pywikibot_scripts/i18n/add_text/de.json +6 -0
  75. pywikibot_scripts/i18n/add_text/diq.json +8 -0
  76. pywikibot_scripts/i18n/add_text/dty.json +8 -0
  77. pywikibot_scripts/i18n/add_text/dv.json +6 -0
  78. pywikibot_scripts/i18n/add_text/el.json +6 -0
  79. pywikibot_scripts/i18n/add_text/eml.json +8 -0
  80. pywikibot_scripts/i18n/add_text/en.json +4 -0
  81. pywikibot_scripts/i18n/add_text/eo.json +8 -0
  82. pywikibot_scripts/i18n/add_text/es.json +11 -0
  83. pywikibot_scripts/i18n/add_text/et.json +8 -0
  84. pywikibot_scripts/i18n/add_text/eu.json +6 -0
  85. pywikibot_scripts/i18n/add_text/ext.json +6 -0
  86. pywikibot_scripts/i18n/add_text/fa.json +6 -0
  87. pywikibot_scripts/i18n/add_text/fi.json +8 -0
  88. pywikibot_scripts/i18n/add_text/fo.json +6 -0
  89. pywikibot_scripts/i18n/add_text/fr.json +9 -0
  90. pywikibot_scripts/i18n/add_text/frp.json +8 -0
  91. pywikibot_scripts/i18n/add_text/frr.json +8 -0
  92. pywikibot_scripts/i18n/add_text/fur.json +6 -0
  93. pywikibot_scripts/i18n/add_text/fy.json +6 -0
  94. pywikibot_scripts/i18n/add_text/ga.json +6 -0
  95. pywikibot_scripts/i18n/add_text/gl.json +6 -0
  96. pywikibot_scripts/i18n/add_text/gn.json +8 -0
  97. pywikibot_scripts/i18n/add_text/gsw.json +6 -0
  98. pywikibot_scripts/i18n/add_text/gu.json +8 -0
  99. pywikibot_scripts/i18n/add_text/gv.json +6 -0
  100. pywikibot_scripts/i18n/add_text/hak.json +8 -0
  101. pywikibot_scripts/i18n/add_text/haw.json +8 -0
  102. pywikibot_scripts/i18n/add_text/he.json +6 -0
  103. pywikibot_scripts/i18n/add_text/hi.json +9 -0
  104. pywikibot_scripts/i18n/add_text/hr.json +6 -0
  105. pywikibot_scripts/i18n/add_text/hsb.json +6 -0
  106. pywikibot_scripts/i18n/add_text/ht.json +6 -0
  107. pywikibot_scripts/i18n/add_text/hu.json +9 -0
  108. pywikibot_scripts/i18n/add_text/hy.json +6 -0
  109. pywikibot_scripts/i18n/add_text/ia.json +6 -0
  110. pywikibot_scripts/i18n/add_text/id.json +10 -0
  111. pywikibot_scripts/i18n/add_text/ie.json +6 -0
  112. pywikibot_scripts/i18n/add_text/ilo.json +8 -0
  113. pywikibot_scripts/i18n/add_text/io.json +6 -0
  114. pywikibot_scripts/i18n/add_text/is.json +8 -0
  115. pywikibot_scripts/i18n/add_text/it.json +6 -0
  116. pywikibot_scripts/i18n/add_text/ja.json +10 -0
  117. pywikibot_scripts/i18n/add_text/jv.json +8 -0
  118. pywikibot_scripts/i18n/add_text/ka.json +6 -0
  119. pywikibot_scripts/i18n/add_text/kaa.json +8 -0
  120. pywikibot_scripts/i18n/add_text/kab.json +8 -0
  121. pywikibot_scripts/i18n/add_text/kjp.json +8 -0
  122. pywikibot_scripts/i18n/add_text/kk.json +6 -0
  123. pywikibot_scripts/i18n/add_text/kl.json +6 -0
  124. pywikibot_scripts/i18n/add_text/km.json +8 -0
  125. pywikibot_scripts/i18n/add_text/kn.json +9 -0
  126. pywikibot_scripts/i18n/add_text/ko-kp.json +8 -0
  127. pywikibot_scripts/i18n/add_text/ko.json +9 -0
  128. pywikibot_scripts/i18n/add_text/koi.json +6 -0
  129. pywikibot_scripts/i18n/add_text/krc.json +8 -0
  130. pywikibot_scripts/i18n/add_text/krl.json +8 -0
  131. pywikibot_scripts/i18n/add_text/ksh.json +6 -0
  132. pywikibot_scripts/i18n/add_text/ku.json +8 -0
  133. pywikibot_scripts/i18n/add_text/kv.json +6 -0
  134. pywikibot_scripts/i18n/add_text/kw.json +8 -0
  135. pywikibot_scripts/i18n/add_text/ky.json +6 -0
  136. pywikibot_scripts/i18n/add_text/la.json +6 -0
  137. pywikibot_scripts/i18n/add_text/lad.json +6 -0
  138. pywikibot_scripts/i18n/add_text/lb.json +9 -0
  139. pywikibot_scripts/i18n/add_text/lez.json +8 -0
  140. pywikibot_scripts/i18n/add_text/li.json +6 -0
  141. pywikibot_scripts/i18n/add_text/lmo.json +6 -0
  142. pywikibot_scripts/i18n/add_text/ln.json +6 -0
  143. pywikibot_scripts/i18n/add_text/lo.json +6 -0
  144. pywikibot_scripts/i18n/add_text/lt.json +8 -0
  145. pywikibot_scripts/i18n/add_text/lus.json +8 -0
  146. pywikibot_scripts/i18n/add_text/lv.json +6 -0
  147. pywikibot_scripts/i18n/add_text/lzh.json +9 -0
  148. pywikibot_scripts/i18n/add_text/map-bms.json +8 -0
  149. pywikibot_scripts/i18n/add_text/mdf.json +6 -0
  150. pywikibot_scripts/i18n/add_text/mg.json +6 -0
  151. pywikibot_scripts/i18n/add_text/mhr.json +8 -0
  152. pywikibot_scripts/i18n/add_text/mi.json +6 -0
  153. pywikibot_scripts/i18n/add_text/min.json +6 -0
  154. pywikibot_scripts/i18n/add_text/mk.json +8 -0
  155. pywikibot_scripts/i18n/add_text/ml.json +8 -0
  156. pywikibot_scripts/i18n/add_text/mn.json +6 -0
  157. pywikibot_scripts/i18n/add_text/mni.json +8 -0
  158. pywikibot_scripts/i18n/add_text/mnw.json +8 -0
  159. pywikibot_scripts/i18n/add_text/mo.json +6 -0
  160. pywikibot_scripts/i18n/add_text/mr.json +6 -0
  161. pywikibot_scripts/i18n/add_text/mrh.json +8 -0
  162. pywikibot_scripts/i18n/add_text/mrj.json +6 -0
  163. pywikibot_scripts/i18n/add_text/ms.json +6 -0
  164. pywikibot_scripts/i18n/add_text/mt.json +6 -0
  165. pywikibot_scripts/i18n/add_text/mwl.json +6 -0
  166. pywikibot_scripts/i18n/add_text/my.json +8 -0
  167. pywikibot_scripts/i18n/add_text/myv.json +6 -0
  168. pywikibot_scripts/i18n/add_text/mzn.json +6 -0
  169. pywikibot_scripts/i18n/add_text/nah.json +6 -0
  170. pywikibot_scripts/i18n/add_text/nan.json +8 -0
  171. pywikibot_scripts/i18n/add_text/nap.json +8 -0
  172. pywikibot_scripts/i18n/add_text/nb.json +8 -0
  173. pywikibot_scripts/i18n/add_text/nds-nl.json +8 -0
  174. pywikibot_scripts/i18n/add_text/nds.json +6 -0
  175. pywikibot_scripts/i18n/add_text/ne.json +9 -0
  176. pywikibot_scripts/i18n/add_text/new.json +9 -0
  177. pywikibot_scripts/i18n/add_text/nl.json +8 -0
  178. pywikibot_scripts/i18n/add_text/nn.json +9 -0
  179. pywikibot_scripts/i18n/add_text/nov.json +6 -0
  180. pywikibot_scripts/i18n/add_text/nqo.json +8 -0
  181. pywikibot_scripts/i18n/add_text/nrm.json +6 -0
  182. pywikibot_scripts/i18n/add_text/nv.json +6 -0
  183. pywikibot_scripts/i18n/add_text/nyn.json +8 -0
  184. pywikibot_scripts/i18n/add_text/oc.json +6 -0
  185. pywikibot_scripts/i18n/add_text/or.json +8 -0
  186. pywikibot_scripts/i18n/add_text/os.json +6 -0
  187. pywikibot_scripts/i18n/add_text/pa.json +8 -0
  188. pywikibot_scripts/i18n/add_text/pcd.json +6 -0
  189. pywikibot_scripts/i18n/add_text/pdc.json +6 -0
  190. pywikibot_scripts/i18n/add_text/pfl.json +6 -0
  191. pywikibot_scripts/i18n/add_text/pl.json +9 -0
  192. pywikibot_scripts/i18n/add_text/pms.json +6 -0
  193. pywikibot_scripts/i18n/add_text/pnb.json +6 -0
  194. pywikibot_scripts/i18n/add_text/ps.json +6 -0
  195. pywikibot_scripts/i18n/add_text/pt-br.json +8 -0
  196. pywikibot_scripts/i18n/add_text/pt.json +9 -0
  197. pywikibot_scripts/i18n/add_text/qqq.json +8 -0
  198. pywikibot_scripts/i18n/add_text/qu.json +6 -0
  199. pywikibot_scripts/i18n/add_text/rm.json +6 -0
  200. pywikibot_scripts/i18n/add_text/ro.json +6 -0
  201. pywikibot_scripts/i18n/add_text/roa-tara.json +4 -0
  202. pywikibot_scripts/i18n/add_text/ru.json +11 -0
  203. pywikibot_scripts/i18n/add_text/rue.json +6 -0
  204. pywikibot_scripts/i18n/add_text/rw.json +6 -0
  205. pywikibot_scripts/i18n/add_text/sa.json +8 -0
  206. pywikibot_scripts/i18n/add_text/sah.json +6 -0
  207. pywikibot_scripts/i18n/add_text/scn.json +8 -0
  208. pywikibot_scripts/i18n/add_text/sco.json +8 -0
  209. pywikibot_scripts/i18n/add_text/sd.json +8 -0
  210. pywikibot_scripts/i18n/add_text/sgs.json +6 -0
  211. pywikibot_scripts/i18n/add_text/sh.json +8 -0
  212. pywikibot_scripts/i18n/add_text/shn.json +8 -0
  213. pywikibot_scripts/i18n/add_text/si.json +6 -0
  214. pywikibot_scripts/i18n/add_text/sk.json +9 -0
  215. pywikibot_scripts/i18n/add_text/skr.json +8 -0
  216. pywikibot_scripts/i18n/add_text/sl.json +6 -0
  217. pywikibot_scripts/i18n/add_text/sms.json +8 -0
  218. pywikibot_scripts/i18n/add_text/so.json +8 -0
  219. pywikibot_scripts/i18n/add_text/sq.json +8 -0
  220. pywikibot_scripts/i18n/add_text/sr.json +11 -0
  221. pywikibot_scripts/i18n/add_text/su.json +6 -0
  222. pywikibot_scripts/i18n/add_text/sv.json +6 -0
  223. pywikibot_scripts/i18n/add_text/sw.json +9 -0
  224. pywikibot_scripts/i18n/add_text/szl.json +6 -0
  225. pywikibot_scripts/i18n/add_text/ta.json +9 -0
  226. pywikibot_scripts/i18n/add_text/te.json +8 -0
  227. pywikibot_scripts/i18n/add_text/tet.json +6 -0
  228. pywikibot_scripts/i18n/add_text/tg.json +6 -0
  229. pywikibot_scripts/i18n/add_text/th.json +8 -0
  230. pywikibot_scripts/i18n/add_text/tk.json +6 -0
  231. pywikibot_scripts/i18n/add_text/tl.json +8 -0
  232. pywikibot_scripts/i18n/add_text/tly.json +10 -0
  233. pywikibot_scripts/i18n/add_text/to.json +6 -0
  234. pywikibot_scripts/i18n/add_text/tr.json +8 -0
  235. pywikibot_scripts/i18n/add_text/tt.json +6 -0
  236. pywikibot_scripts/i18n/add_text/tyv.json +9 -0
  237. pywikibot_scripts/i18n/add_text/tzm.json +8 -0
  238. pywikibot_scripts/i18n/add_text/udm.json +6 -0
  239. pywikibot_scripts/i18n/add_text/ug.json +8 -0
  240. pywikibot_scripts/i18n/add_text/uk.json +6 -0
  241. pywikibot_scripts/i18n/add_text/ur.json +8 -0
  242. pywikibot_scripts/i18n/add_text/uz.json +6 -0
  243. pywikibot_scripts/i18n/add_text/vec.json +8 -0
  244. pywikibot_scripts/i18n/add_text/vi.json +6 -0
  245. pywikibot_scripts/i18n/add_text/vls.json +6 -0
  246. pywikibot_scripts/i18n/add_text/vo.json +6 -0
  247. pywikibot_scripts/i18n/add_text/vro.json +6 -0
  248. pywikibot_scripts/i18n/add_text/wa.json +8 -0
  249. pywikibot_scripts/i18n/add_text/war.json +8 -0
  250. pywikibot_scripts/i18n/add_text/xal.json +6 -0
  251. pywikibot_scripts/i18n/add_text/xmf.json +8 -0
  252. pywikibot_scripts/i18n/add_text/yi.json +6 -0
  253. pywikibot_scripts/i18n/add_text/yo.json +8 -0
  254. pywikibot_scripts/i18n/add_text/yue.json +9 -0
  255. pywikibot_scripts/i18n/add_text/zh.json +10 -0
  256. pywikibot_scripts/i18n/archivebot/ab.json +11 -0
  257. pywikibot_scripts/i18n/archivebot/aeb.json +10 -0
  258. pywikibot_scripts/i18n/archivebot/af.json +12 -0
  259. pywikibot_scripts/i18n/archivebot/am.json +11 -0
  260. pywikibot_scripts/i18n/archivebot/an.json +12 -0
  261. pywikibot_scripts/i18n/archivebot/ar.json +14 -0
  262. pywikibot_scripts/i18n/archivebot/arc.json +12 -0
  263. pywikibot_scripts/i18n/archivebot/arz.json +9 -0
  264. pywikibot_scripts/i18n/archivebot/ast.json +13 -0
  265. pywikibot_scripts/i18n/archivebot/av.json +11 -0
  266. pywikibot_scripts/i18n/archivebot/awa.json +11 -0
  267. pywikibot_scripts/i18n/archivebot/az.json +12 -0
  268. pywikibot_scripts/i18n/archivebot/azb.json +13 -0
  269. pywikibot_scripts/i18n/archivebot/ba.json +14 -0
  270. pywikibot_scripts/i18n/archivebot/bar.json +8 -0
  271. pywikibot_scripts/i18n/archivebot/bcc.json +11 -0
  272. pywikibot_scripts/i18n/archivebot/be-tarask.json +14 -0
  273. pywikibot_scripts/i18n/archivebot/be.json +10 -0
  274. pywikibot_scripts/i18n/archivebot/bg.json +13 -0
  275. pywikibot_scripts/i18n/archivebot/bgn.json +8 -0
  276. pywikibot_scripts/i18n/archivebot/bjn.json +14 -0
  277. pywikibot_scripts/i18n/archivebot/blk.json +11 -0
  278. pywikibot_scripts/i18n/archivebot/bn.json +18 -0
  279. pywikibot_scripts/i18n/archivebot/bo.json +11 -0
  280. pywikibot_scripts/i18n/archivebot/br.json +13 -0
  281. pywikibot_scripts/i18n/archivebot/bs.json +14 -0
  282. pywikibot_scripts/i18n/archivebot/ca.json +17 -0
  283. pywikibot_scripts/i18n/archivebot/ce.json +11 -0
  284. pywikibot_scripts/i18n/archivebot/ckb.json +17 -0
  285. pywikibot_scripts/i18n/archivebot/co.json +8 -0
  286. pywikibot_scripts/i18n/archivebot/cs.json +19 -0
  287. pywikibot_scripts/i18n/archivebot/csb.json +11 -0
  288. pywikibot_scripts/i18n/archivebot/cy.json +13 -0
  289. pywikibot_scripts/i18n/archivebot/da.json +14 -0
  290. pywikibot_scripts/i18n/archivebot/dag.json +9 -0
  291. pywikibot_scripts/i18n/archivebot/de.json +15 -0
  292. pywikibot_scripts/i18n/archivebot/diq.json +14 -0
  293. pywikibot_scripts/i18n/archivebot/dsb.json +8 -0
  294. pywikibot_scripts/i18n/archivebot/dty.json +9 -0
  295. pywikibot_scripts/i18n/archivebot/el.json +14 -0
  296. pywikibot_scripts/i18n/archivebot/eml.json +12 -0
  297. pywikibot_scripts/i18n/archivebot/en.json +12 -0
  298. pywikibot_scripts/i18n/archivebot/eo.json +16 -0
  299. pywikibot_scripts/i18n/archivebot/es.json +19 -0
  300. pywikibot_scripts/i18n/archivebot/et.json +13 -0
  301. pywikibot_scripts/i18n/archivebot/eu.json +13 -0
  302. pywikibot_scripts/i18n/archivebot/fa.json +18 -0
  303. pywikibot_scripts/i18n/archivebot/fi.json +15 -0
  304. pywikibot_scripts/i18n/archivebot/fo.json +11 -0
  305. pywikibot_scripts/i18n/archivebot/fr.json +17 -0
  306. pywikibot_scripts/i18n/archivebot/frp.json +12 -0
  307. pywikibot_scripts/i18n/archivebot/frr.json +13 -0
  308. pywikibot_scripts/i18n/archivebot/ga.json +11 -0
  309. pywikibot_scripts/i18n/archivebot/gl.json +16 -0
  310. pywikibot_scripts/i18n/archivebot/gn.json +11 -0
  311. pywikibot_scripts/i18n/archivebot/gsw.json +12 -0
  312. pywikibot_scripts/i18n/archivebot/ha.json +11 -0
  313. pywikibot_scripts/i18n/archivebot/hak.json +11 -0
  314. pywikibot_scripts/i18n/archivebot/haw.json +12 -0
  315. pywikibot_scripts/i18n/archivebot/he.json +15 -0
  316. pywikibot_scripts/i18n/archivebot/hi.json +13 -0
  317. pywikibot_scripts/i18n/archivebot/hif.json +9 -0
  318. pywikibot_scripts/i18n/archivebot/hr.json +13 -0
  319. pywikibot_scripts/i18n/archivebot/hsb.json +11 -0
  320. pywikibot_scripts/i18n/archivebot/hu.json +17 -0
  321. pywikibot_scripts/i18n/archivebot/hy.json +13 -0
  322. pywikibot_scripts/i18n/archivebot/ia.json +12 -0
  323. pywikibot_scripts/i18n/archivebot/id.json +18 -0
  324. pywikibot_scripts/i18n/archivebot/ilo.json +11 -0
  325. pywikibot_scripts/i18n/archivebot/io.json +11 -0
  326. pywikibot_scripts/i18n/archivebot/is.json +14 -0
  327. pywikibot_scripts/i18n/archivebot/it.json +17 -0
  328. pywikibot_scripts/i18n/archivebot/ja.json +17 -0
  329. pywikibot_scripts/i18n/archivebot/jv.json +11 -0
  330. pywikibot_scripts/i18n/archivebot/ka.json +8 -0
  331. pywikibot_scripts/i18n/archivebot/kaa.json +11 -0
  332. pywikibot_scripts/i18n/archivebot/kab.json +13 -0
  333. pywikibot_scripts/i18n/archivebot/kjp.json +11 -0
  334. pywikibot_scripts/i18n/archivebot/kk.json +11 -0
  335. pywikibot_scripts/i18n/archivebot/km.json +8 -0
  336. pywikibot_scripts/i18n/archivebot/kn.json +11 -0
  337. pywikibot_scripts/i18n/archivebot/ko-kp.json +8 -0
  338. pywikibot_scripts/i18n/archivebot/ko.json +16 -0
  339. pywikibot_scripts/i18n/archivebot/krc.json +11 -0
  340. pywikibot_scripts/i18n/archivebot/krl.json +8 -0
  341. pywikibot_scripts/i18n/archivebot/ksh.json +11 -0
  342. pywikibot_scripts/i18n/archivebot/ku.json +11 -0
  343. pywikibot_scripts/i18n/archivebot/ky.json +9 -0
  344. pywikibot_scripts/i18n/archivebot/lb.json +12 -0
  345. pywikibot_scripts/i18n/archivebot/li.json +13 -0
  346. pywikibot_scripts/i18n/archivebot/lt.json +14 -0
  347. pywikibot_scripts/i18n/archivebot/lus.json +9 -0
  348. pywikibot_scripts/i18n/archivebot/lv.json +9 -0
  349. pywikibot_scripts/i18n/archivebot/map-bms.json +11 -0
  350. pywikibot_scripts/i18n/archivebot/mg.json +11 -0
  351. pywikibot_scripts/i18n/archivebot/min.json +11 -0
  352. pywikibot_scripts/i18n/archivebot/mk.json +13 -0
  353. pywikibot_scripts/i18n/archivebot/ml.json +11 -0
  354. pywikibot_scripts/i18n/archivebot/mni.json +8 -0
  355. pywikibot_scripts/i18n/archivebot/mnw.json +9 -0
  356. pywikibot_scripts/i18n/archivebot/mr.json +10 -0
  357. pywikibot_scripts/i18n/archivebot/mrh.json +11 -0
  358. pywikibot_scripts/i18n/archivebot/mrj.json +9 -0
  359. pywikibot_scripts/i18n/archivebot/ms.json +11 -0
  360. pywikibot_scripts/i18n/archivebot/mt.json +9 -0
  361. pywikibot_scripts/i18n/archivebot/my.json +13 -0
  362. pywikibot_scripts/i18n/archivebot/nan.json +12 -0
  363. pywikibot_scripts/i18n/archivebot/nap.json +12 -0
  364. pywikibot_scripts/i18n/archivebot/nb.json +15 -0
  365. pywikibot_scripts/i18n/archivebot/nds-nl.json +11 -0
  366. pywikibot_scripts/i18n/archivebot/nds.json +8 -0
  367. pywikibot_scripts/i18n/archivebot/ne.json +16 -0
  368. pywikibot_scripts/i18n/archivebot/new.json +9 -0
  369. pywikibot_scripts/i18n/archivebot/nl.json +16 -0
  370. pywikibot_scripts/i18n/archivebot/nn.json +16 -0
  371. pywikibot_scripts/i18n/archivebot/nqo.json +11 -0
  372. pywikibot_scripts/i18n/archivebot/nyn.json +8 -0
  373. pywikibot_scripts/i18n/archivebot/oc.json +12 -0
  374. pywikibot_scripts/i18n/archivebot/olo.json +9 -0
  375. pywikibot_scripts/i18n/archivebot/or.json +11 -0
  376. pywikibot_scripts/i18n/archivebot/pa.json +8 -0
  377. pywikibot_scripts/i18n/archivebot/pdc.json +8 -0
  378. pywikibot_scripts/i18n/archivebot/pl.json +16 -0
  379. pywikibot_scripts/i18n/archivebot/pms.json +11 -0
  380. pywikibot_scripts/i18n/archivebot/ps.json +8 -0
  381. pywikibot_scripts/i18n/archivebot/pt-br.json +17 -0
  382. pywikibot_scripts/i18n/archivebot/pt.json +17 -0
  383. pywikibot_scripts/i18n/archivebot/qqq.json +17 -0
  384. pywikibot_scripts/i18n/archivebot/ro.json +14 -0
  385. pywikibot_scripts/i18n/archivebot/ru.json +17 -0
  386. pywikibot_scripts/i18n/archivebot/sa.json +10 -0
  387. pywikibot_scripts/i18n/archivebot/scn.json +9 -0
  388. pywikibot_scripts/i18n/archivebot/sco.json +14 -0
  389. pywikibot_scripts/i18n/archivebot/sd.json +10 -0
  390. pywikibot_scripts/i18n/archivebot/sdh.json +8 -0
  391. pywikibot_scripts/i18n/archivebot/sh.json +13 -0
  392. pywikibot_scripts/i18n/archivebot/si.json +10 -0
  393. pywikibot_scripts/i18n/archivebot/sk.json +17 -0
  394. pywikibot_scripts/i18n/archivebot/skr.json +8 -0
  395. pywikibot_scripts/i18n/archivebot/sl.json +14 -0
  396. pywikibot_scripts/i18n/archivebot/so.json +13 -0
  397. pywikibot_scripts/i18n/archivebot/sq.json +14 -0
  398. pywikibot_scripts/i18n/archivebot/sr.json +16 -0
  399. pywikibot_scripts/i18n/archivebot/su.json +11 -0
  400. pywikibot_scripts/i18n/archivebot/sv.json +16 -0
  401. pywikibot_scripts/i18n/archivebot/sw.json +10 -0
  402. pywikibot_scripts/i18n/archivebot/szl.json +11 -0
  403. pywikibot_scripts/i18n/archivebot/ta.json +11 -0
  404. pywikibot_scripts/i18n/archivebot/te.json +11 -0
  405. pywikibot_scripts/i18n/archivebot/tg.json +12 -0
  406. pywikibot_scripts/i18n/archivebot/th.json +14 -0
  407. pywikibot_scripts/i18n/archivebot/tl.json +13 -0
  408. pywikibot_scripts/i18n/archivebot/tly.json +13 -0
  409. pywikibot_scripts/i18n/archivebot/tr.json +17 -0
  410. pywikibot_scripts/i18n/archivebot/tt.json +8 -0
  411. pywikibot_scripts/i18n/archivebot/ug.json +11 -0
  412. pywikibot_scripts/i18n/archivebot/uk.json +17 -0
  413. pywikibot_scripts/i18n/archivebot/ur.json +14 -0
  414. pywikibot_scripts/i18n/archivebot/uz.json +11 -0
  415. pywikibot_scripts/i18n/archivebot/vec.json +12 -0
  416. pywikibot_scripts/i18n/archivebot/vi.json +13 -0
  417. pywikibot_scripts/i18n/archivebot/wa.json +11 -0
  418. pywikibot_scripts/i18n/archivebot/xmf.json +8 -0
  419. pywikibot_scripts/i18n/archivebot/yi.json +9 -0
  420. pywikibot_scripts/i18n/archivebot/yo.json +9 -0
  421. pywikibot_scripts/i18n/archivebot/zh.json +17 -0
  422. pywikibot_scripts/i18n/basic/ab.json +9 -0
  423. pywikibot_scripts/i18n/basic/af.json +8 -0
  424. pywikibot_scripts/i18n/basic/am.json +8 -0
  425. pywikibot_scripts/i18n/basic/an.json +8 -0
  426. pywikibot_scripts/i18n/basic/ar.json +8 -0
  427. pywikibot_scripts/i18n/basic/arc.json +8 -0
  428. pywikibot_scripts/i18n/basic/ast.json +9 -0
  429. pywikibot_scripts/i18n/basic/av.json +8 -0
  430. pywikibot_scripts/i18n/basic/awa.json +8 -0
  431. pywikibot_scripts/i18n/basic/az.json +8 -0
  432. pywikibot_scripts/i18n/basic/azb.json +8 -0
  433. pywikibot_scripts/i18n/basic/ba.json +8 -0
  434. pywikibot_scripts/i18n/basic/bar.json +9 -0
  435. pywikibot_scripts/i18n/basic/bcc.json +8 -0
  436. pywikibot_scripts/i18n/basic/be-tarask.json +8 -0
  437. pywikibot_scripts/i18n/basic/bg.json +9 -0
  438. pywikibot_scripts/i18n/basic/bjn.json +8 -0
  439. pywikibot_scripts/i18n/basic/blk.json +8 -0
  440. pywikibot_scripts/i18n/basic/bn.json +9 -0
  441. pywikibot_scripts/i18n/basic/bo.json +8 -0
  442. pywikibot_scripts/i18n/basic/br.json +8 -0
  443. pywikibot_scripts/i18n/basic/bs.json +8 -0
  444. pywikibot_scripts/i18n/basic/ca.json +10 -0
  445. pywikibot_scripts/i18n/basic/ce.json +8 -0
  446. pywikibot_scripts/i18n/basic/ckb.json +10 -0
  447. pywikibot_scripts/i18n/basic/co.json +9 -0
  448. pywikibot_scripts/i18n/basic/cs.json +11 -0
  449. pywikibot_scripts/i18n/basic/csb.json +8 -0
  450. pywikibot_scripts/i18n/basic/cy.json +8 -0
  451. pywikibot_scripts/i18n/basic/da.json +10 -0
  452. pywikibot_scripts/i18n/basic/de.json +8 -0
  453. pywikibot_scripts/i18n/basic/diq.json +8 -0
  454. pywikibot_scripts/i18n/basic/dty.json +8 -0
  455. pywikibot_scripts/i18n/basic/el.json +9 -0
  456. pywikibot_scripts/i18n/basic/eml.json +8 -0
  457. pywikibot_scripts/i18n/basic/en.json +8 -0
  458. pywikibot_scripts/i18n/basic/eo.json +9 -0
  459. pywikibot_scripts/i18n/basic/es.json +9 -0
  460. pywikibot_scripts/i18n/basic/eu.json +8 -0
  461. pywikibot_scripts/i18n/basic/fa.json +9 -0
  462. pywikibot_scripts/i18n/basic/fi.json +9 -0
  463. pywikibot_scripts/i18n/basic/fo.json +8 -0
  464. pywikibot_scripts/i18n/basic/fr.json +10 -0
  465. pywikibot_scripts/i18n/basic/frp.json +8 -0
  466. pywikibot_scripts/i18n/basic/frr.json +8 -0
  467. pywikibot_scripts/i18n/basic/gl.json +8 -0
  468. pywikibot_scripts/i18n/basic/gn.json +8 -0
  469. pywikibot_scripts/i18n/basic/gsw.json +8 -0
  470. pywikibot_scripts/i18n/basic/ha.json +8 -0
  471. pywikibot_scripts/i18n/basic/hak.json +8 -0
  472. pywikibot_scripts/i18n/basic/haw.json +8 -0
  473. pywikibot_scripts/i18n/basic/he.json +8 -0
  474. pywikibot_scripts/i18n/basic/hi.json +8 -0
  475. pywikibot_scripts/i18n/basic/hif.json +8 -0
  476. pywikibot_scripts/i18n/basic/hr.json +8 -0
  477. pywikibot_scripts/i18n/basic/hsb.json +8 -0
  478. pywikibot_scripts/i18n/basic/hu.json +8 -0
  479. pywikibot_scripts/i18n/basic/hy.json +8 -0
  480. pywikibot_scripts/i18n/basic/ia.json +8 -0
  481. pywikibot_scripts/i18n/basic/id.json +8 -0
  482. pywikibot_scripts/i18n/basic/ie.json +8 -0
  483. pywikibot_scripts/i18n/basic/ig.json +8 -0
  484. pywikibot_scripts/i18n/basic/ilo.json +8 -0
  485. pywikibot_scripts/i18n/basic/inh.json +8 -0
  486. pywikibot_scripts/i18n/basic/io.json +8 -0
  487. pywikibot_scripts/i18n/basic/is.json +8 -0
  488. pywikibot_scripts/i18n/basic/it.json +9 -0
  489. pywikibot_scripts/i18n/basic/ja.json +9 -0
  490. pywikibot_scripts/i18n/basic/jv.json +8 -0
  491. pywikibot_scripts/i18n/basic/kaa.json +8 -0
  492. pywikibot_scripts/i18n/basic/kab.json +8 -0
  493. pywikibot_scripts/i18n/basic/kjp.json +8 -0
  494. pywikibot_scripts/i18n/basic/kk.json +8 -0
  495. pywikibot_scripts/i18n/basic/km.json +8 -0
  496. pywikibot_scripts/i18n/basic/kn.json +8 -0
  497. pywikibot_scripts/i18n/basic/ko-kp.json +8 -0
  498. pywikibot_scripts/i18n/basic/ko.json +10 -0
  499. pywikibot_scripts/i18n/basic/krc.json +8 -0
  500. pywikibot_scripts/i18n/basic/krl.json +8 -0
  501. pywikibot_scripts/i18n/basic/ksh.json +8 -0
  502. pywikibot_scripts/i18n/basic/ku.json +9 -0
  503. pywikibot_scripts/i18n/basic/ky.json +8 -0
  504. pywikibot_scripts/i18n/basic/la.json +9 -0
  505. pywikibot_scripts/i18n/basic/lb.json +8 -0
  506. pywikibot_scripts/i18n/basic/li.json +8 -0
  507. pywikibot_scripts/i18n/basic/lt.json +9 -0
  508. pywikibot_scripts/i18n/basic/lus.json +8 -0
  509. pywikibot_scripts/i18n/basic/lv.json +8 -0
  510. pywikibot_scripts/i18n/basic/mai.json +8 -0
  511. pywikibot_scripts/i18n/basic/map-bms.json +8 -0
  512. pywikibot_scripts/i18n/basic/mg.json +8 -0
  513. pywikibot_scripts/i18n/basic/min.json +8 -0
  514. pywikibot_scripts/i18n/basic/mk.json +9 -0
  515. pywikibot_scripts/i18n/basic/ml.json +8 -0
  516. pywikibot_scripts/i18n/basic/mni.json +8 -0
  517. pywikibot_scripts/i18n/basic/mnw.json +8 -0
  518. pywikibot_scripts/i18n/basic/mr.json +8 -0
  519. pywikibot_scripts/i18n/basic/mrh.json +8 -0
  520. pywikibot_scripts/i18n/basic/mrj.json +8 -0
  521. pywikibot_scripts/i18n/basic/ms.json +8 -0
  522. pywikibot_scripts/i18n/basic/mt.json +8 -0
  523. pywikibot_scripts/i18n/basic/my.json +8 -0
  524. pywikibot_scripts/i18n/basic/mzn.json +8 -0
  525. pywikibot_scripts/i18n/basic/nan.json +9 -0
  526. pywikibot_scripts/i18n/basic/nap.json +8 -0
  527. pywikibot_scripts/i18n/basic/nb.json +10 -0
  528. pywikibot_scripts/i18n/basic/nds-nl.json +8 -0
  529. pywikibot_scripts/i18n/basic/nds.json +6 -0
  530. pywikibot_scripts/i18n/basic/ne.json +8 -0
  531. pywikibot_scripts/i18n/basic/new.json +8 -0
  532. pywikibot_scripts/i18n/basic/nl.json +9 -0
  533. pywikibot_scripts/i18n/basic/nn.json +10 -0
  534. pywikibot_scripts/i18n/basic/nqo.json +8 -0
  535. pywikibot_scripts/i18n/basic/oc.json +8 -0
  536. pywikibot_scripts/i18n/basic/olo.json +8 -0
  537. pywikibot_scripts/i18n/basic/or.json +8 -0
  538. pywikibot_scripts/i18n/basic/pa.json +8 -0
  539. pywikibot_scripts/i18n/basic/pdc.json +8 -0
  540. pywikibot_scripts/i18n/basic/pl.json +8 -0
  541. pywikibot_scripts/i18n/basic/pms.json +8 -0
  542. pywikibot_scripts/i18n/basic/pnb.json +8 -0
  543. pywikibot_scripts/i18n/basic/pt-br.json +8 -0
  544. pywikibot_scripts/i18n/basic/pt.json +8 -0
  545. pywikibot_scripts/i18n/basic/qqq.json +9 -0
  546. pywikibot_scripts/i18n/basic/ro.json +8 -0
  547. pywikibot_scripts/i18n/basic/ru.json +10 -0
  548. pywikibot_scripts/i18n/basic/sa.json +8 -0
  549. pywikibot_scripts/i18n/basic/scn.json +8 -0
  550. pywikibot_scripts/i18n/basic/sco.json +9 -0
  551. pywikibot_scripts/i18n/basic/sd.json +8 -0
  552. pywikibot_scripts/i18n/basic/sh.json +8 -0
  553. pywikibot_scripts/i18n/basic/shn.json +8 -0
  554. pywikibot_scripts/i18n/basic/si.json +8 -0
  555. pywikibot_scripts/i18n/basic/sk.json +9 -0
  556. pywikibot_scripts/i18n/basic/skr.json +8 -0
  557. pywikibot_scripts/i18n/basic/sl.json +8 -0
  558. pywikibot_scripts/i18n/basic/so.json +8 -0
  559. pywikibot_scripts/i18n/basic/sq.json +8 -0
  560. pywikibot_scripts/i18n/basic/sr.json +11 -0
  561. pywikibot_scripts/i18n/basic/su.json +8 -0
  562. pywikibot_scripts/i18n/basic/sv.json +6 -0
  563. pywikibot_scripts/i18n/basic/sw.json +8 -0
  564. pywikibot_scripts/i18n/basic/szl.json +8 -0
  565. pywikibot_scripts/i18n/basic/ta.json +8 -0
  566. pywikibot_scripts/i18n/basic/te.json +8 -0
  567. pywikibot_scripts/i18n/basic/tet.json +8 -0
  568. pywikibot_scripts/i18n/basic/tg.json +8 -0
  569. pywikibot_scripts/i18n/basic/th.json +9 -0
  570. pywikibot_scripts/i18n/basic/tl.json +8 -0
  571. pywikibot_scripts/i18n/basic/tly.json +10 -0
  572. pywikibot_scripts/i18n/basic/tr.json +9 -0
  573. pywikibot_scripts/i18n/basic/tt.json +9 -0
  574. pywikibot_scripts/i18n/basic/tzm.json +9 -0
  575. pywikibot_scripts/i18n/basic/ug.json +8 -0
  576. pywikibot_scripts/i18n/basic/uk.json +9 -0
  577. pywikibot_scripts/i18n/basic/ur.json +8 -0
  578. pywikibot_scripts/i18n/basic/uz.json +10 -0
  579. pywikibot_scripts/i18n/basic/vec.json +9 -0
  580. pywikibot_scripts/i18n/basic/vi.json +9 -0
  581. pywikibot_scripts/i18n/basic/vo.json +8 -0
  582. pywikibot_scripts/i18n/basic/wa.json +8 -0
  583. pywikibot_scripts/i18n/basic/xmf.json +8 -0
  584. pywikibot_scripts/i18n/basic/yi.json +8 -0
  585. pywikibot_scripts/i18n/basic/yo.json +8 -0
  586. pywikibot_scripts/i18n/basic/yue.json +8 -0
  587. pywikibot_scripts/i18n/basic/zh.json +8 -0
  588. pywikibot_scripts/i18n/blockpageschecker/ab.json +8 -0
  589. pywikibot_scripts/i18n/blockpageschecker/am.json +10 -0
  590. pywikibot_scripts/i18n/blockpageschecker/an.json +8 -0
  591. pywikibot_scripts/i18n/blockpageschecker/ar.json +10 -0
  592. pywikibot_scripts/i18n/blockpageschecker/ast.json +8 -0
  593. pywikibot_scripts/i18n/blockpageschecker/av.json +10 -0
  594. pywikibot_scripts/i18n/blockpageschecker/awa.json +8 -0
  595. pywikibot_scripts/i18n/blockpageschecker/az.json +8 -0
  596. pywikibot_scripts/i18n/blockpageschecker/azb.json +8 -0
  597. pywikibot_scripts/i18n/blockpageschecker/ba.json +8 -0
  598. pywikibot_scripts/i18n/blockpageschecker/bcc.json +9 -0
  599. pywikibot_scripts/i18n/blockpageschecker/be-tarask.json +11 -0
  600. pywikibot_scripts/i18n/blockpageschecker/bg.json +8 -0
  601. pywikibot_scripts/i18n/blockpageschecker/bjn.json +8 -0
  602. pywikibot_scripts/i18n/blockpageschecker/blk.json +8 -0
  603. pywikibot_scripts/i18n/blockpageschecker/bo.json +8 -0
  604. pywikibot_scripts/i18n/blockpageschecker/br.json +11 -0
  605. pywikibot_scripts/i18n/blockpageschecker/bs.json +8 -0
  606. pywikibot_scripts/i18n/blockpageschecker/ca.json +13 -0
  607. pywikibot_scripts/i18n/blockpageschecker/ce.json +10 -0
  608. pywikibot_scripts/i18n/blockpageschecker/ckb.json +11 -0
  609. pywikibot_scripts/i18n/blockpageschecker/cs.json +14 -0
  610. pywikibot_scripts/i18n/blockpageschecker/csb.json +8 -0
  611. pywikibot_scripts/i18n/blockpageschecker/cy.json +10 -0
  612. pywikibot_scripts/i18n/blockpageschecker/da.json +8 -0
  613. pywikibot_scripts/i18n/blockpageschecker/de.json +11 -0
  614. pywikibot_scripts/i18n/blockpageschecker/diq.json +11 -0
  615. pywikibot_scripts/i18n/blockpageschecker/dty.json +8 -0
  616. pywikibot_scripts/i18n/blockpageschecker/el.json +11 -0
  617. pywikibot_scripts/i18n/blockpageschecker/en.json +6 -0
  618. pywikibot_scripts/i18n/blockpageschecker/eo.json +8 -0
  619. pywikibot_scripts/i18n/blockpageschecker/es.json +13 -0
  620. pywikibot_scripts/i18n/blockpageschecker/eu.json +11 -0
  621. pywikibot_scripts/i18n/blockpageschecker/fa.json +8 -0
  622. pywikibot_scripts/i18n/blockpageschecker/fi.json +8 -0
  623. pywikibot_scripts/i18n/blockpageschecker/fr.json +13 -0
  624. pywikibot_scripts/i18n/blockpageschecker/frr.json +10 -0
  625. pywikibot_scripts/i18n/blockpageschecker/gl.json +10 -0
  626. pywikibot_scripts/i18n/blockpageschecker/gsw.json +8 -0
  627. pywikibot_scripts/i18n/blockpageschecker/ha.json +10 -0
  628. pywikibot_scripts/i18n/blockpageschecker/hak.json +8 -0
  629. pywikibot_scripts/i18n/blockpageschecker/haw.json +8 -0
  630. pywikibot_scripts/i18n/blockpageschecker/he.json +10 -0
  631. pywikibot_scripts/i18n/blockpageschecker/hi.json +12 -0
  632. pywikibot_scripts/i18n/blockpageschecker/hif.json +8 -0
  633. pywikibot_scripts/i18n/blockpageschecker/hu.json +9 -0
  634. pywikibot_scripts/i18n/blockpageschecker/hy.json +8 -0
  635. pywikibot_scripts/i18n/blockpageschecker/ia.json +10 -0
  636. pywikibot_scripts/i18n/blockpageschecker/id.json +11 -0
  637. pywikibot_scripts/i18n/blockpageschecker/io.json +11 -0
  638. pywikibot_scripts/i18n/blockpageschecker/is.json +8 -0
  639. pywikibot_scripts/i18n/blockpageschecker/it.json +8 -0
  640. pywikibot_scripts/i18n/blockpageschecker/ja.json +14 -0
  641. pywikibot_scripts/i18n/blockpageschecker/jv.json +8 -0
  642. pywikibot_scripts/i18n/blockpageschecker/kaa.json +10 -0
  643. pywikibot_scripts/i18n/blockpageschecker/kab.json +9 -0
  644. pywikibot_scripts/i18n/blockpageschecker/kjp.json +8 -0
  645. pywikibot_scripts/i18n/blockpageschecker/kk.json +8 -0
  646. pywikibot_scripts/i18n/blockpageschecker/km.json +8 -0
  647. pywikibot_scripts/i18n/blockpageschecker/ko-kp.json +8 -0
  648. pywikibot_scripts/i18n/blockpageschecker/ko.json +11 -0
  649. pywikibot_scripts/i18n/blockpageschecker/krc.json +10 -0
  650. pywikibot_scripts/i18n/blockpageschecker/ksh.json +8 -0
  651. pywikibot_scripts/i18n/blockpageschecker/ku.json +10 -0
  652. pywikibot_scripts/i18n/blockpageschecker/lb.json +8 -0
  653. pywikibot_scripts/i18n/blockpageschecker/li.json +8 -0
  654. pywikibot_scripts/i18n/blockpageschecker/lt.json +11 -0
  655. pywikibot_scripts/i18n/blockpageschecker/mg.json +8 -0
  656. pywikibot_scripts/i18n/blockpageschecker/mk.json +11 -0
  657. pywikibot_scripts/i18n/blockpageschecker/ml.json +8 -0
  658. pywikibot_scripts/i18n/blockpageschecker/mnw.json +8 -0
  659. pywikibot_scripts/i18n/blockpageschecker/mrh.json +10 -0
  660. pywikibot_scripts/i18n/blockpageschecker/mrj.json +10 -0
  661. pywikibot_scripts/i18n/blockpageschecker/ms.json +8 -0
  662. pywikibot_scripts/i18n/blockpageschecker/my.json +8 -0
  663. pywikibot_scripts/i18n/blockpageschecker/nan.json +9 -0
  664. pywikibot_scripts/i18n/blockpageschecker/nap.json +8 -0
  665. pywikibot_scripts/i18n/blockpageschecker/nb.json +11 -0
  666. pywikibot_scripts/i18n/blockpageschecker/nds-nl.json +8 -0
  667. pywikibot_scripts/i18n/blockpageschecker/ne.json +11 -0
  668. pywikibot_scripts/i18n/blockpageschecker/nl.json +11 -0
  669. pywikibot_scripts/i18n/blockpageschecker/nn.json +8 -0
  670. pywikibot_scripts/i18n/blockpageschecker/nqo.json +10 -0
  671. pywikibot_scripts/i18n/blockpageschecker/oc.json +8 -0
  672. pywikibot_scripts/i18n/blockpageschecker/pl.json +8 -0
  673. pywikibot_scripts/i18n/blockpageschecker/pms.json +8 -0
  674. pywikibot_scripts/i18n/blockpageschecker/pt-br.json +11 -0
  675. pywikibot_scripts/i18n/blockpageschecker/pt.json +11 -0
  676. pywikibot_scripts/i18n/blockpageschecker/qqq.json +8 -0
  677. pywikibot_scripts/i18n/blockpageschecker/ro.json +11 -0
  678. pywikibot_scripts/i18n/blockpageschecker/ru.json +11 -0
  679. pywikibot_scripts/i18n/blockpageschecker/sco.json +8 -0
  680. pywikibot_scripts/i18n/blockpageschecker/sh.json +10 -0
  681. pywikibot_scripts/i18n/blockpageschecker/sk.json +11 -0
  682. pywikibot_scripts/i18n/blockpageschecker/sl.json +10 -0
  683. pywikibot_scripts/i18n/blockpageschecker/so.json +8 -0
  684. pywikibot_scripts/i18n/blockpageschecker/sq.json +8 -0
  685. pywikibot_scripts/i18n/blockpageschecker/sr.json +14 -0
  686. pywikibot_scripts/i18n/blockpageschecker/su.json +8 -0
  687. pywikibot_scripts/i18n/blockpageschecker/sv.json +11 -0
  688. pywikibot_scripts/i18n/blockpageschecker/te.json +8 -0
  689. pywikibot_scripts/i18n/blockpageschecker/tg.json +8 -0
  690. pywikibot_scripts/i18n/blockpageschecker/th.json +8 -0
  691. pywikibot_scripts/i18n/blockpageschecker/tl.json +10 -0
  692. pywikibot_scripts/i18n/blockpageschecker/tr.json +12 -0
  693. pywikibot_scripts/i18n/blockpageschecker/uk.json +13 -0
  694. pywikibot_scripts/i18n/blockpageschecker/ur.json +8 -0
  695. pywikibot_scripts/i18n/blockpageschecker/uz.json +10 -0
  696. pywikibot_scripts/i18n/blockpageschecker/vi.json +14 -0
  697. pywikibot_scripts/i18n/blockpageschecker/xmf.json +10 -0
  698. pywikibot_scripts/i18n/blockpageschecker/yi.json +8 -0
  699. pywikibot_scripts/i18n/blockpageschecker/zh.json +12 -0
  700. pywikibot_scripts/i18n/category/ab.json +12 -0
  701. pywikibot_scripts/i18n/category/aeb.json +11 -0
  702. pywikibot_scripts/i18n/category/af.json +16 -0
  703. pywikibot_scripts/i18n/category/am.json +8 -0
  704. pywikibot_scripts/i18n/category/an.json +19 -0
  705. pywikibot_scripts/i18n/category/ang.json +10 -0
  706. pywikibot_scripts/i18n/category/anp.json +12 -0
  707. pywikibot_scripts/i18n/category/ar.json +25 -0
  708. pywikibot_scripts/i18n/category/arc.json +17 -0
  709. pywikibot_scripts/i18n/category/as.json +8 -0
  710. pywikibot_scripts/i18n/category/ast.json +21 -0
  711. pywikibot_scripts/i18n/category/av.json +11 -0
  712. pywikibot_scripts/i18n/category/awa.json +17 -0
  713. pywikibot_scripts/i18n/category/az.json +20 -0
  714. pywikibot_scripts/i18n/category/azb.json +19 -0
  715. pywikibot_scripts/i18n/category/ba.json +23 -0
  716. pywikibot_scripts/i18n/category/bar.json +15 -0
  717. pywikibot_scripts/i18n/category/bcc.json +17 -0
  718. pywikibot_scripts/i18n/category/bcl.json +8 -0
  719. pywikibot_scripts/i18n/category/be-tarask.json +25 -0
  720. pywikibot_scripts/i18n/category/be.json +16 -0
  721. pywikibot_scripts/i18n/category/bg.json +13 -0
  722. pywikibot_scripts/i18n/category/bjn.json +19 -0
  723. pywikibot_scripts/i18n/category/blk.json +14 -0
  724. pywikibot_scripts/i18n/category/bn.json +19 -0
  725. pywikibot_scripts/i18n/category/bo.json +18 -0
  726. pywikibot_scripts/i18n/category/bpy.json +8 -0
  727. pywikibot_scripts/i18n/category/br.json +24 -0
  728. pywikibot_scripts/i18n/category/bs.json +21 -0
  729. pywikibot_scripts/i18n/category/ca.json +26 -0
  730. pywikibot_scripts/i18n/category/ce.json +20 -0
  731. pywikibot_scripts/i18n/category/ceb.json +8 -0
  732. pywikibot_scripts/i18n/category/ckb.json +25 -0
  733. pywikibot_scripts/i18n/category/crh.json +4 -0
  734. pywikibot_scripts/i18n/category/cs.json +27 -0
  735. pywikibot_scripts/i18n/category/csb.json +18 -0
  736. pywikibot_scripts/i18n/category/cu.json +8 -0
  737. pywikibot_scripts/i18n/category/cv.json +8 -0
  738. pywikibot_scripts/i18n/category/cy.json +22 -0
  739. pywikibot_scripts/i18n/category/da.json +25 -0
  740. pywikibot_scripts/i18n/category/de.json +27 -0
  741. pywikibot_scripts/i18n/category/diq.json +25 -0
  742. pywikibot_scripts/i18n/category/dty.json +10 -0
  743. pywikibot_scripts/i18n/category/el.json +24 -0
  744. pywikibot_scripts/i18n/category/eml.json +9 -0
  745. pywikibot_scripts/i18n/category/en.json +24 -0
  746. pywikibot_scripts/i18n/category/eo.json +25 -0
  747. pywikibot_scripts/i18n/category/es.json +31 -0
  748. pywikibot_scripts/i18n/category/et.json +14 -0
  749. pywikibot_scripts/i18n/category/eu.json +27 -0
  750. pywikibot_scripts/i18n/category/ext.json +6 -0
  751. pywikibot_scripts/i18n/category/fa.json +28 -0
  752. pywikibot_scripts/i18n/category/fi.json +18 -0
  753. pywikibot_scripts/i18n/category/fo.json +17 -0
  754. pywikibot_scripts/i18n/category/fr.json +31 -0
  755. pywikibot_scripts/i18n/category/frp.json +16 -0
  756. pywikibot_scripts/i18n/category/frr.json +22 -0
  757. pywikibot_scripts/i18n/category/fur.json +12 -0
  758. pywikibot_scripts/i18n/category/fy.json +8 -0
  759. pywikibot_scripts/i18n/category/ga.json +6 -0
  760. pywikibot_scripts/i18n/category/gl.json +23 -0
  761. pywikibot_scripts/i18n/category/gn.json +18 -0
  762. pywikibot_scripts/i18n/category/gsw.json +19 -0
  763. pywikibot_scripts/i18n/category/gu.json +8 -0
  764. pywikibot_scripts/i18n/category/ha.json +13 -0
  765. pywikibot_scripts/i18n/category/hak.json +17 -0
  766. pywikibot_scripts/i18n/category/haw.json +17 -0
  767. pywikibot_scripts/i18n/category/he.json +24 -0
  768. pywikibot_scripts/i18n/category/hi.json +22 -0
  769. pywikibot_scripts/i18n/category/hr.json +18 -0
  770. pywikibot_scripts/i18n/category/hsb.json +9 -0
  771. pywikibot_scripts/i18n/category/ht.json +6 -0
  772. pywikibot_scripts/i18n/category/hu.json +21 -0
  773. pywikibot_scripts/i18n/category/hy.json +17 -0
  774. pywikibot_scripts/i18n/category/ia.json +21 -0
  775. pywikibot_scripts/i18n/category/id.json +27 -0
  776. pywikibot_scripts/i18n/category/ie.json +14 -0
  777. pywikibot_scripts/i18n/category/ig.json +10 -0
  778. pywikibot_scripts/i18n/category/ilo.json +16 -0
  779. pywikibot_scripts/i18n/category/io.json +20 -0
  780. pywikibot_scripts/i18n/category/is.json +17 -0
  781. pywikibot_scripts/i18n/category/it.json +28 -0
  782. pywikibot_scripts/i18n/category/ja.json +28 -0
  783. pywikibot_scripts/i18n/category/jv.json +18 -0
  784. pywikibot_scripts/i18n/category/ka.json +6 -0
  785. pywikibot_scripts/i18n/category/kaa.json +9 -0
  786. pywikibot_scripts/i18n/category/kab.json +24 -0
  787. pywikibot_scripts/i18n/category/kk.json +18 -0
  788. pywikibot_scripts/i18n/category/kl.json +6 -0
  789. pywikibot_scripts/i18n/category/km.json +21 -0
  790. pywikibot_scripts/i18n/category/kn.json +17 -0
  791. pywikibot_scripts/i18n/category/ko.json +29 -0
  792. pywikibot_scripts/i18n/category/koi.json +8 -0
  793. pywikibot_scripts/i18n/category/krc.json +22 -0
  794. pywikibot_scripts/i18n/category/ksh.json +20 -0
  795. pywikibot_scripts/i18n/category/ku.json +25 -0
  796. pywikibot_scripts/i18n/category/kv.json +6 -0
  797. pywikibot_scripts/i18n/category/ky.json +13 -0
  798. pywikibot_scripts/i18n/category/la.json +15 -0
  799. pywikibot_scripts/i18n/category/lad.json +6 -0
  800. pywikibot_scripts/i18n/category/lb.json +20 -0
  801. pywikibot_scripts/i18n/category/li.json +19 -0
  802. pywikibot_scripts/i18n/category/lki.json +9 -0
  803. pywikibot_scripts/i18n/category/lmo.json +6 -0
  804. pywikibot_scripts/i18n/category/ln.json +6 -0
  805. pywikibot_scripts/i18n/category/lo.json +8 -0
  806. pywikibot_scripts/i18n/category/lt.json +25 -0
  807. pywikibot_scripts/i18n/category/ltg.json +10 -0
  808. pywikibot_scripts/i18n/category/lv.json +10 -0
  809. pywikibot_scripts/i18n/category/lzh.json +8 -0
  810. pywikibot_scripts/i18n/category/map-bms.json +18 -0
  811. pywikibot_scripts/i18n/category/mdf.json +8 -0
  812. pywikibot_scripts/i18n/category/mg.json +19 -0
  813. pywikibot_scripts/i18n/category/mhr.json +9 -0
  814. pywikibot_scripts/i18n/category/min.json +19 -0
  815. pywikibot_scripts/i18n/category/mk.json +23 -0
  816. pywikibot_scripts/i18n/category/ml.json +21 -0
  817. pywikibot_scripts/i18n/category/mn.json +8 -0
  818. pywikibot_scripts/i18n/category/mnw.json +13 -0
  819. pywikibot_scripts/i18n/category/mo.json +13 -0
  820. pywikibot_scripts/i18n/category/mr.json +9 -0
  821. pywikibot_scripts/i18n/category/mrh.json +9 -0
  822. pywikibot_scripts/i18n/category/mrj.json +14 -0
  823. pywikibot_scripts/i18n/category/ms.json +19 -0
  824. pywikibot_scripts/i18n/category/mt.json +14 -0
  825. pywikibot_scripts/i18n/category/my.json +19 -0
  826. pywikibot_scripts/i18n/category/myv.json +6 -0
  827. pywikibot_scripts/i18n/category/mzn.json +6 -0
  828. pywikibot_scripts/i18n/category/nah.json +15 -0
  829. pywikibot_scripts/i18n/category/nan.json +19 -0
  830. pywikibot_scripts/i18n/category/nap.json +16 -0
  831. pywikibot_scripts/i18n/category/nb.json +24 -0
  832. pywikibot_scripts/i18n/category/nds-nl.json +20 -0
  833. pywikibot_scripts/i18n/category/nds.json +16 -0
  834. pywikibot_scripts/i18n/category/ne.json +25 -0
  835. pywikibot_scripts/i18n/category/new.json +16 -0
  836. pywikibot_scripts/i18n/category/nl.json +24 -0
  837. pywikibot_scripts/i18n/category/nn.json +14 -0
  838. pywikibot_scripts/i18n/category/nov.json +6 -0
  839. pywikibot_scripts/i18n/category/nqo.json +21 -0
  840. pywikibot_scripts/i18n/category/nrm.json +6 -0
  841. pywikibot_scripts/i18n/category/oc.json +18 -0
  842. pywikibot_scripts/i18n/category/olo.json +11 -0
  843. pywikibot_scripts/i18n/category/pam.json +16 -0
  844. pywikibot_scripts/i18n/category/pcd.json +10 -0
  845. pywikibot_scripts/i18n/category/pdc.json +14 -0
  846. pywikibot_scripts/i18n/category/pfl.json +12 -0
  847. pywikibot_scripts/i18n/category/pl.json +21 -0
  848. pywikibot_scripts/i18n/category/pms.json +18 -0
  849. pywikibot_scripts/i18n/category/ps.json +9 -0
  850. pywikibot_scripts/i18n/category/pt-br.json +25 -0
  851. pywikibot_scripts/i18n/category/pt.json +24 -0
  852. pywikibot_scripts/i18n/category/qqq.json +29 -0
  853. pywikibot_scripts/i18n/category/rm.json +17 -0
  854. pywikibot_scripts/i18n/category/ro.json +21 -0
  855. pywikibot_scripts/i18n/category/ru.json +31 -0
  856. pywikibot_scripts/i18n/category/rue.json +15 -0
  857. pywikibot_scripts/i18n/category/rw.json +8 -0
  858. pywikibot_scripts/i18n/category/sa.json +8 -0
  859. pywikibot_scripts/i18n/category/sah.json +6 -0
  860. pywikibot_scripts/i18n/category/scn.json +11 -0
  861. pywikibot_scripts/i18n/category/sco.json +20 -0
  862. pywikibot_scripts/i18n/category/sgs.json +8 -0
  863. pywikibot_scripts/i18n/category/sh.json +18 -0
  864. pywikibot_scripts/i18n/category/si.json +8 -0
  865. pywikibot_scripts/i18n/category/sk.json +24 -0
  866. pywikibot_scripts/i18n/category/sl.json +23 -0
  867. pywikibot_scripts/i18n/category/sms.json +8 -0
  868. pywikibot_scripts/i18n/category/so.json +18 -0
  869. pywikibot_scripts/i18n/category/sq.json +18 -0
  870. pywikibot_scripts/i18n/category/sr.json +27 -0
  871. pywikibot_scripts/i18n/category/su.json +14 -0
  872. pywikibot_scripts/i18n/category/sv.json +27 -0
  873. pywikibot_scripts/i18n/category/sw.json +10 -0
  874. pywikibot_scripts/i18n/category/szl.json +17 -0
  875. pywikibot_scripts/i18n/category/ta.json +15 -0
  876. pywikibot_scripts/i18n/category/te.json +21 -0
  877. pywikibot_scripts/i18n/category/tet.json +13 -0
  878. pywikibot_scripts/i18n/category/tg.json +9 -0
  879. pywikibot_scripts/i18n/category/th.json +21 -0
  880. pywikibot_scripts/i18n/category/tk.json +6 -0
  881. pywikibot_scripts/i18n/category/tl.json +22 -0
  882. pywikibot_scripts/i18n/category/tly.json +20 -0
  883. pywikibot_scripts/i18n/category/to.json +6 -0
  884. pywikibot_scripts/i18n/category/tr.json +27 -0
  885. pywikibot_scripts/i18n/category/tt.json +16 -0
  886. pywikibot_scripts/i18n/category/udm.json +6 -0
  887. pywikibot_scripts/i18n/category/ug.json +16 -0
  888. pywikibot_scripts/i18n/category/uk.json +30 -0
  889. pywikibot_scripts/i18n/category/ur.json +15 -0
  890. pywikibot_scripts/i18n/category/uz.json +22 -0
  891. pywikibot_scripts/i18n/category/vec.json +19 -0
  892. pywikibot_scripts/i18n/category/vi.json +22 -0
  893. pywikibot_scripts/i18n/category/vls.json +8 -0
  894. pywikibot_scripts/i18n/category/vo.json +15 -0
  895. pywikibot_scripts/i18n/category/vro.json +6 -0
  896. pywikibot_scripts/i18n/category/wa.json +17 -0
  897. pywikibot_scripts/i18n/category/war.json +8 -0
  898. pywikibot_scripts/i18n/category/xal.json +6 -0
  899. pywikibot_scripts/i18n/category/xmf.json +10 -0
  900. pywikibot_scripts/i18n/category/yi.json +17 -0
  901. pywikibot_scripts/i18n/category/yo.json +16 -0
  902. pywikibot_scripts/i18n/category/yue.json +14 -0
  903. pywikibot_scripts/i18n/category/zh.json +30 -0
  904. pywikibot_scripts/i18n/category_redirect/af.json +9 -0
  905. pywikibot_scripts/i18n/category_redirect/an.json +8 -0
  906. pywikibot_scripts/i18n/category_redirect/ar.json +32 -0
  907. pywikibot_scripts/i18n/category_redirect/arc.json +11 -0
  908. pywikibot_scripts/i18n/category_redirect/ast.json +30 -0
  909. pywikibot_scripts/i18n/category_redirect/awa.json +13 -0
  910. pywikibot_scripts/i18n/category_redirect/az.json +16 -0
  911. pywikibot_scripts/i18n/category_redirect/azb.json +13 -0
  912. pywikibot_scripts/i18n/category_redirect/ba.json +30 -0
  913. pywikibot_scripts/i18n/category_redirect/bar.json +13 -0
  914. pywikibot_scripts/i18n/category_redirect/bcc.json +16 -0
  915. pywikibot_scripts/i18n/category_redirect/be-tarask.json +31 -0
  916. pywikibot_scripts/i18n/category_redirect/bg.json +9 -0
  917. pywikibot_scripts/i18n/category_redirect/bjn.json +13 -0
  918. pywikibot_scripts/i18n/category_redirect/bn.json +14 -0
  919. pywikibot_scripts/i18n/category_redirect/bo.json +13 -0
  920. pywikibot_scripts/i18n/category_redirect/br.json +30 -0
  921. pywikibot_scripts/i18n/category_redirect/bs.json +14 -0
  922. pywikibot_scripts/i18n/category_redirect/ca.json +30 -0
  923. pywikibot_scripts/i18n/category_redirect/ce.json +13 -0
  924. pywikibot_scripts/i18n/category_redirect/ckb.json +32 -0
  925. pywikibot_scripts/i18n/category_redirect/cs.json +32 -0
  926. pywikibot_scripts/i18n/category_redirect/csb.json +13 -0
  927. pywikibot_scripts/i18n/category_redirect/cy.json +19 -0
  928. pywikibot_scripts/i18n/category_redirect/da.json +35 -0
  929. pywikibot_scripts/i18n/category_redirect/de.json +31 -0
  930. pywikibot_scripts/i18n/category_redirect/diq.json +31 -0
  931. pywikibot_scripts/i18n/category_redirect/dty.json +8 -0
  932. pywikibot_scripts/i18n/category_redirect/el.json +33 -0
  933. pywikibot_scripts/i18n/category_redirect/en.json +29 -0
  934. pywikibot_scripts/i18n/category_redirect/eo.json +32 -0
  935. pywikibot_scripts/i18n/category_redirect/es.json +35 -0
  936. pywikibot_scripts/i18n/category_redirect/et.json +8 -0
  937. pywikibot_scripts/i18n/category_redirect/eu.json +15 -0
  938. pywikibot_scripts/i18n/category_redirect/fa.json +34 -0
  939. pywikibot_scripts/i18n/category_redirect/fi.json +14 -0
  940. pywikibot_scripts/i18n/category_redirect/fo.json +9 -0
  941. pywikibot_scripts/i18n/category_redirect/fr.json +37 -0
  942. pywikibot_scripts/i18n/category_redirect/frp.json +13 -0
  943. pywikibot_scripts/i18n/category_redirect/frr.json +29 -0
  944. pywikibot_scripts/i18n/category_redirect/fur.json +6 -0
  945. pywikibot_scripts/i18n/category_redirect/ga.json +6 -0
  946. pywikibot_scripts/i18n/category_redirect/gl.json +31 -0
  947. pywikibot_scripts/i18n/category_redirect/gsw.json +14 -0
  948. pywikibot_scripts/i18n/category_redirect/hak.json +13 -0
  949. pywikibot_scripts/i18n/category_redirect/haw.json +13 -0
  950. pywikibot_scripts/i18n/category_redirect/he.json +31 -0
  951. pywikibot_scripts/i18n/category_redirect/hi.json +31 -0
  952. pywikibot_scripts/i18n/category_redirect/hr.json +13 -0
  953. pywikibot_scripts/i18n/category_redirect/hsb.json +8 -0
  954. pywikibot_scripts/i18n/category_redirect/hu.json +16 -0
  955. pywikibot_scripts/i18n/category_redirect/hy.json +8 -0
  956. pywikibot_scripts/i18n/category_redirect/ia.json +29 -0
  957. pywikibot_scripts/i18n/category_redirect/id.json +31 -0
  958. pywikibot_scripts/i18n/category_redirect/ie.json +13 -0
  959. pywikibot_scripts/i18n/category_redirect/ilo.json +13 -0
  960. pywikibot_scripts/i18n/category_redirect/io.json +14 -0
  961. pywikibot_scripts/i18n/category_redirect/is.json +13 -0
  962. pywikibot_scripts/i18n/category_redirect/it.json +19 -0
  963. pywikibot_scripts/i18n/category_redirect/ja.json +33 -0
  964. pywikibot_scripts/i18n/category_redirect/jv.json +13 -0
  965. pywikibot_scripts/i18n/category_redirect/ka.json +6 -0
  966. pywikibot_scripts/i18n/category_redirect/kab.json +21 -0
  967. pywikibot_scripts/i18n/category_redirect/kk.json +12 -0
  968. pywikibot_scripts/i18n/category_redirect/kn.json +8 -0
  969. pywikibot_scripts/i18n/category_redirect/ko.json +32 -0
  970. pywikibot_scripts/i18n/category_redirect/krc.json +29 -0
  971. pywikibot_scripts/i18n/category_redirect/ksh.json +13 -0
  972. pywikibot_scripts/i18n/category_redirect/ku.json +30 -0
  973. pywikibot_scripts/i18n/category_redirect/ky.json +9 -0
  974. pywikibot_scripts/i18n/category_redirect/la.json +6 -0
  975. pywikibot_scripts/i18n/category_redirect/lb.json +23 -0
  976. pywikibot_scripts/i18n/category_redirect/li.json +13 -0
  977. pywikibot_scripts/i18n/category_redirect/lt.json +28 -0
  978. pywikibot_scripts/i18n/category_redirect/lv.json +8 -0
  979. pywikibot_scripts/i18n/category_redirect/lzh.json +8 -0
  980. pywikibot_scripts/i18n/category_redirect/map-bms.json +13 -0
  981. pywikibot_scripts/i18n/category_redirect/mg.json +13 -0
  982. pywikibot_scripts/i18n/category_redirect/min.json +15 -0
  983. pywikibot_scripts/i18n/category_redirect/mk.json +30 -0
  984. pywikibot_scripts/i18n/category_redirect/ml.json +23 -0
  985. pywikibot_scripts/i18n/category_redirect/mr.json +9 -0
  986. pywikibot_scripts/i18n/category_redirect/mrj.json +10 -0
  987. pywikibot_scripts/i18n/category_redirect/ms.json +15 -0
  988. pywikibot_scripts/i18n/category_redirect/mt.json +6 -0
  989. pywikibot_scripts/i18n/category_redirect/my.json +16 -0
  990. pywikibot_scripts/i18n/category_redirect/mzn.json +6 -0
  991. pywikibot_scripts/i18n/category_redirect/nan.json +14 -0
  992. pywikibot_scripts/i18n/category_redirect/nap.json +9 -0
  993. pywikibot_scripts/i18n/category_redirect/nb.json +31 -0
  994. pywikibot_scripts/i18n/category_redirect/nds-nl.json +29 -0
  995. pywikibot_scripts/i18n/category_redirect/nds.json +13 -0
  996. pywikibot_scripts/i18n/category_redirect/ne.json +16 -0
  997. pywikibot_scripts/i18n/category_redirect/new.json +11 -0
  998. pywikibot_scripts/i18n/category_redirect/nl.json +32 -0
  999. pywikibot_scripts/i18n/category_redirect/nn.json +6 -0
  1000. pywikibot_scripts/i18n/category_redirect/nqo.json +29 -0
  1001. pywikibot_scripts/i18n/category_redirect/oc.json +10 -0
  1002. pywikibot_scripts/i18n/category_redirect/pdc.json +6 -0
  1003. pywikibot_scripts/i18n/category_redirect/pfl.json +6 -0
  1004. pywikibot_scripts/i18n/category_redirect/pl.json +17 -0
  1005. pywikibot_scripts/i18n/category_redirect/pms.json +13 -0
  1006. pywikibot_scripts/i18n/category_redirect/pt-br.json +32 -0
  1007. pywikibot_scripts/i18n/category_redirect/pt.json +31 -0
  1008. pywikibot_scripts/i18n/category_redirect/qqq.json +33 -0
  1009. pywikibot_scripts/i18n/category_redirect/ro.json +29 -0
  1010. pywikibot_scripts/i18n/category_redirect/ru.json +33 -0
  1011. pywikibot_scripts/i18n/category_redirect/rue.json +6 -0
  1012. pywikibot_scripts/i18n/category_redirect/sco.json +14 -0
  1013. pywikibot_scripts/i18n/category_redirect/sgs.json +6 -0
  1014. pywikibot_scripts/i18n/category_redirect/sh.json +13 -0
  1015. pywikibot_scripts/i18n/category_redirect/sk.json +31 -0
  1016. pywikibot_scripts/i18n/category_redirect/skr.json +8 -0
  1017. pywikibot_scripts/i18n/category_redirect/sl.json +30 -0
  1018. pywikibot_scripts/i18n/category_redirect/sms.json +8 -0
  1019. pywikibot_scripts/i18n/category_redirect/so.json +13 -0
  1020. pywikibot_scripts/i18n/category_redirect/sq.json +13 -0
  1021. pywikibot_scripts/i18n/category_redirect/sr.json +34 -0
  1022. pywikibot_scripts/i18n/category_redirect/su.json +10 -0
  1023. pywikibot_scripts/i18n/category_redirect/sv.json +31 -0
  1024. pywikibot_scripts/i18n/category_redirect/szl.json +11 -0
  1025. pywikibot_scripts/i18n/category_redirect/ta.json +9 -0
  1026. pywikibot_scripts/i18n/category_redirect/te.json +11 -0
  1027. pywikibot_scripts/i18n/category_redirect/tg.json +8 -0
  1028. pywikibot_scripts/i18n/category_redirect/th.json +15 -0
  1029. pywikibot_scripts/i18n/category_redirect/tl.json +14 -0
  1030. pywikibot_scripts/i18n/category_redirect/tly.json +15 -0
  1031. pywikibot_scripts/i18n/category_redirect/tr.json +31 -0
  1032. pywikibot_scripts/i18n/category_redirect/tt.json +15 -0
  1033. pywikibot_scripts/i18n/category_redirect/ug.json +8 -0
  1034. pywikibot_scripts/i18n/category_redirect/uk.json +34 -0
  1035. pywikibot_scripts/i18n/category_redirect/ur.json +12 -0
  1036. pywikibot_scripts/i18n/category_redirect/uz.json +8 -0
  1037. pywikibot_scripts/i18n/category_redirect/vec.json +15 -0
  1038. pywikibot_scripts/i18n/category_redirect/vi.json +33 -0
  1039. pywikibot_scripts/i18n/category_redirect/war.json +6 -0
  1040. pywikibot_scripts/i18n/category_redirect/yi.json +13 -0
  1041. pywikibot_scripts/i18n/category_redirect/yo.json +9 -0
  1042. pywikibot_scripts/i18n/category_redirect/yue.json +8 -0
  1043. pywikibot_scripts/i18n/category_redirect/zh.json +34 -0
  1044. pywikibot_scripts/i18n/checkimages/am.json +8 -0
  1045. pywikibot_scripts/i18n/checkimages/ar.json +22 -0
  1046. pywikibot_scripts/i18n/checkimages/ast.json +19 -0
  1047. pywikibot_scripts/i18n/checkimages/az.json +9 -0
  1048. pywikibot_scripts/i18n/checkimages/ba.json +16 -0
  1049. pywikibot_scripts/i18n/checkimages/be-tarask.json +21 -0
  1050. pywikibot_scripts/i18n/checkimages/bg.json +9 -0
  1051. pywikibot_scripts/i18n/checkimages/blk.json +8 -0
  1052. pywikibot_scripts/i18n/checkimages/bn.json +14 -0
  1053. pywikibot_scripts/i18n/checkimages/br.json +22 -0
  1054. pywikibot_scripts/i18n/checkimages/bs.json +10 -0
  1055. pywikibot_scripts/i18n/checkimages/ca.json +17 -0
  1056. pywikibot_scripts/i18n/checkimages/ckb.json +15 -0
  1057. pywikibot_scripts/i18n/checkimages/co.json +8 -0
  1058. pywikibot_scripts/i18n/checkimages/cs.json +19 -0
  1059. pywikibot_scripts/i18n/checkimages/csb.json +9 -0
  1060. pywikibot_scripts/i18n/checkimages/cy.json +17 -0
  1061. pywikibot_scripts/i18n/checkimages/da.json +18 -0
  1062. pywikibot_scripts/i18n/checkimages/dag.json +8 -0
  1063. pywikibot_scripts/i18n/checkimages/de.json +23 -0
  1064. pywikibot_scripts/i18n/checkimages/diq.json +20 -0
  1065. pywikibot_scripts/i18n/checkimages/dty.json +8 -0
  1066. pywikibot_scripts/i18n/checkimages/el.json +19 -0
  1067. pywikibot_scripts/i18n/checkimages/en.json +23 -0
  1068. pywikibot_scripts/i18n/checkimages/eo.json +17 -0
  1069. pywikibot_scripts/i18n/checkimages/es.json +24 -0
  1070. pywikibot_scripts/i18n/checkimages/eu.json +15 -0
  1071. pywikibot_scripts/i18n/checkimages/fa.json +23 -0
  1072. pywikibot_scripts/i18n/checkimages/fi.json +8 -0
  1073. pywikibot_scripts/i18n/checkimages/fr.json +26 -0
  1074. pywikibot_scripts/i18n/checkimages/frr.json +17 -0
  1075. pywikibot_scripts/i18n/checkimages/ga.json +15 -0
  1076. pywikibot_scripts/i18n/checkimages/gl.json +22 -0
  1077. pywikibot_scripts/i18n/checkimages/he.json +23 -0
  1078. pywikibot_scripts/i18n/checkimages/hi.json +10 -0
  1079. pywikibot_scripts/i18n/checkimages/hr.json +10 -0
  1080. pywikibot_scripts/i18n/checkimages/hu.json +18 -0
  1081. pywikibot_scripts/i18n/checkimages/ia.json +20 -0
  1082. pywikibot_scripts/i18n/checkimages/id.json +25 -0
  1083. pywikibot_scripts/i18n/checkimages/io.json +12 -0
  1084. pywikibot_scripts/i18n/checkimages/it.json +21 -0
  1085. pywikibot_scripts/i18n/checkimages/ja.json +23 -0
  1086. pywikibot_scripts/i18n/checkimages/kab.json +16 -0
  1087. pywikibot_scripts/i18n/checkimages/km.json +8 -0
  1088. pywikibot_scripts/i18n/checkimages/ko.json +25 -0
  1089. pywikibot_scripts/i18n/checkimages/krc.json +20 -0
  1090. pywikibot_scripts/i18n/checkimages/ksh.json +9 -0
  1091. pywikibot_scripts/i18n/checkimages/ku.json +9 -0
  1092. pywikibot_scripts/i18n/checkimages/lb.json +14 -0
  1093. pywikibot_scripts/i18n/checkimages/li.json +9 -0
  1094. pywikibot_scripts/i18n/checkimages/lt.json +18 -0
  1095. pywikibot_scripts/i18n/checkimages/mg.json +9 -0
  1096. pywikibot_scripts/i18n/checkimages/mk.json +20 -0
  1097. pywikibot_scripts/i18n/checkimages/ml.json +17 -0
  1098. pywikibot_scripts/i18n/checkimages/mni.json +8 -0
  1099. pywikibot_scripts/i18n/checkimages/mr.json +8 -0
  1100. pywikibot_scripts/i18n/checkimages/mrj.json +10 -0
  1101. pywikibot_scripts/i18n/checkimages/ms.json +11 -0
  1102. pywikibot_scripts/i18n/checkimages/my.json +10 -0
  1103. pywikibot_scripts/i18n/checkimages/nan.json +10 -0
  1104. pywikibot_scripts/i18n/checkimages/nb.json +21 -0
  1105. pywikibot_scripts/i18n/checkimages/nds-nl.json +17 -0
  1106. pywikibot_scripts/i18n/checkimages/ne.json +13 -0
  1107. pywikibot_scripts/i18n/checkimages/nl.json +23 -0
  1108. pywikibot_scripts/i18n/checkimages/nqo.json +17 -0
  1109. pywikibot_scripts/i18n/checkimages/pl.json +13 -0
  1110. pywikibot_scripts/i18n/checkimages/pt-br.json +22 -0
  1111. pywikibot_scripts/i18n/checkimages/pt.json +19 -0
  1112. pywikibot_scripts/i18n/checkimages/qqq.json +22 -0
  1113. pywikibot_scripts/i18n/checkimages/ro.json +18 -0
  1114. pywikibot_scripts/i18n/checkimages/ru.json +23 -0
  1115. pywikibot_scripts/i18n/checkimages/scn.json +9 -0
  1116. pywikibot_scripts/i18n/checkimages/sd.json +9 -0
  1117. pywikibot_scripts/i18n/checkimages/se.json +8 -0
  1118. pywikibot_scripts/i18n/checkimages/sk.json +18 -0
  1119. pywikibot_scripts/i18n/checkimages/sl.json +20 -0
  1120. pywikibot_scripts/i18n/checkimages/sr.json +26 -0
  1121. pywikibot_scripts/i18n/checkimages/su.json +9 -0
  1122. pywikibot_scripts/i18n/checkimages/sv.json +18 -0
  1123. pywikibot_scripts/i18n/checkimages/ta.json +17 -0
  1124. pywikibot_scripts/i18n/checkimages/th.json +10 -0
  1125. pywikibot_scripts/i18n/checkimages/tr.json +17 -0
  1126. pywikibot_scripts/i18n/checkimages/uk.json +23 -0
  1127. pywikibot_scripts/i18n/checkimages/ur.json +16 -0
  1128. pywikibot_scripts/i18n/checkimages/vi.json +18 -0
  1129. pywikibot_scripts/i18n/checkimages/xmf.json +10 -0
  1130. pywikibot_scripts/i18n/checkimages/yue.json +10 -0
  1131. pywikibot_scripts/i18n/checkimages/zh.json +30 -0
  1132. pywikibot_scripts/i18n/clean_sandbox/ar.json +10 -0
  1133. pywikibot_scripts/i18n/clean_sandbox/arc.json +8 -0
  1134. pywikibot_scripts/i18n/clean_sandbox/ast.json +8 -0
  1135. pywikibot_scripts/i18n/clean_sandbox/awa.json +8 -0
  1136. pywikibot_scripts/i18n/clean_sandbox/az.json +8 -0
  1137. pywikibot_scripts/i18n/clean_sandbox/azb.json +8 -0
  1138. pywikibot_scripts/i18n/clean_sandbox/ba.json +8 -0
  1139. pywikibot_scripts/i18n/clean_sandbox/bar.json +8 -0
  1140. pywikibot_scripts/i18n/clean_sandbox/bcc.json +8 -0
  1141. pywikibot_scripts/i18n/clean_sandbox/be-tarask.json +8 -0
  1142. pywikibot_scripts/i18n/clean_sandbox/be.json +8 -0
  1143. pywikibot_scripts/i18n/clean_sandbox/bg.json +8 -0
  1144. pywikibot_scripts/i18n/clean_sandbox/bjn.json +8 -0
  1145. pywikibot_scripts/i18n/clean_sandbox/bn.json +10 -0
  1146. pywikibot_scripts/i18n/clean_sandbox/bo.json +8 -0
  1147. pywikibot_scripts/i18n/clean_sandbox/br.json +8 -0
  1148. pywikibot_scripts/i18n/clean_sandbox/bs.json +9 -0
  1149. pywikibot_scripts/i18n/clean_sandbox/ca.json +10 -0
  1150. pywikibot_scripts/i18n/clean_sandbox/ce.json +8 -0
  1151. pywikibot_scripts/i18n/clean_sandbox/ckb.json +10 -0
  1152. pywikibot_scripts/i18n/clean_sandbox/cs.json +10 -0
  1153. pywikibot_scripts/i18n/clean_sandbox/csb.json +8 -0
  1154. pywikibot_scripts/i18n/clean_sandbox/cy.json +9 -0
  1155. pywikibot_scripts/i18n/clean_sandbox/da.json +9 -0
  1156. pywikibot_scripts/i18n/clean_sandbox/de.json +6 -0
  1157. pywikibot_scripts/i18n/clean_sandbox/diq.json +10 -0
  1158. pywikibot_scripts/i18n/clean_sandbox/dty.json +8 -0
  1159. pywikibot_scripts/i18n/clean_sandbox/el.json +8 -0
  1160. pywikibot_scripts/i18n/clean_sandbox/en.json +4 -0
  1161. pywikibot_scripts/i18n/clean_sandbox/eo.json +8 -0
  1162. pywikibot_scripts/i18n/clean_sandbox/es.json +11 -0
  1163. pywikibot_scripts/i18n/clean_sandbox/eu.json +8 -0
  1164. pywikibot_scripts/i18n/clean_sandbox/fa.json +6 -0
  1165. pywikibot_scripts/i18n/clean_sandbox/fi.json +8 -0
  1166. pywikibot_scripts/i18n/clean_sandbox/fo.json +8 -0
  1167. pywikibot_scripts/i18n/clean_sandbox/fr.json +10 -0
  1168. pywikibot_scripts/i18n/clean_sandbox/frp.json +8 -0
  1169. pywikibot_scripts/i18n/clean_sandbox/frr.json +8 -0
  1170. pywikibot_scripts/i18n/clean_sandbox/gl.json +8 -0
  1171. pywikibot_scripts/i18n/clean_sandbox/gsw.json +6 -0
  1172. pywikibot_scripts/i18n/clean_sandbox/hak.json +8 -0
  1173. pywikibot_scripts/i18n/clean_sandbox/haw.json +8 -0
  1174. pywikibot_scripts/i18n/clean_sandbox/he.json +6 -0
  1175. pywikibot_scripts/i18n/clean_sandbox/hi.json +9 -0
  1176. pywikibot_scripts/i18n/clean_sandbox/hr.json +8 -0
  1177. pywikibot_scripts/i18n/clean_sandbox/hu.json +8 -0
  1178. pywikibot_scripts/i18n/clean_sandbox/ia.json +8 -0
  1179. pywikibot_scripts/i18n/clean_sandbox/id.json +9 -0
  1180. pywikibot_scripts/i18n/clean_sandbox/ie.json +8 -0
  1181. pywikibot_scripts/i18n/clean_sandbox/ilo.json +8 -0
  1182. pywikibot_scripts/i18n/clean_sandbox/io.json +8 -0
  1183. pywikibot_scripts/i18n/clean_sandbox/is.json +8 -0
  1184. pywikibot_scripts/i18n/clean_sandbox/it.json +8 -0
  1185. pywikibot_scripts/i18n/clean_sandbox/ja.json +8 -0
  1186. pywikibot_scripts/i18n/clean_sandbox/jv.json +8 -0
  1187. pywikibot_scripts/i18n/clean_sandbox/kaa.json +8 -0
  1188. pywikibot_scripts/i18n/clean_sandbox/kab.json +8 -0
  1189. pywikibot_scripts/i18n/clean_sandbox/kk.json +8 -0
  1190. pywikibot_scripts/i18n/clean_sandbox/ko.json +10 -0
  1191. pywikibot_scripts/i18n/clean_sandbox/krc.json +8 -0
  1192. pywikibot_scripts/i18n/clean_sandbox/krl.json +8 -0
  1193. pywikibot_scripts/i18n/clean_sandbox/ksh.json +6 -0
  1194. pywikibot_scripts/i18n/clean_sandbox/ku.json +8 -0
  1195. pywikibot_scripts/i18n/clean_sandbox/ky.json +8 -0
  1196. pywikibot_scripts/i18n/clean_sandbox/lb.json +8 -0
  1197. pywikibot_scripts/i18n/clean_sandbox/li.json +8 -0
  1198. pywikibot_scripts/i18n/clean_sandbox/lt.json +8 -0
  1199. pywikibot_scripts/i18n/clean_sandbox/lv.json +8 -0
  1200. pywikibot_scripts/i18n/clean_sandbox/map-bms.json +8 -0
  1201. pywikibot_scripts/i18n/clean_sandbox/mg.json +8 -0
  1202. pywikibot_scripts/i18n/clean_sandbox/min.json +9 -0
  1203. pywikibot_scripts/i18n/clean_sandbox/mk.json +8 -0
  1204. pywikibot_scripts/i18n/clean_sandbox/ml.json +8 -0
  1205. pywikibot_scripts/i18n/clean_sandbox/mr.json +8 -0
  1206. pywikibot_scripts/i18n/clean_sandbox/ms.json +8 -0
  1207. pywikibot_scripts/i18n/clean_sandbox/my.json +8 -0
  1208. pywikibot_scripts/i18n/clean_sandbox/nan.json +9 -0
  1209. pywikibot_scripts/i18n/clean_sandbox/nb.json +8 -0
  1210. pywikibot_scripts/i18n/clean_sandbox/nds-nl.json +8 -0
  1211. pywikibot_scripts/i18n/clean_sandbox/nds.json +6 -0
  1212. pywikibot_scripts/i18n/clean_sandbox/ne.json +8 -0
  1213. pywikibot_scripts/i18n/clean_sandbox/nl.json +9 -0
  1214. pywikibot_scripts/i18n/clean_sandbox/nn.json +8 -0
  1215. pywikibot_scripts/i18n/clean_sandbox/nqo.json +8 -0
  1216. pywikibot_scripts/i18n/clean_sandbox/oc.json +8 -0
  1217. pywikibot_scripts/i18n/clean_sandbox/olo.json +8 -0
  1218. pywikibot_scripts/i18n/clean_sandbox/or.json +8 -0
  1219. pywikibot_scripts/i18n/clean_sandbox/pl.json +8 -0
  1220. pywikibot_scripts/i18n/clean_sandbox/pms.json +8 -0
  1221. pywikibot_scripts/i18n/clean_sandbox/pt-br.json +8 -0
  1222. pywikibot_scripts/i18n/clean_sandbox/pt.json +8 -0
  1223. pywikibot_scripts/i18n/clean_sandbox/qqq.json +8 -0
  1224. pywikibot_scripts/i18n/clean_sandbox/ro.json +8 -0
  1225. pywikibot_scripts/i18n/clean_sandbox/ru.json +9 -0
  1226. pywikibot_scripts/i18n/clean_sandbox/sco.json +9 -0
  1227. pywikibot_scripts/i18n/clean_sandbox/sd.json +8 -0
  1228. pywikibot_scripts/i18n/clean_sandbox/sh.json +8 -0
  1229. pywikibot_scripts/i18n/clean_sandbox/sk.json +9 -0
  1230. pywikibot_scripts/i18n/clean_sandbox/skr.json +8 -0
  1231. pywikibot_scripts/i18n/clean_sandbox/sl.json +8 -0
  1232. pywikibot_scripts/i18n/clean_sandbox/so.json +8 -0
  1233. pywikibot_scripts/i18n/clean_sandbox/sq.json +8 -0
  1234. pywikibot_scripts/i18n/clean_sandbox/sr.json +11 -0
  1235. pywikibot_scripts/i18n/clean_sandbox/su.json +8 -0
  1236. pywikibot_scripts/i18n/clean_sandbox/sv.json +8 -0
  1237. pywikibot_scripts/i18n/clean_sandbox/szl.json +9 -0
  1238. pywikibot_scripts/i18n/clean_sandbox/ta.json +8 -0
  1239. pywikibot_scripts/i18n/clean_sandbox/te.json +8 -0
  1240. pywikibot_scripts/i18n/clean_sandbox/th.json +8 -0
  1241. pywikibot_scripts/i18n/clean_sandbox/tl.json +8 -0
  1242. pywikibot_scripts/i18n/clean_sandbox/tly.json +10 -0
  1243. pywikibot_scripts/i18n/clean_sandbox/tr.json +8 -0
  1244. pywikibot_scripts/i18n/clean_sandbox/tt.json +9 -0
  1245. pywikibot_scripts/i18n/clean_sandbox/uk.json +9 -0
  1246. pywikibot_scripts/i18n/clean_sandbox/ur.json +8 -0
  1247. pywikibot_scripts/i18n/clean_sandbox/uz.json +8 -0
  1248. pywikibot_scripts/i18n/clean_sandbox/vec.json +9 -0
  1249. pywikibot_scripts/i18n/clean_sandbox/vi.json +9 -0
  1250. pywikibot_scripts/i18n/clean_sandbox/wa.json +8 -0
  1251. pywikibot_scripts/i18n/clean_sandbox/xmf.json +8 -0
  1252. pywikibot_scripts/i18n/clean_sandbox/yi.json +8 -0
  1253. pywikibot_scripts/i18n/clean_sandbox/yue.json +8 -0
  1254. pywikibot_scripts/i18n/clean_sandbox/zh.json +8 -0
  1255. pywikibot_scripts/i18n/commonscat/ar.json +9 -0
  1256. pywikibot_scripts/i18n/commonscat/ast.json +8 -0
  1257. pywikibot_scripts/i18n/commonscat/ba.json +8 -0
  1258. pywikibot_scripts/i18n/commonscat/be-tarask.json +8 -0
  1259. pywikibot_scripts/i18n/commonscat/br.json +8 -0
  1260. pywikibot_scripts/i18n/commonscat/bs.json +9 -0
  1261. pywikibot_scripts/i18n/commonscat/ca.json +8 -0
  1262. pywikibot_scripts/i18n/commonscat/ce.json +8 -0
  1263. pywikibot_scripts/i18n/commonscat/ckb.json +8 -0
  1264. pywikibot_scripts/i18n/commonscat/cs.json +11 -0
  1265. pywikibot_scripts/i18n/commonscat/csb.json +8 -0
  1266. pywikibot_scripts/i18n/commonscat/cy.json +8 -0
  1267. pywikibot_scripts/i18n/commonscat/da.json +6 -0
  1268. pywikibot_scripts/i18n/commonscat/de.json +8 -0
  1269. pywikibot_scripts/i18n/commonscat/diq.json +8 -0
  1270. pywikibot_scripts/i18n/commonscat/el.json +8 -0
  1271. pywikibot_scripts/i18n/commonscat/en.json +8 -0
  1272. pywikibot_scripts/i18n/commonscat/eo.json +8 -0
  1273. pywikibot_scripts/i18n/commonscat/es.json +8 -0
  1274. pywikibot_scripts/i18n/commonscat/eu.json +8 -0
  1275. pywikibot_scripts/i18n/commonscat/fa.json +8 -0
  1276. pywikibot_scripts/i18n/commonscat/fr.json +10 -0
  1277. pywikibot_scripts/i18n/commonscat/frr.json +6 -0
  1278. pywikibot_scripts/i18n/commonscat/gl.json +8 -0
  1279. pywikibot_scripts/i18n/commonscat/gn.json +8 -0
  1280. pywikibot_scripts/i18n/commonscat/he.json +8 -0
  1281. pywikibot_scripts/i18n/commonscat/hi.json +9 -0
  1282. pywikibot_scripts/i18n/commonscat/hu.json +8 -0
  1283. pywikibot_scripts/i18n/commonscat/ia.json +8 -0
  1284. pywikibot_scripts/i18n/commonscat/id.json +9 -0
  1285. pywikibot_scripts/i18n/commonscat/io.json +8 -0
  1286. pywikibot_scripts/i18n/commonscat/is.json +8 -0
  1287. pywikibot_scripts/i18n/commonscat/it.json +8 -0
  1288. pywikibot_scripts/i18n/commonscat/ja.json +8 -0
  1289. pywikibot_scripts/i18n/commonscat/kk.json +8 -0
  1290. pywikibot_scripts/i18n/commonscat/ko.json +9 -0
  1291. pywikibot_scripts/i18n/commonscat/krc.json +8 -0
  1292. pywikibot_scripts/i18n/commonscat/ksh.json +8 -0
  1293. pywikibot_scripts/i18n/commonscat/ku.json +8 -0
  1294. pywikibot_scripts/i18n/commonscat/lb.json +8 -0
  1295. pywikibot_scripts/i18n/commonscat/li.json +8 -0
  1296. pywikibot_scripts/i18n/commonscat/lt.json +8 -0
  1297. pywikibot_scripts/i18n/commonscat/mg.json +8 -0
  1298. pywikibot_scripts/i18n/commonscat/mk.json +8 -0
  1299. pywikibot_scripts/i18n/commonscat/ml.json +8 -0
  1300. pywikibot_scripts/i18n/commonscat/ms.json +8 -0
  1301. pywikibot_scripts/i18n/commonscat/nan.json +9 -0
  1302. pywikibot_scripts/i18n/commonscat/nb.json +9 -0
  1303. pywikibot_scripts/i18n/commonscat/nds-nl.json +8 -0
  1304. pywikibot_scripts/i18n/commonscat/nl.json +9 -0
  1305. pywikibot_scripts/i18n/commonscat/nqo.json +8 -0
  1306. pywikibot_scripts/i18n/commonscat/pdc.json +8 -0
  1307. pywikibot_scripts/i18n/commonscat/pl.json +8 -0
  1308. pywikibot_scripts/i18n/commonscat/pms.json +8 -0
  1309. pywikibot_scripts/i18n/commonscat/pt-br.json +9 -0
  1310. pywikibot_scripts/i18n/commonscat/pt.json +9 -0
  1311. pywikibot_scripts/i18n/commonscat/qqq.json +8 -0
  1312. pywikibot_scripts/i18n/commonscat/ro.json +8 -0
  1313. pywikibot_scripts/i18n/commonscat/ru.json +6 -0
  1314. pywikibot_scripts/i18n/commonscat/sk.json +9 -0
  1315. pywikibot_scripts/i18n/commonscat/sl.json +8 -0
  1316. pywikibot_scripts/i18n/commonscat/sr.json +11 -0
  1317. pywikibot_scripts/i18n/commonscat/sv.json +8 -0
  1318. pywikibot_scripts/i18n/commonscat/ta.json +8 -0
  1319. pywikibot_scripts/i18n/commonscat/th.json +8 -0
  1320. pywikibot_scripts/i18n/commonscat/tr.json +8 -0
  1321. pywikibot_scripts/i18n/commonscat/uk.json +6 -0
  1322. pywikibot_scripts/i18n/commonscat/ur.json +8 -0
  1323. pywikibot_scripts/i18n/commonscat/vi.json +8 -0
  1324. pywikibot_scripts/i18n/commonscat/zh.json +11 -0
  1325. pywikibot_scripts/i18n/cosmetic_changes/af.json +9 -0
  1326. pywikibot_scripts/i18n/cosmetic_changes/an.json +9 -0
  1327. pywikibot_scripts/i18n/cosmetic_changes/ar.json +11 -0
  1328. pywikibot_scripts/i18n/cosmetic_changes/arc.json +9 -0
  1329. pywikibot_scripts/i18n/cosmetic_changes/ast.json +10 -0
  1330. pywikibot_scripts/i18n/cosmetic_changes/awa.json +9 -0
  1331. pywikibot_scripts/i18n/cosmetic_changes/az.json +10 -0
  1332. pywikibot_scripts/i18n/cosmetic_changes/azb.json +9 -0
  1333. pywikibot_scripts/i18n/cosmetic_changes/ba.json +9 -0
  1334. pywikibot_scripts/i18n/cosmetic_changes/bar.json +9 -0
  1335. pywikibot_scripts/i18n/cosmetic_changes/bcc.json +9 -0
  1336. pywikibot_scripts/i18n/cosmetic_changes/be-tarask.json +10 -0
  1337. pywikibot_scripts/i18n/cosmetic_changes/be.json +10 -0
  1338. pywikibot_scripts/i18n/cosmetic_changes/bg.json +9 -0
  1339. pywikibot_scripts/i18n/cosmetic_changes/bjn.json +9 -0
  1340. pywikibot_scripts/i18n/cosmetic_changes/bn.json +11 -0
  1341. pywikibot_scripts/i18n/cosmetic_changes/bo.json +9 -0
  1342. pywikibot_scripts/i18n/cosmetic_changes/br.json +7 -0
  1343. pywikibot_scripts/i18n/cosmetic_changes/bs.json +10 -0
  1344. pywikibot_scripts/i18n/cosmetic_changes/ca.json +11 -0
  1345. pywikibot_scripts/i18n/cosmetic_changes/ce.json +9 -0
  1346. pywikibot_scripts/i18n/cosmetic_changes/ckb.json +11 -0
  1347. pywikibot_scripts/i18n/cosmetic_changes/cs.json +11 -0
  1348. pywikibot_scripts/i18n/cosmetic_changes/csb.json +9 -0
  1349. pywikibot_scripts/i18n/cosmetic_changes/cy.json +10 -0
  1350. pywikibot_scripts/i18n/cosmetic_changes/da.json +9 -0
  1351. pywikibot_scripts/i18n/cosmetic_changes/de.json +7 -0
  1352. pywikibot_scripts/i18n/cosmetic_changes/diq.json +9 -0
  1353. pywikibot_scripts/i18n/cosmetic_changes/el.json +11 -0
  1354. pywikibot_scripts/i18n/cosmetic_changes/en.json +5 -0
  1355. pywikibot_scripts/i18n/cosmetic_changes/eo.json +9 -0
  1356. pywikibot_scripts/i18n/cosmetic_changes/es.json +10 -0
  1357. pywikibot_scripts/i18n/cosmetic_changes/et.json +9 -0
  1358. pywikibot_scripts/i18n/cosmetic_changes/eu.json +9 -0
  1359. pywikibot_scripts/i18n/cosmetic_changes/fa.json +9 -0
  1360. pywikibot_scripts/i18n/cosmetic_changes/fi.json +9 -0
  1361. pywikibot_scripts/i18n/cosmetic_changes/fo.json +9 -0
  1362. pywikibot_scripts/i18n/cosmetic_changes/fr.json +10 -0
  1363. pywikibot_scripts/i18n/cosmetic_changes/frp.json +9 -0
  1364. pywikibot_scripts/i18n/cosmetic_changes/frr.json +9 -0
  1365. pywikibot_scripts/i18n/cosmetic_changes/fy.json +7 -0
  1366. pywikibot_scripts/i18n/cosmetic_changes/ga.json +7 -0
  1367. pywikibot_scripts/i18n/cosmetic_changes/gl.json +9 -0
  1368. pywikibot_scripts/i18n/cosmetic_changes/gsw.json +9 -0
  1369. pywikibot_scripts/i18n/cosmetic_changes/hak.json +9 -0
  1370. pywikibot_scripts/i18n/cosmetic_changes/haw.json +9 -0
  1371. pywikibot_scripts/i18n/cosmetic_changes/he.json +7 -0
  1372. pywikibot_scripts/i18n/cosmetic_changes/hi.json +9 -0
  1373. pywikibot_scripts/i18n/cosmetic_changes/hr.json +7 -0
  1374. pywikibot_scripts/i18n/cosmetic_changes/hsb.json +9 -0
  1375. pywikibot_scripts/i18n/cosmetic_changes/hu.json +7 -0
  1376. pywikibot_scripts/i18n/cosmetic_changes/hy.json +10 -0
  1377. pywikibot_scripts/i18n/cosmetic_changes/ia.json +7 -0
  1378. pywikibot_scripts/i18n/cosmetic_changes/id.json +13 -0
  1379. pywikibot_scripts/i18n/cosmetic_changes/ie.json +9 -0
  1380. pywikibot_scripts/i18n/cosmetic_changes/ig.json +9 -0
  1381. pywikibot_scripts/i18n/cosmetic_changes/ilo.json +9 -0
  1382. pywikibot_scripts/i18n/cosmetic_changes/io.json +9 -0
  1383. pywikibot_scripts/i18n/cosmetic_changes/is.json +9 -0
  1384. pywikibot_scripts/i18n/cosmetic_changes/it.json +7 -0
  1385. pywikibot_scripts/i18n/cosmetic_changes/ja.json +9 -0
  1386. pywikibot_scripts/i18n/cosmetic_changes/jv.json +9 -0
  1387. pywikibot_scripts/i18n/cosmetic_changes/kk.json +9 -0
  1388. pywikibot_scripts/i18n/cosmetic_changes/kn.json +9 -0
  1389. pywikibot_scripts/i18n/cosmetic_changes/ko.json +9 -0
  1390. pywikibot_scripts/i18n/cosmetic_changes/krc.json +9 -0
  1391. pywikibot_scripts/i18n/cosmetic_changes/ksh.json +9 -0
  1392. pywikibot_scripts/i18n/cosmetic_changes/ku.json +9 -0
  1393. pywikibot_scripts/i18n/cosmetic_changes/ky.json +9 -0
  1394. pywikibot_scripts/i18n/cosmetic_changes/la.json +7 -0
  1395. pywikibot_scripts/i18n/cosmetic_changes/lb.json +9 -0
  1396. pywikibot_scripts/i18n/cosmetic_changes/li.json +9 -0
  1397. pywikibot_scripts/i18n/cosmetic_changes/lt.json +7 -0
  1398. pywikibot_scripts/i18n/cosmetic_changes/lv.json +7 -0
  1399. pywikibot_scripts/i18n/cosmetic_changes/map-bms.json +9 -0
  1400. pywikibot_scripts/i18n/cosmetic_changes/mg.json +9 -0
  1401. pywikibot_scripts/i18n/cosmetic_changes/min.json +10 -0
  1402. pywikibot_scripts/i18n/cosmetic_changes/mk.json +7 -0
  1403. pywikibot_scripts/i18n/cosmetic_changes/ml.json +9 -0
  1404. pywikibot_scripts/i18n/cosmetic_changes/mr.json +9 -0
  1405. pywikibot_scripts/i18n/cosmetic_changes/ms.json +7 -0
  1406. pywikibot_scripts/i18n/cosmetic_changes/mt.json +7 -0
  1407. pywikibot_scripts/i18n/cosmetic_changes/nan.json +10 -0
  1408. pywikibot_scripts/i18n/cosmetic_changes/nb.json +9 -0
  1409. pywikibot_scripts/i18n/cosmetic_changes/nds-nl.json +9 -0
  1410. pywikibot_scripts/i18n/cosmetic_changes/nds.json +9 -0
  1411. pywikibot_scripts/i18n/cosmetic_changes/ne.json +9 -0
  1412. pywikibot_scripts/i18n/cosmetic_changes/new.json +8 -0
  1413. pywikibot_scripts/i18n/cosmetic_changes/nl.json +9 -0
  1414. pywikibot_scripts/i18n/cosmetic_changes/nn.json +10 -0
  1415. pywikibot_scripts/i18n/cosmetic_changes/nqo.json +9 -0
  1416. pywikibot_scripts/i18n/cosmetic_changes/oc.json +9 -0
  1417. pywikibot_scripts/i18n/cosmetic_changes/or.json +10 -0
  1418. pywikibot_scripts/i18n/cosmetic_changes/pdc.json +7 -0
  1419. pywikibot_scripts/i18n/cosmetic_changes/pfl.json +7 -0
  1420. pywikibot_scripts/i18n/cosmetic_changes/pl.json +9 -0
  1421. pywikibot_scripts/i18n/cosmetic_changes/pms.json +9 -0
  1422. pywikibot_scripts/i18n/cosmetic_changes/pt-br.json +10 -0
  1423. pywikibot_scripts/i18n/cosmetic_changes/pt.json +9 -0
  1424. pywikibot_scripts/i18n/cosmetic_changes/qqq.json +11 -0
  1425. pywikibot_scripts/i18n/cosmetic_changes/ro.json +9 -0
  1426. pywikibot_scripts/i18n/cosmetic_changes/ru.json +10 -0
  1427. pywikibot_scripts/i18n/cosmetic_changes/sco.json +9 -0
  1428. pywikibot_scripts/i18n/cosmetic_changes/sd.json +9 -0
  1429. pywikibot_scripts/i18n/cosmetic_changes/sh.json +9 -0
  1430. pywikibot_scripts/i18n/cosmetic_changes/si.json +9 -0
  1431. pywikibot_scripts/i18n/cosmetic_changes/sk.json +9 -0
  1432. pywikibot_scripts/i18n/cosmetic_changes/sl.json +9 -0
  1433. pywikibot_scripts/i18n/cosmetic_changes/so.json +9 -0
  1434. pywikibot_scripts/i18n/cosmetic_changes/sq.json +9 -0
  1435. pywikibot_scripts/i18n/cosmetic_changes/sr.json +12 -0
  1436. pywikibot_scripts/i18n/cosmetic_changes/su.json +9 -0
  1437. pywikibot_scripts/i18n/cosmetic_changes/sv.json +7 -0
  1438. pywikibot_scripts/i18n/cosmetic_changes/szl.json +10 -0
  1439. pywikibot_scripts/i18n/cosmetic_changes/ta.json +9 -0
  1440. pywikibot_scripts/i18n/cosmetic_changes/te.json +9 -0
  1441. pywikibot_scripts/i18n/cosmetic_changes/th.json +10 -0
  1442. pywikibot_scripts/i18n/cosmetic_changes/tk.json +7 -0
  1443. pywikibot_scripts/i18n/cosmetic_changes/tl.json +7 -0
  1444. pywikibot_scripts/i18n/cosmetic_changes/tly.json +9 -0
  1445. pywikibot_scripts/i18n/cosmetic_changes/tr.json +10 -0
  1446. pywikibot_scripts/i18n/cosmetic_changes/tt.json +10 -0
  1447. pywikibot_scripts/i18n/cosmetic_changes/uk.json +9 -0
  1448. pywikibot_scripts/i18n/cosmetic_changes/ur.json +10 -0
  1449. pywikibot_scripts/i18n/cosmetic_changes/uz.json +9 -0
  1450. pywikibot_scripts/i18n/cosmetic_changes/vec.json +11 -0
  1451. pywikibot_scripts/i18n/cosmetic_changes/vep.json +9 -0
  1452. pywikibot_scripts/i18n/cosmetic_changes/vi.json +9 -0
  1453. pywikibot_scripts/i18n/cosmetic_changes/vo.json +9 -0
  1454. pywikibot_scripts/i18n/cosmetic_changes/war.json +7 -0
  1455. pywikibot_scripts/i18n/cosmetic_changes/xmf.json +9 -0
  1456. pywikibot_scripts/i18n/cosmetic_changes/yi.json +7 -0
  1457. pywikibot_scripts/i18n/cosmetic_changes/zh.json +11 -0
  1458. pywikibot_scripts/i18n/delete/ar.json +14 -0
  1459. pywikibot_scripts/i18n/delete/ast.json +13 -0
  1460. pywikibot_scripts/i18n/delete/awa.json +12 -0
  1461. pywikibot_scripts/i18n/delete/az.json +14 -0
  1462. pywikibot_scripts/i18n/delete/azb.json +14 -0
  1463. pywikibot_scripts/i18n/delete/ba.json +13 -0
  1464. pywikibot_scripts/i18n/delete/bcc.json +12 -0
  1465. pywikibot_scripts/i18n/delete/be-tarask.json +13 -0
  1466. pywikibot_scripts/i18n/delete/bg.json +12 -0
  1467. pywikibot_scripts/i18n/delete/bjn.json +12 -0
  1468. pywikibot_scripts/i18n/delete/bn.json +12 -0
  1469. pywikibot_scripts/i18n/delete/bo.json +9 -0
  1470. pywikibot_scripts/i18n/delete/br.json +13 -0
  1471. pywikibot_scripts/i18n/delete/bs.json +12 -0
  1472. pywikibot_scripts/i18n/delete/ca.json +14 -0
  1473. pywikibot_scripts/i18n/delete/ce.json +12 -0
  1474. pywikibot_scripts/i18n/delete/ckb.json +12 -0
  1475. pywikibot_scripts/i18n/delete/cs.json +14 -0
  1476. pywikibot_scripts/i18n/delete/csb.json +12 -0
  1477. pywikibot_scripts/i18n/delete/cy.json +15 -0
  1478. pywikibot_scripts/i18n/delete/da.json +14 -0
  1479. pywikibot_scripts/i18n/delete/de.json +15 -0
  1480. pywikibot_scripts/i18n/delete/diq.json +15 -0
  1481. pywikibot_scripts/i18n/delete/el.json +12 -0
  1482. pywikibot_scripts/i18n/delete/en.json +14 -0
  1483. pywikibot_scripts/i18n/delete/eo.json +16 -0
  1484. pywikibot_scripts/i18n/delete/es.json +15 -0
  1485. pywikibot_scripts/i18n/delete/et.json +12 -0
  1486. pywikibot_scripts/i18n/delete/eu.json +13 -0
  1487. pywikibot_scripts/i18n/delete/fa.json +15 -0
  1488. pywikibot_scripts/i18n/delete/fi.json +14 -0
  1489. pywikibot_scripts/i18n/delete/fo.json +12 -0
  1490. pywikibot_scripts/i18n/delete/fr.json +15 -0
  1491. pywikibot_scripts/i18n/delete/frp.json +12 -0
  1492. pywikibot_scripts/i18n/delete/frr.json +12 -0
  1493. pywikibot_scripts/i18n/delete/gl.json +12 -0
  1494. pywikibot_scripts/i18n/delete/gsw.json +13 -0
  1495. pywikibot_scripts/i18n/delete/hak.json +13 -0
  1496. pywikibot_scripts/i18n/delete/haw.json +12 -0
  1497. pywikibot_scripts/i18n/delete/he.json +12 -0
  1498. pywikibot_scripts/i18n/delete/hi.json +13 -0
  1499. pywikibot_scripts/i18n/delete/hu.json +12 -0
  1500. pywikibot_scripts/i18n/delete/hy.json +13 -0
  1501. pywikibot_scripts/i18n/delete/ia.json +12 -0
  1502. pywikibot_scripts/i18n/delete/id.json +15 -0
  1503. pywikibot_scripts/i18n/delete/ilo.json +12 -0
  1504. pywikibot_scripts/i18n/delete/io.json +12 -0
  1505. pywikibot_scripts/i18n/delete/is.json +13 -0
  1506. pywikibot_scripts/i18n/delete/it.json +15 -0
  1507. pywikibot_scripts/i18n/delete/ja.json +14 -0
  1508. pywikibot_scripts/i18n/delete/jv.json +12 -0
  1509. pywikibot_scripts/i18n/delete/kab.json +11 -0
  1510. pywikibot_scripts/i18n/delete/kk.json +12 -0
  1511. pywikibot_scripts/i18n/delete/kn.json +14 -0
  1512. pywikibot_scripts/i18n/delete/ko.json +13 -0
  1513. pywikibot_scripts/i18n/delete/krc.json +12 -0
  1514. pywikibot_scripts/i18n/delete/ksh.json +13 -0
  1515. pywikibot_scripts/i18n/delete/ku.json +13 -0
  1516. pywikibot_scripts/i18n/delete/ky.json +12 -0
  1517. pywikibot_scripts/i18n/delete/lb.json +12 -0
  1518. pywikibot_scripts/i18n/delete/li.json +12 -0
  1519. pywikibot_scripts/i18n/delete/lt.json +14 -0
  1520. pywikibot_scripts/i18n/delete/lv.json +8 -0
  1521. pywikibot_scripts/i18n/delete/map-bms.json +12 -0
  1522. pywikibot_scripts/i18n/delete/mg.json +12 -0
  1523. pywikibot_scripts/i18n/delete/min.json +13 -0
  1524. pywikibot_scripts/i18n/delete/mk.json +13 -0
  1525. pywikibot_scripts/i18n/delete/ml.json +12 -0
  1526. pywikibot_scripts/i18n/delete/mr.json +11 -0
  1527. pywikibot_scripts/i18n/delete/ms.json +12 -0
  1528. pywikibot_scripts/i18n/delete/my.json +12 -0
  1529. pywikibot_scripts/i18n/delete/nan.json +13 -0
  1530. pywikibot_scripts/i18n/delete/nb.json +14 -0
  1531. pywikibot_scripts/i18n/delete/nds-nl.json +12 -0
  1532. pywikibot_scripts/i18n/delete/ne.json +14 -0
  1533. pywikibot_scripts/i18n/delete/new.json +12 -0
  1534. pywikibot_scripts/i18n/delete/nl.json +13 -0
  1535. pywikibot_scripts/i18n/delete/nn.json +12 -0
  1536. pywikibot_scripts/i18n/delete/nqo.json +12 -0
  1537. pywikibot_scripts/i18n/delete/oc.json +12 -0
  1538. pywikibot_scripts/i18n/delete/or.json +13 -0
  1539. pywikibot_scripts/i18n/delete/pl.json +14 -0
  1540. pywikibot_scripts/i18n/delete/pms.json +13 -0
  1541. pywikibot_scripts/i18n/delete/pt-br.json +13 -0
  1542. pywikibot_scripts/i18n/delete/pt.json +14 -0
  1543. pywikibot_scripts/i18n/delete/qqq.json +14 -0
  1544. pywikibot_scripts/i18n/delete/ro.json +12 -0
  1545. pywikibot_scripts/i18n/delete/ru.json +14 -0
  1546. pywikibot_scripts/i18n/delete/sco.json +12 -0
  1547. pywikibot_scripts/i18n/delete/sd.json +8 -0
  1548. pywikibot_scripts/i18n/delete/sh.json +10 -0
  1549. pywikibot_scripts/i18n/delete/sk.json +14 -0
  1550. pywikibot_scripts/i18n/delete/sl.json +13 -0
  1551. pywikibot_scripts/i18n/delete/so.json +12 -0
  1552. pywikibot_scripts/i18n/delete/sq.json +12 -0
  1553. pywikibot_scripts/i18n/delete/sr.json +15 -0
  1554. pywikibot_scripts/i18n/delete/su.json +12 -0
  1555. pywikibot_scripts/i18n/delete/sv.json +13 -0
  1556. pywikibot_scripts/i18n/delete/sw.json +13 -0
  1557. pywikibot_scripts/i18n/delete/szl.json +13 -0
  1558. pywikibot_scripts/i18n/delete/ta.json +11 -0
  1559. pywikibot_scripts/i18n/delete/te.json +12 -0
  1560. pywikibot_scripts/i18n/delete/th.json +13 -0
  1561. pywikibot_scripts/i18n/delete/tl.json +13 -0
  1562. pywikibot_scripts/i18n/delete/tly.json +12 -0
  1563. pywikibot_scripts/i18n/delete/tr.json +13 -0
  1564. pywikibot_scripts/i18n/delete/uk.json +12 -0
  1565. pywikibot_scripts/i18n/delete/ur.json +12 -0
  1566. pywikibot_scripts/i18n/delete/uz.json +10 -0
  1567. pywikibot_scripts/i18n/delete/vec.json +15 -0
  1568. pywikibot_scripts/i18n/delete/vi.json +12 -0
  1569. pywikibot_scripts/i18n/delete/vo.json +10 -0
  1570. pywikibot_scripts/i18n/delete/war.json +12 -0
  1571. pywikibot_scripts/i18n/delete/xmf.json +11 -0
  1572. pywikibot_scripts/i18n/delete/yi.json +12 -0
  1573. pywikibot_scripts/i18n/delete/yue.json +8 -0
  1574. pywikibot_scripts/i18n/delete/zh.json +14 -0
  1575. pywikibot_scripts/i18n/delinker/ar.json +9 -0
  1576. pywikibot_scripts/i18n/delinker/be-tarask.json +8 -0
  1577. pywikibot_scripts/i18n/delinker/bn.json +8 -0
  1578. pywikibot_scripts/i18n/delinker/br.json +8 -0
  1579. pywikibot_scripts/i18n/delinker/ca.json +9 -0
  1580. pywikibot_scripts/i18n/delinker/ckb.json +8 -0
  1581. pywikibot_scripts/i18n/delinker/cy.json +9 -0
  1582. pywikibot_scripts/i18n/delinker/de.json +8 -0
  1583. pywikibot_scripts/i18n/delinker/diq.json +8 -0
  1584. pywikibot_scripts/i18n/delinker/el.json +9 -0
  1585. pywikibot_scripts/i18n/delinker/en.json +8 -0
  1586. pywikibot_scripts/i18n/delinker/es.json +9 -0
  1587. pywikibot_scripts/i18n/delinker/fa.json +8 -0
  1588. pywikibot_scripts/i18n/delinker/fr.json +8 -0
  1589. pywikibot_scripts/i18n/delinker/frr.json +9 -0
  1590. pywikibot_scripts/i18n/delinker/gl.json +9 -0
  1591. pywikibot_scripts/i18n/delinker/he.json +10 -0
  1592. pywikibot_scripts/i18n/delinker/ia.json +8 -0
  1593. pywikibot_scripts/i18n/delinker/id.json +9 -0
  1594. pywikibot_scripts/i18n/delinker/io.json +9 -0
  1595. pywikibot_scripts/i18n/delinker/it.json +8 -0
  1596. pywikibot_scripts/i18n/delinker/ja.json +8 -0
  1597. pywikibot_scripts/i18n/delinker/ko.json +9 -0
  1598. pywikibot_scripts/i18n/delinker/krc.json +9 -0
  1599. pywikibot_scripts/i18n/delinker/ku.json +8 -0
  1600. pywikibot_scripts/i18n/delinker/lb.json +9 -0
  1601. pywikibot_scripts/i18n/delinker/lt.json +8 -0
  1602. pywikibot_scripts/i18n/delinker/mk.json +8 -0
  1603. pywikibot_scripts/i18n/delinker/nb.json +8 -0
  1604. pywikibot_scripts/i18n/delinker/nl.json +9 -0
  1605. pywikibot_scripts/i18n/delinker/nqo.json +8 -0
  1606. pywikibot_scripts/i18n/delinker/nyn.json +9 -0
  1607. pywikibot_scripts/i18n/delinker/pt-br.json +9 -0
  1608. pywikibot_scripts/i18n/delinker/pt.json +9 -0
  1609. pywikibot_scripts/i18n/delinker/qqq.json +8 -0
  1610. pywikibot_scripts/i18n/delinker/ru.json +8 -0
  1611. pywikibot_scripts/i18n/delinker/sk.json +9 -0
  1612. pywikibot_scripts/i18n/delinker/sl.json +9 -0
  1613. pywikibot_scripts/i18n/delinker/sr.json +8 -0
  1614. pywikibot_scripts/i18n/delinker/sv.json +9 -0
  1615. pywikibot_scripts/i18n/delinker/te.json +9 -0
  1616. pywikibot_scripts/i18n/delinker/tr.json +9 -0
  1617. pywikibot_scripts/i18n/delinker/uk.json +9 -0
  1618. pywikibot_scripts/i18n/delinker/vi.json +8 -0
  1619. pywikibot_scripts/i18n/delinker/zh.json +10 -0
  1620. pywikibot_scripts/i18n/djvutext/ar.json +10 -0
  1621. pywikibot_scripts/i18n/djvutext/ast.json +9 -0
  1622. pywikibot_scripts/i18n/djvutext/awa.json +8 -0
  1623. pywikibot_scripts/i18n/djvutext/az.json +8 -0
  1624. pywikibot_scripts/i18n/djvutext/azb.json +8 -0
  1625. pywikibot_scripts/i18n/djvutext/ba.json +8 -0
  1626. pywikibot_scripts/i18n/djvutext/bcc.json +8 -0
  1627. pywikibot_scripts/i18n/djvutext/be-tarask.json +8 -0
  1628. pywikibot_scripts/i18n/djvutext/bn.json +8 -0
  1629. pywikibot_scripts/i18n/djvutext/br.json +8 -0
  1630. pywikibot_scripts/i18n/djvutext/bs.json +8 -0
  1631. pywikibot_scripts/i18n/djvutext/ca.json +10 -0
  1632. pywikibot_scripts/i18n/djvutext/ce.json +8 -0
  1633. pywikibot_scripts/i18n/djvutext/cs.json +11 -0
  1634. pywikibot_scripts/i18n/djvutext/csb.json +8 -0
  1635. pywikibot_scripts/i18n/djvutext/cy.json +9 -0
  1636. pywikibot_scripts/i18n/djvutext/da.json +9 -0
  1637. pywikibot_scripts/i18n/djvutext/de.json +9 -0
  1638. pywikibot_scripts/i18n/djvutext/diq.json +8 -0
  1639. pywikibot_scripts/i18n/djvutext/el.json +8 -0
  1640. pywikibot_scripts/i18n/djvutext/en.json +4 -0
  1641. pywikibot_scripts/i18n/djvutext/eo.json +9 -0
  1642. pywikibot_scripts/i18n/djvutext/es.json +10 -0
  1643. pywikibot_scripts/i18n/djvutext/et.json +8 -0
  1644. pywikibot_scripts/i18n/djvutext/eu.json +8 -0
  1645. pywikibot_scripts/i18n/djvutext/fa.json +8 -0
  1646. pywikibot_scripts/i18n/djvutext/fi.json +9 -0
  1647. pywikibot_scripts/i18n/djvutext/fo.json +8 -0
  1648. pywikibot_scripts/i18n/djvutext/fr.json +9 -0
  1649. pywikibot_scripts/i18n/djvutext/frp.json +8 -0
  1650. pywikibot_scripts/i18n/djvutext/frr.json +8 -0
  1651. pywikibot_scripts/i18n/djvutext/gl.json +8 -0
  1652. pywikibot_scripts/i18n/djvutext/gsw.json +8 -0
  1653. pywikibot_scripts/i18n/djvutext/hak.json +8 -0
  1654. pywikibot_scripts/i18n/djvutext/haw.json +8 -0
  1655. pywikibot_scripts/i18n/djvutext/he.json +8 -0
  1656. pywikibot_scripts/i18n/djvutext/hi.json +9 -0
  1657. pywikibot_scripts/i18n/djvutext/hu.json +8 -0
  1658. pywikibot_scripts/i18n/djvutext/ia.json +8 -0
  1659. pywikibot_scripts/i18n/djvutext/id.json +11 -0
  1660. pywikibot_scripts/i18n/djvutext/ilo.json +8 -0
  1661. pywikibot_scripts/i18n/djvutext/io.json +8 -0
  1662. pywikibot_scripts/i18n/djvutext/is.json +8 -0
  1663. pywikibot_scripts/i18n/djvutext/it.json +9 -0
  1664. pywikibot_scripts/i18n/djvutext/ja.json +9 -0
  1665. pywikibot_scripts/i18n/djvutext/jv.json +8 -0
  1666. pywikibot_scripts/i18n/djvutext/kab.json +8 -0
  1667. pywikibot_scripts/i18n/djvutext/kn.json +8 -0
  1668. pywikibot_scripts/i18n/djvutext/ko.json +9 -0
  1669. pywikibot_scripts/i18n/djvutext/krc.json +8 -0
  1670. pywikibot_scripts/i18n/djvutext/ksh.json +8 -0
  1671. pywikibot_scripts/i18n/djvutext/ku.json +8 -0
  1672. pywikibot_scripts/i18n/djvutext/lb.json +9 -0
  1673. pywikibot_scripts/i18n/djvutext/li.json +8 -0
  1674. pywikibot_scripts/i18n/djvutext/lt.json +8 -0
  1675. pywikibot_scripts/i18n/djvutext/map-bms.json +8 -0
  1676. pywikibot_scripts/i18n/djvutext/mg.json +8 -0
  1677. pywikibot_scripts/i18n/djvutext/min.json +9 -0
  1678. pywikibot_scripts/i18n/djvutext/mk.json +8 -0
  1679. pywikibot_scripts/i18n/djvutext/ml.json +8 -0
  1680. pywikibot_scripts/i18n/djvutext/ms.json +8 -0
  1681. pywikibot_scripts/i18n/djvutext/nan.json +9 -0
  1682. pywikibot_scripts/i18n/djvutext/nb.json +8 -0
  1683. pywikibot_scripts/i18n/djvutext/nds-nl.json +8 -0
  1684. pywikibot_scripts/i18n/djvutext/ne.json +8 -0
  1685. pywikibot_scripts/i18n/djvutext/new.json +8 -0
  1686. pywikibot_scripts/i18n/djvutext/nl.json +8 -0
  1687. pywikibot_scripts/i18n/djvutext/nqo.json +8 -0
  1688. pywikibot_scripts/i18n/djvutext/oc.json +8 -0
  1689. pywikibot_scripts/i18n/djvutext/or.json +8 -0
  1690. pywikibot_scripts/i18n/djvutext/pl.json +8 -0
  1691. pywikibot_scripts/i18n/djvutext/pms.json +8 -0
  1692. pywikibot_scripts/i18n/djvutext/pt-br.json +8 -0
  1693. pywikibot_scripts/i18n/djvutext/pt.json +9 -0
  1694. pywikibot_scripts/i18n/djvutext/qqq.json +10 -0
  1695. pywikibot_scripts/i18n/djvutext/ro.json +8 -0
  1696. pywikibot_scripts/i18n/djvutext/ru.json +10 -0
  1697. pywikibot_scripts/i18n/djvutext/sco.json +8 -0
  1698. pywikibot_scripts/i18n/djvutext/sk.json +9 -0
  1699. pywikibot_scripts/i18n/djvutext/sl.json +8 -0
  1700. pywikibot_scripts/i18n/djvutext/so.json +8 -0
  1701. pywikibot_scripts/i18n/djvutext/sq.json +8 -0
  1702. pywikibot_scripts/i18n/djvutext/sr.json +11 -0
  1703. pywikibot_scripts/i18n/djvutext/su.json +8 -0
  1704. pywikibot_scripts/i18n/djvutext/sv.json +9 -0
  1705. pywikibot_scripts/i18n/djvutext/sw.json +8 -0
  1706. pywikibot_scripts/i18n/djvutext/szl.json +8 -0
  1707. pywikibot_scripts/i18n/djvutext/te.json +8 -0
  1708. pywikibot_scripts/i18n/djvutext/th.json +9 -0
  1709. pywikibot_scripts/i18n/djvutext/tl.json +8 -0
  1710. pywikibot_scripts/i18n/djvutext/tly.json +8 -0
  1711. pywikibot_scripts/i18n/djvutext/tr.json +9 -0
  1712. pywikibot_scripts/i18n/djvutext/uk.json +8 -0
  1713. pywikibot_scripts/i18n/djvutext/ur.json +8 -0
  1714. pywikibot_scripts/i18n/djvutext/vec.json +8 -0
  1715. pywikibot_scripts/i18n/djvutext/vi.json +8 -0
  1716. pywikibot_scripts/i18n/djvutext/war.json +8 -0
  1717. pywikibot_scripts/i18n/djvutext/zh.json +9 -0
  1718. pywikibot_scripts/i18n/fixing_redirects/af.json +8 -0
  1719. pywikibot_scripts/i18n/fixing_redirects/ar.json +6 -0
  1720. pywikibot_scripts/i18n/fixing_redirects/arc.json +8 -0
  1721. pywikibot_scripts/i18n/fixing_redirects/ast.json +9 -0
  1722. pywikibot_scripts/i18n/fixing_redirects/awa.json +8 -0
  1723. pywikibot_scripts/i18n/fixing_redirects/az.json +8 -0
  1724. pywikibot_scripts/i18n/fixing_redirects/azb.json +8 -0
  1725. pywikibot_scripts/i18n/fixing_redirects/ba.json +8 -0
  1726. pywikibot_scripts/i18n/fixing_redirects/bcc.json +8 -0
  1727. pywikibot_scripts/i18n/fixing_redirects/be-tarask.json +8 -0
  1728. pywikibot_scripts/i18n/fixing_redirects/bg.json +8 -0
  1729. pywikibot_scripts/i18n/fixing_redirects/bn.json +10 -0
  1730. pywikibot_scripts/i18n/fixing_redirects/br.json +8 -0
  1731. pywikibot_scripts/i18n/fixing_redirects/bs.json +8 -0
  1732. pywikibot_scripts/i18n/fixing_redirects/ca.json +10 -0
  1733. pywikibot_scripts/i18n/fixing_redirects/ce.json +8 -0
  1734. pywikibot_scripts/i18n/fixing_redirects/ckb.json +9 -0
  1735. pywikibot_scripts/i18n/fixing_redirects/cs.json +10 -0
  1736. pywikibot_scripts/i18n/fixing_redirects/csb.json +8 -0
  1737. pywikibot_scripts/i18n/fixing_redirects/cy.json +9 -0
  1738. pywikibot_scripts/i18n/fixing_redirects/da.json +9 -0
  1739. pywikibot_scripts/i18n/fixing_redirects/de.json +9 -0
  1740. pywikibot_scripts/i18n/fixing_redirects/diq.json +8 -0
  1741. pywikibot_scripts/i18n/fixing_redirects/el.json +8 -0
  1742. pywikibot_scripts/i18n/fixing_redirects/en.json +4 -0
  1743. pywikibot_scripts/i18n/fixing_redirects/eo.json +9 -0
  1744. pywikibot_scripts/i18n/fixing_redirects/es.json +10 -0
  1745. pywikibot_scripts/i18n/fixing_redirects/et.json +8 -0
  1746. pywikibot_scripts/i18n/fixing_redirects/eu.json +8 -0
  1747. pywikibot_scripts/i18n/fixing_redirects/fa.json +6 -0
  1748. pywikibot_scripts/i18n/fixing_redirects/fi.json +8 -0
  1749. pywikibot_scripts/i18n/fixing_redirects/fo.json +8 -0
  1750. pywikibot_scripts/i18n/fixing_redirects/fr.json +9 -0
  1751. pywikibot_scripts/i18n/fixing_redirects/frp.json +8 -0
  1752. pywikibot_scripts/i18n/fixing_redirects/frr.json +8 -0
  1753. pywikibot_scripts/i18n/fixing_redirects/gl.json +8 -0
  1754. pywikibot_scripts/i18n/fixing_redirects/gsw.json +8 -0
  1755. pywikibot_scripts/i18n/fixing_redirects/hak.json +8 -0
  1756. pywikibot_scripts/i18n/fixing_redirects/haw.json +8 -0
  1757. pywikibot_scripts/i18n/fixing_redirects/he.json +6 -0
  1758. pywikibot_scripts/i18n/fixing_redirects/hi.json +9 -0
  1759. pywikibot_scripts/i18n/fixing_redirects/hr.json +8 -0
  1760. pywikibot_scripts/i18n/fixing_redirects/hu.json +8 -0
  1761. pywikibot_scripts/i18n/fixing_redirects/hy.json +8 -0
  1762. pywikibot_scripts/i18n/fixing_redirects/ia.json +8 -0
  1763. pywikibot_scripts/i18n/fixing_redirects/id.json +8 -0
  1764. pywikibot_scripts/i18n/fixing_redirects/ilo.json +8 -0
  1765. pywikibot_scripts/i18n/fixing_redirects/io.json +8 -0
  1766. pywikibot_scripts/i18n/fixing_redirects/is.json +8 -0
  1767. pywikibot_scripts/i18n/fixing_redirects/it.json +8 -0
  1768. pywikibot_scripts/i18n/fixing_redirects/ja.json +9 -0
  1769. pywikibot_scripts/i18n/fixing_redirects/jv.json +8 -0
  1770. pywikibot_scripts/i18n/fixing_redirects/kab.json +8 -0
  1771. pywikibot_scripts/i18n/fixing_redirects/kk.json +8 -0
  1772. pywikibot_scripts/i18n/fixing_redirects/kn.json +8 -0
  1773. pywikibot_scripts/i18n/fixing_redirects/ko.json +8 -0
  1774. pywikibot_scripts/i18n/fixing_redirects/krc.json +8 -0
  1775. pywikibot_scripts/i18n/fixing_redirects/ksh.json +8 -0
  1776. pywikibot_scripts/i18n/fixing_redirects/ku.json +8 -0
  1777. pywikibot_scripts/i18n/fixing_redirects/ky.json +8 -0
  1778. pywikibot_scripts/i18n/fixing_redirects/lb.json +8 -0
  1779. pywikibot_scripts/i18n/fixing_redirects/li.json +8 -0
  1780. pywikibot_scripts/i18n/fixing_redirects/lt.json +8 -0
  1781. pywikibot_scripts/i18n/fixing_redirects/lv.json +8 -0
  1782. pywikibot_scripts/i18n/fixing_redirects/map-bms.json +8 -0
  1783. pywikibot_scripts/i18n/fixing_redirects/mg.json +8 -0
  1784. pywikibot_scripts/i18n/fixing_redirects/min.json +8 -0
  1785. pywikibot_scripts/i18n/fixing_redirects/mk.json +8 -0
  1786. pywikibot_scripts/i18n/fixing_redirects/ml.json +8 -0
  1787. pywikibot_scripts/i18n/fixing_redirects/ms.json +8 -0
  1788. pywikibot_scripts/i18n/fixing_redirects/mt.json +8 -0
  1789. pywikibot_scripts/i18n/fixing_redirects/my.json +8 -0
  1790. pywikibot_scripts/i18n/fixing_redirects/nan.json +9 -0
  1791. pywikibot_scripts/i18n/fixing_redirects/nb.json +6 -0
  1792. pywikibot_scripts/i18n/fixing_redirects/nds-nl.json +8 -0
  1793. pywikibot_scripts/i18n/fixing_redirects/ne.json +9 -0
  1794. pywikibot_scripts/i18n/fixing_redirects/new.json +8 -0
  1795. pywikibot_scripts/i18n/fixing_redirects/nl.json +8 -0
  1796. pywikibot_scripts/i18n/fixing_redirects/nn.json +6 -0
  1797. pywikibot_scripts/i18n/fixing_redirects/nqo.json +8 -0
  1798. pywikibot_scripts/i18n/fixing_redirects/oc.json +8 -0
  1799. pywikibot_scripts/i18n/fixing_redirects/pl.json +6 -0
  1800. pywikibot_scripts/i18n/fixing_redirects/pms.json +8 -0
  1801. pywikibot_scripts/i18n/fixing_redirects/pt-br.json +8 -0
  1802. pywikibot_scripts/i18n/fixing_redirects/pt.json +9 -0
  1803. pywikibot_scripts/i18n/fixing_redirects/qqq.json +8 -0
  1804. pywikibot_scripts/i18n/fixing_redirects/ro.json +8 -0
  1805. pywikibot_scripts/i18n/fixing_redirects/ru.json +10 -0
  1806. pywikibot_scripts/i18n/fixing_redirects/sco.json +8 -0
  1807. pywikibot_scripts/i18n/fixing_redirects/sd.json +9 -0
  1808. pywikibot_scripts/i18n/fixing_redirects/sh.json +8 -0
  1809. pywikibot_scripts/i18n/fixing_redirects/si.json +8 -0
  1810. pywikibot_scripts/i18n/fixing_redirects/sk.json +9 -0
  1811. pywikibot_scripts/i18n/fixing_redirects/skr.json +8 -0
  1812. pywikibot_scripts/i18n/fixing_redirects/sl.json +8 -0
  1813. pywikibot_scripts/i18n/fixing_redirects/so.json +8 -0
  1814. pywikibot_scripts/i18n/fixing_redirects/sq.json +9 -0
  1815. pywikibot_scripts/i18n/fixing_redirects/sr.json +11 -0
  1816. pywikibot_scripts/i18n/fixing_redirects/su.json +8 -0
  1817. pywikibot_scripts/i18n/fixing_redirects/sv.json +6 -0
  1818. pywikibot_scripts/i18n/fixing_redirects/sw.json +8 -0
  1819. pywikibot_scripts/i18n/fixing_redirects/szl.json +8 -0
  1820. pywikibot_scripts/i18n/fixing_redirects/ta.json +8 -0
  1821. pywikibot_scripts/i18n/fixing_redirects/te.json +8 -0
  1822. pywikibot_scripts/i18n/fixing_redirects/th.json +9 -0
  1823. pywikibot_scripts/i18n/fixing_redirects/tl.json +8 -0
  1824. pywikibot_scripts/i18n/fixing_redirects/tly.json +8 -0
  1825. pywikibot_scripts/i18n/fixing_redirects/tr.json +9 -0
  1826. pywikibot_scripts/i18n/fixing_redirects/uk.json +8 -0
  1827. pywikibot_scripts/i18n/fixing_redirects/ur.json +8 -0
  1828. pywikibot_scripts/i18n/fixing_redirects/uz.json +8 -0
  1829. pywikibot_scripts/i18n/fixing_redirects/vec.json +8 -0
  1830. pywikibot_scripts/i18n/fixing_redirects/vi.json +8 -0
  1831. pywikibot_scripts/i18n/fixing_redirects/wa.json +8 -0
  1832. pywikibot_scripts/i18n/fixing_redirects/war.json +8 -0
  1833. pywikibot_scripts/i18n/fixing_redirects/yi.json +8 -0
  1834. pywikibot_scripts/i18n/fixing_redirects/zh.json +8 -0
  1835. pywikibot_scripts/i18n/image/ar.json +10 -0
  1836. pywikibot_scripts/i18n/image/ast.json +9 -0
  1837. pywikibot_scripts/i18n/image/az.json +9 -0
  1838. pywikibot_scripts/i18n/image/azb.json +9 -0
  1839. pywikibot_scripts/i18n/image/ba.json +9 -0
  1840. pywikibot_scripts/i18n/image/be-tarask.json +9 -0
  1841. pywikibot_scripts/i18n/image/bg.json +10 -0
  1842. pywikibot_scripts/i18n/image/bn.json +11 -0
  1843. pywikibot_scripts/i18n/image/br.json +9 -0
  1844. pywikibot_scripts/i18n/image/bs.json +10 -0
  1845. pywikibot_scripts/i18n/image/ca.json +9 -0
  1846. pywikibot_scripts/i18n/image/ckb.json +10 -0
  1847. pywikibot_scripts/i18n/image/cs.json +11 -0
  1848. pywikibot_scripts/i18n/image/csb.json +9 -0
  1849. pywikibot_scripts/i18n/image/cy.json +9 -0
  1850. pywikibot_scripts/i18n/image/da.json +9 -0
  1851. pywikibot_scripts/i18n/image/de.json +9 -0
  1852. pywikibot_scripts/i18n/image/diq.json +10 -0
  1853. pywikibot_scripts/i18n/image/el.json +9 -0
  1854. pywikibot_scripts/i18n/image/en.json +9 -0
  1855. pywikibot_scripts/i18n/image/eo.json +9 -0
  1856. pywikibot_scripts/i18n/image/es.json +11 -0
  1857. pywikibot_scripts/i18n/image/eu.json +9 -0
  1858. pywikibot_scripts/i18n/image/fa.json +9 -0
  1859. pywikibot_scripts/i18n/image/fi.json +9 -0
  1860. pywikibot_scripts/i18n/image/fr.json +12 -0
  1861. pywikibot_scripts/i18n/image/frr.json +9 -0
  1862. pywikibot_scripts/i18n/image/gl.json +9 -0
  1863. pywikibot_scripts/i18n/image/he.json +9 -0
  1864. pywikibot_scripts/i18n/image/hi.json +9 -0
  1865. pywikibot_scripts/i18n/image/hu.json +9 -0
  1866. pywikibot_scripts/i18n/image/ia.json +9 -0
  1867. pywikibot_scripts/i18n/image/id.json +10 -0
  1868. pywikibot_scripts/i18n/image/io.json +9 -0
  1869. pywikibot_scripts/i18n/image/it.json +10 -0
  1870. pywikibot_scripts/i18n/image/ja.json +10 -0
  1871. pywikibot_scripts/i18n/image/kab.json +9 -0
  1872. pywikibot_scripts/i18n/image/ko.json +10 -0
  1873. pywikibot_scripts/i18n/image/krc.json +9 -0
  1874. pywikibot_scripts/i18n/image/ksh.json +9 -0
  1875. pywikibot_scripts/i18n/image/ku.json +9 -0
  1876. pywikibot_scripts/i18n/image/lag.json +8 -0
  1877. pywikibot_scripts/i18n/image/lb.json +9 -0
  1878. pywikibot_scripts/i18n/image/li.json +9 -0
  1879. pywikibot_scripts/i18n/image/lt.json +9 -0
  1880. pywikibot_scripts/i18n/image/mg.json +9 -0
  1881. pywikibot_scripts/i18n/image/mk.json +9 -0
  1882. pywikibot_scripts/i18n/image/ml.json +9 -0
  1883. pywikibot_scripts/i18n/image/ms.json +9 -0
  1884. pywikibot_scripts/i18n/image/my.json +9 -0
  1885. pywikibot_scripts/i18n/image/nan.json +10 -0
  1886. pywikibot_scripts/i18n/image/nb.json +10 -0
  1887. pywikibot_scripts/i18n/image/nds-nl.json +9 -0
  1888. pywikibot_scripts/i18n/image/nl.json +10 -0
  1889. pywikibot_scripts/i18n/image/nn.json +9 -0
  1890. pywikibot_scripts/i18n/image/no.json +9 -0
  1891. pywikibot_scripts/i18n/image/nqo.json +9 -0
  1892. pywikibot_scripts/i18n/image/pl.json +9 -0
  1893. pywikibot_scripts/i18n/image/pt-br.json +10 -0
  1894. pywikibot_scripts/i18n/image/pt.json +10 -0
  1895. pywikibot_scripts/i18n/image/qqq.json +9 -0
  1896. pywikibot_scripts/i18n/image/ro.json +9 -0
  1897. pywikibot_scripts/i18n/image/ru.json +9 -0
  1898. pywikibot_scripts/i18n/image/sk.json +10 -0
  1899. pywikibot_scripts/i18n/image/sl.json +9 -0
  1900. pywikibot_scripts/i18n/image/sr.json +12 -0
  1901. pywikibot_scripts/i18n/image/su.json +9 -0
  1902. pywikibot_scripts/i18n/image/sv.json +9 -0
  1903. pywikibot_scripts/i18n/image/ta.json +9 -0
  1904. pywikibot_scripts/i18n/image/th.json +9 -0
  1905. pywikibot_scripts/i18n/image/tr.json +9 -0
  1906. pywikibot_scripts/i18n/image/uk.json +9 -0
  1907. pywikibot_scripts/i18n/image/ur.json +9 -0
  1908. pywikibot_scripts/i18n/image/vi.json +9 -0
  1909. pywikibot_scripts/i18n/image/zh.json +11 -0
  1910. pywikibot_scripts/i18n/imagetransfer/ar.json +9 -0
  1911. pywikibot_scripts/i18n/imagetransfer/ast.json +9 -0
  1912. pywikibot_scripts/i18n/imagetransfer/azb.json +9 -0
  1913. pywikibot_scripts/i18n/imagetransfer/ba.json +9 -0
  1914. pywikibot_scripts/i18n/imagetransfer/be-tarask.json +10 -0
  1915. pywikibot_scripts/i18n/imagetransfer/bg.json +8 -0
  1916. pywikibot_scripts/i18n/imagetransfer/bn.json +9 -0
  1917. pywikibot_scripts/i18n/imagetransfer/br.json +9 -0
  1918. pywikibot_scripts/i18n/imagetransfer/bs.json +10 -0
  1919. pywikibot_scripts/i18n/imagetransfer/ca.json +10 -0
  1920. pywikibot_scripts/i18n/imagetransfer/ckb.json +8 -0
  1921. pywikibot_scripts/i18n/imagetransfer/cs.json +10 -0
  1922. pywikibot_scripts/i18n/imagetransfer/csb.json +9 -0
  1923. pywikibot_scripts/i18n/imagetransfer/cy.json +9 -0
  1924. pywikibot_scripts/i18n/imagetransfer/da.json +9 -0
  1925. pywikibot_scripts/i18n/imagetransfer/de.json +9 -0
  1926. pywikibot_scripts/i18n/imagetransfer/diq.json +9 -0
  1927. pywikibot_scripts/i18n/imagetransfer/dty.json +8 -0
  1928. pywikibot_scripts/i18n/imagetransfer/el.json +10 -0
  1929. pywikibot_scripts/i18n/imagetransfer/en.json +9 -0
  1930. pywikibot_scripts/i18n/imagetransfer/eo.json +9 -0
  1931. pywikibot_scripts/i18n/imagetransfer/es.json +9 -0
  1932. pywikibot_scripts/i18n/imagetransfer/eu.json +10 -0
  1933. pywikibot_scripts/i18n/imagetransfer/fa.json +12 -0
  1934. pywikibot_scripts/i18n/imagetransfer/fi.json +10 -0
  1935. pywikibot_scripts/i18n/imagetransfer/fr.json +12 -0
  1936. pywikibot_scripts/i18n/imagetransfer/frr.json +9 -0
  1937. pywikibot_scripts/i18n/imagetransfer/gl.json +9 -0
  1938. pywikibot_scripts/i18n/imagetransfer/he.json +9 -0
  1939. pywikibot_scripts/i18n/imagetransfer/hi.json +9 -0
  1940. pywikibot_scripts/i18n/imagetransfer/hu.json +9 -0
  1941. pywikibot_scripts/i18n/imagetransfer/ia.json +9 -0
  1942. pywikibot_scripts/i18n/imagetransfer/id.json +10 -0
  1943. pywikibot_scripts/i18n/imagetransfer/io.json +9 -0
  1944. pywikibot_scripts/i18n/imagetransfer/is.json +9 -0
  1945. pywikibot_scripts/i18n/imagetransfer/it.json +9 -0
  1946. pywikibot_scripts/i18n/imagetransfer/ja.json +11 -0
  1947. pywikibot_scripts/i18n/imagetransfer/kab.json +9 -0
  1948. pywikibot_scripts/i18n/imagetransfer/kk.json +9 -0
  1949. pywikibot_scripts/i18n/imagetransfer/ko.json +10 -0
  1950. pywikibot_scripts/i18n/imagetransfer/krc.json +9 -0
  1951. pywikibot_scripts/i18n/imagetransfer/ksh.json +9 -0
  1952. pywikibot_scripts/i18n/imagetransfer/lb.json +9 -0
  1953. pywikibot_scripts/i18n/imagetransfer/li.json +9 -0
  1954. pywikibot_scripts/i18n/imagetransfer/lki.json +8 -0
  1955. pywikibot_scripts/i18n/imagetransfer/lt.json +10 -0
  1956. pywikibot_scripts/i18n/imagetransfer/mg.json +9 -0
  1957. pywikibot_scripts/i18n/imagetransfer/mk.json +9 -0
  1958. pywikibot_scripts/i18n/imagetransfer/ml.json +9 -0
  1959. pywikibot_scripts/i18n/imagetransfer/ms.json +9 -0
  1960. pywikibot_scripts/i18n/imagetransfer/my.json +9 -0
  1961. pywikibot_scripts/i18n/imagetransfer/nan.json +10 -0
  1962. pywikibot_scripts/i18n/imagetransfer/nb.json +9 -0
  1963. pywikibot_scripts/i18n/imagetransfer/nds-nl.json +9 -0
  1964. pywikibot_scripts/i18n/imagetransfer/nl.json +10 -0
  1965. pywikibot_scripts/i18n/imagetransfer/nqo.json +9 -0
  1966. pywikibot_scripts/i18n/imagetransfer/pl.json +9 -0
  1967. pywikibot_scripts/i18n/imagetransfer/pt-br.json +10 -0
  1968. pywikibot_scripts/i18n/imagetransfer/pt.json +11 -0
  1969. pywikibot_scripts/i18n/imagetransfer/qqq.json +9 -0
  1970. pywikibot_scripts/i18n/imagetransfer/ro.json +9 -0
  1971. pywikibot_scripts/i18n/imagetransfer/ru.json +9 -0
  1972. pywikibot_scripts/i18n/imagetransfer/scn.json +8 -0
  1973. pywikibot_scripts/i18n/imagetransfer/sk.json +10 -0
  1974. pywikibot_scripts/i18n/imagetransfer/sl.json +9 -0
  1975. pywikibot_scripts/i18n/imagetransfer/sr.json +13 -0
  1976. pywikibot_scripts/i18n/imagetransfer/su.json +9 -0
  1977. pywikibot_scripts/i18n/imagetransfer/sv.json +9 -0
  1978. pywikibot_scripts/i18n/imagetransfer/ta.json +8 -0
  1979. pywikibot_scripts/i18n/imagetransfer/te.json +8 -0
  1980. pywikibot_scripts/i18n/imagetransfer/th.json +10 -0
  1981. pywikibot_scripts/i18n/imagetransfer/tr.json +9 -0
  1982. pywikibot_scripts/i18n/imagetransfer/uk.json +9 -0
  1983. pywikibot_scripts/i18n/imagetransfer/ur.json +9 -0
  1984. pywikibot_scripts/i18n/imagetransfer/vi.json +9 -0
  1985. pywikibot_scripts/i18n/imagetransfer/xmf.json +8 -0
  1986. pywikibot_scripts/i18n/imagetransfer/yi.json +8 -0
  1987. pywikibot_scripts/i18n/imagetransfer/zh.json +10 -0
  1988. pywikibot_scripts/i18n/interwiki/aeb.json +8 -0
  1989. pywikibot_scripts/i18n/interwiki/af.json +15 -0
  1990. pywikibot_scripts/i18n/interwiki/am.json +14 -0
  1991. pywikibot_scripts/i18n/interwiki/an.json +15 -0
  1992. pywikibot_scripts/i18n/interwiki/ang.json +12 -0
  1993. pywikibot_scripts/i18n/interwiki/ar.json +17 -0
  1994. pywikibot_scripts/i18n/interwiki/arc.json +15 -0
  1995. pywikibot_scripts/i18n/interwiki/arz.json +11 -0
  1996. pywikibot_scripts/i18n/interwiki/as.json +12 -0
  1997. pywikibot_scripts/i18n/interwiki/ast.json +18 -0
  1998. pywikibot_scripts/i18n/interwiki/az.json +15 -0
  1999. pywikibot_scripts/i18n/interwiki/azb.json +15 -0
  2000. pywikibot_scripts/i18n/interwiki/ba.json +15 -0
  2001. pywikibot_scripts/i18n/interwiki/bar.json +15 -0
  2002. pywikibot_scripts/i18n/interwiki/bcc.json +15 -0
  2003. pywikibot_scripts/i18n/interwiki/bcl.json +12 -0
  2004. pywikibot_scripts/i18n/interwiki/be-tarask.json +17 -0
  2005. pywikibot_scripts/i18n/interwiki/be.json +16 -0
  2006. pywikibot_scripts/i18n/interwiki/bg.json +15 -0
  2007. pywikibot_scripts/i18n/interwiki/bjn.json +13 -0
  2008. pywikibot_scripts/i18n/interwiki/bn.json +15 -0
  2009. pywikibot_scripts/i18n/interwiki/bo.json +12 -0
  2010. pywikibot_scripts/i18n/interwiki/bpy.json +12 -0
  2011. pywikibot_scripts/i18n/interwiki/br.json +15 -0
  2012. pywikibot_scripts/i18n/interwiki/bs.json +16 -0
  2013. pywikibot_scripts/i18n/interwiki/ca.json +16 -0
  2014. pywikibot_scripts/i18n/interwiki/ce.json +15 -0
  2015. pywikibot_scripts/i18n/interwiki/ceb.json +12 -0
  2016. pywikibot_scripts/i18n/interwiki/ckb.json +18 -0
  2017. pywikibot_scripts/i18n/interwiki/crh.json +10 -0
  2018. pywikibot_scripts/i18n/interwiki/cs.json +18 -0
  2019. pywikibot_scripts/i18n/interwiki/csb.json +15 -0
  2020. pywikibot_scripts/i18n/interwiki/cu.json +14 -0
  2021. pywikibot_scripts/i18n/interwiki/cv.json +14 -0
  2022. pywikibot_scripts/i18n/interwiki/cy.json +15 -0
  2023. pywikibot_scripts/i18n/interwiki/da.json +16 -0
  2024. pywikibot_scripts/i18n/interwiki/de.json +15 -0
  2025. pywikibot_scripts/i18n/interwiki/diq.json +16 -0
  2026. pywikibot_scripts/i18n/interwiki/dv.json +12 -0
  2027. pywikibot_scripts/i18n/interwiki/el.json +13 -0
  2028. pywikibot_scripts/i18n/interwiki/eml.json +17 -0
  2029. pywikibot_scripts/i18n/interwiki/en.json +11 -0
  2030. pywikibot_scripts/i18n/interwiki/eo.json +15 -0
  2031. pywikibot_scripts/i18n/interwiki/es.json +18 -0
  2032. pywikibot_scripts/i18n/interwiki/et.json +15 -0
  2033. pywikibot_scripts/i18n/interwiki/eu.json +15 -0
  2034. pywikibot_scripts/i18n/interwiki/ext.json +15 -0
  2035. pywikibot_scripts/i18n/interwiki/fa.json +15 -0
  2036. pywikibot_scripts/i18n/interwiki/fi.json +16 -0
  2037. pywikibot_scripts/i18n/interwiki/fo.json +13 -0
  2038. pywikibot_scripts/i18n/interwiki/fr.json +19 -0
  2039. pywikibot_scripts/i18n/interwiki/frp.json +15 -0
  2040. pywikibot_scripts/i18n/interwiki/frr.json +16 -0
  2041. pywikibot_scripts/i18n/interwiki/fur.json +15 -0
  2042. pywikibot_scripts/i18n/interwiki/fy.json +12 -0
  2043. pywikibot_scripts/i18n/interwiki/ga.json +12 -0
  2044. pywikibot_scripts/i18n/interwiki/gan.json +8 -0
  2045. pywikibot_scripts/i18n/interwiki/gl.json +15 -0
  2046. pywikibot_scripts/i18n/interwiki/gn.json +12 -0
  2047. pywikibot_scripts/i18n/interwiki/gsw.json +16 -0
  2048. pywikibot_scripts/i18n/interwiki/gu.json +14 -0
  2049. pywikibot_scripts/i18n/interwiki/gv.json +12 -0
  2050. pywikibot_scripts/i18n/interwiki/hak.json +15 -0
  2051. pywikibot_scripts/i18n/interwiki/haw.json +15 -0
  2052. pywikibot_scripts/i18n/interwiki/he.json +13 -0
  2053. pywikibot_scripts/i18n/interwiki/hi.json +16 -0
  2054. pywikibot_scripts/i18n/interwiki/hif.json +8 -0
  2055. pywikibot_scripts/i18n/interwiki/hr.json +12 -0
  2056. pywikibot_scripts/i18n/interwiki/hsb.json +12 -0
  2057. pywikibot_scripts/i18n/interwiki/ht.json +12 -0
  2058. pywikibot_scripts/i18n/interwiki/hu.json +13 -0
  2059. pywikibot_scripts/i18n/interwiki/hy.json +13 -0
  2060. pywikibot_scripts/i18n/interwiki/ia.json +15 -0
  2061. pywikibot_scripts/i18n/interwiki/id.json +16 -0
  2062. pywikibot_scripts/i18n/interwiki/ie.json +13 -0
  2063. pywikibot_scripts/i18n/interwiki/ilo.json +15 -0
  2064. pywikibot_scripts/i18n/interwiki/io.json +12 -0
  2065. pywikibot_scripts/i18n/interwiki/is.json +15 -0
  2066. pywikibot_scripts/i18n/interwiki/it.json +16 -0
  2067. pywikibot_scripts/i18n/interwiki/ja.json +17 -0
  2068. pywikibot_scripts/i18n/interwiki/jv.json +15 -0
  2069. pywikibot_scripts/i18n/interwiki/ka.json +12 -0
  2070. pywikibot_scripts/i18n/interwiki/kab.json +15 -0
  2071. pywikibot_scripts/i18n/interwiki/kk.json +15 -0
  2072. pywikibot_scripts/i18n/interwiki/kl.json +12 -0
  2073. pywikibot_scripts/i18n/interwiki/km.json +15 -0
  2074. pywikibot_scripts/i18n/interwiki/kn.json +9 -0
  2075. pywikibot_scripts/i18n/interwiki/ko.json +16 -0
  2076. pywikibot_scripts/i18n/interwiki/koi.json +12 -0
  2077. pywikibot_scripts/i18n/interwiki/krc.json +17 -0
  2078. pywikibot_scripts/i18n/interwiki/ksh.json +13 -0
  2079. pywikibot_scripts/i18n/interwiki/ku.json +18 -0
  2080. pywikibot_scripts/i18n/interwiki/kv.json +14 -0
  2081. pywikibot_scripts/i18n/interwiki/kw.json +14 -0
  2082. pywikibot_scripts/i18n/interwiki/ky.json +17 -0
  2083. pywikibot_scripts/i18n/interwiki/la.json +15 -0
  2084. pywikibot_scripts/i18n/interwiki/lad.json +15 -0
  2085. pywikibot_scripts/i18n/interwiki/lag.json +8 -0
  2086. pywikibot_scripts/i18n/interwiki/lb.json +16 -0
  2087. pywikibot_scripts/i18n/interwiki/lez.json +14 -0
  2088. pywikibot_scripts/i18n/interwiki/li.json +18 -0
  2089. pywikibot_scripts/i18n/interwiki/lmo.json +12 -0
  2090. pywikibot_scripts/i18n/interwiki/ln.json +12 -0
  2091. pywikibot_scripts/i18n/interwiki/lo.json +12 -0
  2092. pywikibot_scripts/i18n/interwiki/lt.json +15 -0
  2093. pywikibot_scripts/i18n/interwiki/ltg.json +8 -0
  2094. pywikibot_scripts/i18n/interwiki/lv.json +15 -0
  2095. pywikibot_scripts/i18n/interwiki/lzh.json +16 -0
  2096. pywikibot_scripts/i18n/interwiki/map-bms.json +16 -0
  2097. pywikibot_scripts/i18n/interwiki/mdf.json +12 -0
  2098. pywikibot_scripts/i18n/interwiki/mg.json +15 -0
  2099. pywikibot_scripts/i18n/interwiki/mhr.json +15 -0
  2100. pywikibot_scripts/i18n/interwiki/mi.json +12 -0
  2101. pywikibot_scripts/i18n/interwiki/min.json +15 -0
  2102. pywikibot_scripts/i18n/interwiki/mk.json +15 -0
  2103. pywikibot_scripts/i18n/interwiki/ml.json +15 -0
  2104. pywikibot_scripts/i18n/interwiki/mn.json +12 -0
  2105. pywikibot_scripts/i18n/interwiki/mo.json +11 -0
  2106. pywikibot_scripts/i18n/interwiki/mr.json +12 -0
  2107. pywikibot_scripts/i18n/interwiki/mrj.json +12 -0
  2108. pywikibot_scripts/i18n/interwiki/ms.json +13 -0
  2109. pywikibot_scripts/i18n/interwiki/mt.json +15 -0
  2110. pywikibot_scripts/i18n/interwiki/mwl.json +15 -0
  2111. pywikibot_scripts/i18n/interwiki/my.json +17 -0
  2112. pywikibot_scripts/i18n/interwiki/myv.json +14 -0
  2113. pywikibot_scripts/i18n/interwiki/mzn.json +12 -0
  2114. pywikibot_scripts/i18n/interwiki/nah.json +15 -0
  2115. pywikibot_scripts/i18n/interwiki/nan.json +17 -0
  2116. pywikibot_scripts/i18n/interwiki/nb.json +16 -0
  2117. pywikibot_scripts/i18n/interwiki/nds-nl.json +15 -0
  2118. pywikibot_scripts/i18n/interwiki/nds.json +12 -0
  2119. pywikibot_scripts/i18n/interwiki/ne.json +18 -0
  2120. pywikibot_scripts/i18n/interwiki/new.json +9 -0
  2121. pywikibot_scripts/i18n/interwiki/nl.json +17 -0
  2122. pywikibot_scripts/i18n/interwiki/nn.json +13 -0
  2123. pywikibot_scripts/i18n/interwiki/nov.json +12 -0
  2124. pywikibot_scripts/i18n/interwiki/nqo.json +15 -0
  2125. pywikibot_scripts/i18n/interwiki/nrm.json +12 -0
  2126. pywikibot_scripts/i18n/interwiki/nv.json +12 -0
  2127. pywikibot_scripts/i18n/interwiki/oc.json +17 -0
  2128. pywikibot_scripts/i18n/interwiki/olo.json +8 -0
  2129. pywikibot_scripts/i18n/interwiki/os.json +14 -0
  2130. pywikibot_scripts/i18n/interwiki/pcd.json +15 -0
  2131. pywikibot_scripts/i18n/interwiki/pdc.json +15 -0
  2132. pywikibot_scripts/i18n/interwiki/pfl.json +12 -0
  2133. pywikibot_scripts/i18n/interwiki/pl.json +15 -0
  2134. pywikibot_scripts/i18n/interwiki/pms.json +15 -0
  2135. pywikibot_scripts/i18n/interwiki/pnb.json +12 -0
  2136. pywikibot_scripts/i18n/interwiki/ps.json +14 -0
  2137. pywikibot_scripts/i18n/interwiki/pt-br.json +15 -0
  2138. pywikibot_scripts/i18n/interwiki/pt.json +15 -0
  2139. pywikibot_scripts/i18n/interwiki/qqq.json +17 -0
  2140. pywikibot_scripts/i18n/interwiki/qu.json +12 -0
  2141. pywikibot_scripts/i18n/interwiki/rm.json +17 -0
  2142. pywikibot_scripts/i18n/interwiki/ro.json +15 -0
  2143. pywikibot_scripts/i18n/interwiki/roa-tara.json +15 -0
  2144. pywikibot_scripts/i18n/interwiki/ru.json +16 -0
  2145. pywikibot_scripts/i18n/interwiki/rue.json +14 -0
  2146. pywikibot_scripts/i18n/interwiki/rw.json +15 -0
  2147. pywikibot_scripts/i18n/interwiki/sah.json +12 -0
  2148. pywikibot_scripts/i18n/interwiki/scn.json +16 -0
  2149. pywikibot_scripts/i18n/interwiki/sco.json +17 -0
  2150. pywikibot_scripts/i18n/interwiki/sd.json +8 -0
  2151. pywikibot_scripts/i18n/interwiki/sgs.json +12 -0
  2152. pywikibot_scripts/i18n/interwiki/si.json +15 -0
  2153. pywikibot_scripts/i18n/interwiki/sk.json +15 -0
  2154. pywikibot_scripts/i18n/interwiki/skr.json +8 -0
  2155. pywikibot_scripts/i18n/interwiki/sl.json +15 -0
  2156. pywikibot_scripts/i18n/interwiki/sms.json +8 -0
  2157. pywikibot_scripts/i18n/interwiki/so.json +15 -0
  2158. pywikibot_scripts/i18n/interwiki/sq.json +15 -0
  2159. pywikibot_scripts/i18n/interwiki/sr.json +18 -0
  2160. pywikibot_scripts/i18n/interwiki/su.json +15 -0
  2161. pywikibot_scripts/i18n/interwiki/sv.json +15 -0
  2162. pywikibot_scripts/i18n/interwiki/sw.json +17 -0
  2163. pywikibot_scripts/i18n/interwiki/szl.json +15 -0
  2164. pywikibot_scripts/i18n/interwiki/ta.json +14 -0
  2165. pywikibot_scripts/i18n/interwiki/te.json +15 -0
  2166. pywikibot_scripts/i18n/interwiki/tet.json +13 -0
  2167. pywikibot_scripts/i18n/interwiki/tg.json +12 -0
  2168. pywikibot_scripts/i18n/interwiki/th.json +16 -0
  2169. pywikibot_scripts/i18n/interwiki/tk.json +12 -0
  2170. pywikibot_scripts/i18n/interwiki/tl.json +13 -0
  2171. pywikibot_scripts/i18n/interwiki/tly.json +15 -0
  2172. pywikibot_scripts/i18n/interwiki/to.json +12 -0
  2173. pywikibot_scripts/i18n/interwiki/tr.json +16 -0
  2174. pywikibot_scripts/i18n/interwiki/tt.json +15 -0
  2175. pywikibot_scripts/i18n/interwiki/udm.json +12 -0
  2176. pywikibot_scripts/i18n/interwiki/uk.json +16 -0
  2177. pywikibot_scripts/i18n/interwiki/ur.json +15 -0
  2178. pywikibot_scripts/i18n/interwiki/uz.json +14 -0
  2179. pywikibot_scripts/i18n/interwiki/vec.json +15 -0
  2180. pywikibot_scripts/i18n/interwiki/vep.json +14 -0
  2181. pywikibot_scripts/i18n/interwiki/vi.json +16 -0
  2182. pywikibot_scripts/i18n/interwiki/vls.json +15 -0
  2183. pywikibot_scripts/i18n/interwiki/vo.json +15 -0
  2184. pywikibot_scripts/i18n/interwiki/vro.json +12 -0
  2185. pywikibot_scripts/i18n/interwiki/wa.json +16 -0
  2186. pywikibot_scripts/i18n/interwiki/war.json +15 -0
  2187. pywikibot_scripts/i18n/interwiki/xal.json +12 -0
  2188. pywikibot_scripts/i18n/interwiki/yi.json +15 -0
  2189. pywikibot_scripts/i18n/interwiki/yo.json +14 -0
  2190. pywikibot_scripts/i18n/interwiki/yue.json +17 -0
  2191. pywikibot_scripts/i18n/interwiki/zh.json +17 -0
  2192. pywikibot_scripts/i18n/interwikidata/ar.json +9 -0
  2193. pywikibot_scripts/i18n/interwikidata/ast.json +8 -0
  2194. pywikibot_scripts/i18n/interwikidata/azb.json +8 -0
  2195. pywikibot_scripts/i18n/interwikidata/ba.json +8 -0
  2196. pywikibot_scripts/i18n/interwikidata/be-tarask.json +8 -0
  2197. pywikibot_scripts/i18n/interwikidata/bg.json +8 -0
  2198. pywikibot_scripts/i18n/interwikidata/bn.json +9 -0
  2199. pywikibot_scripts/i18n/interwikidata/br.json +8 -0
  2200. pywikibot_scripts/i18n/interwikidata/bs.json +9 -0
  2201. pywikibot_scripts/i18n/interwikidata/ca.json +8 -0
  2202. pywikibot_scripts/i18n/interwikidata/ckb.json +9 -0
  2203. pywikibot_scripts/i18n/interwikidata/cs.json +11 -0
  2204. pywikibot_scripts/i18n/interwikidata/csb.json +8 -0
  2205. pywikibot_scripts/i18n/interwikidata/cy.json +8 -0
  2206. pywikibot_scripts/i18n/interwikidata/da.json +8 -0
  2207. pywikibot_scripts/i18n/interwikidata/de.json +8 -0
  2208. pywikibot_scripts/i18n/interwikidata/diq.json +8 -0
  2209. pywikibot_scripts/i18n/interwikidata/el.json +8 -0
  2210. pywikibot_scripts/i18n/interwikidata/en.json +8 -0
  2211. pywikibot_scripts/i18n/interwikidata/eo.json +8 -0
  2212. pywikibot_scripts/i18n/interwikidata/es.json +9 -0
  2213. pywikibot_scripts/i18n/interwikidata/eu.json +8 -0
  2214. pywikibot_scripts/i18n/interwikidata/fa.json +8 -0
  2215. pywikibot_scripts/i18n/interwikidata/fr.json +9 -0
  2216. pywikibot_scripts/i18n/interwikidata/frr.json +8 -0
  2217. pywikibot_scripts/i18n/interwikidata/gl.json +8 -0
  2218. pywikibot_scripts/i18n/interwikidata/he.json +8 -0
  2219. pywikibot_scripts/i18n/interwikidata/hi.json +8 -0
  2220. pywikibot_scripts/i18n/interwikidata/hu.json +8 -0
  2221. pywikibot_scripts/i18n/interwikidata/ia.json +8 -0
  2222. pywikibot_scripts/i18n/interwikidata/id.json +9 -0
  2223. pywikibot_scripts/i18n/interwikidata/it.json +8 -0
  2224. pywikibot_scripts/i18n/interwikidata/ja.json +8 -0
  2225. pywikibot_scripts/i18n/interwikidata/kab.json +8 -0
  2226. pywikibot_scripts/i18n/interwikidata/km.json +8 -0
  2227. pywikibot_scripts/i18n/interwikidata/ko.json +9 -0
  2228. pywikibot_scripts/i18n/interwikidata/krc.json +8 -0
  2229. pywikibot_scripts/i18n/interwikidata/ksh.json +8 -0
  2230. pywikibot_scripts/i18n/interwikidata/ku.json +8 -0
  2231. pywikibot_scripts/i18n/interwikidata/lb.json +8 -0
  2232. pywikibot_scripts/i18n/interwikidata/li.json +8 -0
  2233. pywikibot_scripts/i18n/interwikidata/lt.json +8 -0
  2234. pywikibot_scripts/i18n/interwikidata/lv.json +8 -0
  2235. pywikibot_scripts/i18n/interwikidata/mg.json +8 -0
  2236. pywikibot_scripts/i18n/interwikidata/mk.json +8 -0
  2237. pywikibot_scripts/i18n/interwikidata/ml.json +8 -0
  2238. pywikibot_scripts/i18n/interwikidata/mr.json +8 -0
  2239. pywikibot_scripts/i18n/interwikidata/my.json +8 -0
  2240. pywikibot_scripts/i18n/interwikidata/nan.json +9 -0
  2241. pywikibot_scripts/i18n/interwikidata/nb.json +9 -0
  2242. pywikibot_scripts/i18n/interwikidata/nds-nl.json +8 -0
  2243. pywikibot_scripts/i18n/interwikidata/ne.json +8 -0
  2244. pywikibot_scripts/i18n/interwikidata/nl.json +9 -0
  2245. pywikibot_scripts/i18n/interwikidata/nn.json +8 -0
  2246. pywikibot_scripts/i18n/interwikidata/nqo.json +8 -0
  2247. pywikibot_scripts/i18n/interwikidata/pl.json +8 -0
  2248. pywikibot_scripts/i18n/interwikidata/pms.json +8 -0
  2249. pywikibot_scripts/i18n/interwikidata/pt-br.json +9 -0
  2250. pywikibot_scripts/i18n/interwikidata/pt.json +9 -0
  2251. pywikibot_scripts/i18n/interwikidata/qqq.json +8 -0
  2252. pywikibot_scripts/i18n/interwikidata/ro.json +8 -0
  2253. pywikibot_scripts/i18n/interwikidata/ru.json +8 -0
  2254. pywikibot_scripts/i18n/interwikidata/sd.json +8 -0
  2255. pywikibot_scripts/i18n/interwikidata/sk.json +8 -0
  2256. pywikibot_scripts/i18n/interwikidata/sl.json +8 -0
  2257. pywikibot_scripts/i18n/interwikidata/sr.json +11 -0
  2258. pywikibot_scripts/i18n/interwikidata/su.json +8 -0
  2259. pywikibot_scripts/i18n/interwikidata/sv.json +8 -0
  2260. pywikibot_scripts/i18n/interwikidata/th.json +8 -0
  2261. pywikibot_scripts/i18n/interwikidata/tl.json +8 -0
  2262. pywikibot_scripts/i18n/interwikidata/tr.json +8 -0
  2263. pywikibot_scripts/i18n/interwikidata/uk.json +8 -0
  2264. pywikibot_scripts/i18n/interwikidata/ur.json +9 -0
  2265. pywikibot_scripts/i18n/interwikidata/vi.json +8 -0
  2266. pywikibot_scripts/i18n/interwikidata/zh.json +8 -0
  2267. pywikibot_scripts/i18n/listpages/ar.json +9 -0
  2268. pywikibot_scripts/i18n/listpages/as.json +8 -0
  2269. pywikibot_scripts/i18n/listpages/ast.json +8 -0
  2270. pywikibot_scripts/i18n/listpages/azb.json +8 -0
  2271. pywikibot_scripts/i18n/listpages/ba.json +8 -0
  2272. pywikibot_scripts/i18n/listpages/be-tarask.json +8 -0
  2273. pywikibot_scripts/i18n/listpages/bg.json +8 -0
  2274. pywikibot_scripts/i18n/listpages/bn.json +9 -0
  2275. pywikibot_scripts/i18n/listpages/br.json +8 -0
  2276. pywikibot_scripts/i18n/listpages/bs.json +9 -0
  2277. pywikibot_scripts/i18n/listpages/ca.json +8 -0
  2278. pywikibot_scripts/i18n/listpages/cs.json +10 -0
  2279. pywikibot_scripts/i18n/listpages/csb.json +8 -0
  2280. pywikibot_scripts/i18n/listpages/cy.json +8 -0
  2281. pywikibot_scripts/i18n/listpages/da.json +8 -0
  2282. pywikibot_scripts/i18n/listpages/de.json +8 -0
  2283. pywikibot_scripts/i18n/listpages/diq.json +9 -0
  2284. pywikibot_scripts/i18n/listpages/el.json +8 -0
  2285. pywikibot_scripts/i18n/listpages/en.json +8 -0
  2286. pywikibot_scripts/i18n/listpages/eo.json +8 -0
  2287. pywikibot_scripts/i18n/listpages/es.json +8 -0
  2288. pywikibot_scripts/i18n/listpages/eu.json +8 -0
  2289. pywikibot_scripts/i18n/listpages/fa.json +9 -0
  2290. pywikibot_scripts/i18n/listpages/fr.json +10 -0
  2291. pywikibot_scripts/i18n/listpages/frr.json +8 -0
  2292. pywikibot_scripts/i18n/listpages/gl.json +8 -0
  2293. pywikibot_scripts/i18n/listpages/he.json +8 -0
  2294. pywikibot_scripts/i18n/listpages/hi.json +8 -0
  2295. pywikibot_scripts/i18n/listpages/hu.json +8 -0
  2296. pywikibot_scripts/i18n/listpages/ia.json +8 -0
  2297. pywikibot_scripts/i18n/listpages/id.json +9 -0
  2298. pywikibot_scripts/i18n/listpages/it.json +8 -0
  2299. pywikibot_scripts/i18n/listpages/ja.json +8 -0
  2300. pywikibot_scripts/i18n/listpages/ko.json +8 -0
  2301. pywikibot_scripts/i18n/listpages/krc.json +8 -0
  2302. pywikibot_scripts/i18n/listpages/ksh.json +8 -0
  2303. pywikibot_scripts/i18n/listpages/ku.json +8 -0
  2304. pywikibot_scripts/i18n/listpages/lb.json +8 -0
  2305. pywikibot_scripts/i18n/listpages/lt.json +8 -0
  2306. pywikibot_scripts/i18n/listpages/mg.json +8 -0
  2307. pywikibot_scripts/i18n/listpages/mk.json +8 -0
  2308. pywikibot_scripts/i18n/listpages/ml.json +8 -0
  2309. pywikibot_scripts/i18n/listpages/ms.json +8 -0
  2310. pywikibot_scripts/i18n/listpages/my.json +8 -0
  2311. pywikibot_scripts/i18n/listpages/nan.json +9 -0
  2312. pywikibot_scripts/i18n/listpages/nb.json +8 -0
  2313. pywikibot_scripts/i18n/listpages/nds-nl.json +8 -0
  2314. pywikibot_scripts/i18n/listpages/ne.json +8 -0
  2315. pywikibot_scripts/i18n/listpages/nl.json +9 -0
  2316. pywikibot_scripts/i18n/listpages/nqo.json +8 -0
  2317. pywikibot_scripts/i18n/listpages/pl.json +8 -0
  2318. pywikibot_scripts/i18n/listpages/pms.json +8 -0
  2319. pywikibot_scripts/i18n/listpages/pt-br.json +9 -0
  2320. pywikibot_scripts/i18n/listpages/pt.json +8 -0
  2321. pywikibot_scripts/i18n/listpages/qqq.json +8 -0
  2322. pywikibot_scripts/i18n/listpages/ro.json +8 -0
  2323. pywikibot_scripts/i18n/listpages/ru.json +8 -0
  2324. pywikibot_scripts/i18n/listpages/sk.json +8 -0
  2325. pywikibot_scripts/i18n/listpages/sl.json +8 -0
  2326. pywikibot_scripts/i18n/listpages/sr.json +10 -0
  2327. pywikibot_scripts/i18n/listpages/su.json +8 -0
  2328. pywikibot_scripts/i18n/listpages/sv.json +8 -0
  2329. pywikibot_scripts/i18n/listpages/ta.json +8 -0
  2330. pywikibot_scripts/i18n/listpages/th.json +8 -0
  2331. pywikibot_scripts/i18n/listpages/tr.json +8 -0
  2332. pywikibot_scripts/i18n/listpages/uk.json +8 -0
  2333. pywikibot_scripts/i18n/listpages/vi.json +8 -0
  2334. pywikibot_scripts/i18n/listpages/zh.json +8 -0
  2335. pywikibot_scripts/i18n/misspelling/ar.json +8 -0
  2336. pywikibot_scripts/i18n/misspelling/ast.json +8 -0
  2337. pywikibot_scripts/i18n/misspelling/ba.json +8 -0
  2338. pywikibot_scripts/i18n/misspelling/bcc.json +8 -0
  2339. pywikibot_scripts/i18n/misspelling/be-tarask.json +8 -0
  2340. pywikibot_scripts/i18n/misspelling/bn.json +8 -0
  2341. pywikibot_scripts/i18n/misspelling/br.json +8 -0
  2342. pywikibot_scripts/i18n/misspelling/bs.json +8 -0
  2343. pywikibot_scripts/i18n/misspelling/ca.json +9 -0
  2344. pywikibot_scripts/i18n/misspelling/ce.json +8 -0
  2345. pywikibot_scripts/i18n/misspelling/cs.json +11 -0
  2346. pywikibot_scripts/i18n/misspelling/csb.json +8 -0
  2347. pywikibot_scripts/i18n/misspelling/cy.json +8 -0
  2348. pywikibot_scripts/i18n/misspelling/da.json +8 -0
  2349. pywikibot_scripts/i18n/misspelling/de.json +6 -0
  2350. pywikibot_scripts/i18n/misspelling/diq.json +8 -0
  2351. pywikibot_scripts/i18n/misspelling/el.json +9 -0
  2352. pywikibot_scripts/i18n/misspelling/en.json +4 -0
  2353. pywikibot_scripts/i18n/misspelling/eo.json +8 -0
  2354. pywikibot_scripts/i18n/misspelling/es.json +8 -0
  2355. pywikibot_scripts/i18n/misspelling/eu.json +8 -0
  2356. pywikibot_scripts/i18n/misspelling/fa.json +9 -0
  2357. pywikibot_scripts/i18n/misspelling/fr.json +9 -0
  2358. pywikibot_scripts/i18n/misspelling/frr.json +8 -0
  2359. pywikibot_scripts/i18n/misspelling/gl.json +8 -0
  2360. pywikibot_scripts/i18n/misspelling/haw.json +8 -0
  2361. pywikibot_scripts/i18n/misspelling/he.json +6 -0
  2362. pywikibot_scripts/i18n/misspelling/hi.json +8 -0
  2363. pywikibot_scripts/i18n/misspelling/hu.json +8 -0
  2364. pywikibot_scripts/i18n/misspelling/ia.json +8 -0
  2365. pywikibot_scripts/i18n/misspelling/id.json +10 -0
  2366. pywikibot_scripts/i18n/misspelling/it.json +8 -0
  2367. pywikibot_scripts/i18n/misspelling/ja.json +9 -0
  2368. pywikibot_scripts/i18n/misspelling/kab.json +8 -0
  2369. pywikibot_scripts/i18n/misspelling/ko.json +9 -0
  2370. pywikibot_scripts/i18n/misspelling/krc.json +8 -0
  2371. pywikibot_scripts/i18n/misspelling/ksh.json +8 -0
  2372. pywikibot_scripts/i18n/misspelling/ku.json +8 -0
  2373. pywikibot_scripts/i18n/misspelling/lb.json +8 -0
  2374. pywikibot_scripts/i18n/misspelling/lt.json +8 -0
  2375. pywikibot_scripts/i18n/misspelling/mg.json +8 -0
  2376. pywikibot_scripts/i18n/misspelling/mk.json +8 -0
  2377. pywikibot_scripts/i18n/misspelling/ml.json +8 -0
  2378. pywikibot_scripts/i18n/misspelling/ms.json +8 -0
  2379. pywikibot_scripts/i18n/misspelling/my.json +8 -0
  2380. pywikibot_scripts/i18n/misspelling/nan.json +9 -0
  2381. pywikibot_scripts/i18n/misspelling/nb.json +8 -0
  2382. pywikibot_scripts/i18n/misspelling/nds-nl.json +8 -0
  2383. pywikibot_scripts/i18n/misspelling/nds.json +6 -0
  2384. pywikibot_scripts/i18n/misspelling/ne.json +10 -0
  2385. pywikibot_scripts/i18n/misspelling/nl.json +8 -0
  2386. pywikibot_scripts/i18n/misspelling/nqo.json +8 -0
  2387. pywikibot_scripts/i18n/misspelling/oc.json +8 -0
  2388. pywikibot_scripts/i18n/misspelling/pl.json +6 -0
  2389. pywikibot_scripts/i18n/misspelling/pms.json +8 -0
  2390. pywikibot_scripts/i18n/misspelling/pt-br.json +8 -0
  2391. pywikibot_scripts/i18n/misspelling/pt.json +8 -0
  2392. pywikibot_scripts/i18n/misspelling/qqq.json +6 -0
  2393. pywikibot_scripts/i18n/misspelling/ro.json +8 -0
  2394. pywikibot_scripts/i18n/misspelling/ru.json +9 -0
  2395. pywikibot_scripts/i18n/misspelling/sco.json +8 -0
  2396. pywikibot_scripts/i18n/misspelling/sk.json +8 -0
  2397. pywikibot_scripts/i18n/misspelling/sl.json +8 -0
  2398. pywikibot_scripts/i18n/misspelling/sr.json +11 -0
  2399. pywikibot_scripts/i18n/misspelling/sv.json +8 -0
  2400. pywikibot_scripts/i18n/misspelling/ta.json +8 -0
  2401. pywikibot_scripts/i18n/misspelling/th.json +8 -0
  2402. pywikibot_scripts/i18n/misspelling/tr.json +8 -0
  2403. pywikibot_scripts/i18n/misspelling/uk.json +8 -0
  2404. pywikibot_scripts/i18n/misspelling/vi.json +8 -0
  2405. pywikibot_scripts/i18n/misspelling/zh.json +9 -0
  2406. pywikibot_scripts/i18n/movepages/af.json +8 -0
  2407. pywikibot_scripts/i18n/movepages/ar.json +10 -0
  2408. pywikibot_scripts/i18n/movepages/ast.json +9 -0
  2409. pywikibot_scripts/i18n/movepages/az.json +8 -0
  2410. pywikibot_scripts/i18n/movepages/azb.json +9 -0
  2411. pywikibot_scripts/i18n/movepages/ba.json +8 -0
  2412. pywikibot_scripts/i18n/movepages/bcc.json +8 -0
  2413. pywikibot_scripts/i18n/movepages/be-tarask.json +8 -0
  2414. pywikibot_scripts/i18n/movepages/bg.json +9 -0
  2415. pywikibot_scripts/i18n/movepages/bn.json +12 -0
  2416. pywikibot_scripts/i18n/movepages/br.json +8 -0
  2417. pywikibot_scripts/i18n/movepages/bs.json +8 -0
  2418. pywikibot_scripts/i18n/movepages/ca.json +10 -0
  2419. pywikibot_scripts/i18n/movepages/ce.json +8 -0
  2420. pywikibot_scripts/i18n/movepages/ckb.json +11 -0
  2421. pywikibot_scripts/i18n/movepages/cs.json +10 -0
  2422. pywikibot_scripts/i18n/movepages/csb.json +8 -0
  2423. pywikibot_scripts/i18n/movepages/cy.json +9 -0
  2424. pywikibot_scripts/i18n/movepages/da.json +8 -0
  2425. pywikibot_scripts/i18n/movepages/de.json +6 -0
  2426. pywikibot_scripts/i18n/movepages/diq.json +8 -0
  2427. pywikibot_scripts/i18n/movepages/el.json +8 -0
  2428. pywikibot_scripts/i18n/movepages/en.json +4 -0
  2429. pywikibot_scripts/i18n/movepages/eo.json +8 -0
  2430. pywikibot_scripts/i18n/movepages/es.json +11 -0
  2431. pywikibot_scripts/i18n/movepages/et.json +8 -0
  2432. pywikibot_scripts/i18n/movepages/eu.json +8 -0
  2433. pywikibot_scripts/i18n/movepages/fa.json +6 -0
  2434. pywikibot_scripts/i18n/movepages/fi.json +6 -0
  2435. pywikibot_scripts/i18n/movepages/fo.json +8 -0
  2436. pywikibot_scripts/i18n/movepages/fr.json +8 -0
  2437. pywikibot_scripts/i18n/movepages/frp.json +8 -0
  2438. pywikibot_scripts/i18n/movepages/frr.json +6 -0
  2439. pywikibot_scripts/i18n/movepages/gl.json +8 -0
  2440. pywikibot_scripts/i18n/movepages/gsw.json +8 -0
  2441. pywikibot_scripts/i18n/movepages/hak.json +8 -0
  2442. pywikibot_scripts/i18n/movepages/haw.json +8 -0
  2443. pywikibot_scripts/i18n/movepages/he.json +6 -0
  2444. pywikibot_scripts/i18n/movepages/hi.json +8 -0
  2445. pywikibot_scripts/i18n/movepages/hr.json +8 -0
  2446. pywikibot_scripts/i18n/movepages/hu.json +8 -0
  2447. pywikibot_scripts/i18n/movepages/hy.json +8 -0
  2448. pywikibot_scripts/i18n/movepages/ia.json +8 -0
  2449. pywikibot_scripts/i18n/movepages/id.json +10 -0
  2450. pywikibot_scripts/i18n/movepages/ilo.json +8 -0
  2451. pywikibot_scripts/i18n/movepages/is.json +8 -0
  2452. pywikibot_scripts/i18n/movepages/it.json +8 -0
  2453. pywikibot_scripts/i18n/movepages/ja.json +8 -0
  2454. pywikibot_scripts/i18n/movepages/jv.json +8 -0
  2455. pywikibot_scripts/i18n/movepages/kk.json +8 -0
  2456. pywikibot_scripts/i18n/movepages/kn.json +8 -0
  2457. pywikibot_scripts/i18n/movepages/ko.json +8 -0
  2458. pywikibot_scripts/i18n/movepages/krc.json +8 -0
  2459. pywikibot_scripts/i18n/movepages/krl.json +8 -0
  2460. pywikibot_scripts/i18n/movepages/ksh.json +8 -0
  2461. pywikibot_scripts/i18n/movepages/ku.json +8 -0
  2462. pywikibot_scripts/i18n/movepages/ky.json +8 -0
  2463. pywikibot_scripts/i18n/movepages/lag.json +8 -0
  2464. pywikibot_scripts/i18n/movepages/lb.json +8 -0
  2465. pywikibot_scripts/i18n/movepages/li.json +8 -0
  2466. pywikibot_scripts/i18n/movepages/lt.json +9 -0
  2467. pywikibot_scripts/i18n/movepages/lv.json +8 -0
  2468. pywikibot_scripts/i18n/movepages/map-bms.json +8 -0
  2469. pywikibot_scripts/i18n/movepages/mg.json +8 -0
  2470. pywikibot_scripts/i18n/movepages/min.json +8 -0
  2471. pywikibot_scripts/i18n/movepages/mk.json +8 -0
  2472. pywikibot_scripts/i18n/movepages/ml.json +8 -0
  2473. pywikibot_scripts/i18n/movepages/mni.json +8 -0
  2474. pywikibot_scripts/i18n/movepages/mnw.json +8 -0
  2475. pywikibot_scripts/i18n/movepages/ms.json +8 -0
  2476. pywikibot_scripts/i18n/movepages/mt.json +8 -0
  2477. pywikibot_scripts/i18n/movepages/my.json +8 -0
  2478. pywikibot_scripts/i18n/movepages/nan.json +9 -0
  2479. pywikibot_scripts/i18n/movepages/nb.json +8 -0
  2480. pywikibot_scripts/i18n/movepages/nds-nl.json +8 -0
  2481. pywikibot_scripts/i18n/movepages/ne.json +8 -0
  2482. pywikibot_scripts/i18n/movepages/new.json +8 -0
  2483. pywikibot_scripts/i18n/movepages/nl.json +6 -0
  2484. pywikibot_scripts/i18n/movepages/nn.json +8 -0
  2485. pywikibot_scripts/i18n/movepages/nqo.json +8 -0
  2486. pywikibot_scripts/i18n/movepages/oc.json +8 -0
  2487. pywikibot_scripts/i18n/movepages/olo.json +8 -0
  2488. pywikibot_scripts/i18n/movepages/pdc.json +8 -0
  2489. pywikibot_scripts/i18n/movepages/pl.json +6 -0
  2490. pywikibot_scripts/i18n/movepages/pms.json +8 -0
  2491. pywikibot_scripts/i18n/movepages/pt-br.json +8 -0
  2492. pywikibot_scripts/i18n/movepages/pt.json +6 -0
  2493. pywikibot_scripts/i18n/movepages/qqq.json +8 -0
  2494. pywikibot_scripts/i18n/movepages/ro.json +8 -0
  2495. pywikibot_scripts/i18n/movepages/ru.json +10 -0
  2496. pywikibot_scripts/i18n/movepages/sco.json +8 -0
  2497. pywikibot_scripts/i18n/movepages/sd.json +8 -0
  2498. pywikibot_scripts/i18n/movepages/sh.json +8 -0
  2499. pywikibot_scripts/i18n/movepages/si.json +8 -0
  2500. pywikibot_scripts/i18n/movepages/sk.json +9 -0
  2501. pywikibot_scripts/i18n/movepages/skr.json +8 -0
  2502. pywikibot_scripts/i18n/movepages/sl.json +8 -0
  2503. pywikibot_scripts/i18n/movepages/sms.json +8 -0
  2504. pywikibot_scripts/i18n/movepages/so.json +8 -0
  2505. pywikibot_scripts/i18n/movepages/sq.json +8 -0
  2506. pywikibot_scripts/i18n/movepages/sr.json +10 -0
  2507. pywikibot_scripts/i18n/movepages/su.json +8 -0
  2508. pywikibot_scripts/i18n/movepages/sv.json +8 -0
  2509. pywikibot_scripts/i18n/movepages/sw.json +8 -0
  2510. pywikibot_scripts/i18n/movepages/szl.json +9 -0
  2511. pywikibot_scripts/i18n/movepages/ta.json +8 -0
  2512. pywikibot_scripts/i18n/movepages/te.json +8 -0
  2513. pywikibot_scripts/i18n/movepages/th.json +9 -0
  2514. pywikibot_scripts/i18n/movepages/tl.json +8 -0
  2515. pywikibot_scripts/i18n/movepages/tly.json +8 -0
  2516. pywikibot_scripts/i18n/movepages/tr.json +8 -0
  2517. pywikibot_scripts/i18n/movepages/tzm.json +8 -0
  2518. pywikibot_scripts/i18n/movepages/uk.json +9 -0
  2519. pywikibot_scripts/i18n/movepages/ur.json +8 -0
  2520. pywikibot_scripts/i18n/movepages/uz.json +8 -0
  2521. pywikibot_scripts/i18n/movepages/vec.json +8 -0
  2522. pywikibot_scripts/i18n/movepages/vi.json +8 -0
  2523. pywikibot_scripts/i18n/movepages/vo.json +8 -0
  2524. pywikibot_scripts/i18n/movepages/war.json +8 -0
  2525. pywikibot_scripts/i18n/movepages/yi.json +8 -0
  2526. pywikibot_scripts/i18n/movepages/yue.json +8 -0
  2527. pywikibot_scripts/i18n/movepages/zh.json +8 -0
  2528. pywikibot_scripts/i18n/noreferences/af.json +8 -0
  2529. pywikibot_scripts/i18n/noreferences/ar.json +14 -0
  2530. pywikibot_scripts/i18n/noreferences/ast.json +10 -0
  2531. pywikibot_scripts/i18n/noreferences/az.json +8 -0
  2532. pywikibot_scripts/i18n/noreferences/azb.json +8 -0
  2533. pywikibot_scripts/i18n/noreferences/ba.json +10 -0
  2534. pywikibot_scripts/i18n/noreferences/bcc.json +8 -0
  2535. pywikibot_scripts/i18n/noreferences/be-tarask.json +10 -0
  2536. pywikibot_scripts/i18n/noreferences/be.json +9 -0
  2537. pywikibot_scripts/i18n/noreferences/bg.json +10 -0
  2538. pywikibot_scripts/i18n/noreferences/bjn.json +8 -0
  2539. pywikibot_scripts/i18n/noreferences/bn.json +12 -0
  2540. pywikibot_scripts/i18n/noreferences/br.json +11 -0
  2541. pywikibot_scripts/i18n/noreferences/bs.json +11 -0
  2542. pywikibot_scripts/i18n/noreferences/ca.json +11 -0
  2543. pywikibot_scripts/i18n/noreferences/ce.json +9 -0
  2544. pywikibot_scripts/i18n/noreferences/ckb.json +11 -0
  2545. pywikibot_scripts/i18n/noreferences/cs.json +11 -0
  2546. pywikibot_scripts/i18n/noreferences/csb.json +9 -0
  2547. pywikibot_scripts/i18n/noreferences/cy.json +10 -0
  2548. pywikibot_scripts/i18n/noreferences/da.json +11 -0
  2549. pywikibot_scripts/i18n/noreferences/de.json +9 -0
  2550. pywikibot_scripts/i18n/noreferences/diq.json +10 -0
  2551. pywikibot_scripts/i18n/noreferences/el.json +10 -0
  2552. pywikibot_scripts/i18n/noreferences/en.json +9 -0
  2553. pywikibot_scripts/i18n/noreferences/eo.json +9 -0
  2554. pywikibot_scripts/i18n/noreferences/es.json +12 -0
  2555. pywikibot_scripts/i18n/noreferences/et.json +8 -0
  2556. pywikibot_scripts/i18n/noreferences/eu.json +10 -0
  2557. pywikibot_scripts/i18n/noreferences/fa.json +10 -0
  2558. pywikibot_scripts/i18n/noreferences/fi.json +8 -0
  2559. pywikibot_scripts/i18n/noreferences/fo.json +8 -0
  2560. pywikibot_scripts/i18n/noreferences/fr.json +13 -0
  2561. pywikibot_scripts/i18n/noreferences/frp.json +8 -0
  2562. pywikibot_scripts/i18n/noreferences/frr.json +9 -0
  2563. pywikibot_scripts/i18n/noreferences/gl.json +10 -0
  2564. pywikibot_scripts/i18n/noreferences/gsw.json +8 -0
  2565. pywikibot_scripts/i18n/noreferences/hak.json +8 -0
  2566. pywikibot_scripts/i18n/noreferences/haw.json +8 -0
  2567. pywikibot_scripts/i18n/noreferences/he.json +9 -0
  2568. pywikibot_scripts/i18n/noreferences/hi.json +10 -0
  2569. pywikibot_scripts/i18n/noreferences/hu.json +11 -0
  2570. pywikibot_scripts/i18n/noreferences/ia.json +9 -0
  2571. pywikibot_scripts/i18n/noreferences/id.json +11 -0
  2572. pywikibot_scripts/i18n/noreferences/ilo.json +8 -0
  2573. pywikibot_scripts/i18n/noreferences/is.json +8 -0
  2574. pywikibot_scripts/i18n/noreferences/it.json +10 -0
  2575. pywikibot_scripts/i18n/noreferences/ja.json +10 -0
  2576. pywikibot_scripts/i18n/noreferences/jv.json +8 -0
  2577. pywikibot_scripts/i18n/noreferences/kk.json +9 -0
  2578. pywikibot_scripts/i18n/noreferences/ko.json +11 -0
  2579. pywikibot_scripts/i18n/noreferences/krc.json +9 -0
  2580. pywikibot_scripts/i18n/noreferences/ksh.json +9 -0
  2581. pywikibot_scripts/i18n/noreferences/ku.json +9 -0
  2582. pywikibot_scripts/i18n/noreferences/ky.json +8 -0
  2583. pywikibot_scripts/i18n/noreferences/lb.json +9 -0
  2584. pywikibot_scripts/i18n/noreferences/li.json +9 -0
  2585. pywikibot_scripts/i18n/noreferences/lt.json +9 -0
  2586. pywikibot_scripts/i18n/noreferences/lus.json +8 -0
  2587. pywikibot_scripts/i18n/noreferences/lv.json +8 -0
  2588. pywikibot_scripts/i18n/noreferences/map-bms.json +8 -0
  2589. pywikibot_scripts/i18n/noreferences/mg.json +9 -0
  2590. pywikibot_scripts/i18n/noreferences/min.json +8 -0
  2591. pywikibot_scripts/i18n/noreferences/mk.json +9 -0
  2592. pywikibot_scripts/i18n/noreferences/ml.json +9 -0
  2593. pywikibot_scripts/i18n/noreferences/ms.json +10 -0
  2594. pywikibot_scripts/i18n/noreferences/my.json +8 -0
  2595. pywikibot_scripts/i18n/noreferences/nan.json +10 -0
  2596. pywikibot_scripts/i18n/noreferences/nb.json +11 -0
  2597. pywikibot_scripts/i18n/noreferences/nds-nl.json +9 -0
  2598. pywikibot_scripts/i18n/noreferences/ne.json +8 -0
  2599. pywikibot_scripts/i18n/noreferences/new.json +8 -0
  2600. pywikibot_scripts/i18n/noreferences/nl.json +10 -0
  2601. pywikibot_scripts/i18n/noreferences/nn.json +9 -0
  2602. pywikibot_scripts/i18n/noreferences/nqo.json +10 -0
  2603. pywikibot_scripts/i18n/noreferences/oc.json +8 -0
  2604. pywikibot_scripts/i18n/noreferences/pdc.json +8 -0
  2605. pywikibot_scripts/i18n/noreferences/pl.json +10 -0
  2606. pywikibot_scripts/i18n/noreferences/pms.json +9 -0
  2607. pywikibot_scripts/i18n/noreferences/pt-br.json +11 -0
  2608. pywikibot_scripts/i18n/noreferences/pt.json +10 -0
  2609. pywikibot_scripts/i18n/noreferences/qqq.json +11 -0
  2610. pywikibot_scripts/i18n/noreferences/ro.json +10 -0
  2611. pywikibot_scripts/i18n/noreferences/ru.json +11 -0
  2612. pywikibot_scripts/i18n/noreferences/sco.json +9 -0
  2613. pywikibot_scripts/i18n/noreferences/sd.json +11 -0
  2614. pywikibot_scripts/i18n/noreferences/sh.json +8 -0
  2615. pywikibot_scripts/i18n/noreferences/sk.json +11 -0
  2616. pywikibot_scripts/i18n/noreferences/sl.json +10 -0
  2617. pywikibot_scripts/i18n/noreferences/so.json +8 -0
  2618. pywikibot_scripts/i18n/noreferences/sq.json +8 -0
  2619. pywikibot_scripts/i18n/noreferences/sr.json +12 -0
  2620. pywikibot_scripts/i18n/noreferences/su.json +9 -0
  2621. pywikibot_scripts/i18n/noreferences/sv.json +10 -0
  2622. pywikibot_scripts/i18n/noreferences/sw.json +8 -0
  2623. pywikibot_scripts/i18n/noreferences/szl.json +8 -0
  2624. pywikibot_scripts/i18n/noreferences/ta.json +9 -0
  2625. pywikibot_scripts/i18n/noreferences/th.json +11 -0
  2626. pywikibot_scripts/i18n/noreferences/tl.json +8 -0
  2627. pywikibot_scripts/i18n/noreferences/tly.json +8 -0
  2628. pywikibot_scripts/i18n/noreferences/tr.json +10 -0
  2629. pywikibot_scripts/i18n/noreferences/tt.json +9 -0
  2630. pywikibot_scripts/i18n/noreferences/uk.json +12 -0
  2631. pywikibot_scripts/i18n/noreferences/ur.json +9 -0
  2632. pywikibot_scripts/i18n/noreferences/vec.json +9 -0
  2633. pywikibot_scripts/i18n/noreferences/vi.json +9 -0
  2634. pywikibot_scripts/i18n/noreferences/war.json +8 -0
  2635. pywikibot_scripts/i18n/noreferences/yi.json +9 -0
  2636. pywikibot_scripts/i18n/noreferences/zh.json +10 -0
  2637. pywikibot_scripts/i18n/package-lock.json +1963 -0
  2638. pywikibot_scripts/i18n/package.json +10 -0
  2639. pywikibot_scripts/i18n/pagefromfile/ar.json +11 -0
  2640. pywikibot_scripts/i18n/pagefromfile/ast.json +11 -0
  2641. pywikibot_scripts/i18n/pagefromfile/azb.json +8 -0
  2642. pywikibot_scripts/i18n/pagefromfile/ba.json +11 -0
  2643. pywikibot_scripts/i18n/pagefromfile/bcc.json +11 -0
  2644. pywikibot_scripts/i18n/pagefromfile/be-tarask.json +11 -0
  2645. pywikibot_scripts/i18n/pagefromfile/bg.json +8 -0
  2646. pywikibot_scripts/i18n/pagefromfile/bn.json +14 -0
  2647. pywikibot_scripts/i18n/pagefromfile/br.json +11 -0
  2648. pywikibot_scripts/i18n/pagefromfile/bs.json +11 -0
  2649. pywikibot_scripts/i18n/pagefromfile/ca.json +13 -0
  2650. pywikibot_scripts/i18n/pagefromfile/ce.json +11 -0
  2651. pywikibot_scripts/i18n/pagefromfile/ckb.json +11 -0
  2652. pywikibot_scripts/i18n/pagefromfile/cs.json +15 -0
  2653. pywikibot_scripts/i18n/pagefromfile/csb.json +11 -0
  2654. pywikibot_scripts/i18n/pagefromfile/cy.json +11 -0
  2655. pywikibot_scripts/i18n/pagefromfile/da.json +12 -0
  2656. pywikibot_scripts/i18n/pagefromfile/de.json +9 -0
  2657. pywikibot_scripts/i18n/pagefromfile/diq.json +12 -0
  2658. pywikibot_scripts/i18n/pagefromfile/el.json +12 -0
  2659. pywikibot_scripts/i18n/pagefromfile/en.json +7 -0
  2660. pywikibot_scripts/i18n/pagefromfile/eo.json +11 -0
  2661. pywikibot_scripts/i18n/pagefromfile/es.json +11 -0
  2662. pywikibot_scripts/i18n/pagefromfile/eu.json +11 -0
  2663. pywikibot_scripts/i18n/pagefromfile/fa.json +11 -0
  2664. pywikibot_scripts/i18n/pagefromfile/fr.json +12 -0
  2665. pywikibot_scripts/i18n/pagefromfile/frr.json +11 -0
  2666. pywikibot_scripts/i18n/pagefromfile/gl.json +11 -0
  2667. pywikibot_scripts/i18n/pagefromfile/he.json +9 -0
  2668. pywikibot_scripts/i18n/pagefromfile/hi.json +11 -0
  2669. pywikibot_scripts/i18n/pagefromfile/hu.json +12 -0
  2670. pywikibot_scripts/i18n/pagefromfile/ia.json +11 -0
  2671. pywikibot_scripts/i18n/pagefromfile/id.json +12 -0
  2672. pywikibot_scripts/i18n/pagefromfile/io.json +10 -0
  2673. pywikibot_scripts/i18n/pagefromfile/is.json +10 -0
  2674. pywikibot_scripts/i18n/pagefromfile/it.json +11 -0
  2675. pywikibot_scripts/i18n/pagefromfile/ja.json +12 -0
  2676. pywikibot_scripts/i18n/pagefromfile/kab.json +10 -0
  2677. pywikibot_scripts/i18n/pagefromfile/kk.json +11 -0
  2678. pywikibot_scripts/i18n/pagefromfile/ko.json +11 -0
  2679. pywikibot_scripts/i18n/pagefromfile/krc.json +11 -0
  2680. pywikibot_scripts/i18n/pagefromfile/ksh.json +9 -0
  2681. pywikibot_scripts/i18n/pagefromfile/ku.json +11 -0
  2682. pywikibot_scripts/i18n/pagefromfile/ky.json +8 -0
  2683. pywikibot_scripts/i18n/pagefromfile/lb.json +11 -0
  2684. pywikibot_scripts/i18n/pagefromfile/lt.json +11 -0
  2685. pywikibot_scripts/i18n/pagefromfile/lv.json +8 -0
  2686. pywikibot_scripts/i18n/pagefromfile/mg.json +11 -0
  2687. pywikibot_scripts/i18n/pagefromfile/mk.json +11 -0
  2688. pywikibot_scripts/i18n/pagefromfile/ml.json +11 -0
  2689. pywikibot_scripts/i18n/pagefromfile/ms.json +11 -0
  2690. pywikibot_scripts/i18n/pagefromfile/my.json +8 -0
  2691. pywikibot_scripts/i18n/pagefromfile/mzn.json +6 -0
  2692. pywikibot_scripts/i18n/pagefromfile/nan.json +12 -0
  2693. pywikibot_scripts/i18n/pagefromfile/nb.json +11 -0
  2694. pywikibot_scripts/i18n/pagefromfile/nds-nl.json +11 -0
  2695. pywikibot_scripts/i18n/pagefromfile/ne.json +11 -0
  2696. pywikibot_scripts/i18n/pagefromfile/nl.json +12 -0
  2697. pywikibot_scripts/i18n/pagefromfile/nqo.json +11 -0
  2698. pywikibot_scripts/i18n/pagefromfile/pl.json +9 -0
  2699. pywikibot_scripts/i18n/pagefromfile/pt-br.json +11 -0
  2700. pywikibot_scripts/i18n/pagefromfile/pt.json +9 -0
  2701. pywikibot_scripts/i18n/pagefromfile/qqq.json +11 -0
  2702. pywikibot_scripts/i18n/pagefromfile/ro.json +12 -0
  2703. pywikibot_scripts/i18n/pagefromfile/ru.json +11 -0
  2704. pywikibot_scripts/i18n/pagefromfile/sk.json +12 -0
  2705. pywikibot_scripts/i18n/pagefromfile/skr.json +8 -0
  2706. pywikibot_scripts/i18n/pagefromfile/sl.json +11 -0
  2707. pywikibot_scripts/i18n/pagefromfile/sr.json +13 -0
  2708. pywikibot_scripts/i18n/pagefromfile/su.json +11 -0
  2709. pywikibot_scripts/i18n/pagefromfile/sv.json +11 -0
  2710. pywikibot_scripts/i18n/pagefromfile/ta.json +11 -0
  2711. pywikibot_scripts/i18n/pagefromfile/th.json +11 -0
  2712. pywikibot_scripts/i18n/pagefromfile/tr.json +11 -0
  2713. pywikibot_scripts/i18n/pagefromfile/uk.json +9 -0
  2714. pywikibot_scripts/i18n/pagefromfile/ur.json +9 -0
  2715. pywikibot_scripts/i18n/pagefromfile/vec.json +9 -0
  2716. pywikibot_scripts/i18n/pagefromfile/vi.json +11 -0
  2717. pywikibot_scripts/i18n/pagefromfile/yi.json +9 -0
  2718. pywikibot_scripts/i18n/pagefromfile/zh.json +11 -0
  2719. pywikibot_scripts/i18n/protect/ar.json +13 -0
  2720. pywikibot_scripts/i18n/protect/ast.json +12 -0
  2721. pywikibot_scripts/i18n/protect/ba.json +11 -0
  2722. pywikibot_scripts/i18n/protect/bcc.json +12 -0
  2723. pywikibot_scripts/i18n/protect/be-tarask.json +13 -0
  2724. pywikibot_scripts/i18n/protect/bg.json +13 -0
  2725. pywikibot_scripts/i18n/protect/bn.json +8 -0
  2726. pywikibot_scripts/i18n/protect/br.json +12 -0
  2727. pywikibot_scripts/i18n/protect/bs.json +12 -0
  2728. pywikibot_scripts/i18n/protect/ca.json +13 -0
  2729. pywikibot_scripts/i18n/protect/ce.json +12 -0
  2730. pywikibot_scripts/i18n/protect/ckb.json +11 -0
  2731. pywikibot_scripts/i18n/protect/cs.json +16 -0
  2732. pywikibot_scripts/i18n/protect/csb.json +12 -0
  2733. pywikibot_scripts/i18n/protect/cy.json +12 -0
  2734. pywikibot_scripts/i18n/protect/da.json +13 -0
  2735. pywikibot_scripts/i18n/protect/de.json +13 -0
  2736. pywikibot_scripts/i18n/protect/diq.json +13 -0
  2737. pywikibot_scripts/i18n/protect/dty.json +8 -0
  2738. pywikibot_scripts/i18n/protect/el.json +13 -0
  2739. pywikibot_scripts/i18n/protect/en.json +12 -0
  2740. pywikibot_scripts/i18n/protect/eo.json +12 -0
  2741. pywikibot_scripts/i18n/protect/es.json +16 -0
  2742. pywikibot_scripts/i18n/protect/eu.json +13 -0
  2743. pywikibot_scripts/i18n/protect/fa.json +13 -0
  2744. pywikibot_scripts/i18n/protect/fi.json +8 -0
  2745. pywikibot_scripts/i18n/protect/fr.json +15 -0
  2746. pywikibot_scripts/i18n/protect/frr.json +12 -0
  2747. pywikibot_scripts/i18n/protect/gl.json +13 -0
  2748. pywikibot_scripts/i18n/protect/gsw.json +12 -0
  2749. pywikibot_scripts/i18n/protect/haw.json +13 -0
  2750. pywikibot_scripts/i18n/protect/he.json +12 -0
  2751. pywikibot_scripts/i18n/protect/hi.json +12 -0
  2752. pywikibot_scripts/i18n/protect/hu.json +13 -0
  2753. pywikibot_scripts/i18n/protect/ia.json +12 -0
  2754. pywikibot_scripts/i18n/protect/id.json +16 -0
  2755. pywikibot_scripts/i18n/protect/io.json +12 -0
  2756. pywikibot_scripts/i18n/protect/is.json +12 -0
  2757. pywikibot_scripts/i18n/protect/it.json +13 -0
  2758. pywikibot_scripts/i18n/protect/ja.json +13 -0
  2759. pywikibot_scripts/i18n/protect/kab.json +11 -0
  2760. pywikibot_scripts/i18n/protect/kk.json +12 -0
  2761. pywikibot_scripts/i18n/protect/km.json +12 -0
  2762. pywikibot_scripts/i18n/protect/ko.json +15 -0
  2763. pywikibot_scripts/i18n/protect/krc.json +12 -0
  2764. pywikibot_scripts/i18n/protect/ksh.json +12 -0
  2765. pywikibot_scripts/i18n/protect/lb.json +12 -0
  2766. pywikibot_scripts/i18n/protect/lt.json +13 -0
  2767. pywikibot_scripts/i18n/protect/mg.json +12 -0
  2768. pywikibot_scripts/i18n/protect/mk.json +12 -0
  2769. pywikibot_scripts/i18n/protect/ml.json +12 -0
  2770. pywikibot_scripts/i18n/protect/ms.json +12 -0
  2771. pywikibot_scripts/i18n/protect/my.json +12 -0
  2772. pywikibot_scripts/i18n/protect/nan.json +13 -0
  2773. pywikibot_scripts/i18n/protect/nb.json +13 -0
  2774. pywikibot_scripts/i18n/protect/nds-nl.json +12 -0
  2775. pywikibot_scripts/i18n/protect/ne.json +15 -0
  2776. pywikibot_scripts/i18n/protect/nl.json +15 -0
  2777. pywikibot_scripts/i18n/protect/nqo.json +12 -0
  2778. pywikibot_scripts/i18n/protect/oc.json +9 -0
  2779. pywikibot_scripts/i18n/protect/olo.json +12 -0
  2780. pywikibot_scripts/i18n/protect/pl.json +13 -0
  2781. pywikibot_scripts/i18n/protect/pt-br.json +12 -0
  2782. pywikibot_scripts/i18n/protect/pt.json +12 -0
  2783. pywikibot_scripts/i18n/protect/qqq.json +15 -0
  2784. pywikibot_scripts/i18n/protect/ro.json +12 -0
  2785. pywikibot_scripts/i18n/protect/ru.json +13 -0
  2786. pywikibot_scripts/i18n/protect/sco.json +12 -0
  2787. pywikibot_scripts/i18n/protect/sd.json +8 -0
  2788. pywikibot_scripts/i18n/protect/sk.json +13 -0
  2789. pywikibot_scripts/i18n/protect/sl.json +12 -0
  2790. pywikibot_scripts/i18n/protect/sr.json +15 -0
  2791. pywikibot_scripts/i18n/protect/sv.json +14 -0
  2792. pywikibot_scripts/i18n/protect/ta.json +12 -0
  2793. pywikibot_scripts/i18n/protect/th.json +13 -0
  2794. pywikibot_scripts/i18n/protect/tr.json +12 -0
  2795. pywikibot_scripts/i18n/protect/uk.json +13 -0
  2796. pywikibot_scripts/i18n/protect/ur.json +12 -0
  2797. pywikibot_scripts/i18n/protect/vi.json +12 -0
  2798. pywikibot_scripts/i18n/protect/zh.json +14 -0
  2799. pywikibot_scripts/i18n/pywikibot/ab.json +9 -0
  2800. pywikibot_scripts/i18n/pywikibot/af.json +15 -0
  2801. pywikibot_scripts/i18n/pywikibot/an.json +8 -0
  2802. pywikibot_scripts/i18n/pywikibot/ar.json +26 -0
  2803. pywikibot_scripts/i18n/pywikibot/arc.json +8 -0
  2804. pywikibot_scripts/i18n/pywikibot/ast.json +22 -0
  2805. pywikibot_scripts/i18n/pywikibot/av.json +9 -0
  2806. pywikibot_scripts/i18n/pywikibot/awa.json +8 -0
  2807. pywikibot_scripts/i18n/pywikibot/az.json +19 -0
  2808. pywikibot_scripts/i18n/pywikibot/azb.json +18 -0
  2809. pywikibot_scripts/i18n/pywikibot/ba.json +23 -0
  2810. pywikibot_scripts/i18n/pywikibot/bar.json +10 -0
  2811. pywikibot_scripts/i18n/pywikibot/bcc.json +18 -0
  2812. pywikibot_scripts/i18n/pywikibot/be-tarask.json +25 -0
  2813. pywikibot_scripts/i18n/pywikibot/be.json +19 -0
  2814. pywikibot_scripts/i18n/pywikibot/bg.json +14 -0
  2815. pywikibot_scripts/i18n/pywikibot/bjn.json +10 -0
  2816. pywikibot_scripts/i18n/pywikibot/bn.json +18 -0
  2817. pywikibot_scripts/i18n/pywikibot/bo.json +8 -0
  2818. pywikibot_scripts/i18n/pywikibot/br.json +22 -0
  2819. pywikibot_scripts/i18n/pywikibot/bs.json +24 -0
  2820. pywikibot_scripts/i18n/pywikibot/ca.json +30 -0
  2821. pywikibot_scripts/i18n/pywikibot/ce.json +17 -0
  2822. pywikibot_scripts/i18n/pywikibot/ckb.json +18 -0
  2823. pywikibot_scripts/i18n/pywikibot/cs.json +29 -0
  2824. pywikibot_scripts/i18n/pywikibot/csb.json +20 -0
  2825. pywikibot_scripts/i18n/pywikibot/cy.json +24 -0
  2826. pywikibot_scripts/i18n/pywikibot/da.json +26 -0
  2827. pywikibot_scripts/i18n/pywikibot/de.json +24 -0
  2828. pywikibot_scripts/i18n/pywikibot/diq.json +24 -0
  2829. pywikibot_scripts/i18n/pywikibot/el.json +25 -0
  2830. pywikibot_scripts/i18n/pywikibot/en.json +26 -0
  2831. pywikibot_scripts/i18n/pywikibot/eo.json +27 -0
  2832. pywikibot_scripts/i18n/pywikibot/es.json +30 -0
  2833. pywikibot_scripts/i18n/pywikibot/et.json +13 -0
  2834. pywikibot_scripts/i18n/pywikibot/eu.json +25 -0
  2835. pywikibot_scripts/i18n/pywikibot/fa.json +27 -0
  2836. pywikibot_scripts/i18n/pywikibot/fi.json +19 -0
  2837. pywikibot_scripts/i18n/pywikibot/fo.json +17 -0
  2838. pywikibot_scripts/i18n/pywikibot/fr.json +30 -0
  2839. pywikibot_scripts/i18n/pywikibot/frp.json +10 -0
  2840. pywikibot_scripts/i18n/pywikibot/frr.json +21 -0
  2841. pywikibot_scripts/i18n/pywikibot/fy.json +6 -0
  2842. pywikibot_scripts/i18n/pywikibot/ga.json +6 -0
  2843. pywikibot_scripts/i18n/pywikibot/gl.json +23 -0
  2844. pywikibot_scripts/i18n/pywikibot/gsw.json +18 -0
  2845. pywikibot_scripts/i18n/pywikibot/gu.json +8 -0
  2846. pywikibot_scripts/i18n/pywikibot/hak.json +18 -0
  2847. pywikibot_scripts/i18n/pywikibot/haw.json +17 -0
  2848. pywikibot_scripts/i18n/pywikibot/he.json +24 -0
  2849. pywikibot_scripts/i18n/pywikibot/hi.json +21 -0
  2850. pywikibot_scripts/i18n/pywikibot/hr.json +10 -0
  2851. pywikibot_scripts/i18n/pywikibot/hsb.json +15 -0
  2852. pywikibot_scripts/i18n/pywikibot/hu.json +24 -0
  2853. pywikibot_scripts/i18n/pywikibot/hy.json +10 -0
  2854. pywikibot_scripts/i18n/pywikibot/ia.json +21 -0
  2855. pywikibot_scripts/i18n/pywikibot/id.json +29 -0
  2856. pywikibot_scripts/i18n/pywikibot/ie.json +10 -0
  2857. pywikibot_scripts/i18n/pywikibot/ig.json +8 -0
  2858. pywikibot_scripts/i18n/pywikibot/ilo.json +10 -0
  2859. pywikibot_scripts/i18n/pywikibot/io.json +21 -0
  2860. pywikibot_scripts/i18n/pywikibot/is.json +17 -0
  2861. pywikibot_scripts/i18n/pywikibot/it.json +24 -0
  2862. pywikibot_scripts/i18n/pywikibot/ja.json +24 -0
  2863. pywikibot_scripts/i18n/pywikibot/jv.json +10 -0
  2864. pywikibot_scripts/i18n/pywikibot/kab.json +15 -0
  2865. pywikibot_scripts/i18n/pywikibot/kk.json +19 -0
  2866. pywikibot_scripts/i18n/pywikibot/km.json +17 -0
  2867. pywikibot_scripts/i18n/pywikibot/kn.json +16 -0
  2868. pywikibot_scripts/i18n/pywikibot/ko.json +27 -0
  2869. pywikibot_scripts/i18n/pywikibot/krc.json +21 -0
  2870. pywikibot_scripts/i18n/pywikibot/ksh.json +20 -0
  2871. pywikibot_scripts/i18n/pywikibot/ku.json +17 -0
  2872. pywikibot_scripts/i18n/pywikibot/ky.json +10 -0
  2873. pywikibot_scripts/i18n/pywikibot/la.json +6 -0
  2874. pywikibot_scripts/i18n/pywikibot/lb.json +21 -0
  2875. pywikibot_scripts/i18n/pywikibot/li.json +10 -0
  2876. pywikibot_scripts/i18n/pywikibot/lki.json +8 -0
  2877. pywikibot_scripts/i18n/pywikibot/lt.json +22 -0
  2878. pywikibot_scripts/i18n/pywikibot/lv.json +18 -0
  2879. pywikibot_scripts/i18n/pywikibot/map-bms.json +17 -0
  2880. pywikibot_scripts/i18n/pywikibot/mg.json +20 -0
  2881. pywikibot_scripts/i18n/pywikibot/min.json +18 -0
  2882. pywikibot_scripts/i18n/pywikibot/mk.json +21 -0
  2883. pywikibot_scripts/i18n/pywikibot/ml.json +21 -0
  2884. pywikibot_scripts/i18n/pywikibot/mni.json +8 -0
  2885. pywikibot_scripts/i18n/pywikibot/mr.json +10 -0
  2886. pywikibot_scripts/i18n/pywikibot/ms.json +21 -0
  2887. pywikibot_scripts/i18n/pywikibot/mt.json +10 -0
  2888. pywikibot_scripts/i18n/pywikibot/my.json +17 -0
  2889. pywikibot_scripts/i18n/pywikibot/nan.json +21 -0
  2890. pywikibot_scripts/i18n/pywikibot/nb.json +23 -0
  2891. pywikibot_scripts/i18n/pywikibot/nds-nl.json +21 -0
  2892. pywikibot_scripts/i18n/pywikibot/nds.json +10 -0
  2893. pywikibot_scripts/i18n/pywikibot/ne.json +22 -0
  2894. pywikibot_scripts/i18n/pywikibot/new.json +14 -0
  2895. pywikibot_scripts/i18n/pywikibot/nl.json +23 -0
  2896. pywikibot_scripts/i18n/pywikibot/nn.json +11 -0
  2897. pywikibot_scripts/i18n/pywikibot/nqo.json +21 -0
  2898. pywikibot_scripts/i18n/pywikibot/nyn.json +9 -0
  2899. pywikibot_scripts/i18n/pywikibot/oc.json +10 -0
  2900. pywikibot_scripts/i18n/pywikibot/olo.json +10 -0
  2901. pywikibot_scripts/i18n/pywikibot/or.json +9 -0
  2902. pywikibot_scripts/i18n/pywikibot/pa.json +9 -0
  2903. pywikibot_scripts/i18n/pywikibot/pdc.json +9 -0
  2904. pywikibot_scripts/i18n/pywikibot/pfl.json +9 -0
  2905. pywikibot_scripts/i18n/pywikibot/pl.json +23 -0
  2906. pywikibot_scripts/i18n/pywikibot/pms.json +18 -0
  2907. pywikibot_scripts/i18n/pywikibot/pt-br.json +25 -0
  2908. pywikibot_scripts/i18n/pywikibot/pt.json +25 -0
  2909. pywikibot_scripts/i18n/pywikibot/qqq.json +27 -0
  2910. pywikibot_scripts/i18n/pywikibot/ro.json +22 -0
  2911. pywikibot_scripts/i18n/pywikibot/ru.json +28 -0
  2912. pywikibot_scripts/i18n/pywikibot/scn.json +8 -0
  2913. pywikibot_scripts/i18n/pywikibot/sco.json +18 -0
  2914. pywikibot_scripts/i18n/pywikibot/sd.json +12 -0
  2915. pywikibot_scripts/i18n/pywikibot/sdh.json +8 -0
  2916. pywikibot_scripts/i18n/pywikibot/sh.json +14 -0
  2917. pywikibot_scripts/i18n/pywikibot/si.json +13 -0
  2918. pywikibot_scripts/i18n/pywikibot/sk.json +25 -0
  2919. pywikibot_scripts/i18n/pywikibot/skr.json +9 -0
  2920. pywikibot_scripts/i18n/pywikibot/sl.json +24 -0
  2921. pywikibot_scripts/i18n/pywikibot/sms.json +8 -0
  2922. pywikibot_scripts/i18n/pywikibot/so.json +17 -0
  2923. pywikibot_scripts/i18n/pywikibot/sq.json +14 -0
  2924. pywikibot_scripts/i18n/pywikibot/sr.json +27 -0
  2925. pywikibot_scripts/i18n/pywikibot/su.json +13 -0
  2926. pywikibot_scripts/i18n/pywikibot/sv.json +28 -0
  2927. pywikibot_scripts/i18n/pywikibot/sw.json +15 -0
  2928. pywikibot_scripts/i18n/pywikibot/syl.json +8 -0
  2929. pywikibot_scripts/i18n/pywikibot/szl.json +9 -0
  2930. pywikibot_scripts/i18n/pywikibot/ta.json +14 -0
  2931. pywikibot_scripts/i18n/pywikibot/te.json +19 -0
  2932. pywikibot_scripts/i18n/pywikibot/tg.json +9 -0
  2933. pywikibot_scripts/i18n/pywikibot/th.json +23 -0
  2934. pywikibot_scripts/i18n/pywikibot/tk.json +10 -0
  2935. pywikibot_scripts/i18n/pywikibot/tl.json +10 -0
  2936. pywikibot_scripts/i18n/pywikibot/tly.json +18 -0
  2937. pywikibot_scripts/i18n/pywikibot/tr.json +28 -0
  2938. pywikibot_scripts/i18n/pywikibot/tt.json +13 -0
  2939. pywikibot_scripts/i18n/pywikibot/uk.json +29 -0
  2940. pywikibot_scripts/i18n/pywikibot/ur.json +16 -0
  2941. pywikibot_scripts/i18n/pywikibot/uz.json +10 -0
  2942. pywikibot_scripts/i18n/pywikibot/vec.json +12 -0
  2943. pywikibot_scripts/i18n/pywikibot/vep.json +8 -0
  2944. pywikibot_scripts/i18n/pywikibot/vi.json +21 -0
  2945. pywikibot_scripts/i18n/pywikibot/vo.json +8 -0
  2946. pywikibot_scripts/i18n/pywikibot/war.json +10 -0
  2947. pywikibot_scripts/i18n/pywikibot/yi.json +13 -0
  2948. pywikibot_scripts/i18n/pywikibot/yue.json +19 -0
  2949. pywikibot_scripts/i18n/pywikibot/zh.json +29 -0
  2950. pywikibot_scripts/i18n/pywikibot_scripts.egg-info/PKG-INFO +307 -0
  2951. pywikibot_scripts/i18n/pywikibot_scripts.egg-info/SOURCES.txt +4220 -0
  2952. pywikibot_scripts/i18n/pywikibot_scripts.egg-info/dependency_links.txt +1 -0
  2953. pywikibot_scripts/i18n/pywikibot_scripts.egg-info/entry_points.txt +2 -0
  2954. pywikibot_scripts/i18n/pywikibot_scripts.egg-info/top_level.txt +39 -0
  2955. pywikibot_scripts/i18n/redirect/af.json +12 -0
  2956. pywikibot_scripts/i18n/redirect/an.json +13 -0
  2957. pywikibot_scripts/i18n/redirect/ang.json +8 -0
  2958. pywikibot_scripts/i18n/redirect/ar.json +17 -0
  2959. pywikibot_scripts/i18n/redirect/ary.json +8 -0
  2960. pywikibot_scripts/i18n/redirect/arz.json +8 -0
  2961. pywikibot_scripts/i18n/redirect/as.json +8 -0
  2962. pywikibot_scripts/i18n/redirect/ast.json +16 -0
  2963. pywikibot_scripts/i18n/redirect/az.json +15 -0
  2964. pywikibot_scripts/i18n/redirect/azb.json +13 -0
  2965. pywikibot_scripts/i18n/redirect/ba.json +14 -0
  2966. pywikibot_scripts/i18n/redirect/bar.json +13 -0
  2967. pywikibot_scripts/i18n/redirect/bcc.json +12 -0
  2968. pywikibot_scripts/i18n/redirect/be-tarask.json +16 -0
  2969. pywikibot_scripts/i18n/redirect/bg.json +9 -0
  2970. pywikibot_scripts/i18n/redirect/bjn.json +11 -0
  2971. pywikibot_scripts/i18n/redirect/bn.json +15 -0
  2972. pywikibot_scripts/i18n/redirect/br.json +16 -0
  2973. pywikibot_scripts/i18n/redirect/bs.json +15 -0
  2974. pywikibot_scripts/i18n/redirect/ca.json +17 -0
  2975. pywikibot_scripts/i18n/redirect/ce.json +13 -0
  2976. pywikibot_scripts/i18n/redirect/ckb.json +13 -0
  2977. pywikibot_scripts/i18n/redirect/cs.json +20 -0
  2978. pywikibot_scripts/i18n/redirect/csb.json +12 -0
  2979. pywikibot_scripts/i18n/redirect/cy.json +17 -0
  2980. pywikibot_scripts/i18n/redirect/da.json +15 -0
  2981. pywikibot_scripts/i18n/redirect/de.json +17 -0
  2982. pywikibot_scripts/i18n/redirect/diq.json +17 -0
  2983. pywikibot_scripts/i18n/redirect/dsb.json +8 -0
  2984. pywikibot_scripts/i18n/redirect/el.json +15 -0
  2985. pywikibot_scripts/i18n/redirect/eml.json +8 -0
  2986. pywikibot_scripts/i18n/redirect/en.json +13 -0
  2987. pywikibot_scripts/i18n/redirect/eo.json +16 -0
  2988. pywikibot_scripts/i18n/redirect/es.json +20 -0
  2989. pywikibot_scripts/i18n/redirect/et.json +9 -0
  2990. pywikibot_scripts/i18n/redirect/eu.json +17 -0
  2991. pywikibot_scripts/i18n/redirect/ext.json +8 -0
  2992. pywikibot_scripts/i18n/redirect/fa.json +19 -0
  2993. pywikibot_scripts/i18n/redirect/ff.json +8 -0
  2994. pywikibot_scripts/i18n/redirect/fi.json +19 -0
  2995. pywikibot_scripts/i18n/redirect/fo.json +11 -0
  2996. pywikibot_scripts/i18n/redirect/fr.json +23 -0
  2997. pywikibot_scripts/i18n/redirect/frp.json +12 -0
  2998. pywikibot_scripts/i18n/redirect/frr.json +13 -0
  2999. pywikibot_scripts/i18n/redirect/fur.json +6 -0
  3000. pywikibot_scripts/i18n/redirect/ga.json +11 -0
  3001. pywikibot_scripts/i18n/redirect/gl.json +14 -0
  3002. pywikibot_scripts/i18n/redirect/gsw.json +15 -0
  3003. pywikibot_scripts/i18n/redirect/hak.json +13 -0
  3004. pywikibot_scripts/i18n/redirect/haw.json +13 -0
  3005. pywikibot_scripts/i18n/redirect/he.json +15 -0
  3006. pywikibot_scripts/i18n/redirect/hi.json +12 -0
  3007. pywikibot_scripts/i18n/redirect/hr.json +11 -0
  3008. pywikibot_scripts/i18n/redirect/hu.json +16 -0
  3009. pywikibot_scripts/i18n/redirect/ia.json +15 -0
  3010. pywikibot_scripts/i18n/redirect/id.json +20 -0
  3011. pywikibot_scripts/i18n/redirect/ie.json +11 -0
  3012. pywikibot_scripts/i18n/redirect/ilo.json +10 -0
  3013. pywikibot_scripts/i18n/redirect/io.json +10 -0
  3014. pywikibot_scripts/i18n/redirect/is.json +12 -0
  3015. pywikibot_scripts/i18n/redirect/it.json +16 -0
  3016. pywikibot_scripts/i18n/redirect/ja.json +14 -0
  3017. pywikibot_scripts/i18n/redirect/jv.json +11 -0
  3018. pywikibot_scripts/i18n/redirect/ka.json +9 -0
  3019. pywikibot_scripts/i18n/redirect/kk.json +10 -0
  3020. pywikibot_scripts/i18n/redirect/km.json +9 -0
  3021. pywikibot_scripts/i18n/redirect/ko.json +16 -0
  3022. pywikibot_scripts/i18n/redirect/krc.json +12 -0
  3023. pywikibot_scripts/i18n/redirect/ksh.json +14 -0
  3024. pywikibot_scripts/i18n/redirect/ku.json +13 -0
  3025. pywikibot_scripts/i18n/redirect/la.json +14 -0
  3026. pywikibot_scripts/i18n/redirect/lb.json +15 -0
  3027. pywikibot_scripts/i18n/redirect/li.json +13 -0
  3028. pywikibot_scripts/i18n/redirect/lt.json +15 -0
  3029. pywikibot_scripts/i18n/redirect/lzh.json +8 -0
  3030. pywikibot_scripts/i18n/redirect/map-bms.json +12 -0
  3031. pywikibot_scripts/i18n/redirect/mg.json +13 -0
  3032. pywikibot_scripts/i18n/redirect/mk.json +15 -0
  3033. pywikibot_scripts/i18n/redirect/ml.json +14 -0
  3034. pywikibot_scripts/i18n/redirect/ms.json +13 -0
  3035. pywikibot_scripts/i18n/redirect/mt.json +11 -0
  3036. pywikibot_scripts/i18n/redirect/my.json +11 -0
  3037. pywikibot_scripts/i18n/redirect/mzn.json +11 -0
  3038. pywikibot_scripts/i18n/redirect/nan.json +13 -0
  3039. pywikibot_scripts/i18n/redirect/nb.json +15 -0
  3040. pywikibot_scripts/i18n/redirect/nds-nl.json +14 -0
  3041. pywikibot_scripts/i18n/redirect/nds.json +10 -0
  3042. pywikibot_scripts/i18n/redirect/ne.json +14 -0
  3043. pywikibot_scripts/i18n/redirect/new.json +10 -0
  3044. pywikibot_scripts/i18n/redirect/nl.json +17 -0
  3045. pywikibot_scripts/i18n/redirect/nn.json +11 -0
  3046. pywikibot_scripts/i18n/redirect/nqo.json +12 -0
  3047. pywikibot_scripts/i18n/redirect/nv.json +8 -0
  3048. pywikibot_scripts/i18n/redirect/oc.json +12 -0
  3049. pywikibot_scripts/i18n/redirect/pdc.json +11 -0
  3050. pywikibot_scripts/i18n/redirect/pfl.json +9 -0
  3051. pywikibot_scripts/i18n/redirect/pl.json +18 -0
  3052. pywikibot_scripts/i18n/redirect/pms.json +13 -0
  3053. pywikibot_scripts/i18n/redirect/pt-br.json +16 -0
  3054. pywikibot_scripts/i18n/redirect/pt.json +15 -0
  3055. pywikibot_scripts/i18n/redirect/qqq.json +18 -0
  3056. pywikibot_scripts/i18n/redirect/ro.json +13 -0
  3057. pywikibot_scripts/i18n/redirect/ru.json +18 -0
  3058. pywikibot_scripts/i18n/redirect/rue.json +10 -0
  3059. pywikibot_scripts/i18n/redirect/sco.json +16 -0
  3060. pywikibot_scripts/i18n/redirect/sk.json +14 -0
  3061. pywikibot_scripts/i18n/redirect/sl.json +14 -0
  3062. pywikibot_scripts/i18n/redirect/so.json +12 -0
  3063. pywikibot_scripts/i18n/redirect/sq.json +10 -0
  3064. pywikibot_scripts/i18n/redirect/sr.json +17 -0
  3065. pywikibot_scripts/i18n/redirect/sv.json +17 -0
  3066. pywikibot_scripts/i18n/redirect/sw.json +9 -0
  3067. pywikibot_scripts/i18n/redirect/szl.json +11 -0
  3068. pywikibot_scripts/i18n/redirect/ta.json +11 -0
  3069. pywikibot_scripts/i18n/redirect/tcy.json +8 -0
  3070. pywikibot_scripts/i18n/redirect/tg.json +8 -0
  3071. pywikibot_scripts/i18n/redirect/th.json +14 -0
  3072. pywikibot_scripts/i18n/redirect/tl.json +11 -0
  3073. pywikibot_scripts/i18n/redirect/tly.json +14 -0
  3074. pywikibot_scripts/i18n/redirect/tr.json +18 -0
  3075. pywikibot_scripts/i18n/redirect/tt.json +12 -0
  3076. pywikibot_scripts/i18n/redirect/udm.json +8 -0
  3077. pywikibot_scripts/i18n/redirect/uk.json +18 -0
  3078. pywikibot_scripts/i18n/redirect/ur.json +7 -0
  3079. pywikibot_scripts/i18n/redirect/vec.json +16 -0
  3080. pywikibot_scripts/i18n/redirect/vi.json +14 -0
  3081. pywikibot_scripts/i18n/redirect/vo.json +8 -0
  3082. pywikibot_scripts/i18n/redirect/war.json +13 -0
  3083. pywikibot_scripts/i18n/redirect/yi.json +12 -0
  3084. pywikibot_scripts/i18n/redirect/yo.json +8 -0
  3085. pywikibot_scripts/i18n/redirect/yue.json +14 -0
  3086. pywikibot_scripts/i18n/redirect/zh.json +19 -0
  3087. pywikibot_scripts/i18n/reflinks/ar.json +11 -0
  3088. pywikibot_scripts/i18n/reflinks/ast.json +10 -0
  3089. pywikibot_scripts/i18n/reflinks/azb.json +9 -0
  3090. pywikibot_scripts/i18n/reflinks/ba.json +10 -0
  3091. pywikibot_scripts/i18n/reflinks/bcc.json +10 -0
  3092. pywikibot_scripts/i18n/reflinks/be-tarask.json +10 -0
  3093. pywikibot_scripts/i18n/reflinks/bg.json +8 -0
  3094. pywikibot_scripts/i18n/reflinks/bn.json +11 -0
  3095. pywikibot_scripts/i18n/reflinks/br.json +11 -0
  3096. pywikibot_scripts/i18n/reflinks/bs.json +10 -0
  3097. pywikibot_scripts/i18n/reflinks/ca.json +10 -0
  3098. pywikibot_scripts/i18n/reflinks/ce.json +11 -0
  3099. pywikibot_scripts/i18n/reflinks/cs.json +14 -0
  3100. pywikibot_scripts/i18n/reflinks/csb.json +10 -0
  3101. pywikibot_scripts/i18n/reflinks/cy.json +10 -0
  3102. pywikibot_scripts/i18n/reflinks/da.json +11 -0
  3103. pywikibot_scripts/i18n/reflinks/de.json +10 -0
  3104. pywikibot_scripts/i18n/reflinks/diq.json +11 -0
  3105. pywikibot_scripts/i18n/reflinks/dty.json +9 -0
  3106. pywikibot_scripts/i18n/reflinks/el.json +11 -0
  3107. pywikibot_scripts/i18n/reflinks/en.json +6 -0
  3108. pywikibot_scripts/i18n/reflinks/eo.json +10 -0
  3109. pywikibot_scripts/i18n/reflinks/es.json +11 -0
  3110. pywikibot_scripts/i18n/reflinks/eu.json +11 -0
  3111. pywikibot_scripts/i18n/reflinks/fa.json +12 -0
  3112. pywikibot_scripts/i18n/reflinks/fi.json +9 -0
  3113. pywikibot_scripts/i18n/reflinks/fo.json +10 -0
  3114. pywikibot_scripts/i18n/reflinks/fr.json +12 -0
  3115. pywikibot_scripts/i18n/reflinks/frr.json +10 -0
  3116. pywikibot_scripts/i18n/reflinks/gl.json +10 -0
  3117. pywikibot_scripts/i18n/reflinks/gsw.json +10 -0
  3118. pywikibot_scripts/i18n/reflinks/haw.json +10 -0
  3119. pywikibot_scripts/i18n/reflinks/he.json +11 -0
  3120. pywikibot_scripts/i18n/reflinks/hi.json +12 -0
  3121. pywikibot_scripts/i18n/reflinks/hu.json +11 -0
  3122. pywikibot_scripts/i18n/reflinks/hy.json +8 -0
  3123. pywikibot_scripts/i18n/reflinks/ia.json +10 -0
  3124. pywikibot_scripts/i18n/reflinks/id.json +14 -0
  3125. pywikibot_scripts/i18n/reflinks/io.json +9 -0
  3126. pywikibot_scripts/i18n/reflinks/it.json +10 -0
  3127. pywikibot_scripts/i18n/reflinks/ja.json +11 -0
  3128. pywikibot_scripts/i18n/reflinks/km.json +9 -0
  3129. pywikibot_scripts/i18n/reflinks/ko.json +10 -0
  3130. pywikibot_scripts/i18n/reflinks/krc.json +10 -0
  3131. pywikibot_scripts/i18n/reflinks/ksh.json +10 -0
  3132. pywikibot_scripts/i18n/reflinks/lb.json +10 -0
  3133. pywikibot_scripts/i18n/reflinks/lt.json +10 -0
  3134. pywikibot_scripts/i18n/reflinks/mg.json +10 -0
  3135. pywikibot_scripts/i18n/reflinks/mk.json +10 -0
  3136. pywikibot_scripts/i18n/reflinks/ml.json +10 -0
  3137. pywikibot_scripts/i18n/reflinks/ms.json +10 -0
  3138. pywikibot_scripts/i18n/reflinks/my.json +9 -0
  3139. pywikibot_scripts/i18n/reflinks/nan.json +11 -0
  3140. pywikibot_scripts/i18n/reflinks/nb.json +11 -0
  3141. pywikibot_scripts/i18n/reflinks/nds-nl.json +10 -0
  3142. pywikibot_scripts/i18n/reflinks/ne.json +11 -0
  3143. pywikibot_scripts/i18n/reflinks/nl.json +11 -0
  3144. pywikibot_scripts/i18n/reflinks/nqo.json +10 -0
  3145. pywikibot_scripts/i18n/reflinks/oc.json +10 -0
  3146. pywikibot_scripts/i18n/reflinks/olo.json +9 -0
  3147. pywikibot_scripts/i18n/reflinks/pl.json +10 -0
  3148. pywikibot_scripts/i18n/reflinks/pt-br.json +11 -0
  3149. pywikibot_scripts/i18n/reflinks/pt.json +11 -0
  3150. pywikibot_scripts/i18n/reflinks/qqq.json +10 -0
  3151. pywikibot_scripts/i18n/reflinks/ro.json +11 -0
  3152. pywikibot_scripts/i18n/reflinks/ru.json +12 -0
  3153. pywikibot_scripts/i18n/reflinks/sco.json +10 -0
  3154. pywikibot_scripts/i18n/reflinks/sd.json +11 -0
  3155. pywikibot_scripts/i18n/reflinks/sk.json +11 -0
  3156. pywikibot_scripts/i18n/reflinks/sl.json +10 -0
  3157. pywikibot_scripts/i18n/reflinks/sr.json +13 -0
  3158. pywikibot_scripts/i18n/reflinks/su.json +9 -0
  3159. pywikibot_scripts/i18n/reflinks/sv.json +13 -0
  3160. pywikibot_scripts/i18n/reflinks/ta.json +8 -0
  3161. pywikibot_scripts/i18n/reflinks/th.json +10 -0
  3162. pywikibot_scripts/i18n/reflinks/tr.json +10 -0
  3163. pywikibot_scripts/i18n/reflinks/uk.json +10 -0
  3164. pywikibot_scripts/i18n/reflinks/ur.json +10 -0
  3165. pywikibot_scripts/i18n/reflinks/vi.json +10 -0
  3166. pywikibot_scripts/i18n/reflinks/zh.json +10 -0
  3167. pywikibot_scripts/i18n/replace/af.json +8 -0
  3168. pywikibot_scripts/i18n/replace/ar.json +8 -0
  3169. pywikibot_scripts/i18n/replace/ast.json +9 -0
  3170. pywikibot_scripts/i18n/replace/az.json +8 -0
  3171. pywikibot_scripts/i18n/replace/azb.json +8 -0
  3172. pywikibot_scripts/i18n/replace/ba.json +8 -0
  3173. pywikibot_scripts/i18n/replace/bar.json +8 -0
  3174. pywikibot_scripts/i18n/replace/bcc.json +8 -0
  3175. pywikibot_scripts/i18n/replace/be-tarask.json +8 -0
  3176. pywikibot_scripts/i18n/replace/bjn.json +8 -0
  3177. pywikibot_scripts/i18n/replace/br.json +8 -0
  3178. pywikibot_scripts/i18n/replace/bs.json +9 -0
  3179. pywikibot_scripts/i18n/replace/ca.json +9 -0
  3180. pywikibot_scripts/i18n/replace/ce.json +8 -0
  3181. pywikibot_scripts/i18n/replace/ckb.json +10 -0
  3182. pywikibot_scripts/i18n/replace/cs.json +10 -0
  3183. pywikibot_scripts/i18n/replace/csb.json +8 -0
  3184. pywikibot_scripts/i18n/replace/cy.json +9 -0
  3185. pywikibot_scripts/i18n/replace/da.json +9 -0
  3186. pywikibot_scripts/i18n/replace/de.json +6 -0
  3187. pywikibot_scripts/i18n/replace/diq.json +8 -0
  3188. pywikibot_scripts/i18n/replace/el.json +6 -0
  3189. pywikibot_scripts/i18n/replace/en.json +4 -0
  3190. pywikibot_scripts/i18n/replace/eo.json +8 -0
  3191. pywikibot_scripts/i18n/replace/es.json +10 -0
  3192. pywikibot_scripts/i18n/replace/et.json +9 -0
  3193. pywikibot_scripts/i18n/replace/eu.json +8 -0
  3194. pywikibot_scripts/i18n/replace/fa.json +8 -0
  3195. pywikibot_scripts/i18n/replace/fi.json +6 -0
  3196. pywikibot_scripts/i18n/replace/fo.json +8 -0
  3197. pywikibot_scripts/i18n/replace/fr.json +8 -0
  3198. pywikibot_scripts/i18n/replace/frp.json +8 -0
  3199. pywikibot_scripts/i18n/replace/frr.json +6 -0
  3200. pywikibot_scripts/i18n/replace/fur.json +8 -0
  3201. pywikibot_scripts/i18n/replace/gl.json +8 -0
  3202. pywikibot_scripts/i18n/replace/gsw.json +8 -0
  3203. pywikibot_scripts/i18n/replace/hak.json +8 -0
  3204. pywikibot_scripts/i18n/replace/haw.json +8 -0
  3205. pywikibot_scripts/i18n/replace/he.json +6 -0
  3206. pywikibot_scripts/i18n/replace/hi.json +8 -0
  3207. pywikibot_scripts/i18n/replace/hr.json +8 -0
  3208. pywikibot_scripts/i18n/replace/hsb.json +8 -0
  3209. pywikibot_scripts/i18n/replace/hu.json +8 -0
  3210. pywikibot_scripts/i18n/replace/hy.json +8 -0
  3211. pywikibot_scripts/i18n/replace/ia.json +6 -0
  3212. pywikibot_scripts/i18n/replace/id.json +6 -0
  3213. pywikibot_scripts/i18n/replace/ie.json +8 -0
  3214. pywikibot_scripts/i18n/replace/ilo.json +8 -0
  3215. pywikibot_scripts/i18n/replace/io.json +8 -0
  3216. pywikibot_scripts/i18n/replace/is.json +6 -0
  3217. pywikibot_scripts/i18n/replace/it.json +8 -0
  3218. pywikibot_scripts/i18n/replace/ja.json +8 -0
  3219. pywikibot_scripts/i18n/replace/jv.json +8 -0
  3220. pywikibot_scripts/i18n/replace/ka.json +6 -0
  3221. pywikibot_scripts/i18n/replace/kk.json +6 -0
  3222. pywikibot_scripts/i18n/replace/ko.json +10 -0
  3223. pywikibot_scripts/i18n/replace/krc.json +8 -0
  3224. pywikibot_scripts/i18n/replace/ksh.json +6 -0
  3225. pywikibot_scripts/i18n/replace/ku.json +9 -0
  3226. pywikibot_scripts/i18n/replace/ky.json +8 -0
  3227. pywikibot_scripts/i18n/replace/la.json +8 -0
  3228. pywikibot_scripts/i18n/replace/lb.json +8 -0
  3229. pywikibot_scripts/i18n/replace/li.json +8 -0
  3230. pywikibot_scripts/i18n/replace/lki.json +8 -0
  3231. pywikibot_scripts/i18n/replace/lt.json +6 -0
  3232. pywikibot_scripts/i18n/replace/lv.json +8 -0
  3233. pywikibot_scripts/i18n/replace/map-bms.json +8 -0
  3234. pywikibot_scripts/i18n/replace/mg.json +8 -0
  3235. pywikibot_scripts/i18n/replace/min.json +9 -0
  3236. pywikibot_scripts/i18n/replace/mk.json +9 -0
  3237. pywikibot_scripts/i18n/replace/ml.json +8 -0
  3238. pywikibot_scripts/i18n/replace/ms.json +8 -0
  3239. pywikibot_scripts/i18n/replace/mt.json +8 -0
  3240. pywikibot_scripts/i18n/replace/my.json +8 -0
  3241. pywikibot_scripts/i18n/replace/mzn.json +8 -0
  3242. pywikibot_scripts/i18n/replace/nan.json +9 -0
  3243. pywikibot_scripts/i18n/replace/nb.json +8 -0
  3244. pywikibot_scripts/i18n/replace/nds-nl.json +8 -0
  3245. pywikibot_scripts/i18n/replace/nds.json +6 -0
  3246. pywikibot_scripts/i18n/replace/ne.json +9 -0
  3247. pywikibot_scripts/i18n/replace/nl.json +9 -0
  3248. pywikibot_scripts/i18n/replace/nn.json +9 -0
  3249. pywikibot_scripts/i18n/replace/nqo.json +8 -0
  3250. pywikibot_scripts/i18n/replace/oc.json +8 -0
  3251. pywikibot_scripts/i18n/replace/pl.json +8 -0
  3252. pywikibot_scripts/i18n/replace/pms.json +8 -0
  3253. pywikibot_scripts/i18n/replace/pt-br.json +8 -0
  3254. pywikibot_scripts/i18n/replace/pt.json +8 -0
  3255. pywikibot_scripts/i18n/replace/qqq.json +9 -0
  3256. pywikibot_scripts/i18n/replace/ro.json +8 -0
  3257. pywikibot_scripts/i18n/replace/ru.json +9 -0
  3258. pywikibot_scripts/i18n/replace/rue.json +8 -0
  3259. pywikibot_scripts/i18n/replace/sco.json +9 -0
  3260. pywikibot_scripts/i18n/replace/sd.json +9 -0
  3261. pywikibot_scripts/i18n/replace/sk.json +9 -0
  3262. pywikibot_scripts/i18n/replace/sl.json +8 -0
  3263. pywikibot_scripts/i18n/replace/so.json +8 -0
  3264. pywikibot_scripts/i18n/replace/sq.json +8 -0
  3265. pywikibot_scripts/i18n/replace/sr.json +10 -0
  3266. pywikibot_scripts/i18n/replace/sv.json +6 -0
  3267. pywikibot_scripts/i18n/replace/ta.json +8 -0
  3268. pywikibot_scripts/i18n/replace/th.json +9 -0
  3269. pywikibot_scripts/i18n/replace/tl.json +8 -0
  3270. pywikibot_scripts/i18n/replace/tly.json +8 -0
  3271. pywikibot_scripts/i18n/replace/tr.json +8 -0
  3272. pywikibot_scripts/i18n/replace/tt.json +8 -0
  3273. pywikibot_scripts/i18n/replace/uk.json +6 -0
  3274. pywikibot_scripts/i18n/replace/ur.json +8 -0
  3275. pywikibot_scripts/i18n/replace/uz.json +8 -0
  3276. pywikibot_scripts/i18n/replace/vec.json +9 -0
  3277. pywikibot_scripts/i18n/replace/vi.json +8 -0
  3278. pywikibot_scripts/i18n/replace/yi.json +8 -0
  3279. pywikibot_scripts/i18n/replace/yo.json +8 -0
  3280. pywikibot_scripts/i18n/replace/zh.json +9 -0
  3281. pywikibot_scripts/i18n/replicate_wiki/ar.json +12 -0
  3282. pywikibot_scripts/i18n/replicate_wiki/be-tarask.json +12 -0
  3283. pywikibot_scripts/i18n/replicate_wiki/br.json +13 -0
  3284. pywikibot_scripts/i18n/replicate_wiki/ckb.json +9 -0
  3285. pywikibot_scripts/i18n/replicate_wiki/de.json +12 -0
  3286. pywikibot_scripts/i18n/replicate_wiki/diq.json +10 -0
  3287. pywikibot_scripts/i18n/replicate_wiki/en.json +13 -0
  3288. pywikibot_scripts/i18n/replicate_wiki/es.json +12 -0
  3289. pywikibot_scripts/i18n/replicate_wiki/fr.json +12 -0
  3290. pywikibot_scripts/i18n/replicate_wiki/gl.json +12 -0
  3291. pywikibot_scripts/i18n/replicate_wiki/he.json +12 -0
  3292. pywikibot_scripts/i18n/replicate_wiki/hi.json +9 -0
  3293. pywikibot_scripts/i18n/replicate_wiki/hu.json +9 -0
  3294. pywikibot_scripts/i18n/replicate_wiki/ia.json +12 -0
  3295. pywikibot_scripts/i18n/replicate_wiki/id.json +12 -0
  3296. pywikibot_scripts/i18n/replicate_wiki/it.json +11 -0
  3297. pywikibot_scripts/i18n/replicate_wiki/ko.json +14 -0
  3298. pywikibot_scripts/i18n/replicate_wiki/krc.json +12 -0
  3299. pywikibot_scripts/i18n/replicate_wiki/mk.json +12 -0
  3300. pywikibot_scripts/i18n/replicate_wiki/nb.json +12 -0
  3301. pywikibot_scripts/i18n/replicate_wiki/nl.json +13 -0
  3302. pywikibot_scripts/i18n/replicate_wiki/nqo.json +12 -0
  3303. pywikibot_scripts/i18n/replicate_wiki/pl.json +8 -0
  3304. pywikibot_scripts/i18n/replicate_wiki/pt-br.json +12 -0
  3305. pywikibot_scripts/i18n/replicate_wiki/qqq.json +12 -0
  3306. pywikibot_scripts/i18n/replicate_wiki/ru.json +12 -0
  3307. pywikibot_scripts/i18n/replicate_wiki/sl.json +12 -0
  3308. pywikibot_scripts/i18n/replicate_wiki/sr.json +12 -0
  3309. pywikibot_scripts/i18n/replicate_wiki/uk.json +12 -0
  3310. pywikibot_scripts/i18n/replicate_wiki/vi.json +12 -0
  3311. pywikibot_scripts/i18n/replicate_wiki/zh.json +12 -0
  3312. pywikibot_scripts/i18n/revertbot/ar.json +9 -0
  3313. pywikibot_scripts/i18n/revertbot/ast.json +8 -0
  3314. pywikibot_scripts/i18n/revertbot/bcc.json +8 -0
  3315. pywikibot_scripts/i18n/revertbot/be-tarask.json +8 -0
  3316. pywikibot_scripts/i18n/revertbot/be.json +8 -0
  3317. pywikibot_scripts/i18n/revertbot/br.json +8 -0
  3318. pywikibot_scripts/i18n/revertbot/bs.json +10 -0
  3319. pywikibot_scripts/i18n/revertbot/ca.json +8 -0
  3320. pywikibot_scripts/i18n/revertbot/ce.json +8 -0
  3321. pywikibot_scripts/i18n/revertbot/ckb.json +8 -0
  3322. pywikibot_scripts/i18n/revertbot/cs.json +11 -0
  3323. pywikibot_scripts/i18n/revertbot/csb.json +8 -0
  3324. pywikibot_scripts/i18n/revertbot/cy.json +8 -0
  3325. pywikibot_scripts/i18n/revertbot/da.json +8 -0
  3326. pywikibot_scripts/i18n/revertbot/de.json +8 -0
  3327. pywikibot_scripts/i18n/revertbot/diq.json +8 -0
  3328. pywikibot_scripts/i18n/revertbot/el.json +9 -0
  3329. pywikibot_scripts/i18n/revertbot/en.json +4 -0
  3330. pywikibot_scripts/i18n/revertbot/eo.json +8 -0
  3331. pywikibot_scripts/i18n/revertbot/es.json +8 -0
  3332. pywikibot_scripts/i18n/revertbot/eu.json +9 -0
  3333. pywikibot_scripts/i18n/revertbot/fa.json +8 -0
  3334. pywikibot_scripts/i18n/revertbot/fi.json +8 -0
  3335. pywikibot_scripts/i18n/revertbot/fr.json +9 -0
  3336. pywikibot_scripts/i18n/revertbot/frr.json +8 -0
  3337. pywikibot_scripts/i18n/revertbot/gl.json +9 -0
  3338. pywikibot_scripts/i18n/revertbot/gsw.json +8 -0
  3339. pywikibot_scripts/i18n/revertbot/haw.json +8 -0
  3340. pywikibot_scripts/i18n/revertbot/he.json +8 -0
  3341. pywikibot_scripts/i18n/revertbot/hi.json +8 -0
  3342. pywikibot_scripts/i18n/revertbot/hu.json +8 -0
  3343. pywikibot_scripts/i18n/revertbot/ia.json +8 -0
  3344. pywikibot_scripts/i18n/revertbot/id.json +10 -0
  3345. pywikibot_scripts/i18n/revertbot/io.json +8 -0
  3346. pywikibot_scripts/i18n/revertbot/it.json +8 -0
  3347. pywikibot_scripts/i18n/revertbot/ja.json +9 -0
  3348. pywikibot_scripts/i18n/revertbot/ko.json +8 -0
  3349. pywikibot_scripts/i18n/revertbot/krc.json +8 -0
  3350. pywikibot_scripts/i18n/revertbot/lb.json +8 -0
  3351. pywikibot_scripts/i18n/revertbot/lt.json +8 -0
  3352. pywikibot_scripts/i18n/revertbot/mg.json +8 -0
  3353. pywikibot_scripts/i18n/revertbot/mk.json +8 -0
  3354. pywikibot_scripts/i18n/revertbot/ml.json +8 -0
  3355. pywikibot_scripts/i18n/revertbot/ms.json +8 -0
  3356. pywikibot_scripts/i18n/revertbot/nan.json +9 -0
  3357. pywikibot_scripts/i18n/revertbot/nb.json +8 -0
  3358. pywikibot_scripts/i18n/revertbot/nds-nl.json +8 -0
  3359. pywikibot_scripts/i18n/revertbot/ne.json +8 -0
  3360. pywikibot_scripts/i18n/revertbot/nl.json +8 -0
  3361. pywikibot_scripts/i18n/revertbot/nqo.json +8 -0
  3362. pywikibot_scripts/i18n/revertbot/oc.json +8 -0
  3363. pywikibot_scripts/i18n/revertbot/pl.json +8 -0
  3364. pywikibot_scripts/i18n/revertbot/pms.json +8 -0
  3365. pywikibot_scripts/i18n/revertbot/pt-br.json +8 -0
  3366. pywikibot_scripts/i18n/revertbot/pt.json +8 -0
  3367. pywikibot_scripts/i18n/revertbot/qqq.json +8 -0
  3368. pywikibot_scripts/i18n/revertbot/ro.json +8 -0
  3369. pywikibot_scripts/i18n/revertbot/ru.json +8 -0
  3370. pywikibot_scripts/i18n/revertbot/sco.json +8 -0
  3371. pywikibot_scripts/i18n/revertbot/sk.json +9 -0
  3372. pywikibot_scripts/i18n/revertbot/sl.json +8 -0
  3373. pywikibot_scripts/i18n/revertbot/sr.json +10 -0
  3374. pywikibot_scripts/i18n/revertbot/sv.json +8 -0
  3375. pywikibot_scripts/i18n/revertbot/th.json +8 -0
  3376. pywikibot_scripts/i18n/revertbot/tr.json +8 -0
  3377. pywikibot_scripts/i18n/revertbot/uk.json +8 -0
  3378. pywikibot_scripts/i18n/revertbot/vi.json +8 -0
  3379. pywikibot_scripts/i18n/revertbot/zh.json +8 -0
  3380. pywikibot_scripts/i18n/run-tests.sh +18 -0
  3381. pywikibot_scripts/i18n/solve_disambiguation/af.json +9 -0
  3382. pywikibot_scripts/i18n/solve_disambiguation/ar.json +16 -0
  3383. pywikibot_scripts/i18n/solve_disambiguation/arc.json +8 -0
  3384. pywikibot_scripts/i18n/solve_disambiguation/ast.json +15 -0
  3385. pywikibot_scripts/i18n/solve_disambiguation/az.json +15 -0
  3386. pywikibot_scripts/i18n/solve_disambiguation/azb.json +15 -0
  3387. pywikibot_scripts/i18n/solve_disambiguation/ba.json +14 -0
  3388. pywikibot_scripts/i18n/solve_disambiguation/bar.json +14 -0
  3389. pywikibot_scripts/i18n/solve_disambiguation/bcc.json +14 -0
  3390. pywikibot_scripts/i18n/solve_disambiguation/be-tarask.json +15 -0
  3391. pywikibot_scripts/i18n/solve_disambiguation/bg.json +8 -0
  3392. pywikibot_scripts/i18n/solve_disambiguation/bgn.json +8 -0
  3393. pywikibot_scripts/i18n/solve_disambiguation/bjn.json +11 -0
  3394. pywikibot_scripts/i18n/solve_disambiguation/bn.json +8 -0
  3395. pywikibot_scripts/i18n/solve_disambiguation/br.json +15 -0
  3396. pywikibot_scripts/i18n/solve_disambiguation/bs.json +14 -0
  3397. pywikibot_scripts/i18n/solve_disambiguation/ca.json +16 -0
  3398. pywikibot_scripts/i18n/solve_disambiguation/ce.json +14 -0
  3399. pywikibot_scripts/i18n/solve_disambiguation/ckb.json +8 -0
  3400. pywikibot_scripts/i18n/solve_disambiguation/cs.json +17 -0
  3401. pywikibot_scripts/i18n/solve_disambiguation/csb.json +14 -0
  3402. pywikibot_scripts/i18n/solve_disambiguation/cu.json +8 -0
  3403. pywikibot_scripts/i18n/solve_disambiguation/cv.json +8 -0
  3404. pywikibot_scripts/i18n/solve_disambiguation/cy.json +16 -0
  3405. pywikibot_scripts/i18n/solve_disambiguation/da.json +16 -0
  3406. pywikibot_scripts/i18n/solve_disambiguation/de.json +15 -0
  3407. pywikibot_scripts/i18n/solve_disambiguation/diq.json +15 -0
  3408. pywikibot_scripts/i18n/solve_disambiguation/el.json +16 -0
  3409. pywikibot_scripts/i18n/solve_disambiguation/eml.json +9 -0
  3410. pywikibot_scripts/i18n/solve_disambiguation/en.json +10 -0
  3411. pywikibot_scripts/i18n/solve_disambiguation/eo.json +14 -0
  3412. pywikibot_scripts/i18n/solve_disambiguation/es.json +17 -0
  3413. pywikibot_scripts/i18n/solve_disambiguation/et.json +15 -0
  3414. pywikibot_scripts/i18n/solve_disambiguation/eu.json +16 -0
  3415. pywikibot_scripts/i18n/solve_disambiguation/fa.json +17 -0
  3416. pywikibot_scripts/i18n/solve_disambiguation/fi.json +15 -0
  3417. pywikibot_scripts/i18n/solve_disambiguation/fo.json +11 -0
  3418. pywikibot_scripts/i18n/solve_disambiguation/fr.json +19 -0
  3419. pywikibot_scripts/i18n/solve_disambiguation/frp.json +14 -0
  3420. pywikibot_scripts/i18n/solve_disambiguation/frr.json +14 -0
  3421. pywikibot_scripts/i18n/solve_disambiguation/fur.json +8 -0
  3422. pywikibot_scripts/i18n/solve_disambiguation/fy.json +9 -0
  3423. pywikibot_scripts/i18n/solve_disambiguation/gl.json +14 -0
  3424. pywikibot_scripts/i18n/solve_disambiguation/gsw.json +14 -0
  3425. pywikibot_scripts/i18n/solve_disambiguation/gu.json +8 -0
  3426. pywikibot_scripts/i18n/solve_disambiguation/hak.json +14 -0
  3427. pywikibot_scripts/i18n/solve_disambiguation/haw.json +14 -0
  3428. pywikibot_scripts/i18n/solve_disambiguation/he.json +15 -0
  3429. pywikibot_scripts/i18n/solve_disambiguation/hi.json +15 -0
  3430. pywikibot_scripts/i18n/solve_disambiguation/hr.json +14 -0
  3431. pywikibot_scripts/i18n/solve_disambiguation/hsb.json +8 -0
  3432. pywikibot_scripts/i18n/solve_disambiguation/hu.json +14 -0
  3433. pywikibot_scripts/i18n/solve_disambiguation/hy.json +8 -0
  3434. pywikibot_scripts/i18n/solve_disambiguation/ia.json +14 -0
  3435. pywikibot_scripts/i18n/solve_disambiguation/id.json +16 -0
  3436. pywikibot_scripts/i18n/solve_disambiguation/ie.json +14 -0
  3437. pywikibot_scripts/i18n/solve_disambiguation/ig.json +8 -0
  3438. pywikibot_scripts/i18n/solve_disambiguation/ilo.json +14 -0
  3439. pywikibot_scripts/i18n/solve_disambiguation/inh.json +8 -0
  3440. pywikibot_scripts/i18n/solve_disambiguation/io.json +10 -0
  3441. pywikibot_scripts/i18n/solve_disambiguation/is.json +14 -0
  3442. pywikibot_scripts/i18n/solve_disambiguation/it.json +15 -0
  3443. pywikibot_scripts/i18n/solve_disambiguation/ja.json +17 -0
  3444. pywikibot_scripts/i18n/solve_disambiguation/jv.json +14 -0
  3445. pywikibot_scripts/i18n/solve_disambiguation/ka.json +8 -0
  3446. pywikibot_scripts/i18n/solve_disambiguation/kab.json +8 -0
  3447. pywikibot_scripts/i18n/solve_disambiguation/kjp.json +8 -0
  3448. pywikibot_scripts/i18n/solve_disambiguation/kk.json +12 -0
  3449. pywikibot_scripts/i18n/solve_disambiguation/km.json +8 -0
  3450. pywikibot_scripts/i18n/solve_disambiguation/ko.json +15 -0
  3451. pywikibot_scripts/i18n/solve_disambiguation/krc.json +14 -0
  3452. pywikibot_scripts/i18n/solve_disambiguation/ksh.json +14 -0
  3453. pywikibot_scripts/i18n/solve_disambiguation/ku.json +8 -0
  3454. pywikibot_scripts/i18n/solve_disambiguation/ky.json +8 -0
  3455. pywikibot_scripts/i18n/solve_disambiguation/la.json +8 -0
  3456. pywikibot_scripts/i18n/solve_disambiguation/lb.json +14 -0
  3457. pywikibot_scripts/i18n/solve_disambiguation/lrc.json +8 -0
  3458. pywikibot_scripts/i18n/solve_disambiguation/lt.json +16 -0
  3459. pywikibot_scripts/i18n/solve_disambiguation/ltg.json +8 -0
  3460. pywikibot_scripts/i18n/solve_disambiguation/lv.json +8 -0
  3461. pywikibot_scripts/i18n/solve_disambiguation/map-bms.json +15 -0
  3462. pywikibot_scripts/i18n/solve_disambiguation/mg.json +14 -0
  3463. pywikibot_scripts/i18n/solve_disambiguation/min.json +15 -0
  3464. pywikibot_scripts/i18n/solve_disambiguation/mk.json +14 -0
  3465. pywikibot_scripts/i18n/solve_disambiguation/ml.json +14 -0
  3466. pywikibot_scripts/i18n/solve_disambiguation/mni.json +8 -0
  3467. pywikibot_scripts/i18n/solve_disambiguation/mnw.json +8 -0
  3468. pywikibot_scripts/i18n/solve_disambiguation/mr.json +8 -0
  3469. pywikibot_scripts/i18n/solve_disambiguation/ms.json +15 -0
  3470. pywikibot_scripts/i18n/solve_disambiguation/mt.json +14 -0
  3471. pywikibot_scripts/i18n/solve_disambiguation/my.json +8 -0
  3472. pywikibot_scripts/i18n/solve_disambiguation/mzn.json +15 -0
  3473. pywikibot_scripts/i18n/solve_disambiguation/nah.json +9 -0
  3474. pywikibot_scripts/i18n/solve_disambiguation/nan.json +15 -0
  3475. pywikibot_scripts/i18n/solve_disambiguation/nb.json +16 -0
  3476. pywikibot_scripts/i18n/solve_disambiguation/nds-nl.json +15 -0
  3477. pywikibot_scripts/i18n/solve_disambiguation/nds.json +14 -0
  3478. pywikibot_scripts/i18n/solve_disambiguation/ne.json +16 -0
  3479. pywikibot_scripts/i18n/solve_disambiguation/new.json +8 -0
  3480. pywikibot_scripts/i18n/solve_disambiguation/nl.json +17 -0
  3481. pywikibot_scripts/i18n/solve_disambiguation/nn.json +9 -0
  3482. pywikibot_scripts/i18n/solve_disambiguation/nqo.json +9 -0
  3483. pywikibot_scripts/i18n/solve_disambiguation/oc.json +9 -0
  3484. pywikibot_scripts/i18n/solve_disambiguation/olo.json +8 -0
  3485. pywikibot_scripts/i18n/solve_disambiguation/os.json +8 -0
  3486. pywikibot_scripts/i18n/solve_disambiguation/pa.json +8 -0
  3487. pywikibot_scripts/i18n/solve_disambiguation/pdc.json +8 -0
  3488. pywikibot_scripts/i18n/solve_disambiguation/pl.json +14 -0
  3489. pywikibot_scripts/i18n/solve_disambiguation/pms.json +15 -0
  3490. pywikibot_scripts/i18n/solve_disambiguation/ps.json +8 -0
  3491. pywikibot_scripts/i18n/solve_disambiguation/pt-br.json +15 -0
  3492. pywikibot_scripts/i18n/solve_disambiguation/pt.json +16 -0
  3493. pywikibot_scripts/i18n/solve_disambiguation/qqq.json +16 -0
  3494. pywikibot_scripts/i18n/solve_disambiguation/ro.json +15 -0
  3495. pywikibot_scripts/i18n/solve_disambiguation/ru.json +16 -0
  3496. pywikibot_scripts/i18n/solve_disambiguation/rue.json +8 -0
  3497. pywikibot_scripts/i18n/solve_disambiguation/sa.json +8 -0
  3498. pywikibot_scripts/i18n/solve_disambiguation/scn.json +8 -0
  3499. pywikibot_scripts/i18n/solve_disambiguation/sco.json +15 -0
  3500. pywikibot_scripts/i18n/solve_disambiguation/sd.json +8 -0
  3501. pywikibot_scripts/i18n/solve_disambiguation/sdh.json +8 -0
  3502. pywikibot_scripts/i18n/solve_disambiguation/se.json +8 -0
  3503. pywikibot_scripts/i18n/solve_disambiguation/sh.json +8 -0
  3504. pywikibot_scripts/i18n/solve_disambiguation/si.json +8 -0
  3505. pywikibot_scripts/i18n/solve_disambiguation/sk.json +16 -0
  3506. pywikibot_scripts/i18n/solve_disambiguation/skr.json +8 -0
  3507. pywikibot_scripts/i18n/solve_disambiguation/sl.json +15 -0
  3508. pywikibot_scripts/i18n/solve_disambiguation/smn.json +8 -0
  3509. pywikibot_scripts/i18n/solve_disambiguation/sms.json +8 -0
  3510. pywikibot_scripts/i18n/solve_disambiguation/so.json +14 -0
  3511. pywikibot_scripts/i18n/solve_disambiguation/sq.json +14 -0
  3512. pywikibot_scripts/i18n/solve_disambiguation/sr.json +16 -0
  3513. pywikibot_scripts/i18n/solve_disambiguation/su.json +8 -0
  3514. pywikibot_scripts/i18n/solve_disambiguation/sv.json +17 -0
  3515. pywikibot_scripts/i18n/solve_disambiguation/sw.json +8 -0
  3516. pywikibot_scripts/i18n/solve_disambiguation/ta.json +13 -0
  3517. pywikibot_scripts/i18n/solve_disambiguation/te.json +8 -0
  3518. pywikibot_scripts/i18n/solve_disambiguation/th.json +15 -0
  3519. pywikibot_scripts/i18n/solve_disambiguation/tl.json +14 -0
  3520. pywikibot_scripts/i18n/solve_disambiguation/tly.json +16 -0
  3521. pywikibot_scripts/i18n/solve_disambiguation/tr.json +17 -0
  3522. pywikibot_scripts/i18n/solve_disambiguation/tt.json +14 -0
  3523. pywikibot_scripts/i18n/solve_disambiguation/tzm.json +8 -0
  3524. pywikibot_scripts/i18n/solve_disambiguation/uk.json +18 -0
  3525. pywikibot_scripts/i18n/solve_disambiguation/ur.json +8 -0
  3526. pywikibot_scripts/i18n/solve_disambiguation/uz.json +8 -0
  3527. pywikibot_scripts/i18n/solve_disambiguation/vec.json +15 -0
  3528. pywikibot_scripts/i18n/solve_disambiguation/vi.json +14 -0
  3529. pywikibot_scripts/i18n/solve_disambiguation/vo.json +8 -0
  3530. pywikibot_scripts/i18n/solve_disambiguation/yi.json +8 -0
  3531. pywikibot_scripts/i18n/solve_disambiguation/zh.json +15 -0
  3532. pywikibot_scripts/i18n/template/ar.json +12 -0
  3533. pywikibot_scripts/i18n/template/arc.json +8 -0
  3534. pywikibot_scripts/i18n/template/ast.json +11 -0
  3535. pywikibot_scripts/i18n/template/az.json +11 -0
  3536. pywikibot_scripts/i18n/template/azb.json +11 -0
  3537. pywikibot_scripts/i18n/template/ba.json +10 -0
  3538. pywikibot_scripts/i18n/template/bcc.json +10 -0
  3539. pywikibot_scripts/i18n/template/be-tarask.json +10 -0
  3540. pywikibot_scripts/i18n/template/bn.json +10 -0
  3541. pywikibot_scripts/i18n/template/br.json +10 -0
  3542. pywikibot_scripts/i18n/template/bs.json +10 -0
  3543. pywikibot_scripts/i18n/template/ca.json +12 -0
  3544. pywikibot_scripts/i18n/template/ce.json +10 -0
  3545. pywikibot_scripts/i18n/template/ckb.json +12 -0
  3546. pywikibot_scripts/i18n/template/cs.json +15 -0
  3547. pywikibot_scripts/i18n/template/csb.json +10 -0
  3548. pywikibot_scripts/i18n/template/cy.json +10 -0
  3549. pywikibot_scripts/i18n/template/da.json +10 -0
  3550. pywikibot_scripts/i18n/template/de.json +11 -0
  3551. pywikibot_scripts/i18n/template/diq.json +11 -0
  3552. pywikibot_scripts/i18n/template/el.json +10 -0
  3553. pywikibot_scripts/i18n/template/en.json +6 -0
  3554. pywikibot_scripts/i18n/template/eo.json +12 -0
  3555. pywikibot_scripts/i18n/template/es.json +12 -0
  3556. pywikibot_scripts/i18n/template/eu.json +10 -0
  3557. pywikibot_scripts/i18n/template/fa.json +11 -0
  3558. pywikibot_scripts/i18n/template/fi.json +10 -0
  3559. pywikibot_scripts/i18n/template/fo.json +10 -0
  3560. pywikibot_scripts/i18n/template/fr.json +11 -0
  3561. pywikibot_scripts/i18n/template/frp.json +10 -0
  3562. pywikibot_scripts/i18n/template/frr.json +11 -0
  3563. pywikibot_scripts/i18n/template/gl.json +10 -0
  3564. pywikibot_scripts/i18n/template/gsw.json +10 -0
  3565. pywikibot_scripts/i18n/template/hak.json +10 -0
  3566. pywikibot_scripts/i18n/template/haw.json +10 -0
  3567. pywikibot_scripts/i18n/template/he.json +8 -0
  3568. pywikibot_scripts/i18n/template/hi.json +11 -0
  3569. pywikibot_scripts/i18n/template/hu.json +10 -0
  3570. pywikibot_scripts/i18n/template/ia.json +10 -0
  3571. pywikibot_scripts/i18n/template/id.json +12 -0
  3572. pywikibot_scripts/i18n/template/ilo.json +10 -0
  3573. pywikibot_scripts/i18n/template/is.json +10 -0
  3574. pywikibot_scripts/i18n/template/it.json +12 -0
  3575. pywikibot_scripts/i18n/template/ja.json +12 -0
  3576. pywikibot_scripts/i18n/template/jv.json +10 -0
  3577. pywikibot_scripts/i18n/template/kk.json +8 -0
  3578. pywikibot_scripts/i18n/template/ko.json +11 -0
  3579. pywikibot_scripts/i18n/template/krc.json +10 -0
  3580. pywikibot_scripts/i18n/template/ksh.json +10 -0
  3581. pywikibot_scripts/i18n/template/ku.json +10 -0
  3582. pywikibot_scripts/i18n/template/ky.json +8 -0
  3583. pywikibot_scripts/i18n/template/lb.json +10 -0
  3584. pywikibot_scripts/i18n/template/lt.json +10 -0
  3585. pywikibot_scripts/i18n/template/map-bms.json +10 -0
  3586. pywikibot_scripts/i18n/template/mg.json +10 -0
  3587. pywikibot_scripts/i18n/template/mk.json +11 -0
  3588. pywikibot_scripts/i18n/template/ml.json +10 -0
  3589. pywikibot_scripts/i18n/template/ms.json +10 -0
  3590. pywikibot_scripts/i18n/template/my.json +10 -0
  3591. pywikibot_scripts/i18n/template/nan.json +11 -0
  3592. pywikibot_scripts/i18n/template/nb.json +10 -0
  3593. pywikibot_scripts/i18n/template/nds-nl.json +10 -0
  3594. pywikibot_scripts/i18n/template/nds.json +8 -0
  3595. pywikibot_scripts/i18n/template/ne.json +11 -0
  3596. pywikibot_scripts/i18n/template/nl.json +11 -0
  3597. pywikibot_scripts/i18n/template/nqo.json +8 -0
  3598. pywikibot_scripts/i18n/template/oc.json +10 -0
  3599. pywikibot_scripts/i18n/template/pl.json +11 -0
  3600. pywikibot_scripts/i18n/template/pms.json +11 -0
  3601. pywikibot_scripts/i18n/template/pt-br.json +10 -0
  3602. pywikibot_scripts/i18n/template/pt.json +10 -0
  3603. pywikibot_scripts/i18n/template/qqq.json +10 -0
  3604. pywikibot_scripts/i18n/template/ro.json +10 -0
  3605. pywikibot_scripts/i18n/template/ru.json +11 -0
  3606. pywikibot_scripts/i18n/template/scn.json +8 -0
  3607. pywikibot_scripts/i18n/template/sco.json +10 -0
  3608. pywikibot_scripts/i18n/template/sh.json +10 -0
  3609. pywikibot_scripts/i18n/template/sk.json +11 -0
  3610. pywikibot_scripts/i18n/template/sl.json +10 -0
  3611. pywikibot_scripts/i18n/template/so.json +10 -0
  3612. pywikibot_scripts/i18n/template/sr.json +12 -0
  3613. pywikibot_scripts/i18n/template/su.json +8 -0
  3614. pywikibot_scripts/i18n/template/sv.json +10 -0
  3615. pywikibot_scripts/i18n/template/sw.json +9 -0
  3616. pywikibot_scripts/i18n/template/ta.json +10 -0
  3617. pywikibot_scripts/i18n/template/te.json +8 -0
  3618. pywikibot_scripts/i18n/template/tg.json +10 -0
  3619. pywikibot_scripts/i18n/template/th.json +10 -0
  3620. pywikibot_scripts/i18n/template/tl.json +10 -0
  3621. pywikibot_scripts/i18n/template/tly.json +11 -0
  3622. pywikibot_scripts/i18n/template/tr.json +10 -0
  3623. pywikibot_scripts/i18n/template/uk.json +10 -0
  3624. pywikibot_scripts/i18n/template/ur.json +9 -0
  3625. pywikibot_scripts/i18n/template/vec.json +11 -0
  3626. pywikibot_scripts/i18n/template/vi.json +10 -0
  3627. pywikibot_scripts/i18n/template/war.json +10 -0
  3628. pywikibot_scripts/i18n/template/zh.json +10 -0
  3629. pywikibot_scripts/i18n/tox.ini +19 -0
  3630. pywikibot_scripts/i18n/transferbot/ar.json +9 -0
  3631. pywikibot_scripts/i18n/transferbot/be-tarask.json +9 -0
  3632. pywikibot_scripts/i18n/transferbot/br.json +9 -0
  3633. pywikibot_scripts/i18n/transferbot/ca.json +9 -0
  3634. pywikibot_scripts/i18n/transferbot/cs.json +9 -0
  3635. pywikibot_scripts/i18n/transferbot/cy.json +9 -0
  3636. pywikibot_scripts/i18n/transferbot/de.json +10 -0
  3637. pywikibot_scripts/i18n/transferbot/diq.json +8 -0
  3638. pywikibot_scripts/i18n/transferbot/el.json +9 -0
  3639. pywikibot_scripts/i18n/transferbot/en.json +9 -0
  3640. pywikibot_scripts/i18n/transferbot/es.json +9 -0
  3641. pywikibot_scripts/i18n/transferbot/fa.json +9 -0
  3642. pywikibot_scripts/i18n/transferbot/fr.json +10 -0
  3643. pywikibot_scripts/i18n/transferbot/frr.json +9 -0
  3644. pywikibot_scripts/i18n/transferbot/gl.json +9 -0
  3645. pywikibot_scripts/i18n/transferbot/he.json +9 -0
  3646. pywikibot_scripts/i18n/transferbot/ia.json +9 -0
  3647. pywikibot_scripts/i18n/transferbot/id.json +9 -0
  3648. pywikibot_scripts/i18n/transferbot/it.json +9 -0
  3649. pywikibot_scripts/i18n/transferbot/ko.json +9 -0
  3650. pywikibot_scripts/i18n/transferbot/krc.json +9 -0
  3651. pywikibot_scripts/i18n/transferbot/lb.json +8 -0
  3652. pywikibot_scripts/i18n/transferbot/lt.json +9 -0
  3653. pywikibot_scripts/i18n/transferbot/mk.json +9 -0
  3654. pywikibot_scripts/i18n/transferbot/nb.json +9 -0
  3655. pywikibot_scripts/i18n/transferbot/nds-nl.json +9 -0
  3656. pywikibot_scripts/i18n/transferbot/nl.json +9 -0
  3657. pywikibot_scripts/i18n/transferbot/pnb.json +9 -0
  3658. pywikibot_scripts/i18n/transferbot/pt-br.json +9 -0
  3659. pywikibot_scripts/i18n/transferbot/pt.json +9 -0
  3660. pywikibot_scripts/i18n/transferbot/qqq.json +10 -0
  3661. pywikibot_scripts/i18n/transferbot/ro.json +9 -0
  3662. pywikibot_scripts/i18n/transferbot/ru.json +9 -0
  3663. pywikibot_scripts/i18n/transferbot/sk.json +9 -0
  3664. pywikibot_scripts/i18n/transferbot/sl.json +9 -0
  3665. pywikibot_scripts/i18n/transferbot/sr.json +9 -0
  3666. pywikibot_scripts/i18n/transferbot/sv.json +9 -0
  3667. pywikibot_scripts/i18n/transferbot/tr.json +9 -0
  3668. pywikibot_scripts/i18n/transferbot/uk.json +10 -0
  3669. pywikibot_scripts/i18n/transferbot/vi.json +9 -0
  3670. pywikibot_scripts/i18n/transferbot/zh.json +10 -0
  3671. pywikibot_scripts/i18n/undelete/ar.json +10 -0
  3672. pywikibot_scripts/i18n/undelete/ast.json +10 -0
  3673. pywikibot_scripts/i18n/undelete/ba.json +10 -0
  3674. pywikibot_scripts/i18n/undelete/be-tarask.json +10 -0
  3675. pywikibot_scripts/i18n/undelete/br.json +12 -0
  3676. pywikibot_scripts/i18n/undelete/bs.json +11 -0
  3677. pywikibot_scripts/i18n/undelete/ca.json +10 -0
  3678. pywikibot_scripts/i18n/undelete/ce.json +10 -0
  3679. pywikibot_scripts/i18n/undelete/ckb.json +10 -0
  3680. pywikibot_scripts/i18n/undelete/cs.json +13 -0
  3681. pywikibot_scripts/i18n/undelete/csb.json +10 -0
  3682. pywikibot_scripts/i18n/undelete/cy.json +10 -0
  3683. pywikibot_scripts/i18n/undelete/da.json +10 -0
  3684. pywikibot_scripts/i18n/undelete/de.json +10 -0
  3685. pywikibot_scripts/i18n/undelete/diq.json +10 -0
  3686. pywikibot_scripts/i18n/undelete/el.json +10 -0
  3687. pywikibot_scripts/i18n/undelete/en.json +10 -0
  3688. pywikibot_scripts/i18n/undelete/eo.json +10 -0
  3689. pywikibot_scripts/i18n/undelete/es.json +11 -0
  3690. pywikibot_scripts/i18n/undelete/eu.json +11 -0
  3691. pywikibot_scripts/i18n/undelete/fa.json +11 -0
  3692. pywikibot_scripts/i18n/undelete/fr.json +11 -0
  3693. pywikibot_scripts/i18n/undelete/frr.json +10 -0
  3694. pywikibot_scripts/i18n/undelete/gl.json +11 -0
  3695. pywikibot_scripts/i18n/undelete/he.json +10 -0
  3696. pywikibot_scripts/i18n/undelete/hi.json +10 -0
  3697. pywikibot_scripts/i18n/undelete/hu.json +11 -0
  3698. pywikibot_scripts/i18n/undelete/ia.json +10 -0
  3699. pywikibot_scripts/i18n/undelete/id.json +11 -0
  3700. pywikibot_scripts/i18n/undelete/it.json +11 -0
  3701. pywikibot_scripts/i18n/undelete/ja.json +10 -0
  3702. pywikibot_scripts/i18n/undelete/kab.json +10 -0
  3703. pywikibot_scripts/i18n/undelete/kk.json +10 -0
  3704. pywikibot_scripts/i18n/undelete/ko.json +10 -0
  3705. pywikibot_scripts/i18n/undelete/krc.json +10 -0
  3706. pywikibot_scripts/i18n/undelete/ksh.json +10 -0
  3707. pywikibot_scripts/i18n/undelete/lb.json +10 -0
  3708. pywikibot_scripts/i18n/undelete/lt.json +10 -0
  3709. pywikibot_scripts/i18n/undelete/mg.json +10 -0
  3710. pywikibot_scripts/i18n/undelete/mk.json +10 -0
  3711. pywikibot_scripts/i18n/undelete/ml.json +10 -0
  3712. pywikibot_scripts/i18n/undelete/ms.json +10 -0
  3713. pywikibot_scripts/i18n/undelete/nan.json +11 -0
  3714. pywikibot_scripts/i18n/undelete/nb.json +10 -0
  3715. pywikibot_scripts/i18n/undelete/nds-nl.json +10 -0
  3716. pywikibot_scripts/i18n/undelete/ne.json +11 -0
  3717. pywikibot_scripts/i18n/undelete/nl.json +10 -0
  3718. pywikibot_scripts/i18n/undelete/nn.json +12 -0
  3719. pywikibot_scripts/i18n/undelete/nqo.json +10 -0
  3720. pywikibot_scripts/i18n/undelete/pl.json +10 -0
  3721. pywikibot_scripts/i18n/undelete/pt-br.json +11 -0
  3722. pywikibot_scripts/i18n/undelete/pt.json +10 -0
  3723. pywikibot_scripts/i18n/undelete/qqq.json +10 -0
  3724. pywikibot_scripts/i18n/undelete/ro.json +11 -0
  3725. pywikibot_scripts/i18n/undelete/ru.json +10 -0
  3726. pywikibot_scripts/i18n/undelete/sk.json +11 -0
  3727. pywikibot_scripts/i18n/undelete/sl.json +10 -0
  3728. pywikibot_scripts/i18n/undelete/sr.json +12 -0
  3729. pywikibot_scripts/i18n/undelete/su.json +10 -0
  3730. pywikibot_scripts/i18n/undelete/sv.json +10 -0
  3731. pywikibot_scripts/i18n/undelete/th.json +10 -0
  3732. pywikibot_scripts/i18n/undelete/tr.json +10 -0
  3733. pywikibot_scripts/i18n/undelete/uk.json +10 -0
  3734. pywikibot_scripts/i18n/undelete/ur.json +10 -0
  3735. pywikibot_scripts/i18n/undelete/vi.json +10 -0
  3736. pywikibot_scripts/i18n/undelete/zh.json +11 -0
  3737. pywikibot_scripts/i18n/unlink/af.json +8 -0
  3738. pywikibot_scripts/i18n/unlink/ar.json +9 -0
  3739. pywikibot_scripts/i18n/unlink/ast.json +9 -0
  3740. pywikibot_scripts/i18n/unlink/az.json +8 -0
  3741. pywikibot_scripts/i18n/unlink/azb.json +8 -0
  3742. pywikibot_scripts/i18n/unlink/ba.json +8 -0
  3743. pywikibot_scripts/i18n/unlink/bcc.json +8 -0
  3744. pywikibot_scripts/i18n/unlink/be-tarask.json +8 -0
  3745. pywikibot_scripts/i18n/unlink/br.json +8 -0
  3746. pywikibot_scripts/i18n/unlink/bs.json +8 -0
  3747. pywikibot_scripts/i18n/unlink/ca.json +8 -0
  3748. pywikibot_scripts/i18n/unlink/ce.json +8 -0
  3749. pywikibot_scripts/i18n/unlink/ckb.json +8 -0
  3750. pywikibot_scripts/i18n/unlink/cs.json +11 -0
  3751. pywikibot_scripts/i18n/unlink/csb.json +8 -0
  3752. pywikibot_scripts/i18n/unlink/cy.json +8 -0
  3753. pywikibot_scripts/i18n/unlink/da.json +9 -0
  3754. pywikibot_scripts/i18n/unlink/de.json +8 -0
  3755. pywikibot_scripts/i18n/unlink/diq.json +10 -0
  3756. pywikibot_scripts/i18n/unlink/el.json +8 -0
  3757. pywikibot_scripts/i18n/unlink/en.json +4 -0
  3758. pywikibot_scripts/i18n/unlink/eo.json +9 -0
  3759. pywikibot_scripts/i18n/unlink/es.json +11 -0
  3760. pywikibot_scripts/i18n/unlink/et.json +8 -0
  3761. pywikibot_scripts/i18n/unlink/eu.json +8 -0
  3762. pywikibot_scripts/i18n/unlink/fa.json +9 -0
  3763. pywikibot_scripts/i18n/unlink/fi.json +6 -0
  3764. pywikibot_scripts/i18n/unlink/fo.json +8 -0
  3765. pywikibot_scripts/i18n/unlink/fr.json +8 -0
  3766. pywikibot_scripts/i18n/unlink/frp.json +8 -0
  3767. pywikibot_scripts/i18n/unlink/frr.json +8 -0
  3768. pywikibot_scripts/i18n/unlink/gl.json +8 -0
  3769. pywikibot_scripts/i18n/unlink/haw.json +8 -0
  3770. pywikibot_scripts/i18n/unlink/he.json +6 -0
  3771. pywikibot_scripts/i18n/unlink/hi.json +8 -0
  3772. pywikibot_scripts/i18n/unlink/hu.json +8 -0
  3773. pywikibot_scripts/i18n/unlink/ia.json +8 -0
  3774. pywikibot_scripts/i18n/unlink/id.json +10 -0
  3775. pywikibot_scripts/i18n/unlink/ilo.json +8 -0
  3776. pywikibot_scripts/i18n/unlink/is.json +8 -0
  3777. pywikibot_scripts/i18n/unlink/it.json +9 -0
  3778. pywikibot_scripts/i18n/unlink/ja.json +9 -0
  3779. pywikibot_scripts/i18n/unlink/jv.json +8 -0
  3780. pywikibot_scripts/i18n/unlink/kab.json +8 -0
  3781. pywikibot_scripts/i18n/unlink/kk.json +8 -0
  3782. pywikibot_scripts/i18n/unlink/ko.json +9 -0
  3783. pywikibot_scripts/i18n/unlink/ksh.json +8 -0
  3784. pywikibot_scripts/i18n/unlink/ky.json +8 -0
  3785. pywikibot_scripts/i18n/unlink/lb.json +8 -0
  3786. pywikibot_scripts/i18n/unlink/li.json +8 -0
  3787. pywikibot_scripts/i18n/unlink/lt.json +9 -0
  3788. pywikibot_scripts/i18n/unlink/lus.json +8 -0
  3789. pywikibot_scripts/i18n/unlink/map-bms.json +8 -0
  3790. pywikibot_scripts/i18n/unlink/mg.json +8 -0
  3791. pywikibot_scripts/i18n/unlink/mk.json +8 -0
  3792. pywikibot_scripts/i18n/unlink/ml.json +8 -0
  3793. pywikibot_scripts/i18n/unlink/ms.json +9 -0
  3794. pywikibot_scripts/i18n/unlink/nan.json +9 -0
  3795. pywikibot_scripts/i18n/unlink/nb.json +8 -0
  3796. pywikibot_scripts/i18n/unlink/nds-nl.json +8 -0
  3797. pywikibot_scripts/i18n/unlink/ne.json +9 -0
  3798. pywikibot_scripts/i18n/unlink/nl.json +8 -0
  3799. pywikibot_scripts/i18n/unlink/oc.json +8 -0
  3800. pywikibot_scripts/i18n/unlink/pl.json +6 -0
  3801. pywikibot_scripts/i18n/unlink/pms.json +8 -0
  3802. pywikibot_scripts/i18n/unlink/pt-br.json +9 -0
  3803. pywikibot_scripts/i18n/unlink/pt.json +9 -0
  3804. pywikibot_scripts/i18n/unlink/qqq.json +8 -0
  3805. pywikibot_scripts/i18n/unlink/ro.json +8 -0
  3806. pywikibot_scripts/i18n/unlink/ru.json +11 -0
  3807. pywikibot_scripts/i18n/unlink/sco.json +8 -0
  3808. pywikibot_scripts/i18n/unlink/sh.json +8 -0
  3809. pywikibot_scripts/i18n/unlink/si.json +8 -0
  3810. pywikibot_scripts/i18n/unlink/sk.json +9 -0
  3811. pywikibot_scripts/i18n/unlink/sl.json +8 -0
  3812. pywikibot_scripts/i18n/unlink/so.json +8 -0
  3813. pywikibot_scripts/i18n/unlink/sq.json +8 -0
  3814. pywikibot_scripts/i18n/unlink/sr.json +10 -0
  3815. pywikibot_scripts/i18n/unlink/su.json +8 -0
  3816. pywikibot_scripts/i18n/unlink/sv.json +9 -0
  3817. pywikibot_scripts/i18n/unlink/sw.json +8 -0
  3818. pywikibot_scripts/i18n/unlink/ta.json +8 -0
  3819. pywikibot_scripts/i18n/unlink/th.json +8 -0
  3820. pywikibot_scripts/i18n/unlink/tl.json +9 -0
  3821. pywikibot_scripts/i18n/unlink/tly.json +8 -0
  3822. pywikibot_scripts/i18n/unlink/tr.json +8 -0
  3823. pywikibot_scripts/i18n/unlink/tt.json +8 -0
  3824. pywikibot_scripts/i18n/unlink/uk.json +10 -0
  3825. pywikibot_scripts/i18n/unlink/ur.json +8 -0
  3826. pywikibot_scripts/i18n/unlink/uz.json +8 -0
  3827. pywikibot_scripts/i18n/unlink/vec.json +8 -0
  3828. pywikibot_scripts/i18n/unlink/vi.json +8 -0
  3829. pywikibot_scripts/i18n/unlink/zh.json +9 -0
  3830. pywikibot_scripts/i18n/unprotect/ar.json +13 -0
  3831. pywikibot_scripts/i18n/unprotect/ast.json +13 -0
  3832. pywikibot_scripts/i18n/unprotect/ba.json +12 -0
  3833. pywikibot_scripts/i18n/unprotect/be-tarask.json +13 -0
  3834. pywikibot_scripts/i18n/unprotect/br.json +12 -0
  3835. pywikibot_scripts/i18n/unprotect/bs.json +13 -0
  3836. pywikibot_scripts/i18n/unprotect/ca.json +12 -0
  3837. pywikibot_scripts/i18n/unprotect/ce.json +12 -0
  3838. pywikibot_scripts/i18n/unprotect/ckb.json +9 -0
  3839. pywikibot_scripts/i18n/unprotect/cs.json +16 -0
  3840. pywikibot_scripts/i18n/unprotect/csb.json +12 -0
  3841. pywikibot_scripts/i18n/unprotect/cy.json +12 -0
  3842. pywikibot_scripts/i18n/unprotect/da.json +13 -0
  3843. pywikibot_scripts/i18n/unprotect/de.json +14 -0
  3844. pywikibot_scripts/i18n/unprotect/diq.json +14 -0
  3845. pywikibot_scripts/i18n/unprotect/el.json +13 -0
  3846. pywikibot_scripts/i18n/unprotect/en.json +13 -0
  3847. pywikibot_scripts/i18n/unprotect/eo.json +13 -0
  3848. pywikibot_scripts/i18n/unprotect/es.json +14 -0
  3849. pywikibot_scripts/i18n/unprotect/eu.json +13 -0
  3850. pywikibot_scripts/i18n/unprotect/fa.json +14 -0
  3851. pywikibot_scripts/i18n/unprotect/fi.json +8 -0
  3852. pywikibot_scripts/i18n/unprotect/fr.json +13 -0
  3853. pywikibot_scripts/i18n/unprotect/frr.json +12 -0
  3854. pywikibot_scripts/i18n/unprotect/gl.json +13 -0
  3855. pywikibot_scripts/i18n/unprotect/he.json +12 -0
  3856. pywikibot_scripts/i18n/unprotect/hi.json +13 -0
  3857. pywikibot_scripts/i18n/unprotect/hu.json +13 -0
  3858. pywikibot_scripts/i18n/unprotect/ia.json +12 -0
  3859. pywikibot_scripts/i18n/unprotect/id.json +14 -0
  3860. pywikibot_scripts/i18n/unprotect/io.json +8 -0
  3861. pywikibot_scripts/i18n/unprotect/it.json +12 -0
  3862. pywikibot_scripts/i18n/unprotect/ja.json +12 -0
  3863. pywikibot_scripts/i18n/unprotect/kab.json +11 -0
  3864. pywikibot_scripts/i18n/unprotect/kk.json +11 -0
  3865. pywikibot_scripts/i18n/unprotect/ko.json +14 -0
  3866. pywikibot_scripts/i18n/unprotect/krc.json +12 -0
  3867. pywikibot_scripts/i18n/unprotect/ksh.json +12 -0
  3868. pywikibot_scripts/i18n/unprotect/lb.json +12 -0
  3869. pywikibot_scripts/i18n/unprotect/lt.json +14 -0
  3870. pywikibot_scripts/i18n/unprotect/mg.json +12 -0
  3871. pywikibot_scripts/i18n/unprotect/mk.json +12 -0
  3872. pywikibot_scripts/i18n/unprotect/ml.json +12 -0
  3873. pywikibot_scripts/i18n/unprotect/mni.json +8 -0
  3874. pywikibot_scripts/i18n/unprotect/ms.json +12 -0
  3875. pywikibot_scripts/i18n/unprotect/nan.json +13 -0
  3876. pywikibot_scripts/i18n/unprotect/nb.json +14 -0
  3877. pywikibot_scripts/i18n/unprotect/nds-nl.json +12 -0
  3878. pywikibot_scripts/i18n/unprotect/ne.json +13 -0
  3879. pywikibot_scripts/i18n/unprotect/nl.json +14 -0
  3880. pywikibot_scripts/i18n/unprotect/nqo.json +12 -0
  3881. pywikibot_scripts/i18n/unprotect/pl.json +13 -0
  3882. pywikibot_scripts/i18n/unprotect/pt-br.json +13 -0
  3883. pywikibot_scripts/i18n/unprotect/pt.json +12 -0
  3884. pywikibot_scripts/i18n/unprotect/qqq.json +14 -0
  3885. pywikibot_scripts/i18n/unprotect/ro.json +13 -0
  3886. pywikibot_scripts/i18n/unprotect/ru.json +13 -0
  3887. pywikibot_scripts/i18n/unprotect/sk.json +13 -0
  3888. pywikibot_scripts/i18n/unprotect/sl.json +12 -0
  3889. pywikibot_scripts/i18n/unprotect/sr.json +14 -0
  3890. pywikibot_scripts/i18n/unprotect/su.json +8 -0
  3891. pywikibot_scripts/i18n/unprotect/sv.json +13 -0
  3892. pywikibot_scripts/i18n/unprotect/th.json +12 -0
  3893. pywikibot_scripts/i18n/unprotect/tr.json +12 -0
  3894. pywikibot_scripts/i18n/unprotect/uk.json +14 -0
  3895. pywikibot_scripts/i18n/unprotect/ur.json +12 -0
  3896. pywikibot_scripts/i18n/unprotect/vi.json +13 -0
  3897. pywikibot_scripts/i18n/unprotect/zh.json +15 -0
  3898. pywikibot_scripts/i18n/unusedfiles/ar.json +9 -0
  3899. pywikibot_scripts/i18n/unusedfiles/ast.json +8 -0
  3900. pywikibot_scripts/i18n/unusedfiles/ba.json +8 -0
  3901. pywikibot_scripts/i18n/unusedfiles/be-tarask.json +8 -0
  3902. pywikibot_scripts/i18n/unusedfiles/bn.json +9 -0
  3903. pywikibot_scripts/i18n/unusedfiles/br.json +9 -0
  3904. pywikibot_scripts/i18n/unusedfiles/ca.json +8 -0
  3905. pywikibot_scripts/i18n/unusedfiles/ckb.json +8 -0
  3906. pywikibot_scripts/i18n/unusedfiles/cs.json +11 -0
  3907. pywikibot_scripts/i18n/unusedfiles/cy.json +8 -0
  3908. pywikibot_scripts/i18n/unusedfiles/da.json +9 -0
  3909. pywikibot_scripts/i18n/unusedfiles/de.json +8 -0
  3910. pywikibot_scripts/i18n/unusedfiles/diq.json +10 -0
  3911. pywikibot_scripts/i18n/unusedfiles/el.json +9 -0
  3912. pywikibot_scripts/i18n/unusedfiles/en.json +9 -0
  3913. pywikibot_scripts/i18n/unusedfiles/eo.json +8 -0
  3914. pywikibot_scripts/i18n/unusedfiles/es.json +10 -0
  3915. pywikibot_scripts/i18n/unusedfiles/eu.json +10 -0
  3916. pywikibot_scripts/i18n/unusedfiles/fa.json +9 -0
  3917. pywikibot_scripts/i18n/unusedfiles/fr.json +10 -0
  3918. pywikibot_scripts/i18n/unusedfiles/frr.json +8 -0
  3919. pywikibot_scripts/i18n/unusedfiles/gl.json +9 -0
  3920. pywikibot_scripts/i18n/unusedfiles/he.json +9 -0
  3921. pywikibot_scripts/i18n/unusedfiles/hi.json +9 -0
  3922. pywikibot_scripts/i18n/unusedfiles/hu.json +9 -0
  3923. pywikibot_scripts/i18n/unusedfiles/ia.json +8 -0
  3924. pywikibot_scripts/i18n/unusedfiles/id.json +9 -0
  3925. pywikibot_scripts/i18n/unusedfiles/io.json +8 -0
  3926. pywikibot_scripts/i18n/unusedfiles/it.json +9 -0
  3927. pywikibot_scripts/i18n/unusedfiles/ja.json +9 -0
  3928. pywikibot_scripts/i18n/unusedfiles/ko.json +9 -0
  3929. pywikibot_scripts/i18n/unusedfiles/krc.json +8 -0
  3930. pywikibot_scripts/i18n/unusedfiles/ku.json +9 -0
  3931. pywikibot_scripts/i18n/unusedfiles/lb.json +8 -0
  3932. pywikibot_scripts/i18n/unusedfiles/li.json +8 -0
  3933. pywikibot_scripts/i18n/unusedfiles/lt.json +8 -0
  3934. pywikibot_scripts/i18n/unusedfiles/mg.json +8 -0
  3935. pywikibot_scripts/i18n/unusedfiles/mk.json +8 -0
  3936. pywikibot_scripts/i18n/unusedfiles/ml.json +8 -0
  3937. pywikibot_scripts/i18n/unusedfiles/nb.json +9 -0
  3938. pywikibot_scripts/i18n/unusedfiles/nds-nl.json +8 -0
  3939. pywikibot_scripts/i18n/unusedfiles/ne.json +9 -0
  3940. pywikibot_scripts/i18n/unusedfiles/nl.json +9 -0
  3941. pywikibot_scripts/i18n/unusedfiles/nqo.json +8 -0
  3942. pywikibot_scripts/i18n/unusedfiles/pl.json +9 -0
  3943. pywikibot_scripts/i18n/unusedfiles/pms.json +8 -0
  3944. pywikibot_scripts/i18n/unusedfiles/pt-br.json +9 -0
  3945. pywikibot_scripts/i18n/unusedfiles/pt.json +10 -0
  3946. pywikibot_scripts/i18n/unusedfiles/qqq.json +8 -0
  3947. pywikibot_scripts/i18n/unusedfiles/ro.json +9 -0
  3948. pywikibot_scripts/i18n/unusedfiles/ru.json +8 -0
  3949. pywikibot_scripts/i18n/unusedfiles/scn.json +8 -0
  3950. pywikibot_scripts/i18n/unusedfiles/sk.json +8 -0
  3951. pywikibot_scripts/i18n/unusedfiles/sl.json +8 -0
  3952. pywikibot_scripts/i18n/unusedfiles/sr.json +11 -0
  3953. pywikibot_scripts/i18n/unusedfiles/sv.json +8 -0
  3954. pywikibot_scripts/i18n/unusedfiles/tg.json +8 -0
  3955. pywikibot_scripts/i18n/unusedfiles/th.json +8 -0
  3956. pywikibot_scripts/i18n/unusedfiles/tly.json +8 -0
  3957. pywikibot_scripts/i18n/unusedfiles/tr.json +8 -0
  3958. pywikibot_scripts/i18n/unusedfiles/uk.json +9 -0
  3959. pywikibot_scripts/i18n/unusedfiles/ur.json +8 -0
  3960. pywikibot_scripts/i18n/unusedfiles/vi.json +8 -0
  3961. pywikibot_scripts/i18n/unusedfiles/zh.json +9 -0
  3962. pywikibot_scripts/i18n/weblinkchecker/ar.json +14 -0
  3963. pywikibot_scripts/i18n/weblinkchecker/ast.json +12 -0
  3964. pywikibot_scripts/i18n/weblinkchecker/az.json +12 -0
  3965. pywikibot_scripts/i18n/weblinkchecker/azb.json +8 -0
  3966. pywikibot_scripts/i18n/weblinkchecker/ba.json +12 -0
  3967. pywikibot_scripts/i18n/weblinkchecker/bcc.json +11 -0
  3968. pywikibot_scripts/i18n/weblinkchecker/be-tarask.json +13 -0
  3969. pywikibot_scripts/i18n/weblinkchecker/bg.json +13 -0
  3970. pywikibot_scripts/i18n/weblinkchecker/bn.json +15 -0
  3971. pywikibot_scripts/i18n/weblinkchecker/br.json +13 -0
  3972. pywikibot_scripts/i18n/weblinkchecker/bs.json +15 -0
  3973. pywikibot_scripts/i18n/weblinkchecker/ca.json +15 -0
  3974. pywikibot_scripts/i18n/weblinkchecker/ce.json +11 -0
  3975. pywikibot_scripts/i18n/weblinkchecker/ckb.json +12 -0
  3976. pywikibot_scripts/i18n/weblinkchecker/co.json +8 -0
  3977. pywikibot_scripts/i18n/weblinkchecker/cs.json +16 -0
  3978. pywikibot_scripts/i18n/weblinkchecker/csb.json +12 -0
  3979. pywikibot_scripts/i18n/weblinkchecker/cu.json +8 -0
  3980. pywikibot_scripts/i18n/weblinkchecker/cy.json +12 -0
  3981. pywikibot_scripts/i18n/weblinkchecker/da.json +14 -0
  3982. pywikibot_scripts/i18n/weblinkchecker/de.json +12 -0
  3983. pywikibot_scripts/i18n/weblinkchecker/diq.json +14 -0
  3984. pywikibot_scripts/i18n/weblinkchecker/dty.json +10 -0
  3985. pywikibot_scripts/i18n/weblinkchecker/el.json +13 -0
  3986. pywikibot_scripts/i18n/weblinkchecker/eml.json +8 -0
  3987. pywikibot_scripts/i18n/weblinkchecker/en.json +8 -0
  3988. pywikibot_scripts/i18n/weblinkchecker/eo.json +14 -0
  3989. pywikibot_scripts/i18n/weblinkchecker/es.json +14 -0
  3990. pywikibot_scripts/i18n/weblinkchecker/et.json +9 -0
  3991. pywikibot_scripts/i18n/weblinkchecker/eu.json +14 -0
  3992. pywikibot_scripts/i18n/weblinkchecker/fa.json +14 -0
  3993. pywikibot_scripts/i18n/weblinkchecker/fi.json +9 -0
  3994. pywikibot_scripts/i18n/weblinkchecker/fo.json +9 -0
  3995. pywikibot_scripts/i18n/weblinkchecker/fr.json +14 -0
  3996. pywikibot_scripts/i18n/weblinkchecker/frr.json +12 -0
  3997. pywikibot_scripts/i18n/weblinkchecker/gl.json +14 -0
  3998. pywikibot_scripts/i18n/weblinkchecker/gsw.json +11 -0
  3999. pywikibot_scripts/i18n/weblinkchecker/hak.json +13 -0
  4000. pywikibot_scripts/i18n/weblinkchecker/haw.json +11 -0
  4001. pywikibot_scripts/i18n/weblinkchecker/he.json +12 -0
  4002. pywikibot_scripts/i18n/weblinkchecker/hi.json +12 -0
  4003. pywikibot_scripts/i18n/weblinkchecker/hsb.json +8 -0
  4004. pywikibot_scripts/i18n/weblinkchecker/hu.json +13 -0
  4005. pywikibot_scripts/i18n/weblinkchecker/hy.json +11 -0
  4006. pywikibot_scripts/i18n/weblinkchecker/ia.json +12 -0
  4007. pywikibot_scripts/i18n/weblinkchecker/id.json +17 -0
  4008. pywikibot_scripts/i18n/weblinkchecker/io.json +9 -0
  4009. pywikibot_scripts/i18n/weblinkchecker/is.json +8 -0
  4010. pywikibot_scripts/i18n/weblinkchecker/it.json +12 -0
  4011. pywikibot_scripts/i18n/weblinkchecker/ja.json +13 -0
  4012. pywikibot_scripts/i18n/weblinkchecker/kab.json +11 -0
  4013. pywikibot_scripts/i18n/weblinkchecker/kjp.json +8 -0
  4014. pywikibot_scripts/i18n/weblinkchecker/kk.json +9 -0
  4015. pywikibot_scripts/i18n/weblinkchecker/ko.json +15 -0
  4016. pywikibot_scripts/i18n/weblinkchecker/krc.json +12 -0
  4017. pywikibot_scripts/i18n/weblinkchecker/ksh.json +12 -0
  4018. pywikibot_scripts/i18n/weblinkchecker/ku.json +8 -0
  4019. pywikibot_scripts/i18n/weblinkchecker/ky.json +10 -0
  4020. pywikibot_scripts/i18n/weblinkchecker/lb.json +14 -0
  4021. pywikibot_scripts/i18n/weblinkchecker/li.json +12 -0
  4022. pywikibot_scripts/i18n/weblinkchecker/lrc.json +9 -0
  4023. pywikibot_scripts/i18n/weblinkchecker/lt.json +13 -0
  4024. pywikibot_scripts/i18n/weblinkchecker/lv.json +9 -0
  4025. pywikibot_scripts/i18n/weblinkchecker/lzz.json +8 -0
  4026. pywikibot_scripts/i18n/weblinkchecker/map-bms.json +11 -0
  4027. pywikibot_scripts/i18n/weblinkchecker/mg.json +12 -0
  4028. pywikibot_scripts/i18n/weblinkchecker/mk.json +12 -0
  4029. pywikibot_scripts/i18n/weblinkchecker/ml.json +13 -0
  4030. pywikibot_scripts/i18n/weblinkchecker/mni.json +8 -0
  4031. pywikibot_scripts/i18n/weblinkchecker/ms.json +12 -0
  4032. pywikibot_scripts/i18n/weblinkchecker/mt.json +8 -0
  4033. pywikibot_scripts/i18n/weblinkchecker/my.json +8 -0
  4034. pywikibot_scripts/i18n/weblinkchecker/nan.json +13 -0
  4035. pywikibot_scripts/i18n/weblinkchecker/nb.json +14 -0
  4036. pywikibot_scripts/i18n/weblinkchecker/nds-nl.json +12 -0
  4037. pywikibot_scripts/i18n/weblinkchecker/nds.json +8 -0
  4038. pywikibot_scripts/i18n/weblinkchecker/ne.json +13 -0
  4039. pywikibot_scripts/i18n/weblinkchecker/nl.json +13 -0
  4040. pywikibot_scripts/i18n/weblinkchecker/nn.json +8 -0
  4041. pywikibot_scripts/i18n/weblinkchecker/oc.json +8 -0
  4042. pywikibot_scripts/i18n/weblinkchecker/olo.json +8 -0
  4043. pywikibot_scripts/i18n/weblinkchecker/pa.json +8 -0
  4044. pywikibot_scripts/i18n/weblinkchecker/pdc.json +8 -0
  4045. pywikibot_scripts/i18n/weblinkchecker/pl.json +17 -0
  4046. pywikibot_scripts/i18n/weblinkchecker/pms.json +13 -0
  4047. pywikibot_scripts/i18n/weblinkchecker/pt-br.json +15 -0
  4048. pywikibot_scripts/i18n/weblinkchecker/pt.json +13 -0
  4049. pywikibot_scripts/i18n/weblinkchecker/qqq.json +12 -0
  4050. pywikibot_scripts/i18n/weblinkchecker/ro.json +13 -0
  4051. pywikibot_scripts/i18n/weblinkchecker/ru.json +15 -0
  4052. pywikibot_scripts/i18n/weblinkchecker/scn.json +8 -0
  4053. pywikibot_scripts/i18n/weblinkchecker/sco.json +11 -0
  4054. pywikibot_scripts/i18n/weblinkchecker/sh.json +10 -0
  4055. pywikibot_scripts/i18n/weblinkchecker/sk.json +14 -0
  4056. pywikibot_scripts/i18n/weblinkchecker/skr.json +8 -0
  4057. pywikibot_scripts/i18n/weblinkchecker/sl.json +13 -0
  4058. pywikibot_scripts/i18n/weblinkchecker/sq.json +9 -0
  4059. pywikibot_scripts/i18n/weblinkchecker/sr.json +15 -0
  4060. pywikibot_scripts/i18n/weblinkchecker/su.json +9 -0
  4061. pywikibot_scripts/i18n/weblinkchecker/sv.json +14 -0
  4062. pywikibot_scripts/i18n/weblinkchecker/ta.json +8 -0
  4063. pywikibot_scripts/i18n/weblinkchecker/th.json +14 -0
  4064. pywikibot_scripts/i18n/weblinkchecker/tly.json +11 -0
  4065. pywikibot_scripts/i18n/weblinkchecker/tr.json +14 -0
  4066. pywikibot_scripts/i18n/weblinkchecker/uk.json +14 -0
  4067. pywikibot_scripts/i18n/weblinkchecker/ur.json +12 -0
  4068. pywikibot_scripts/i18n/weblinkchecker/vec.json +8 -0
  4069. pywikibot_scripts/i18n/weblinkchecker/vi.json +13 -0
  4070. pywikibot_scripts/i18n/weblinkchecker/yi.json +8 -0
  4071. pywikibot_scripts/i18n/weblinkchecker/yue.json +8 -0
  4072. pywikibot_scripts/i18n/weblinkchecker/zh.json +14 -0
  4073. pywikibot_scripts/i18n/welcome/af.json +10 -0
  4074. pywikibot_scripts/i18n/welcome/am.json +10 -0
  4075. pywikibot_scripts/i18n/welcome/ar.json +10 -0
  4076. pywikibot_scripts/i18n/welcome/arc.json +8 -0
  4077. pywikibot_scripts/i18n/welcome/arz.json +8 -0
  4078. pywikibot_scripts/i18n/welcome/ast.json +11 -0
  4079. pywikibot_scripts/i18n/welcome/az.json +12 -0
  4080. pywikibot_scripts/i18n/welcome/azb.json +10 -0
  4081. pywikibot_scripts/i18n/welcome/ba.json +11 -0
  4082. pywikibot_scripts/i18n/welcome/ban.json +10 -0
  4083. pywikibot_scripts/i18n/welcome/bbc-latn.json +8 -0
  4084. pywikibot_scripts/i18n/welcome/bbc.json +8 -0
  4085. pywikibot_scripts/i18n/welcome/bcc.json +11 -0
  4086. pywikibot_scripts/i18n/welcome/be-tarask.json +11 -0
  4087. pywikibot_scripts/i18n/welcome/be.json +9 -0
  4088. pywikibot_scripts/i18n/welcome/bg.json +10 -0
  4089. pywikibot_scripts/i18n/welcome/bjn.json +9 -0
  4090. pywikibot_scripts/i18n/welcome/bn.json +13 -0
  4091. pywikibot_scripts/i18n/welcome/bo.json +8 -0
  4092. pywikibot_scripts/i18n/welcome/br.json +10 -0
  4093. pywikibot_scripts/i18n/welcome/bs.json +10 -0
  4094. pywikibot_scripts/i18n/welcome/ca.json +12 -0
  4095. pywikibot_scripts/i18n/welcome/cdo.json +8 -0
  4096. pywikibot_scripts/i18n/welcome/ce.json +10 -0
  4097. pywikibot_scripts/i18n/welcome/ckb.json +13 -0
  4098. pywikibot_scripts/i18n/welcome/co.json +8 -0
  4099. pywikibot_scripts/i18n/welcome/cs.json +14 -0
  4100. pywikibot_scripts/i18n/welcome/csb.json +10 -0
  4101. pywikibot_scripts/i18n/welcome/cu.json +8 -0
  4102. pywikibot_scripts/i18n/welcome/cv.json +8 -0
  4103. pywikibot_scripts/i18n/welcome/cy.json +11 -0
  4104. pywikibot_scripts/i18n/welcome/da.json +11 -0
  4105. pywikibot_scripts/i18n/welcome/de.json +10 -0
  4106. pywikibot_scripts/i18n/welcome/diq.json +10 -0
  4107. pywikibot_scripts/i18n/welcome/dty.json +8 -0
  4108. pywikibot_scripts/i18n/welcome/el.json +11 -0
  4109. pywikibot_scripts/i18n/welcome/eml.json +10 -0
  4110. pywikibot_scripts/i18n/welcome/en.json +6 -0
  4111. pywikibot_scripts/i18n/welcome/eo.json +12 -0
  4112. pywikibot_scripts/i18n/welcome/es.json +13 -0
  4113. pywikibot_scripts/i18n/welcome/et.json +10 -0
  4114. pywikibot_scripts/i18n/welcome/eu.json +11 -0
  4115. pywikibot_scripts/i18n/welcome/fa.json +13 -0
  4116. pywikibot_scripts/i18n/welcome/fi.json +12 -0
  4117. pywikibot_scripts/i18n/welcome/fo.json +10 -0
  4118. pywikibot_scripts/i18n/welcome/fr.json +13 -0
  4119. pywikibot_scripts/i18n/welcome/frp.json +10 -0
  4120. pywikibot_scripts/i18n/welcome/frr.json +10 -0
  4121. pywikibot_scripts/i18n/welcome/fy.json +9 -0
  4122. pywikibot_scripts/i18n/welcome/ga.json +7 -0
  4123. pywikibot_scripts/i18n/welcome/gl.json +10 -0
  4124. pywikibot_scripts/i18n/welcome/gn.json +10 -0
  4125. pywikibot_scripts/i18n/welcome/gom.json +8 -0
  4126. pywikibot_scripts/i18n/welcome/gsw.json +10 -0
  4127. pywikibot_scripts/i18n/welcome/gu.json +8 -0
  4128. pywikibot_scripts/i18n/welcome/hak.json +10 -0
  4129. pywikibot_scripts/i18n/welcome/haw.json +10 -0
  4130. pywikibot_scripts/i18n/welcome/he.json +10 -0
  4131. pywikibot_scripts/i18n/welcome/hi.json +10 -0
  4132. pywikibot_scripts/i18n/welcome/hr.json +9 -0
  4133. pywikibot_scripts/i18n/welcome/hsb.json +8 -0
  4134. pywikibot_scripts/i18n/welcome/hu.json +11 -0
  4135. pywikibot_scripts/i18n/welcome/hy.json +11 -0
  4136. pywikibot_scripts/i18n/welcome/ia.json +10 -0
  4137. pywikibot_scripts/i18n/welcome/id.json +12 -0
  4138. pywikibot_scripts/i18n/welcome/ig.json +8 -0
  4139. pywikibot_scripts/i18n/welcome/ilo.json +10 -0
  4140. pywikibot_scripts/i18n/welcome/io.json +10 -0
  4141. pywikibot_scripts/i18n/welcome/is.json +11 -0
  4142. pywikibot_scripts/i18n/welcome/it.json +11 -0
  4143. pywikibot_scripts/i18n/welcome/ja.json +12 -0
  4144. pywikibot_scripts/i18n/welcome/jv.json +12 -0
  4145. pywikibot_scripts/i18n/welcome/ka.json +6 -0
  4146. pywikibot_scripts/i18n/welcome/kaa.json +8 -0
  4147. pywikibot_scripts/i18n/welcome/kab.json +11 -0
  4148. pywikibot_scripts/i18n/welcome/kjp.json +8 -0
  4149. pywikibot_scripts/i18n/welcome/kk.json +10 -0
  4150. pywikibot_scripts/i18n/welcome/km.json +8 -0
  4151. pywikibot_scripts/i18n/welcome/kn.json +13 -0
  4152. pywikibot_scripts/i18n/welcome/ko.json +14 -0
  4153. pywikibot_scripts/i18n/welcome/krc.json +10 -0
  4154. pywikibot_scripts/i18n/welcome/ksh.json +10 -0
  4155. pywikibot_scripts/i18n/welcome/ku.json +11 -0
  4156. pywikibot_scripts/i18n/welcome/ky.json +11 -0
  4157. pywikibot_scripts/i18n/welcome/lag.json +8 -0
  4158. pywikibot_scripts/i18n/welcome/lb.json +10 -0
  4159. pywikibot_scripts/i18n/welcome/li.json +12 -0
  4160. pywikibot_scripts/i18n/welcome/ln.json +8 -0
  4161. pywikibot_scripts/i18n/welcome/lrc.json +9 -0
  4162. pywikibot_scripts/i18n/welcome/lt.json +12 -0
  4163. pywikibot_scripts/i18n/welcome/lus.json +10 -0
  4164. pywikibot_scripts/i18n/welcome/lv.json +8 -0
  4165. pywikibot_scripts/i18n/welcome/lzz.json +8 -0
  4166. pywikibot_scripts/i18n/welcome/map-bms.json +10 -0
  4167. pywikibot_scripts/i18n/welcome/mg.json +10 -0
  4168. pywikibot_scripts/i18n/welcome/min.json +8 -0
  4169. pywikibot_scripts/i18n/welcome/mk.json +11 -0
  4170. pywikibot_scripts/i18n/welcome/ml.json +10 -0
  4171. pywikibot_scripts/i18n/welcome/mni.json +11 -0
  4172. pywikibot_scripts/i18n/welcome/mnw.json +11 -0
  4173. pywikibot_scripts/i18n/welcome/mr.json +8 -0
  4174. pywikibot_scripts/i18n/welcome/mrh.json +9 -0
  4175. pywikibot_scripts/i18n/welcome/ms.json +10 -0
  4176. pywikibot_scripts/i18n/welcome/mt.json +8 -0
  4177. pywikibot_scripts/i18n/welcome/my.json +10 -0
  4178. pywikibot_scripts/i18n/welcome/mzn.json +8 -0
  4179. pywikibot_scripts/i18n/welcome/nah.json +9 -0
  4180. pywikibot_scripts/i18n/welcome/nan.json +11 -0
  4181. pywikibot_scripts/i18n/welcome/nb.json +11 -0
  4182. pywikibot_scripts/i18n/welcome/nds-nl.json +10 -0
  4183. pywikibot_scripts/i18n/welcome/ne.json +10 -0
  4184. pywikibot_scripts/i18n/welcome/new.json +8 -0
  4185. pywikibot_scripts/i18n/welcome/nl.json +11 -0
  4186. pywikibot_scripts/i18n/welcome/nn.json +10 -0
  4187. pywikibot_scripts/i18n/welcome/oc.json +11 -0
  4188. pywikibot_scripts/i18n/welcome/olo.json +8 -0
  4189. pywikibot_scripts/i18n/welcome/or.json +8 -0
  4190. pywikibot_scripts/i18n/welcome/pa.json +10 -0
  4191. pywikibot_scripts/i18n/welcome/pdc.json +8 -0
  4192. pywikibot_scripts/i18n/welcome/pl.json +10 -0
  4193. pywikibot_scripts/i18n/welcome/pms.json +11 -0
  4194. pywikibot_scripts/i18n/welcome/pnb.json +11 -0
  4195. pywikibot_scripts/i18n/welcome/ps.json +8 -0
  4196. pywikibot_scripts/i18n/welcome/pt-br.json +11 -0
  4197. pywikibot_scripts/i18n/welcome/pt.json +12 -0
  4198. pywikibot_scripts/i18n/welcome/qqq.json +12 -0
  4199. pywikibot_scripts/i18n/welcome/ro.json +11 -0
  4200. pywikibot_scripts/i18n/welcome/ru.json +11 -0
  4201. pywikibot_scripts/i18n/welcome/sa.json +8 -0
  4202. pywikibot_scripts/i18n/welcome/scn.json +8 -0
  4203. pywikibot_scripts/i18n/welcome/sco.json +10 -0
  4204. pywikibot_scripts/i18n/welcome/sd.json +11 -0
  4205. pywikibot_scripts/i18n/welcome/sdh.json +8 -0
  4206. pywikibot_scripts/i18n/welcome/se.json +8 -0
  4207. pywikibot_scripts/i18n/welcome/sh.json +10 -0
  4208. pywikibot_scripts/i18n/welcome/si.json +10 -0
  4209. pywikibot_scripts/i18n/welcome/sk.json +11 -0
  4210. pywikibot_scripts/i18n/welcome/skr.json +9 -0
  4211. pywikibot_scripts/i18n/welcome/sl.json +11 -0
  4212. pywikibot_scripts/i18n/welcome/smn.json +8 -0
  4213. pywikibot_scripts/i18n/welcome/sms.json +8 -0
  4214. pywikibot_scripts/i18n/welcome/so.json +10 -0
  4215. pywikibot_scripts/i18n/welcome/sq.json +8 -0
  4216. pywikibot_scripts/i18n/welcome/sr.json +12 -0
  4217. pywikibot_scripts/i18n/welcome/su.json +10 -0
  4218. pywikibot_scripts/i18n/welcome/sv.json +10 -0
  4219. pywikibot_scripts/i18n/welcome/sw.json +11 -0
  4220. pywikibot_scripts/i18n/welcome/szl.json +11 -0
  4221. pywikibot_scripts/i18n/welcome/ta.json +11 -0
  4222. pywikibot_scripts/i18n/welcome/tcy.json +8 -0
  4223. pywikibot_scripts/i18n/welcome/te.json +10 -0
  4224. pywikibot_scripts/i18n/welcome/tg.json +10 -0
  4225. pywikibot_scripts/i18n/welcome/th.json +11 -0
  4226. pywikibot_scripts/i18n/welcome/tl.json +10 -0
  4227. pywikibot_scripts/i18n/welcome/tly.json +12 -0
  4228. pywikibot_scripts/i18n/welcome/tok.json +8 -0
  4229. pywikibot_scripts/i18n/welcome/tr.json +11 -0
  4230. pywikibot_scripts/i18n/welcome/tt.json +11 -0
  4231. pywikibot_scripts/i18n/welcome/tyv.json +8 -0
  4232. pywikibot_scripts/i18n/welcome/tzm.json +8 -0
  4233. pywikibot_scripts/i18n/welcome/uk.json +11 -0
  4234. pywikibot_scripts/i18n/welcome/ur.json +10 -0
  4235. pywikibot_scripts/i18n/welcome/uz.json +9 -0
  4236. pywikibot_scripts/i18n/welcome/vec.json +11 -0
  4237. pywikibot_scripts/i18n/welcome/vi.json +11 -0
  4238. pywikibot_scripts/i18n/welcome/vo.json +6 -0
  4239. pywikibot_scripts/i18n/welcome/wa.json +11 -0
  4240. pywikibot_scripts/i18n/welcome/yi.json +9 -0
  4241. pywikibot_scripts/i18n/welcome/yo.json +8 -0
  4242. pywikibot_scripts/i18n/welcome/yue.json +14 -0
  4243. pywikibot_scripts/i18n/welcome/zh.json +13 -0
  4244. pywikibot_scripts/illustrate_wikidata.py +113 -0
  4245. pywikibot_scripts/image.py +153 -0
  4246. pywikibot_scripts/imagetransfer.py +411 -0
  4247. pywikibot_scripts/interwiki.py +2392 -0
  4248. pywikibot_scripts/interwikidata.py +266 -0
  4249. pywikibot_scripts/listpages.py +328 -0
  4250. pywikibot_scripts/maintenance/__init__.py +14 -0
  4251. pywikibot_scripts/maintenance/addwikis.py +106 -0
  4252. pywikibot_scripts/maintenance/cache.py +495 -0
  4253. pywikibot_scripts/maintenance/colors.py +44 -0
  4254. pywikibot_scripts/maintenance/convert_epytext.py +153 -0
  4255. pywikibot_scripts/maintenance/make_i18n_dict.py +156 -0
  4256. pywikibot_scripts/maintenance/unidata - Kopie.py +158 -0
  4257. pywikibot_scripts/maintenance/unidata.py +165 -0
  4258. pywikibot_scripts/misspelling.py +178 -0
  4259. pywikibot_scripts/movepages.py +283 -0
  4260. pywikibot_scripts/newitem.py +227 -0
  4261. pywikibot_scripts/noreferences.py +848 -0
  4262. pywikibot_scripts/nowcommons.py +408 -0
  4263. pywikibot_scripts/pagefromfile.py +335 -0
  4264. pywikibot_scripts/parser_function_count.py +218 -0
  4265. pywikibot_scripts/patrol.py +471 -0
  4266. pywikibot_scripts/protect.py +251 -0
  4267. pywikibot_scripts/redirect.py +773 -0
  4268. pywikibot_scripts/reflinks.py +786 -0
  4269. pywikibot_scripts/replace.py +1150 -0
  4270. pywikibot_scripts/replicate_wiki.py +256 -0
  4271. pywikibot_scripts/revertbot.py +183 -0
  4272. pywikibot_scripts/solve_disambiguation.py +1286 -0
  4273. pywikibot_scripts/speedy_delete.py +489 -0
  4274. pywikibot_scripts/template.py +313 -0
  4275. pywikibot_scripts/templatecount.py +192 -0
  4276. pywikibot_scripts/touch.py +173 -0
  4277. pywikibot_scripts/transferbot.py +185 -0
  4278. pywikibot_scripts/transwikiimport.py +307 -0
  4279. pywikibot_scripts/unlink.py +98 -0
  4280. pywikibot_scripts/unusedfiles.py +198 -0
  4281. pywikibot_scripts/upload.py +229 -0
  4282. pywikibot_scripts/userscripts/__init__.py +3 -0
  4283. pywikibot_scripts/watchlist.py +161 -0
  4284. pywikibot_scripts/weblinkchecker.py +702 -0
  4285. pywikibot_scripts/welcome.py +1015 -0
  4286. pywikibot_scripts-9.4.0.dist-info/AUTHORS.rst +391 -0
  4287. pywikibot_scripts-9.4.0.dist-info/LICENSE +22 -0
  4288. pywikibot_scripts-9.4.0.dist-info/METADATA +311 -0
  4289. pywikibot_scripts-9.4.0.dist-info/RECORD +4292 -0
  4290. pywikibot_scripts-9.4.0.dist-info/WHEEL +5 -0
  4291. pywikibot_scripts-9.4.0.dist-info/entry_points.txt +2 -0
  4292. pywikibot_scripts-9.4.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,2392 @@
1
+ #!/usr/bin/env python3
2
+ """Script to check language links for general pages.
3
+
4
+ Uses existing translations of a page, plus hints from the command line, to
5
+ download the equivalent pages from other languages. All of such pages are
6
+ downloaded as well and checked for interwiki links recursively until there are
7
+ no more links that are encountered. A rationalization process then selects the
8
+ right interwiki links, and if this is unambiguous, the interwiki links in the
9
+ original page will be automatically updated and the modified page uploaded.
10
+
11
+ These command-line arguments can be used to specify which pages to work on:
12
+
13
+ -days: Like -years, but runs through all date pages. Stops at
14
+ Dec 31. If the argument is given in the form -days:X,
15
+ it will start at month no. X through Dec 31. If the
16
+ argument is simply given as -days, it will run from
17
+ Jan 1 through Dec 31. E.g. for -days:9 it will run
18
+ from Sep 1 through Dec 31.
19
+
20
+ -years: run on all year pages in numerical order. Stop at year 2050.
21
+ If the argument is given in the form -years:XYZ, it
22
+ will run from [[XYZ]] through [[2050]]. If XYZ is a
23
+ negative value, it is interpreted as a year BC. If the
24
+ argument is simply given as -years, it will run from 1
25
+ through 2050.
26
+
27
+ This implies -noredirect.
28
+
29
+ -new: Work on the 100 newest pages. If given as -new:x, will work
30
+ on the x newest pages.
31
+ When multiple -namespace parameters are given, x pages are
32
+ inspected, and only the ones in the selected name spaces are
33
+ processed. Use -namespace:all for all namespaces. Without
34
+ -namespace, only article pages are processed.
35
+
36
+ This implies -noredirect.
37
+
38
+ -restore: restore a set of "dumped" pages the bot was working on
39
+ when it terminated. The dump file will be subsequently
40
+ removed.
41
+
42
+ -restore:all restore a set of "dumped" pages of all dumpfiles to a given
43
+ family remaining in the "interwiki-dumps" directory. All
44
+ these dump files will be subsequently removed. If restoring
45
+ process interrupts again, it saves all unprocessed pages in
46
+ one new dump file of the given site.
47
+
48
+ -continue: like restore, but after having gone through the dumped
49
+ pages, continue alphabetically starting at the last of the
50
+ dumped pages. The dump file will be subsequently removed.
51
+
52
+ &params;
53
+
54
+ Additionally, these arguments can be used to restrict the bot to certain pages:
55
+
56
+ -namespace:n Number or name of namespace to process. The parameter can be
57
+ used multiple times. It works in combination with all other
58
+ parameters, except for the -start parameter. If you e.g.
59
+ want to iterate over all categories starting at M, use
60
+ -start:Category:M.
61
+
62
+ -number: used as -number:#, specifies that the bot should process
63
+ that amount of pages and then stop. This is only useful in
64
+ combination with -start. The default is not to stop.
65
+
66
+ -until: used as -until:title, specifies that the bot should
67
+ process pages in wiki default sort order up to, and
68
+ including, "title" and then stop. This is only useful in
69
+ combination with -start. The default is not to stop.
70
+ Note: do not specify a namespace, even if -start has one.
71
+
72
+ -bracket only work on pages that have (in the home language)
73
+ parenthesis in their title. All other pages are skipped.
74
+ (note: without ending colon)
75
+
76
+ -skipfile: used as -skipfile:filename, skip all links mentioned in
77
+ the given file. This does not work with -number!
78
+
79
+ -skipauto use to skip all pages that can be translated automatically,
80
+ like dates, centuries, months, etc.
81
+ (note: without ending colon)
82
+
83
+ -lack: used as -lack:xx with xx a language code: only work on pages
84
+ without links to language xx. You can also add a number nn
85
+ like -lack:xx:nn, so that the bot only works on pages with
86
+ at least nn interwiki links (the default value for nn is 1).
87
+
88
+ These arguments control miscellaneous bot behaviour:
89
+
90
+ -quiet Use this option to get less output
91
+ (note: without ending colon)
92
+
93
+ -async Put page on queue to be saved to wiki asynchronously. This
94
+ enables loading pages during saving throttling and gives a
95
+ better performance.
96
+ NOTE: For post-processing it always assumes that saving the
97
+ the pages was successful.
98
+ (note: without ending colon)
99
+
100
+ -summary: Set an additional action summary message for the edit. This
101
+ could be used for further explainings of the bot action.
102
+ This will only be used in non-autonomous mode.
103
+
104
+ -hintsonly The bot does not ask for a page to work on, even if none of
105
+ the above page sources was specified. This will make the
106
+ first existing page of -hint or -hinfile slip in as start
107
+ page, determining properties like namespace, disambiguation
108
+ state, and so on. When no existing page is found in the
109
+ hints, the bot does nothing.
110
+ Hitting return without input on the "Which page to check:"
111
+ prompt has the same effect as using -hintsonly.
112
+ Options like -back or -same are in effect only after a page
113
+ has been found to work on. (note: without ending colon)
114
+
115
+ These arguments are useful to provide hints to the bot:
116
+
117
+ -hint: used as -hint:de:Anweisung to give the bot a hint
118
+ where to start looking for translations. If no text
119
+ is given after the second ':', the name of the page
120
+ itself is used as the title for the hint, unless the
121
+ -hintnobracket command line option (see there) is also
122
+ selected.
123
+
124
+ There are some special hints, trying a number of languages
125
+ at once:
126
+
127
+ * all: All languages with at least ca. 100 articles
128
+ * 10: The 10 largest languages (sites with most
129
+ articles). Analogous for any other natural
130
+ number
131
+ * arab: All languages using the Arabic alphabet
132
+ * cyril: All languages that use the Cyrillic alphabet
133
+ * chinese: All Chinese dialects
134
+ * latin: All languages using the Latin script
135
+ * scand: All Scandinavian languages
136
+
137
+ Names of families that forward their interlanguage links
138
+ to the wiki family being worked upon can be used, they are:
139
+
140
+ * commons: Interlanguage links of Wikimedia Commons
141
+ * incubator: Links in pages on the Wikimedia Incubator
142
+ * meta: Interlanguage links of named pages on Meta
143
+ * species: Interlanguage links of the Wikispecies wiki
144
+ * strategy: Links in pages on Wikimedia Strategy wiki
145
+ * test: Take interwiki links from Test Wikipedia
146
+ * wikimania: Interwiki links of Wikimania
147
+
148
+ Languages, groups and families having the same page title
149
+ can be combined, as -hint:5,scand,sr,pt,commons:New_York
150
+
151
+ -hintfile: similar to -hint, except that hints are taken from the given
152
+ file, enclosed in [[]] each, instead of the command line.
153
+
154
+ -askhints: for each page one or more hints are asked. See hint: above
155
+ for the format, one can for example give "en:something" or
156
+ "20:" as hint.
157
+
158
+ -repository Include data repository
159
+
160
+ -same looks over all 'serious' languages for the same title.
161
+ -same is equivalent to -hint:all:
162
+ (note: without ending colon)
163
+
164
+ -untranslated: works normally on pages with at least one interlanguage
165
+ link; asks for hints for pages that have none.
166
+
167
+ -untranslatedonly: same as -untranslated, but pages which already have a
168
+ translation are skipped. Hint: do NOT use this in
169
+ combination with -start without a -number limit, because
170
+ you will go through the whole alphabet before any queries
171
+ are performed!
172
+
173
+ -showpage when asking for hints, show the first bit of the text
174
+ of the page always, rather than doing so only when being
175
+ asked for (by typing '?'). Only useful in combination
176
+ with a hint-asking option like -untranslated, -askhints
177
+ or -untranslatedonly.
178
+ (note: without ending colon)
179
+
180
+ -noauto Do not use the automatic translation feature for years and
181
+ dates, only use found links and hints.
182
+ (note: without ending colon)
183
+
184
+ -hintnobracket used to make the bot strip everything in last brackets,
185
+ and surrounding spaces from the page name, before it is
186
+ used in a -hint:xy: where the page name has been left out,
187
+ or -hint:all:, -hint:10:, etc. without a name, or
188
+ an -askhint reply, where only a language is given.
189
+
190
+ These arguments define how much user confirmation is required:
191
+
192
+ -autonomous run automatically, do not ask any questions. If a question
193
+ -auto to an operator is needed, write the name of the page
194
+ to autonomous_problems.dat and continue on the next page.
195
+ (note: without ending colon)
196
+
197
+ -confirm ask for confirmation before any page is changed on the
198
+ live wiki. Without this argument, additions and
199
+ unambiguous modifications are made without confirmation.
200
+ (note: without ending colon)
201
+
202
+ -force do not ask permission to make "controversial" changes,
203
+ like removing a language because none of the found
204
+ alternatives actually exists.
205
+ (note: without ending colon)
206
+
207
+ -cleanup like -force but only removes interwiki links to non-existent
208
+ or empty pages.
209
+
210
+ -select ask for each link whether it should be included before
211
+ changing any page. This is useful if you want to remove
212
+ invalid interwiki links and if you do multiple hints of
213
+ which some might be correct and others incorrect. Combining
214
+ -select and -confirm is possible, but seems like overkill.
215
+ (note: without ending colon)
216
+
217
+ These arguments specify in which way the bot should follow interwiki links:
218
+
219
+ -noredirect do not follow redirects nor category redirects.
220
+ (note: without ending colon)
221
+
222
+ -initialredirect work on its target if a redirect or category redirect is
223
+ entered on the command line or by a generator (note: without
224
+ ending colon). It is recommended to use this option with the
225
+ -movelog pagegenerator.
226
+
227
+ -neverlink: used as -neverlink:xx where xx is a language code:
228
+ Disregard any links found to language xx. You can also
229
+ specify a list of languages to disregard, separated by
230
+ commas.
231
+
232
+ -ignore: used as -ignore:xx:aaa where xx is a language code, and
233
+ aaa is a page title to be ignored.
234
+
235
+ -ignorefile: similar to -ignore, except that the pages are taken from
236
+ the given file instead of the command line.
237
+
238
+ -localright do not follow interwiki links from other pages than the
239
+ starting page. (Warning! Should be used very sparingly,
240
+ only when you are sure you have first gotten the interwiki
241
+ links on the starting page exactly right).
242
+ (note: without ending colon)
243
+
244
+ -hintsareright do not follow interwiki links to sites for which hints
245
+ on existing pages are given. Note that, hints given
246
+ interactively, via the -askhint command line option,
247
+ are only effective once they have been entered, thus
248
+ interwiki links on the starting page are followed
249
+ regardess of hints given when prompted.
250
+ (Warning! Should be used with caution!)
251
+ (note: without ending colon)
252
+
253
+ -back only work on pages that have no backlink from any other
254
+ language; if a backlink is found, all work on the page
255
+ will be halted. (note: without ending colon)
256
+
257
+ The following arguments are only important for users who have accounts for
258
+ multiple languages, and specify on which sites the bot should modify pages:
259
+
260
+ -localonly only work on the local wiki, not on other wikis in the
261
+ family I have a login at. (note: without ending colon)
262
+
263
+ -limittwo only update two pages - one in the local wiki (if logged-in)
264
+ and one in the top available one.
265
+ For example, if the local page has links to de and fr,
266
+ this option will make sure that only the local site and
267
+ the de: (larger) sites are updated. This option is useful
268
+ to quickly set two way links without updating all of the
269
+ wiki families sites.
270
+ (note: without ending colon)
271
+
272
+ -whenneeded works like limittwo, but other languages are changed in the
273
+ following cases:
274
+
275
+ * If there are no interwiki links at all on the page
276
+ * If an interwiki link must be removed
277
+ * If an interwiki link must be changed and there has been
278
+ a conflict for this page
279
+
280
+ Optionally, -whenneeded can be given an additional number
281
+ (for example -whenneeded:3), in which case other languages
282
+ will be changed if there are that number or more links to
283
+ change or add. (note: without ending colon)
284
+
285
+ The following arguments influence how many pages the bot works on at once:
286
+
287
+ -array: The number of pages the bot tries to be working on at once.
288
+ If the number of pages loaded is lower than this number,
289
+ a new set of pages is loaded from the starting wiki. The
290
+ default is 100, but can be changed in the config variable
291
+ interwiki_min_subjects
292
+
293
+ -query: The maximum number of pages that the bot will load at once.
294
+ Default value is 50.
295
+
296
+ Some configuration option can be used to change the working of this bot:
297
+
298
+ interwiki_min_subjects: the minimum amount of subjects that should be
299
+ processed at the same time.
300
+
301
+ interwiki_backlink: if set to True, all problems in foreign wikis will
302
+ be reported
303
+
304
+ interwiki_shownew: should interwiki.py display every new link it discovers?
305
+
306
+ interwiki_graph: output a graph PNG file on conflicts? You need pydot for
307
+ this: https://pypi.org/project/pydot/
308
+
309
+ interwiki_graph_format: the file format for interwiki graphs
310
+
311
+ without_interwiki: save file with local articles without interwikis
312
+
313
+ All these options can be changed through the user configuration file.
314
+
315
+ If interwiki.py is terminated before it is finished, it will write a dump file
316
+ to the interwiki-dumps subdirectory. The program will read it if invoked with
317
+ the "-restore" or "-continue" option, and finish all the subjects in that list.
318
+ After finishing the dump file will be deleted. To run the interwiki-bot on all
319
+ pages on a language, run it with option "-start:!", and if it takes so long
320
+ that you have to break it off, use "-continue" next time.
321
+
322
+ """
323
+ #
324
+ # (C) Pywikibot team, 2003-2024
325
+ #
326
+ # Distributed under the terms of the MIT license.
327
+ #
328
+ from __future__ import annotations
329
+
330
+ import codecs
331
+ import os
332
+ import re
333
+ import sys
334
+ from collections import Counter, defaultdict
335
+ from contextlib import suppress
336
+ from textwrap import fill
337
+
338
+ import pywikibot
339
+ from pywikibot import (
340
+ config,
341
+ i18n,
342
+ interwiki_graph,
343
+ pagegenerators,
344
+ textlib,
345
+ titletranslate,
346
+ )
347
+ from pywikibot.backports import Iterable
348
+ from pywikibot.bot import (
349
+ ListOption,
350
+ OptionHandler,
351
+ StandardOption,
352
+ suggest_help,
353
+ )
354
+ from pywikibot.cosmetic_changes import moved_links
355
+ from pywikibot.exceptions import (
356
+ EditConflictError,
357
+ Error,
358
+ InvalidPageError,
359
+ InvalidTitleError,
360
+ LockedPageError,
361
+ NoCreateError,
362
+ NoPageError,
363
+ NoUsernameError,
364
+ PageSaveRelatedError,
365
+ ServerError,
366
+ SiteDefinitionError,
367
+ SpamblacklistError,
368
+ UnknownSiteError,
369
+ )
370
+ from pywikibot.tools import first_upper
371
+ from pywikibot.tools.collections import SizedKeyCollection
372
+
373
+
374
+ docuReplacements = {
375
+ '&params;': pagegenerators.parameterHelp
376
+ }
377
+
378
+
379
+ class SaveError(Error):
380
+
381
+ """An attempt to save a page with changed interwiki has failed."""
382
+
383
+
384
+ class LinkMustBeRemoved(SaveError):
385
+
386
+ """An interwiki link has to be removed manually.
387
+
388
+ An interwiki link has to be removed, but this can't be done because
389
+ of user preferences or because the user chose not to change the page.
390
+ """
391
+
392
+
393
+ class GiveUpOnPage(Error):
394
+
395
+ """User chose not to work on this page and its linked pages any more."""
396
+
397
+
398
+ # A list of template names in different languages.
399
+ # Pages which contain these shouldn't be changed.
400
+ ignoreTemplates = {
401
+ '_default': ['delete'],
402
+ 'ar': ['تحرر', 'تحويل لين'],
403
+ 'ary': ['كاتبدل دابا'],
404
+ 'arz': ['بتتطور'],
405
+ 'cs': ['Pracuje_se'],
406
+ 'de': ['inuse', 'in use', 'in bearbeitung', 'inbearbeitung',
407
+ 'löschen', 'sla',
408
+ 'löschantrag', 'löschantragstext',
409
+ 'falschschreibung',
410
+ 'obsolete schreibung', 'veraltete schreibweise'],
411
+ 'en': ['inuse', 'softredirect'],
412
+ 'fa': ['در دست ویرایش ۲', 'حذف سریع'],
413
+ 'pdc': ['lösche'],
414
+ 'zh': ['inuse'],
415
+ }
416
+
417
+
418
+ class InterwikiBotConfig:
419
+
420
+ """Container class for interwikibot's settings."""
421
+
422
+ autonomous = False
423
+ confirm = False
424
+ always = False
425
+ select = False
426
+ followredirect = True
427
+ initialredirect = False
428
+ force = False
429
+ cleanup = False
430
+ remove = []
431
+ maxquerysize = 50
432
+ same = False
433
+ skip = set()
434
+ skipauto = False
435
+ untranslated = False
436
+ untranslatedonly = False
437
+ auto = True
438
+ neverlink = []
439
+ showtextlink = 0
440
+ showtextlinkadd = 300
441
+ localonly = False
442
+ limittwo = False
443
+ strictlimittwo = False
444
+ needlimit = 0
445
+ ignore = []
446
+ parenthesesonly = False
447
+ rememberno = False
448
+ followinterwiki = True
449
+ minsubjects = config.interwiki_min_subjects
450
+ nobackonly = False
451
+ askhints = False
452
+ hintnobracket = False
453
+ hints = []
454
+ hintsareright = False
455
+ lacklanguage = None
456
+ minlinks = 0
457
+ quiet = False
458
+ restore_all = False
459
+ asynchronous = False
460
+ summary = ''
461
+ repository = False
462
+
463
+ def note(self, text: str) -> None:
464
+ """Output a notification message with.
465
+
466
+ The text will be printed only if conf.quiet isn't set.
467
+ :param text: text to be shown
468
+ """
469
+ if not self.quiet:
470
+ pywikibot.info('NOTE: ' + text)
471
+
472
+ def readOptions(self, option: str) -> bool:
473
+ """Read all commandline parameters for the global container."""
474
+ arg, _, value = option.partition(':')
475
+ if not arg.startswith('-'):
476
+ return False
477
+
478
+ arg = arg[1:]
479
+ if arg == 'noauto':
480
+ self.auto = False
481
+ elif arg == 'hint':
482
+ self.hints.append(value)
483
+ elif arg == 'hintfile':
484
+ hintfilename = value or pywikibot.input(
485
+ 'Please enter the hint filename:')
486
+ # hint or title ends either before | or before ]]
487
+ R = re.compile(r'\[\[(.+?)(?:\]\]|\|)')
488
+ with codecs.open(hintfilename, 'r', config.textfile_encoding) as f:
489
+ self.hints += R.findall(f.read())
490
+ elif arg == 'untranslatedonly':
491
+ self.untranslated = True
492
+ self.untranslatedonly = True
493
+ elif arg == 'askhints':
494
+ self.untranslated = True
495
+ self.untranslatedonly = False
496
+ self.askhints = True
497
+ elif arg in ('autonomous', 'auto'):
498
+ self.autonomous = True
499
+ elif arg == 'noredirect':
500
+ self.followredirect = False
501
+ elif arg == 'limittwo':
502
+ self.limittwo = True
503
+ self.strictlimittwo = True
504
+ elif arg == 'whenneeded':
505
+ self.limittwo = True
506
+ self.strictlimittwo = False
507
+ if value.isdigit():
508
+ self.needlimit = int(value)
509
+ elif arg == 'skipfile':
510
+ skip_page_gen = pagegenerators.TextIOPageGenerator(value)
511
+ self.skip.update(skip_page_gen)
512
+ del skip_page_gen
513
+ elif arg == 'neverlink':
514
+ self.neverlink += value.split(',')
515
+ elif arg == 'ignore':
516
+ self.ignore += [pywikibot.Page(pywikibot.Site(), p)
517
+ for p in value.split(',')]
518
+ elif arg == 'ignorefile':
519
+ ignore_page_gen = pagegenerators.TextIOPageGenerator(value)
520
+ self.ignore.update(ignore_page_gen)
521
+ del ignore_page_gen
522
+ elif arg == 'showpage':
523
+ self.showtextlink += self.showtextlinkadd
524
+ elif arg == 'graph':
525
+ # override configuration
526
+ config.interwiki_graph = True
527
+ elif arg == 'bracket':
528
+ self.parenthesesonly = True
529
+ elif arg == 'localright':
530
+ self.followinterwiki = False
531
+ elif arg == 'array' and value.isdigit():
532
+ self.minsubjects = int(value)
533
+ elif arg == 'query' and value.isdigit():
534
+ self.maxquerysize = int(value)
535
+ elif arg == 'back':
536
+ self.nobackonly = True
537
+ elif arg == 'async':
538
+ self.asynchronous = True
539
+ elif arg == 'summary':
540
+ self.summary = value or pywikibot.input(
541
+ 'What summary do you want to use?')
542
+ elif arg == 'lack':
543
+ self.lacklanguage, _, minlinks = value.partition(':')
544
+ self.minlinks = int(minlinks or 1)
545
+ elif arg in ('cleanup', 'confirm', 'force', 'hintnobracket',
546
+ 'hintsareright', 'initialredirect', 'localonly', 'quiet',
547
+ 'repository', 'same', 'select', 'skipauto',
548
+ 'untranslated'):
549
+ assert hasattr(self, arg)
550
+ assert value == ''
551
+ setattr(self, arg, True)
552
+ else:
553
+ return False
554
+ return True
555
+
556
+
557
+ class Subject(interwiki_graph.Subject):
558
+
559
+ """
560
+ Class to follow the progress of a single 'subject'.
561
+
562
+ (i.e. a page with all its translations)
563
+
564
+ Subject is a transitive closure of the binary relation on Page:
565
+ "has_a_langlink_pointing_to".
566
+
567
+ A formal way to compute that closure would be:
568
+
569
+ With P a set of pages, NL ('NextLevel') a function on sets defined as:
570
+
571
+ `NL(P) = { target | ∃ source ∈ P, target ∈ source.langlinks() }`
572
+
573
+ pseudocode::
574
+
575
+ todo <- [origin]
576
+ done <- []
577
+ while todo != []:
578
+ pending <- todo
579
+ todo <-NL(pending) / done
580
+ done <- NL(pending) U done
581
+ return done
582
+
583
+
584
+ There is, however, one limitation that is induced by implementation:
585
+ to compute efficiently NL(P), one has to load the page contents of
586
+ pages in P.
587
+ (Not only the langlinks have to be parsed from each Page, but we also want
588
+ to know if the Page is a redirect, a disambiguation, etc...)
589
+
590
+ Because of this, the pages in pending have to be preloaded.
591
+ However, because the pages in pending are likely to be in several sites
592
+ we cannot "just" preload them as a batch.
593
+
594
+ Instead of doing "pending <- todo" at each iteration, we have to elect a
595
+ Site, and we put in pending all the pages from todo that belong to that
596
+ Site:
597
+
598
+ Code becomes::
599
+
600
+ todo <- {origin.site: [origin]}
601
+ done <- []
602
+ while todo != {}:
603
+ site <- electSite()
604
+ pending <- todo[site]
605
+
606
+ preloadpages(site, pending)
607
+
608
+ todo[site] <- NL(pending) / done
609
+ done <- NL(pending) U done
610
+ return done
611
+
612
+ Subject objects only operate on pages that should have been preloaded
613
+ before. In fact, at any time:
614
+
615
+ * todo contains new Pages that have not been loaded yet
616
+ * done contains Pages that have been loaded, and that have been treated.
617
+ * If batch preloadings are successful, Page._get() is never called from
618
+ this Object.
619
+ """
620
+
621
+ def __init__(self, origin=None, hints=None, conf=None) -> None:
622
+ """
623
+ Initializer.
624
+
625
+ Takes as arguments the Page on the home wiki
626
+ plus optionally a list of hints for translation
627
+ """
628
+ self.conf = conf
629
+
630
+ super().__init__(origin)
631
+
632
+ self.repoPage = None
633
+ # todo is a list of all pages that still need to be analyzed.
634
+ # Mark the origin page as todo.
635
+ self.todo = SizedKeyCollection('site')
636
+ if origin:
637
+ self.todo.append(origin)
638
+
639
+ # done is a list of all pages that have been analyzed and that
640
+ # are known to belong to this subject.
641
+ self.done = SizedKeyCollection('site')
642
+ # This is a list of all pages that are currently scheduled for
643
+ # download.
644
+ self.pending = SizedKeyCollection('site')
645
+ if self.conf.hintsareright:
646
+ # This is a set of sites that we got hints to
647
+ self.hintedsites = set()
648
+ self.translate(hints, self.conf.hintsareright)
649
+ self.confirm = self.conf.confirm
650
+ self.problemfound = False
651
+ self.untranslated = None
652
+ self.hintsAsked = False
653
+ self.forcedStop = False
654
+ self.workonme = True
655
+
656
+ def getFoundDisambig(self, site):
657
+ """
658
+ Return the first disambiguation found.
659
+
660
+ If we found a disambiguation on the given site while working on the
661
+ subject, this method returns it. If several ones have been found, the
662
+ first one will be returned.
663
+ Otherwise, None will be returned.
664
+ """
665
+ for tree in [self.done, self.pending]:
666
+ for page in tree.filter(site):
667
+ if page.exists() and page.isDisambig():
668
+ return page
669
+ return None
670
+
671
+ def getFoundNonDisambig(self, site):
672
+ """
673
+ Return the first non-disambiguation found.
674
+
675
+ If we found a non-disambiguation on the given site while working on the
676
+ subject, this method returns it. If several ones have been found, the
677
+ first one will be returned.
678
+ Otherwise, None will be returned.
679
+ """
680
+ for tree in [self.done, self.pending]:
681
+ for page in tree.filter(site):
682
+ if page.exists() \
683
+ and not page.isDisambig() \
684
+ and not page.isRedirectPage() \
685
+ and not page.isCategoryRedirect():
686
+ return page
687
+ return None
688
+
689
+ def getFoundInCorrectNamespace(self, site):
690
+ """
691
+ Return the first page in the extended namespace.
692
+
693
+ If we found a page that has the expected namespace on the given site
694
+ while working on the subject, this method returns it. If several ones
695
+ have been found, the first one will be returned.
696
+ Otherwise, None will be returned.
697
+ """
698
+ for tree in [self.done, self.pending, self.todo]:
699
+ for page in tree.filter(site):
700
+ # -hintsonly: before we have an origin page, any namespace will
701
+ # do.
702
+ if self.origin \
703
+ and page.namespace() == self.origin.namespace() \
704
+ and page.exists() \
705
+ and not page.isRedirectPage() \
706
+ and not page.isCategoryRedirect():
707
+ return page
708
+ return None
709
+
710
+ def translate(self, hints=None, keephintedsites: bool = False) -> None:
711
+ """Add the given translation hints to the todo list."""
712
+ if self.conf.same and self.origin:
713
+ if hints:
714
+ hints += ['all:']
715
+ else:
716
+ hints = ['all:']
717
+
718
+ site = self.origin.site
719
+ else:
720
+ site = pywikibot.Site()
721
+
722
+ links = titletranslate.translate(
723
+ self.origin,
724
+ hints=hints,
725
+ auto=self.conf.auto,
726
+ removebrackets=self.conf.hintnobracket,
727
+ site=site)
728
+
729
+ for link in links:
730
+ page = pywikibot.Page(link)
731
+ self.todo.append(page)
732
+ self.found_in[page] = [None]
733
+ if keephintedsites:
734
+ self.hintedsites.add(page.site)
735
+
736
+ def openSites(self):
737
+ """
738
+ Iterator.
739
+
740
+ Yields (site, count) pairs:
741
+ * site is a site where we still have work to do on
742
+ * count is the number of items in that Site that need work on
743
+ """
744
+ return self.todo.iter_values_len()
745
+
746
+ def whatsNextPageBatch(self, site) -> list[pywikibot.Page]:
747
+ """Return the next page batch.
748
+
749
+ By calling this method, you 'promise' this instance that you
750
+ will preload all the *site* Pages that are in the todo list.
751
+
752
+ :return: This routine will return a list of pages that can be
753
+ treated.
754
+ """
755
+ # Bug-check: Isn't there any work still in progress? We can't work on
756
+ # different sites at a time!
757
+ if self.pending:
758
+ raise RuntimeError(f"Can't start to work on {site}; still "
759
+ f'working on {self.pending}')
760
+ # Prepare a list of suitable pages
761
+ result = []
762
+ for page in self.todo.filter(site):
763
+ self.pending.append(page)
764
+ result.append(page)
765
+
766
+ self.todo.remove_key(site)
767
+
768
+ # If there are any, return them. Otherwise, nothing is in progress.
769
+ return result
770
+
771
+ def makeForcedStop(self, counter) -> None:
772
+ """End work on the page before the normal end."""
773
+ for site, count in self.todo.iter_values_len():
774
+ counter.minus(site, count)
775
+ self.todo.clear()
776
+ self.forcedStop = True
777
+
778
+ def addIfNew(self, page, counter, linkingPage) -> bool:
779
+ """
780
+ Add the pagelink given to the todo list, if it hasn't been seen yet.
781
+
782
+ If it is added, update the counter accordingly.
783
+
784
+ Also remembers where we found the page, regardless of whether it had
785
+ already been found before or not.
786
+
787
+ Returns True if the page is new.
788
+ """
789
+ if self.forcedStop:
790
+ return False
791
+
792
+ # cannot check backlink before we have an origin page
793
+ if self.conf.nobackonly and self.origin and page == self.origin:
794
+ try:
795
+ pywikibot.info(f'{page} has a backlink from {linkingPage}.')
796
+ except UnicodeDecodeError:
797
+ pywikibot.info('Found a backlink for a page.')
798
+ self.makeForcedStop(counter)
799
+ return False
800
+
801
+ if page in self.found_in:
802
+ # not new
803
+ self.found_in[page].append(linkingPage)
804
+ return False
805
+
806
+ self.found_in[page] = [linkingPage]
807
+ self.todo.append(page)
808
+ counter.plus(page.site)
809
+ return True
810
+
811
+ def skipPage(self, page, target, counter):
812
+ """Return whether page has to be skipped."""
813
+ return self.isIgnored(target) \
814
+ or self.namespaceMismatch(page, target, counter)
815
+
816
+ @staticmethod
817
+ def get_alternative(
818
+ site: pywikibot.site.BaseSite
819
+ ) -> pywikibot.Page | None:
820
+ """Ask for an alternative Page for a given site.
821
+
822
+ :param site: a BaseSite
823
+ """
824
+ title = pywikibot.input(f'Give the alternative page for code '
825
+ f'{site.code!r} (without site code)')
826
+ return pywikibot.Page(site, title) if title else None
827
+
828
+ def namespaceMismatch(self, linkingPage, linkedPage, counter) -> bool:
829
+ """
830
+ Check whether or not the given page has a different namespace.
831
+
832
+ Returns True if the namespaces are different and the user
833
+ has selected not to follow the linked page.
834
+ """
835
+ if linkedPage in self.found_in:
836
+ # We have seen this page before, don't ask again.
837
+ return False
838
+
839
+ if self.origin and self.origin.namespace() != linkedPage.namespace():
840
+ # Allow for a mapping between different namespaces
841
+ crossFrom = self.origin.site.family.crossnamespace.get(
842
+ self.origin.namespace(), {})
843
+ crossTo = crossFrom.get(self.origin.site.code,
844
+ crossFrom.get('_default', {}))
845
+ nsmatch = crossTo.get(linkedPage.site.code,
846
+ crossTo.get('_default', []))
847
+ if linkedPage.namespace() in nsmatch:
848
+ return False
849
+
850
+ if self.conf.autonomous:
851
+ pywikibot.info(
852
+ f'NOTE: Ignoring link from page {linkingPage} in namespace'
853
+ f' {linkingPage.namespace()} to page {linkedPage} in '
854
+ f'namespace {linkedPage.namespace()}.'
855
+ )
856
+ # Fill up found_in, so that we will not write this notice
857
+ self.found_in[linkedPage] = [linkingPage]
858
+ return True
859
+
860
+ preferredPage = self.getFoundInCorrectNamespace(linkedPage.site)
861
+ if preferredPage:
862
+ pywikibot.info(
863
+ f'NOTE: Ignoring link from page {linkingPage} in '
864
+ f'namespace {linkingPage.namespace()} to page '
865
+ f'{linkedPage} in namespace {linkedPage.namespace()} '
866
+ f'because page {preferredPage} in the correct namespace'
867
+ ' has already been found.'
868
+ )
869
+ return True
870
+
871
+ choice = pywikibot.input_choice(
872
+ f'WARNING: {self.origin} is in namespace '
873
+ f'"{self.origin.namespace()}", but {linkedPage} is in '
874
+ f'namespace "{linkedPage.namespace()}". Follow it anyway?',
875
+ [('Yes', 'y'), ('No', 'n'), ('Add an alternative', 'a'),
876
+ ('give up', 'g')],
877
+ automatic_quit=False)
878
+
879
+ if choice != 'y':
880
+ # Fill up found_in, so that we will not ask again
881
+ self.found_in[linkedPage] = [linkingPage]
882
+ if choice == 'g':
883
+ self.makeForcedStop(counter)
884
+ elif choice == 'a':
885
+ alternative_page = self.get_alternative(linkedPage.site)
886
+ if alternative_page:
887
+ # add the page that was entered by the user
888
+ self.addIfNew(alternative_page, counter, None)
889
+ else:
890
+ pywikibot.info(
891
+ f'NOTE: ignoring {linkedPage} and its interwiki links')
892
+ return True
893
+
894
+ # same namespaces, no problem
895
+ # or no origin page yet, also no problem
896
+ return False
897
+
898
+ def disambigMismatch(self, page, counter):
899
+ """
900
+ Check whether the given page has a different disambiguation status.
901
+
902
+ Returns a tuple (skip, alternativePage).
903
+
904
+ skip is True if the pages have mismatching statuses and the bot
905
+ is either in autonomous mode, or the user chose not to use the
906
+ given page.
907
+
908
+ alternativePage is either None, or a page that the user has
909
+ chosen to use instead of the given page.
910
+ """
911
+ if not self.origin:
912
+ return (False, None) # any page matches til we have an origin page
913
+
914
+ if self.conf.autonomous:
915
+ if self.origin.isDisambig() and not page.isDisambig():
916
+ pywikibot.info(
917
+ 'NOTE: Ignoring link from disambiguation page '
918
+ f'{self.origin} to non-disambiguation {page}'
919
+ )
920
+ return (True, None)
921
+
922
+ if not self.origin.isDisambig() and page.isDisambig():
923
+ pywikibot.info(
924
+ 'NOTE: Ignoring link from non-disambiguation page '
925
+ f'{self.origin} to disambiguation {page}'
926
+ )
927
+ return (True, None)
928
+
929
+ else:
930
+ choice = 'y'
931
+ if self.origin.isDisambig() and not page.isDisambig():
932
+ disambig = self.getFoundDisambig(page.site)
933
+ if disambig:
934
+ pywikibot.info(
935
+ f'NOTE: Ignoring non-disambiguation page {page} for '
936
+ f'{self.origin} because disambiguation page '
937
+ f'{disambig} has already been found.'
938
+ )
939
+ return (True, None)
940
+
941
+ choice = pywikibot.input_choice(
942
+ f'WARNING: {self.origin} is a disambiguation page, but '
943
+ f"{page} doesn't seem to be one. Follow it anyway?",
944
+ [('Yes', 'y'), ('No', 'n'),
945
+ ('Add an alternative', 'a'), ('give up', 'g')],
946
+ automatic_quit=False
947
+ )
948
+
949
+ elif not self.origin.isDisambig() and page.isDisambig():
950
+ nondisambig = self.getFoundNonDisambig(page.site)
951
+ if nondisambig:
952
+ pywikibot.info(
953
+ f'NOTE: Ignoring disambiguation page {page} for '
954
+ f'{self.origin} because non-disambiguation page '
955
+ f'{nondisambig} has already been found.'
956
+ )
957
+ return (True, None)
958
+
959
+ choice = pywikibot.input_choice(
960
+ f"WARNING: {self.origin} doesn't seem to be a "
961
+ f'disambiguation page, but {page} is one. Follow it'
962
+ ' anyway?',
963
+ [('Yes', 'y'), ('No', 'n'),
964
+ ('Add an alternative', 'a'), ('give up', 'g')],
965
+ automatic_quit=False
966
+ )
967
+
968
+ if choice == 'n':
969
+ return (True, None)
970
+
971
+ if choice == 'a':
972
+ alternative_page = self.get_alternative(page.site)
973
+ return (True, alternative_page)
974
+
975
+ if choice == 'g':
976
+ self.makeForcedStop(counter)
977
+ return (True, None)
978
+
979
+ # We can follow the page.
980
+ return (False, None)
981
+
982
+ def isIgnored(self, page) -> bool:
983
+ """Return True if pages is to be ignored."""
984
+ if page.site.code in self.conf.neverlink:
985
+ pywikibot.info(f'Skipping link {page} to an ignored language')
986
+ return True
987
+
988
+ if page in self.conf.ignore:
989
+ pywikibot.info(f'Skipping link {page} to an ignored page')
990
+ return True
991
+
992
+ return False
993
+
994
+ def reportInterwikilessPage(self, page) -> None:
995
+ """Report interwikiless page."""
996
+ self.conf.note(f'{self.origin} does not have any interwiki links')
997
+ if config.without_interwiki:
998
+ with codecs.open(
999
+ pywikibot.config.datafilepath('without_interwiki.txt'),
1000
+ 'a', 'utf-8') as f:
1001
+ f.write(f'# {page} \n')
1002
+
1003
+ def askForHints(self, counter) -> None:
1004
+ """Ask for hints to other sites."""
1005
+ if (not self.workonme # we don't work on it anyway
1006
+ or not self.untranslated and not self.conf.askhints
1007
+ or self.hintsAsked
1008
+ or not self.origin
1009
+ or not self.origin.exists()
1010
+ or self.origin.isRedirectPage()
1011
+ or self.origin.isCategoryRedirect()):
1012
+ return
1013
+
1014
+ self.hintsAsked = True
1015
+ if not self.conf.untranslated:
1016
+ return
1017
+
1018
+ t = self.conf.showtextlink
1019
+ if t:
1020
+ pywikibot.info(self.origin.get()[:t])
1021
+
1022
+ while True:
1023
+ newhint = pywikibot.input('Give a hint (? to see pagetext):')
1024
+
1025
+ if not newhint:
1026
+ break
1027
+
1028
+ if newhint == '?':
1029
+ t += self.conf.showtextlinkadd
1030
+ pywikibot.info(self.origin.get()[:t])
1031
+ elif ':' not in newhint:
1032
+ pywikibot.info(fill(
1033
+ 'Please enter a hint in the format language:pagename '
1034
+ 'or type nothing if you do not have a hint.'))
1035
+ else:
1036
+ links = titletranslate.translate(
1037
+ self.origin,
1038
+ hints=[newhint],
1039
+ auto=self.conf.auto,
1040
+ removebrackets=self.conf.hintnobracket)
1041
+ for link in links:
1042
+ page = pywikibot.Page(link)
1043
+ self.addIfNew(page, counter, None)
1044
+ if self.conf.hintsareright:
1045
+ self.hintedsites.add(page.site)
1046
+
1047
+ def redir_checked(self, page, counter):
1048
+ """Check and handle redirect. Return True if check is done."""
1049
+ if page.isRedirectPage():
1050
+ redirect_target = page.getRedirectTarget()
1051
+ redir = ''
1052
+ elif page.isCategoryRedirect():
1053
+ redirect_target = page.getCategoryRedirectTarget()
1054
+ redir = 'category '
1055
+ else:
1056
+ return False
1057
+
1058
+ self.conf.note(f'{page} is {redir}redirect to {redirect_target}')
1059
+ if self.origin is None or page == self.origin:
1060
+ # the 1st existig page becomes the origin page, if none was
1061
+ # supplied
1062
+ if self.conf.initialredirect:
1063
+ # don't follow another redirect; it might be a self
1064
+ # loop
1065
+ if not redirect_target.isRedirectPage() \
1066
+ and not redirect_target.isCategoryRedirect():
1067
+ self.origin = redirect_target
1068
+ self.todo.append(redirect_target)
1069
+ counter.plus(redirect_target.site)
1070
+ else:
1071
+ # This is a redirect page to the origin. We don't need
1072
+ # to follow the redirection.
1073
+ # In this case we can also stop all hints!
1074
+ for site, count in self.todo.iter_values_len():
1075
+ counter.minus(site, count)
1076
+ self.todo.clear()
1077
+ elif not self.conf.followredirect:
1078
+ self.conf.note(f'not following {redir}redirects.')
1079
+ elif page.isStaticRedirect():
1080
+ self.conf.note(f'not following static {redir}redirects.')
1081
+ elif (page.site.family == redirect_target.site.family
1082
+ and not self.skipPage(page, redirect_target, counter)
1083
+ and self.addIfNew(redirect_target, counter, page)
1084
+ and config.interwiki_shownew):
1085
+ pywikibot.info(f'{self.origin}: {page} gives new {redir}redirect '
1086
+ f'{redirect_target}')
1087
+ return True
1088
+
1089
+ def check_page(self, page, counter) -> None:
1090
+ """Check whether any iw links should be added to the todo list."""
1091
+ try:
1092
+ ok = page.exists()
1093
+ except InvalidPageError as e: # T357953
1094
+ msg = str(e)
1095
+ ok = False
1096
+ else:
1097
+ msg = f'{page} does not exist.'
1098
+ if not ok:
1099
+ self.conf.remove.append(str(page))
1100
+ self.conf.note(f'{msg} Skipping.')
1101
+ if page == self.origin:
1102
+ # The page we are working on is the page that does not
1103
+ # exist. No use in doing any work on it in that case.
1104
+ for site, count in self.todo.iter_values_len():
1105
+ counter.minus(site, count)
1106
+ self.todo.clear()
1107
+ # In some rare cases it might be we already did check some
1108
+ # 'automatic' links
1109
+ self.done.clear()
1110
+ return
1111
+
1112
+ if self.redir_checked(page, counter):
1113
+ return
1114
+
1115
+ # must be behind the page.isRedirectPage() part
1116
+ # otherwise a redirect error would be raised
1117
+ if page_empty_check(page):
1118
+ self.conf.remove.append(str(page))
1119
+ self.conf.note(f'{page} is empty. Skipping.')
1120
+ if page == self.origin:
1121
+ for site, count in self.todo.iter_values_len():
1122
+ counter.minus(site, count)
1123
+ self.todo.clear()
1124
+ self.done.clear()
1125
+ self.origin = None
1126
+ return
1127
+
1128
+ if page.section():
1129
+ self.conf.note(f'{page} is a page section. Skipping.')
1130
+ return
1131
+
1132
+ # Page exists, isn't a redirect, and is a plain link (no section)
1133
+ if self.origin is None:
1134
+ # the 1st existig page becomes the origin page, if none was
1135
+ # supplied
1136
+ self.origin = page
1137
+
1138
+ try:
1139
+ iw = page.langlinks()
1140
+ except UnknownSiteError:
1141
+ self.conf.note(f'site {page.site} does not exist.')
1142
+ return
1143
+
1144
+ (skip, alternativePage) = self.disambigMismatch(page, counter)
1145
+ if skip:
1146
+ pywikibot.info(f'NOTE: ignoring {page} and its interwiki links')
1147
+ self.done.remove(page)
1148
+ iw = ()
1149
+ if alternativePage:
1150
+ # add the page that was entered by the user
1151
+ self.addIfNew(alternativePage, counter, None)
1152
+
1153
+ duplicate = None
1154
+ for p in self.done.filter(page.site):
1155
+ if p != page and p.exists() \
1156
+ and not p.isRedirectPage() and not p.isCategoryRedirect():
1157
+ duplicate = p
1158
+ break
1159
+
1160
+ if self.origin == page:
1161
+ self.untranslated = not iw
1162
+ if self.conf.untranslatedonly:
1163
+ # Ignore the interwiki links.
1164
+ iw = ()
1165
+ if self.conf.lacklanguage \
1166
+ and self.conf.lacklanguage in (link.site.code for link in iw):
1167
+ iw = ()
1168
+ self.workonme = False
1169
+ if len(iw) < self.conf.minlinks:
1170
+ iw = ()
1171
+ self.workonme = False
1172
+
1173
+ elif self.conf.autonomous and duplicate and not skip:
1174
+ pywikibot.info(f'Stopping work on {self.origin} because duplicate '
1175
+ f'pages {duplicate} and {page} are found')
1176
+ self.makeForcedStop(counter)
1177
+ try:
1178
+ with codecs.open(
1179
+ pywikibot.config.datafilepath('autonomous_problems.dat'),
1180
+ 'a', 'utf-8') as f:
1181
+ f.write(
1182
+ f'* {self.origin} '
1183
+ f'{{Found more than one link for {page.site}}}')
1184
+ if config.interwiki_graph and config.interwiki_graph_url:
1185
+ filename = interwiki_graph.getFilename(
1186
+ self.origin,
1187
+ extension=config.interwiki_graph_formats[0])
1188
+ f.write(
1189
+ f' [{config.interwiki_graph_url}{filename} graph]')
1190
+ f.write('\n')
1191
+ # FIXME: What errors are we catching here?
1192
+ except Exception:
1193
+ pywikibot.info(
1194
+ 'File autonomous_problems.dat open or corrupted! '
1195
+ 'Try again with -restore.')
1196
+ sys.exit()
1197
+ iw = ()
1198
+
1199
+ for link in iw:
1200
+ linkedPage = pywikibot.Page(link)
1201
+ if self.conf.hintsareright and linkedPage.site in self.hintedsites:
1202
+ pywikibot.info(f'NOTE: {self.origin}: {page} extra interwiki '
1203
+ f'on hinted site ignored {linkedPage}')
1204
+ break
1205
+
1206
+ if not self.skipPage(page, linkedPage, counter) \
1207
+ and (self.conf.followinterwiki or page == self.origin) \
1208
+ and self.addIfNew(linkedPage, counter, page):
1209
+ # It is new. Also verify whether it is the second on the
1210
+ # same site
1211
+ lpsite = linkedPage.site
1212
+ for prevPage in self.found_in:
1213
+ if prevPage != linkedPage and prevPage.site == lpsite:
1214
+ # Still, this could be "no problem" as
1215
+ # either may be a redirect to the other.
1216
+ # No way to find out quickly!
1217
+ pywikibot.info(
1218
+ f'NOTE: {self.origin}: {page} gives duplicate '
1219
+ f'interwiki on same site {linkedPage}'
1220
+ )
1221
+ break
1222
+ else:
1223
+ if config.interwiki_shownew:
1224
+ pywikibot.info(f'{self.origin}: {page} gives new '
1225
+ f'interwiki {linkedPage}')
1226
+ if self.forcedStop:
1227
+ break
1228
+
1229
+ def batchLoaded(self, counter) -> None:
1230
+ """
1231
+ Notify that the promised batch of pages was loaded.
1232
+
1233
+ This is called by a worker to tell us that the promised batch of
1234
+ pages was loaded.
1235
+ In other words, all the pages in self.pending have already
1236
+ been preloaded.
1237
+
1238
+ The only argument is an instance of a counter class, that has methods
1239
+ minus() and plus() to keep counts of the total work todo.
1240
+
1241
+ """
1242
+ # Loop over all the pages that should have been taken care of
1243
+ for page in self.pending:
1244
+ # Mark the page as done
1245
+ self.done.append(page)
1246
+
1247
+ # make sure that none of the linked items is an auto item
1248
+ if self.conf.skipauto:
1249
+ dictName, year = page.autoFormat()
1250
+ if dictName is not None:
1251
+ if self.origin:
1252
+ pywikibot.warning(
1253
+ f'{self.origin.site.code}:{self.origin} relates '
1254
+ f'to {page.site.code}:{page}, which is an auto '
1255
+ f'entry {dictName}({year})')
1256
+
1257
+ # Abort processing if the bot is running in autonomous mode
1258
+ if self.conf.autonomous:
1259
+ self.makeForcedStop(counter)
1260
+
1261
+ # Register this fact at the todo-counter.
1262
+ counter.minus(page.site)
1263
+
1264
+ # Now check whether any interwiki links should be added to the
1265
+ # todo list.
1266
+ self.check_page(page, counter)
1267
+
1268
+ # These pages are no longer 'in progress'
1269
+ self.pending.clear()
1270
+ # Check whether we need hints and the user offered to give them
1271
+ if self.untranslated and not self.hintsAsked:
1272
+ self.reportInterwikilessPage(page)
1273
+ self.askForHints(counter)
1274
+
1275
+ def isDone(self):
1276
+ """Return True if all the work for this subject has completed."""
1277
+ return not self.todo
1278
+
1279
+ def problem(self, txt: str, createneed: bool = True) -> None:
1280
+ """Report a problem with the resolution of this subject."""
1281
+ pywikibot.error(txt)
1282
+ self.confirm = True
1283
+ if createneed:
1284
+ self.problemfound = True
1285
+
1286
+ def whereReport(self, page, indent: int = 4) -> None:
1287
+ """Report found interlanguage links with conflicts."""
1288
+ for page2 in sorted(self.found_in[page]):
1289
+ if page2 is None:
1290
+ pywikibot.info(' ' * indent + 'Given as a hint.')
1291
+ else:
1292
+ pywikibot.info(' ' * indent + str(page2))
1293
+
1294
+ def assemble(self):
1295
+ """Assemble language links."""
1296
+ # No errors have been seen so far, except....
1297
+ errorCount = self.problemfound
1298
+ # Build up a dictionary of all pages found, with the site as key.
1299
+ # Each value will be a list of pages.
1300
+ new = defaultdict(list)
1301
+ for page in self.done:
1302
+ try:
1303
+ ok = page.exists()
1304
+ except InvalidPageError: # T357953
1305
+ continue
1306
+
1307
+ if ok and not page.isRedirectPage() \
1308
+ and not page.isCategoryRedirect():
1309
+ site = page.site
1310
+ if site.family.interwiki_forward:
1311
+ # TODO: allow these cases to be propagated!
1312
+
1313
+ # inhibit the forwarding families pages to be updated.
1314
+ continue
1315
+
1316
+ if site != self.origin.site:
1317
+ new[site].append(page)
1318
+ elif page != self.origin:
1319
+ self.problem(f'Found link to {page}')
1320
+ self.whereReport(page)
1321
+ errorCount += 1
1322
+
1323
+ # See if new{} contains any problematic values
1324
+ for site, pages in new.items():
1325
+ if len(pages) > 1:
1326
+ errorCount += 1
1327
+ self.problem(f'Found more than one link for {site}')
1328
+
1329
+ if not errorCount and not self.conf.select:
1330
+ # no errors, so all lists have only one item
1331
+ return {site: pages[0] for site, pages in new.items()}
1332
+
1333
+ # There are any errors.
1334
+ if config.interwiki_graph:
1335
+ graphDrawer = interwiki_graph.GraphDrawer(self)
1336
+ graphDrawer.createGraph()
1337
+
1338
+ # We don't need to continue with the rest if we're in autonomous
1339
+ # mode.
1340
+ if self.conf.autonomous:
1341
+ return None
1342
+
1343
+ result = {}
1344
+ # First loop over the ones that have more solutions
1345
+ for site, pages in new.items():
1346
+ if len(pages) <= 1:
1347
+ continue
1348
+
1349
+ pywikibot.info('=' * 30)
1350
+ pywikibot.info(f'Links to {site}')
1351
+ for i, page2 in enumerate(pages, 1):
1352
+ pywikibot.info(f' ({i}) Found link to {page2} in:')
1353
+ self.whereReport(page2, indent=8)
1354
+
1355
+ # TODO: allow answer to repeat previous or go back after a mistake
1356
+ answer = pywikibot.input_choice(
1357
+ 'Which variant should be used?',
1358
+ (ListOption(pages),
1359
+ StandardOption('none', 'n'),
1360
+ StandardOption('give up', 'g')))
1361
+ if answer == 'g':
1362
+ return None
1363
+ if answer != 'n':
1364
+ result[site] = answer[1]
1365
+
1366
+ # Loop over the ones that have one solution, so are in principle
1367
+ # not a problem.
1368
+ acceptall = False
1369
+ for site, pages in new.items():
1370
+ if len(pages) != 1:
1371
+ continue
1372
+
1373
+ if not acceptall:
1374
+ pywikibot.info('=' * 30)
1375
+ page2 = pages[0]
1376
+ pywikibot.info(f'Found link to {page2} in:')
1377
+ self.whereReport(page2, indent=4)
1378
+
1379
+ # TODO: allow answer to repeat previous or go back after a mistake
1380
+ answer = 'a' if acceptall else pywikibot.input_choice(
1381
+ 'What should be done?',
1382
+ [('accept', 'a'), ('reject', 'r'), ('give up', 'g'),
1383
+ ('accept all', 'l')], 'a', automatic_quit=False)
1384
+
1385
+ if answer == 'l': # accept all
1386
+ acceptall = True
1387
+ answer = 'a'
1388
+
1389
+ if answer == 'a': # accept this one
1390
+ result[site] = pages[0]
1391
+ elif answer == 'g': # give up
1392
+ return None
1393
+ # else reject if None acceptable
1394
+
1395
+ return result
1396
+
1397
+ def finish(self):
1398
+ """
1399
+ Round up the subject, making any necessary changes.
1400
+
1401
+ This should be called exactly once after the todo list has gone empty.
1402
+
1403
+ """
1404
+ if not self.isDone():
1405
+ raise Exception('Bugcheck: finish called before done')
1406
+
1407
+ if not self.workonme or not self.origin:
1408
+ return
1409
+
1410
+ if self.origin.isRedirectPage() or self.origin.isCategoryRedirect():
1411
+ return
1412
+
1413
+ if not self.untranslated and self.conf.untranslatedonly:
1414
+ return
1415
+
1416
+ if self.forcedStop: # autonomous with problem
1417
+ pywikibot.info(f'======Aborted processing {self.origin}======')
1418
+ return
1419
+
1420
+ self.post_processing()
1421
+
1422
+ def post_processing(self):
1423
+ """Some finishing processes to be done."""
1424
+ pywikibot.info(f'======Post-processing {self.origin}======')
1425
+ # Assemble list of accepted interwiki links
1426
+ new = self.assemble()
1427
+ if new is None: # User said give up
1428
+ pywikibot.info(f'======Aborted processing {self.origin}======')
1429
+ return
1430
+
1431
+ # Make sure new contains every page link, including the page we are
1432
+ # processing
1433
+ # TODO: should be move to assemble()
1434
+ # replaceLinks will skip the site it's working on.
1435
+ # TODO: make this possible as well.
1436
+ if self.origin.site not in new \
1437
+ and not self.origin.site.family.interwiki_forward:
1438
+ new[self.origin.site] = self.origin
1439
+
1440
+ updatedSites = []
1441
+ # Process all languages here
1442
+ self.conf.always = False
1443
+ if self.conf.limittwo:
1444
+ self.process_limit_two(new, updatedSites)
1445
+ else:
1446
+ self.process_unlimited(new, updatedSites)
1447
+
1448
+ # don't report backlinks for pages we already changed
1449
+ if config.interwiki_backlink:
1450
+ self.reportBacklinks(new, updatedSites)
1451
+
1452
+ def process_limit_two(self, new, updated):
1453
+ """Post process limittwo."""
1454
+ lclSite = self.origin.site
1455
+ lclSiteDone = False
1456
+ frgnSiteDone = False
1457
+
1458
+ for code in lclSite.family.codes:
1459
+ site = pywikibot.Site(code, lclSite.family)
1460
+ if not lclSiteDone and site == lclSite \
1461
+ or (not frgnSiteDone and site != lclSite and site in new):
1462
+ if site == lclSite:
1463
+ lclSiteDone = True # even if we fail the update
1464
+ if (site.family.name in config.usernames
1465
+ and site.code in config.usernames[site.family.name]):
1466
+ try:
1467
+ if self.replaceLinks(new[site], new):
1468
+ updated.append(site)
1469
+ if site != lclSite:
1470
+ frgnSiteDone = True
1471
+ except SaveError:
1472
+ pass
1473
+ except GiveUpOnPage:
1474
+ break
1475
+
1476
+ elif (not self.conf.strictlimittwo
1477
+ and site in new and site != lclSite):
1478
+ old = {}
1479
+ try:
1480
+ for link in new[site].iterlanglinks():
1481
+ page = pywikibot.Page(link)
1482
+ old[page.site] = page
1483
+ except NoPageError:
1484
+ pywikibot.error(f'{new[site]} no longer exists?')
1485
+ continue
1486
+ *_, adding, removing, modifying = compareLanguages(
1487
+ old, new, lclSite, self.conf.summary)
1488
+ if (removing and not self.conf.autonomous
1489
+ or modifying and self.problemfound
1490
+ or not old
1491
+ or (self.conf.needlimit
1492
+ and len(adding) + len(modifying)
1493
+ >= self.conf.needlimit + 1)):
1494
+ try:
1495
+ if self.replaceLinks(new[site], new):
1496
+ updated.append(site)
1497
+ except (NoUsernameError, SaveError):
1498
+ pass
1499
+ except GiveUpOnPage:
1500
+ break
1501
+
1502
+ def process_unlimited(self, new, updated):
1503
+ """Post process unlimited."""
1504
+ for (site, page) in new.items():
1505
+ # if we have an account for this site
1506
+ if site.family.name in config.usernames \
1507
+ and site.code in config.usernames[site.family.name] \
1508
+ and not site.has_data_repository:
1509
+ # Try to do the changes
1510
+ try:
1511
+ if self.replaceLinks(page, new):
1512
+ # Page was changed
1513
+ updated.append(site)
1514
+ except SaveError:
1515
+ pass
1516
+ except GiveUpOnPage:
1517
+ break
1518
+
1519
+ def replaceLinks(self, page, newPages) -> bool:
1520
+ """Return True if saving was successful."""
1521
+ # In this case only continue on the Page we started with
1522
+ if self.conf.localonly and page != self.origin:
1523
+ raise SaveError('-localonly and page != origin')
1524
+
1525
+ if page.section():
1526
+ # This is not a page, but a subpage. Do not edit it.
1527
+ pywikibot.info(
1528
+ f'Not editing {page}: not doing interwiki on subpages')
1529
+ raise SaveError('Link has a #section')
1530
+
1531
+ try:
1532
+ pagetext = page.get()
1533
+ except NoPageError:
1534
+ pywikibot.info(f'Not editing {page}: page does not exist')
1535
+ raise SaveError("Page doesn't exist")
1536
+
1537
+ if page_empty_check(page):
1538
+ pywikibot.info(f'Not editing {page}: page is empty')
1539
+ raise SaveError('Page is empty.')
1540
+
1541
+ # clone original newPages dictionary, so that we can modify it to the
1542
+ # local page's needs
1543
+ new = newPages.copy()
1544
+ interwikis = [pywikibot.Page(link) for link in page.iterlanglinks()]
1545
+
1546
+ # remove interwiki links to ignore
1547
+ for iw in re.finditer(r'<!-- *\[\[(.*?:.*?)\]\] *-->', pagetext):
1548
+ with suppress(KeyError,
1549
+ SiteDefinitionError,
1550
+ InvalidTitleError):
1551
+ ignorepage = pywikibot.Page(page.site, iw.groups()[0])
1552
+ if new[ignorepage.site] == ignorepage \
1553
+ and ignorepage.site != page.site:
1554
+ param = {'to': ignorepage, 'from': page}
1555
+ if ignorepage not in interwikis:
1556
+ pywikibot.info('Ignoring link to {to} for {from}'
1557
+ .format_map(param))
1558
+ new.pop(ignorepage.site)
1559
+ else:
1560
+ pywikibot.info(
1561
+ 'NOTE: Not removing interwiki from {from} to '
1562
+ '{to} (exists both commented and non-commented)'
1563
+ .format_map(param))
1564
+
1565
+ # sanity check - the page we are fixing must be the only one for that
1566
+ # site.
1567
+ pltmp = new[page.site]
1568
+ if pltmp != page:
1569
+ pywikibot.error(
1570
+ f'{page} is not in the list of new links! Found {pltmp}.')
1571
+ raise SaveError('BUG: sanity check failed')
1572
+
1573
+ # Avoid adding an iw link back to itself
1574
+ del new[page.site]
1575
+ # Do not add interwiki links to foreign families that page.site() does
1576
+ # not forward to
1577
+ for stmp in new:
1578
+ if stmp.family != page.site.family \
1579
+ and stmp.family.name != page.site.family.interwiki_forward:
1580
+ del new[stmp]
1581
+
1582
+ # Put interwiki links into a map
1583
+ old = {p.site: p for p in interwikis}
1584
+
1585
+ # Check what needs to get done
1586
+ mods, mcomment, adding, removing, modifying = compareLanguages(
1587
+ old, new, page.site, self.conf.summary)
1588
+
1589
+ # When running in autonomous mode without -force switch, make sure we
1590
+ # don't remove any items, but allow addition of the new ones
1591
+ if self.conf.autonomous and not self.conf.force and removing:
1592
+ for rmsite in removing:
1593
+ # Sometimes sites have an erroneous link to itself as an
1594
+ # interwiki
1595
+ if rmsite == page.site:
1596
+ continue
1597
+ rmPage = old[rmsite]
1598
+ # put it to new means don't delete it
1599
+ if (not self.conf.cleanup
1600
+ or str(rmPage) not in self.conf.remove):
1601
+ new[rmsite] = rmPage
1602
+ pywikibot.warning(
1603
+ f'{rmPage} is either deleted or has a mismatching '
1604
+ 'disambiguation state.')
1605
+ # Re-Check what needs to get done
1606
+ mods, mcomment, adding, removing, modifying = compareLanguages(
1607
+ old, new, page.site, self.conf.summary)
1608
+ if not mods:
1609
+ self.conf.note(f'No changes needed on page {page}')
1610
+ return False
1611
+
1612
+ pywikibot.info(f'<<lightpurple>>Updating links on page {page}.')
1613
+ pywikibot.info(f'Changes to be made: {mods}')
1614
+ oldtext = page.get()
1615
+ template = page.namespace() == 10
1616
+ newtext = textlib.replaceLanguageLinks(oldtext, new,
1617
+ site=page.site,
1618
+ template=template)
1619
+ # This is for now. Later there should be different funktions for each
1620
+ # kind
1621
+ if not botMayEdit(page):
1622
+ pywikibot.info(f'SKIPPING: {page} ', newline=False)
1623
+ if template:
1624
+ msg = 'should have interwiki links on subpage.'
1625
+ else:
1626
+ msg = 'is under construction or to be deleted.'
1627
+ pywikibot.info(msg)
1628
+ return False
1629
+
1630
+ if newtext == oldtext:
1631
+ return False
1632
+
1633
+ pywikibot.showDiff(oldtext, newtext)
1634
+
1635
+ # Determine whether we need permission to submit
1636
+ ask = False
1637
+
1638
+ # Allow for special case of a self-pointing interwiki link
1639
+ if removing and removing != [page.site]:
1640
+ self.problem('Found incorrect link to {} in {}'
1641
+ .format(', '.join(x.code for x in removing), page),
1642
+ createneed=False)
1643
+ ask = True
1644
+ if self.conf.force or self.conf.cleanup:
1645
+ ask = False
1646
+ if self.conf.confirm and not self.conf.always:
1647
+ ask = True
1648
+
1649
+ if not ask:
1650
+ # If we do not need to ask, allow
1651
+ answer = 'y'
1652
+ elif self.conf.autonomous:
1653
+ # If we cannot ask, deny permission
1654
+ answer = 'n'
1655
+ else: # If we need to ask, do so
1656
+ answer = pywikibot.input_choice('Submit?',
1657
+ [('Yes', 'y'), ('No', 'n'),
1658
+ ('open in Browser', 'b'),
1659
+ ('Give up', 'g'),
1660
+ ('Always', 'a')],
1661
+ automatic_quit=False)
1662
+ if answer == 'b':
1663
+ pywikibot.bot.open_webbrowser(page)
1664
+ return True
1665
+ if answer == 'a':
1666
+ # don't ask for the rest of this subject
1667
+ self.conf.always = True
1668
+ answer = 'y'
1669
+
1670
+ if answer == 'g':
1671
+ raise GiveUpOnPage('User asked us to give up')
1672
+
1673
+ # If we got permission to submit, do so
1674
+ if answer != 'y':
1675
+ raise LinkMustBeRemoved(
1676
+ 'Found incorrect link to {} in {}'
1677
+ .format(', '.join(x.code for x in removing), page))
1678
+
1679
+ self.conf.note('Updating live wiki...')
1680
+ timeout = 60
1681
+ page.text = newtext
1682
+ while True:
1683
+ try:
1684
+ page.save(summary=mcomment,
1685
+ asynchronous=self.conf.asynchronous,
1686
+ nocreate=True)
1687
+ except NoCreateError as e:
1688
+ pywikibot.error(e)
1689
+ return False
1690
+ except LockedPageError:
1691
+ pywikibot.info(f'Page {page} is locked. Skipping.')
1692
+ raise SaveError('Locked')
1693
+ except EditConflictError:
1694
+ pywikibot.info(
1695
+ 'ERROR putting page: An edit conflict occurred. '
1696
+ 'Giving up.')
1697
+ raise SaveError('Edit conflict')
1698
+ except SpamblacklistError as error:
1699
+ pywikibot.info(f'ERROR putting page: {error.url} blacklisted '
1700
+ f'by spamfilter. Giving up.')
1701
+ raise SaveError('Spam filter')
1702
+ except PageSaveRelatedError as error:
1703
+ pywikibot.info(f'ERROR putting page: {error.args}')
1704
+ raise SaveError('PageSaveRelatedError')
1705
+ except OSError as error:
1706
+ if timeout > 3600:
1707
+ raise
1708
+ pywikibot.info(f'ERROR putting page: {error.args}')
1709
+ pywikibot.info(
1710
+ f'Sleeping {timeout} seconds before trying again.')
1711
+ timeout *= 2
1712
+ pywikibot.sleep(timeout)
1713
+ except ServerError:
1714
+ if timeout > 3600:
1715
+ raise
1716
+ pywikibot.info('ERROR putting page: ServerError.')
1717
+ pywikibot.info(
1718
+ f'Sleeping {timeout} seconds before trying again.')
1719
+ timeout *= 2
1720
+ pywikibot.sleep(timeout)
1721
+ else:
1722
+ break
1723
+ return True
1724
+
1725
+ @staticmethod
1726
+ def reportBacklinks(new, updatedSites) -> None:
1727
+ """
1728
+ Report missing back links. This will be called from finish() if needed.
1729
+
1730
+ updatedSites is a list that contains all sites we changed, to avoid
1731
+ reporting of missing backlinks for pages we already fixed
1732
+
1733
+ """
1734
+ # use sets because searching an element is faster than in lists
1735
+ expectedPages = set(new.values())
1736
+ expectedSites = set(new)
1737
+
1738
+ for site in expectedSites - set(updatedSites):
1739
+ page = new[site]
1740
+ if page.section():
1741
+ continue
1742
+
1743
+ try:
1744
+ linkedPages = {pywikibot.Page(link)
1745
+ for link in page.iterlanglinks()}
1746
+ except NoPageError:
1747
+ pywikibot.warning(f'Page {page} does no longer exist?!')
1748
+ break
1749
+
1750
+ # To speed things up, create a dictionary which maps sites
1751
+ # to pages. This assumes that there is only one interwiki
1752
+ # link per language.
1753
+ linkedPagesDict = {p.site: p for p in linkedPages}
1754
+ for expectedPage in expectedPages - linkedPages:
1755
+ if expectedPage == page:
1756
+ continue
1757
+ try:
1758
+ linkedPage = linkedPagesDict[expectedPage.site]
1759
+ pywikibot.warning(
1760
+ f'{page.site.family.name}: {page} does not link to '
1761
+ f'{expectedPage} but to {linkedPage}'
1762
+ )
1763
+ except KeyError:
1764
+ if not expectedPage.site.is_data_repository():
1765
+ pywikibot.warning(
1766
+ f'{page.site.family.name}: {page} does not link '
1767
+ f'to {expectedPage}'
1768
+ )
1769
+ # Check for superfluous links
1770
+ for linkedPage in linkedPages:
1771
+ if linkedPage in expectedPages:
1772
+ continue
1773
+ # Check whether there is an alternative page on
1774
+ # that language.
1775
+ # In this case, it was already reported above.
1776
+ if linkedPage.site not in expectedSites:
1777
+ pywikibot.warning(f'{page.site.family.name}: {page} links '
1778
+ f'to incorrect {linkedPage}')
1779
+
1780
+
1781
+ class InterwikiBot:
1782
+
1783
+ """
1784
+ A class keeping track of a list of subjects.
1785
+
1786
+ It controls which pages are queried from which languages when.
1787
+ """
1788
+
1789
+ def __init__(self, conf=None) -> None:
1790
+ """Initializer."""
1791
+ self.subjects = []
1792
+ # We count how many pages still need to be loaded per site.
1793
+ # This allows us to find out from which site to retrieve pages next
1794
+ # in a way that saves bandwidth.
1795
+ # sites are keys, integers are values.
1796
+ # Modify this only via plus() and minus()!
1797
+ self.counts = Counter()
1798
+ self.pageGenerator = None
1799
+ self.generated = 0
1800
+ self.conf = conf
1801
+ self.site = pywikibot.Site()
1802
+
1803
+ def add(self, page, hints=None) -> None:
1804
+ """Add a single subject to the list."""
1805
+ subj = Subject(page, hints=hints, conf=self.conf)
1806
+ self.subjects.append(subj)
1807
+ for site, count in subj.openSites():
1808
+ # Keep correct counters
1809
+ self.plus(site, count)
1810
+
1811
+ def setPageGenerator(self, pageGenerator, number=None, until=None) -> None:
1812
+ """
1813
+ Add a generator of subjects.
1814
+
1815
+ Once the list of subjects gets too small,
1816
+ this generator is called to produce more Pages.
1817
+ """
1818
+ self.pageGenerator = pageGenerator
1819
+ self.generateNumber = number
1820
+ self.generateUntil = until
1821
+
1822
+ @property
1823
+ def dump_titles(self) -> Iterable[str]:
1824
+ """Return generator of titles for dump file."""
1825
+ return (s.origin.title(as_link=True) for s in self.subjects)
1826
+
1827
+ def generateMore(self, number) -> None:
1828
+ """Generate more subjects.
1829
+
1830
+ This is called internally when the
1831
+ list of subjects becomes too small, but only if there is a
1832
+ PageGenerator
1833
+ """
1834
+ fs = self.firstSubject()
1835
+ if fs:
1836
+ self.conf.note(f'The first unfinished subject is {fs.origin}')
1837
+ pywikibot.info('NOTE: Number of pages queued is '
1838
+ f'{len(self.subjects)}, trying to add {number} more.')
1839
+ for _ in range(number):
1840
+ for page in self.pageGenerator:
1841
+ if page in self.conf.skip:
1842
+ pywikibot.info(f'Skipping: {page} is in the skip list')
1843
+ continue
1844
+ if self.conf.skipauto:
1845
+ dictName, year = page.autoFormat()
1846
+ if dictName is not None:
1847
+ pywikibot.info(f'Skipping: {page} is an auto entry '
1848
+ f'{dictName}({year})')
1849
+ continue
1850
+ # Only yield pages that have ( ) in titles
1851
+ if self.conf.parenthesesonly and '(' not in page.title():
1852
+ continue
1853
+ if page.isTalkPage():
1854
+ pywikibot.info(f'Skipping: {page} is a talk page')
1855
+ continue
1856
+ if page.namespace() == 10:
1857
+ loc = None
1858
+ with suppress(KeyError):
1859
+ tmpl, loc = moved_links[page.site.code]
1860
+ del tmpl
1861
+ if loc is not None and loc in page.title():
1862
+ pywikibot.info(
1863
+ f'Skipping: {page.title()} is a templates subpage')
1864
+ continue
1865
+ break
1866
+ else: # generator stopped
1867
+ break
1868
+
1869
+ if self.generateUntil:
1870
+ until = self.generateUntil
1871
+ page_namespace = (
1872
+ page.site.namespaces[int(page.namespace())])
1873
+ if page_namespace.case == 'first-letter':
1874
+ until = first_upper(until)
1875
+ if page.title(with_ns=False) > until:
1876
+ break
1877
+
1878
+ self.add(page, hints=self.conf.hints)
1879
+ self.generated += 1
1880
+ if self.generateNumber and self.generated >= self.generateNumber:
1881
+ break
1882
+ else:
1883
+ return
1884
+ # for loop was exited by break statement
1885
+ self.pageGenerator = None
1886
+
1887
+ def firstSubject(self) -> Subject | None:
1888
+ """Return the first subject that is still being worked on."""
1889
+ return self.subjects[0] if self.subjects else None
1890
+
1891
+ def maxOpenSite(self):
1892
+ """
1893
+ Return the site that has the most open queries plus the number.
1894
+
1895
+ If there is nothing left, return None.
1896
+ Only sites that are todo for the first Subject are returned.
1897
+ """
1898
+ if not self.firstSubject():
1899
+ return None
1900
+
1901
+ oc = dict(self.firstSubject().openSites())
1902
+ if not oc:
1903
+ # The first subject is done. This might be a recursive call made
1904
+ # because we have to wait before submitting another modification to
1905
+ # go live. Select any language from counts.
1906
+ oc = self.counts
1907
+
1908
+ if self.site in oc:
1909
+ return self.site
1910
+
1911
+ for site, _ in self.counts.most_common():
1912
+ if site in oc:
1913
+ return site
1914
+ return None
1915
+
1916
+ def selectQuerySite(self):
1917
+ """Select the site the next query should go out for."""
1918
+ # How many home-language queries we still have?
1919
+ mycount = self.counts[self.site]
1920
+ # Do we still have enough subjects to work on for which the
1921
+ # home language has been retrieved? This is rough, because
1922
+ # some subjects may need to retrieve a second home-language page!
1923
+ if len(self.subjects) - mycount < self.conf.minsubjects:
1924
+ # Can we make more home-language queries by adding subjects?
1925
+ if self.pageGenerator and mycount < self.conf.maxquerysize:
1926
+ timeout = 60
1927
+ while timeout < 3600:
1928
+ try:
1929
+ self.generateMore(self.conf.maxquerysize - mycount)
1930
+ except ServerError:
1931
+ # Could not extract allpages special page?
1932
+ pywikibot.error('could not retrieve more pages. '
1933
+ f'Will try again in {timeout} seconds'
1934
+ )
1935
+ pywikibot.sleep(timeout)
1936
+ timeout *= 2
1937
+ else:
1938
+ break
1939
+ # If we have a few, getting the home language is a good thing.
1940
+ if not self.conf.restore_all and self.counts[self.site] > 4:
1941
+ return self.site
1942
+ # If getting the home language doesn't make sense, see how many
1943
+ # foreign page queries we can find.
1944
+ return self.maxOpenSite()
1945
+
1946
+ def oneQuery(self) -> bool:
1947
+ """
1948
+ Perform one step in the solution process.
1949
+
1950
+ Returns True if pages could be preloaded, or false
1951
+ otherwise.
1952
+ """
1953
+ # First find the best language to work on
1954
+ site = self.selectQuerySite()
1955
+ if site is None:
1956
+ pywikibot.info('NOTE: Nothing left to do')
1957
+ return False
1958
+ # Now assemble a reasonable list of pages to get
1959
+ subjectGroup = []
1960
+ pageGroup = []
1961
+ for subject in self.subjects:
1962
+ # Promise the subject that we will work on the site.
1963
+ # We will get a list of pages we can do.
1964
+ pages = subject.whatsNextPageBatch(site)
1965
+ if pages:
1966
+ pageGroup.extend(pages)
1967
+ subjectGroup.append(subject)
1968
+ if len(pageGroup) >= self.conf.maxquerysize:
1969
+ # We have found enough pages to fill the bandwidth.
1970
+ break
1971
+
1972
+ if not pageGroup:
1973
+ pywikibot.info('NOTE: Nothing left to do 2')
1974
+ return False
1975
+
1976
+ # Get the content of the assembled list in one blow
1977
+ gen = site.preloadpages(pageGroup, templates=True, langlinks=True,
1978
+ pageprops=True, quiet=False)
1979
+ while True:
1980
+ # we don't want to do anything with them now.
1981
+ # The page contents will be read via the Subject class.
1982
+ try:
1983
+ next(gen)
1984
+ except StopIteration:
1985
+ break
1986
+ except InvalidTitleError: # T357953
1987
+ pass
1988
+
1989
+ # Tell all of the subjects that the promised work is done
1990
+ for subject in subjectGroup:
1991
+ subject.batchLoaded(self)
1992
+ return True
1993
+
1994
+ def queryStep(self) -> None:
1995
+ """Delete the ones that are done now."""
1996
+ self.oneQuery()
1997
+ for i in range(len(self.subjects) - 1, -1, -1):
1998
+ subj = self.subjects[i]
1999
+ if subj.isDone():
2000
+ subj.finish()
2001
+ del self.subjects[i]
2002
+
2003
+ def isDone(self) -> bool:
2004
+ """Check whether there is still more work to do."""
2005
+ return not self.subjects and self.pageGenerator is None
2006
+
2007
+ def plus(self, site, count: int = 1) -> None:
2008
+ """Helper routine that the Subject class expects in a counter."""
2009
+ self.counts[site] += count
2010
+
2011
+ def minus(self, site, count: int = 1) -> None:
2012
+ """Helper routine that the Subject class expects in a counter."""
2013
+ self.counts[site] -= count
2014
+ self.counts = +self.counts # remove zero and negative counts
2015
+
2016
+ def run(self) -> None:
2017
+ """Start the process until finished."""
2018
+ while not self.isDone():
2019
+ self.queryStep()
2020
+
2021
+
2022
+ def compareLanguages(old, new, insite, summary):
2023
+ """Compare changes and setup i18n message."""
2024
+ oldiw = set(old)
2025
+ newiw = set(new)
2026
+
2027
+ # sort by language code
2028
+ adding = sorted(newiw - oldiw)
2029
+ removing = sorted(oldiw - newiw)
2030
+ modifying = sorted(site for site in oldiw & newiw
2031
+ if old[site] != new[site])
2032
+
2033
+ if not summary and len(adding) + len(removing) + len(modifying) <= 3:
2034
+ # Use an extended format for the string linking to all added pages.
2035
+
2036
+ def fmt(d, site):
2037
+ return str(d[site])
2038
+ else:
2039
+ # Use short format, just the language code
2040
+ def fmt(d, site):
2041
+ return site.code
2042
+
2043
+ mods = mcomment = ''
2044
+
2045
+ commentname = 'interwiki'
2046
+ if adding:
2047
+ commentname += '-adding'
2048
+ if removing:
2049
+ commentname += '-removing'
2050
+ if modifying:
2051
+ commentname += '-modifying'
2052
+ if commentname == 'interwiki-modifying' and len(modifying) == 1:
2053
+ useFrom = True
2054
+ commentname += '-from'
2055
+ else:
2056
+ useFrom = False
2057
+
2058
+ if adding or removing or modifying:
2059
+ mcomment += summary
2060
+ comma = insite.mediawiki_message('comma-separator')
2061
+
2062
+ changes = {'adding': comma.join(fmt(new, x) for x in adding),
2063
+ 'removing': comma.join(fmt(old, x) for x in removing),
2064
+ 'modifying': comma.join(fmt(new, x) for x in modifying),
2065
+ 'from': '' if not useFrom else old[modifying[0]]}
2066
+ en_changes = {'adding': ', '.join(fmt(new, x) for x in adding),
2067
+ 'removing': ', '.join(fmt(old, x) for x in removing),
2068
+ 'modifying': ', '.join(fmt(new, x) for x in modifying),
2069
+ 'from': '' if not useFrom else old[modifying[0]]}
2070
+
2071
+ mcomment += i18n.twtranslate(insite, commentname, changes)
2072
+ mods = i18n.twtranslate('en', commentname, en_changes)
2073
+
2074
+ return mods, mcomment, adding, removing, modifying
2075
+
2076
+
2077
+ def botMayEdit(page) -> bool:
2078
+ """Test for allowed edits."""
2079
+ tmpl = []
2080
+ with suppress(KeyError):
2081
+ tmpl, _ = moved_links[page.site.code]
2082
+
2083
+ if not isinstance(tmpl, list):
2084
+ tmpl = [tmpl]
2085
+
2086
+ with suppress(KeyError):
2087
+ tmpl += ignoreTemplates[page.site.code]
2088
+
2089
+ tmpl += ignoreTemplates['_default']
2090
+ if tmpl != []:
2091
+ templates = page.templatesWithParams()
2092
+ for template in templates:
2093
+ if template[0].title(with_ns=False).lower() in tmpl:
2094
+ return False
2095
+ return True
2096
+
2097
+
2098
+ def page_empty_check(page) -> bool:
2099
+ """
2100
+ Return True if page should be skipped as it is almost empty.
2101
+
2102
+ Pages in content namespaces are considered empty if they contain less than
2103
+ 50 characters, and other pages are considered empty if they are not
2104
+ category pages and contain less than 4 characters excluding interlanguage
2105
+ links and categories.
2106
+ """
2107
+ txt = page.text
2108
+ # Check if the page is in content namespace
2109
+ if page.namespace().content:
2110
+ # Check if the page contains at least 50 characters
2111
+ return len(txt) < 50
2112
+
2113
+ if not page.is_categorypage():
2114
+ txt = textlib.removeLanguageLinks(txt, site=page.site)
2115
+ txt = textlib.removeCategoryLinks(txt, site=page.site)
2116
+ return len(txt) < 4
2117
+
2118
+ return False
2119
+
2120
+
2121
+ class InterwikiDumps(OptionHandler):
2122
+
2123
+ """Handle interwiki dumps."""
2124
+
2125
+ available_options = {
2126
+ 'do_continue': False,
2127
+ 'restore_all': False
2128
+ }
2129
+
2130
+ FILE_PATTERN = '{site.family.name}-{site.code}.txt'
2131
+
2132
+ def __init__(self, **kwargs) -> None:
2133
+ """Initializer.
2134
+
2135
+ :keyword do_continue: If true, continue alphabetically starting at the
2136
+ last of the dumped pages.
2137
+ """
2138
+ try:
2139
+ self.site = kwargs.pop('site')
2140
+ except KeyError: # T335720
2141
+ self.site = pywikibot.Site()
2142
+ super().__init__(**kwargs)
2143
+
2144
+ self.restored_files = set()
2145
+ self._next_page = '!'
2146
+ self._next_namespace = 0
2147
+ self.path = pywikibot.config.datafilepath('data', 'interwiki-dumps')
2148
+
2149
+ @property
2150
+ def next_page(self):
2151
+ """Return next page title string for continue option."""
2152
+ if self._next_page == '!':
2153
+ pywikibot.info('Dump file is empty! Starting at the beginning.')
2154
+ return self._next_page
2155
+
2156
+ @property
2157
+ def next_namespace(self):
2158
+ """Return next page namespace for continue option."""
2159
+ return self._next_namespace
2160
+
2161
+ def remove(self, filename: str) -> None:
2162
+ """Remove filename from restored files.
2163
+
2164
+ :param filename: A filename to be removed from restored set.
2165
+ """
2166
+ with suppress(KeyError):
2167
+ self.restored_files.remove(filename)
2168
+
2169
+ def get_files(self):
2170
+ """Get dump files from directory."""
2171
+ pattern = r'(?P<file>(?P<fam>[a-z]+)-(?P<code>[a-z]+)\.txt)'
2172
+ for filename in os.listdir(self.path):
2173
+ found = re.fullmatch(pattern, filename)
2174
+ if found:
2175
+ yield (found['file'],
2176
+ pywikibot.Site(found['code'], found['fam']))
2177
+
2178
+ @property
2179
+ def files(self):
2180
+ """Return file generator depending on restore_all option.
2181
+
2182
+ rtype: generator
2183
+ """
2184
+ if self.opt.restore_all:
2185
+ return self.get_files()
2186
+ return iter([(self.FILE_PATTERN.format(site=self.site), self.site)])
2187
+
2188
+ def read_dump(self):
2189
+ """Read the dump file.
2190
+
2191
+ :rtype: generator
2192
+ """
2193
+ for tail, site in self.files:
2194
+ filename = os.path.join(self.path, tail)
2195
+
2196
+ if not os.path.exists(filename):
2197
+ pywikibot.info(tail + ' does not exist.')
2198
+ continue
2199
+
2200
+ pywikibot.info('Retrieving pages from dump file ' + tail)
2201
+ for page in pagegenerators.TextIOPageGenerator(filename, site):
2202
+ if site == self.site:
2203
+ self._next_page = page.title(with_ns=False) + '!'
2204
+ self._next_namespace = page.namespace()
2205
+ yield page
2206
+
2207
+ self.restored_files.add(filename)
2208
+
2209
+ if self.opt.do_continue:
2210
+ yield from self.site.allpages(start=self.next_page,
2211
+ namespace=self.next_namespace,
2212
+ filterredir=False)
2213
+
2214
+ def write_dump(self, iterable: Iterable, append: bool = True) -> None:
2215
+ """Write dump file.
2216
+
2217
+ :param iterable: an iterable of page titles to be dumped.
2218
+ :param append: if a dump already exits, append the page titles to it
2219
+ if True else overwrite it.
2220
+ """
2221
+ filename = os.path.join(self.path,
2222
+ self.FILE_PATTERN.format(site=self.site))
2223
+ mode = 'appended' if append else 'written'
2224
+ with codecs.open(filename, mode[0], 'utf-8') as f:
2225
+ f.write('\r\n'.join(iterable))
2226
+ f.write('\r\n')
2227
+ pywikibot.info(
2228
+ f'Dump {self.site.code} ({self.site.family.name}) {mode}.')
2229
+ self.remove(filename)
2230
+
2231
+ def delete_dumps(self) -> None:
2232
+ """Delete processed dumps."""
2233
+ for filename in self.restored_files:
2234
+ tail = os.path.split(filename)[-1]
2235
+ try:
2236
+ os.remove(filename)
2237
+ except OSError as e:
2238
+ pywikibot.error(
2239
+ f'Cannot delete {tail} due to\n{e}\nDo it manually.')
2240
+ else:
2241
+ pywikibot.info(f'Dumpfile {tail} deleted')
2242
+
2243
+
2244
+ def main(*args: str) -> None:
2245
+ """Process command line arguments and invoke bot.
2246
+
2247
+ If args is an empty list, sys.argv is used.
2248
+
2249
+ :param args: command line arguments
2250
+ """
2251
+ singlePageTitle = ''
2252
+ opthintsonly = False
2253
+ # Which namespaces should be processed?
2254
+ # default to [] which means all namespaces will be processed
2255
+ namespaces = []
2256
+ number = None
2257
+ until = None
2258
+ # a normal PageGenerator (which doesn't give hints, only Pages)
2259
+ hintlessPageGen = None
2260
+ optContinue = False
2261
+ optRestore = False
2262
+ append = True
2263
+ newPages = None
2264
+ unknown = []
2265
+
2266
+ # Process global args and prepare generator args parser
2267
+ local_args = pywikibot.handle_args(args)
2268
+ genFactory = pagegenerators.GeneratorFactory()
2269
+
2270
+ iwconf = InterwikiBotConfig()
2271
+ for arg in local_args:
2272
+ if iwconf.readOptions(arg):
2273
+ continue
2274
+
2275
+ if arg.startswith('-years'):
2276
+ # Look if user gave a specific year at which to start
2277
+ # Must be a natural number or negative integer.
2278
+ if len(arg) > 7 and (arg[7:].isdigit()
2279
+ or (arg[7] == '-' and arg[8:].isdigit())):
2280
+ startyear = int(arg[7:])
2281
+ else:
2282
+ startyear = 1
2283
+ # avoid problems where year pages link to centuries etc.
2284
+ iwconf.followredirect = False
2285
+ hintlessPageGen = pagegenerators.YearPageGenerator(startyear)
2286
+ elif arg.startswith('-days'):
2287
+ if len(arg) > 6 and arg[5] == ':' and arg[6:].isdigit():
2288
+ # Looks as if the user gave a specific month at which to start
2289
+ # Must be a natural number.
2290
+ startMonth = int(arg[6:])
2291
+ else:
2292
+ startMonth = 1
2293
+ hintlessPageGen = pagegenerators.DayPageGenerator(startMonth)
2294
+ elif arg.startswith('-new'):
2295
+ if len(arg) > 5 and arg[4] == ':' and arg[5:].isdigit():
2296
+ # Looks as if the user gave a specific number of pages
2297
+ newPages = int(arg[5:])
2298
+ else:
2299
+ newPages = 100
2300
+ elif arg.startswith('-restore'):
2301
+ iwconf.restore_all = arg[9:].lower() == 'all'
2302
+ optRestore = not iwconf.restore_all
2303
+ elif arg == '-continue':
2304
+ optContinue = True
2305
+ elif arg == '-hintsonly':
2306
+ opthintsonly = True
2307
+ elif arg.startswith('-namespace:'):
2308
+ try:
2309
+ namespaces.append(int(arg[11:]))
2310
+ except ValueError:
2311
+ namespaces.append(arg[11:])
2312
+ elif arg.startswith('-number:'):
2313
+ number = int(arg[8:])
2314
+ elif arg.startswith('-until:'):
2315
+ until = arg[7:]
2316
+ elif not genFactory.handle_arg(arg):
2317
+ if not (arg.startswith('-') or singlePageTitle):
2318
+ singlePageTitle = arg
2319
+ else:
2320
+ unknown.append(arg)
2321
+
2322
+ if suggest_help(unknown_parameters=unknown):
2323
+ return
2324
+
2325
+ # Do not use additional summary with autonomous mode
2326
+ if iwconf.autonomous:
2327
+ iwconf.summary = ''
2328
+ elif iwconf.summary:
2329
+ iwconf.summary += '; '
2330
+
2331
+ site = pywikibot.Site()
2332
+ # ensure that we don't try to change main page
2333
+ mainpagename = site.siteinfo['mainpage']
2334
+ iwconf.skip.add(pywikibot.Page(site, mainpagename))
2335
+
2336
+ dump = InterwikiDumps(site=site, do_continue=optContinue,
2337
+ restore_all=iwconf.restore_all)
2338
+
2339
+ if newPages is not None:
2340
+ if not namespaces:
2341
+ ns = 0
2342
+ elif len(namespaces) == 1:
2343
+ ns = namespaces[0]
2344
+ if isinstance(ns, str) and ns != 'all':
2345
+ index = site.namespaces.lookup_name(ns)
2346
+ if index is None:
2347
+ raise ValueError('Unknown namespace: ' + ns)
2348
+ ns = index.id
2349
+ namespaces = []
2350
+ else:
2351
+ ns = 'all'
2352
+ hintlessPageGen = pagegenerators.NewpagesPageGenerator(total=newPages,
2353
+ namespaces=ns)
2354
+
2355
+ elif optRestore or optContinue or iwconf.restore_all:
2356
+ hintlessPageGen = dump.read_dump()
2357
+
2358
+ bot = InterwikiBot(iwconf)
2359
+
2360
+ if not hintlessPageGen:
2361
+ hintlessPageGen = genFactory.getCombinedGenerator()
2362
+ if hintlessPageGen:
2363
+ if len(namespaces) > 0:
2364
+ hintlessPageGen = pagegenerators.NamespaceFilterPageGenerator(
2365
+ hintlessPageGen, namespaces, site)
2366
+ # we'll use iter() to create make a next() function available.
2367
+ bot.setPageGenerator(iter(hintlessPageGen), number=number, until=until)
2368
+ else:
2369
+ if not singlePageTitle and not opthintsonly:
2370
+ singlePageTitle = pywikibot.input('Which page to check:')
2371
+ if singlePageTitle:
2372
+ singlePage = pywikibot.Page(pywikibot.Site(), singlePageTitle)
2373
+ else:
2374
+ singlePage = None
2375
+ bot.add(singlePage, hints=iwconf.hints)
2376
+
2377
+ append = not (optRestore or optContinue or iwconf.restore_all)
2378
+ try:
2379
+ bot.run()
2380
+ except KeyboardInterrupt:
2381
+ dump.write_dump(bot.dump_titles, append)
2382
+ except Exception: # pragma: no cover
2383
+ pywikibot.exception()
2384
+ dump.write_dump(bot.dump_titles, append)
2385
+ else:
2386
+ pywikibot.info('Script terminated sucessfully.')
2387
+ finally:
2388
+ dump.delete_dumps()
2389
+
2390
+
2391
+ if __name__ == '__main__':
2392
+ main()