Wikipedia communities in some languages developed automatic or semi-automatic tools to improve the quality of language or typography. Some examples are:
# The [Wikificator](https://ru.wikipedia.org/wiki/MediaWiki:Wikificator.js) tool in the Russian Wikipedia (similar tools exist in Ukrainian, Belarusian and possibly other Wikipedias)
# The [Checkty](https://he.wikipedia.org/wiki/MediaWiki:Gadget-Checkty.js) gadget in the Hebrew Wikipedia, a semi-automatic script for fixing common grammar mistakes, as well as another list of automatic replacements usually performed by a bot.
# The [orthography converter](https://he.wikipedia.org/wiki/MediaWiki:Gadget-nt.js) in the Belarusian-Taraškievica Wikipedia.
# [Extra edit buttons](https://fa.wikipedia.org/wiki/MediaWiki:Gadget-Extra-Editbuttons.js) in the Persian Wikipedia.
# ... and many other tools in other languages.
These tools are written as bots, gadgets or user scripts, and each project implements them in a different internal framework and with a different UI. It would be useful to unify at least some of these tools into a single internal framework - for example (but not necessarily) to store the replacement rules as a uniform JSON data structure rather than disparate JavaScript variables. Using external open source software, such as [LanguageTool](https://languagetool.org/), is acceptable as well, as long as the functionality that the different language communities are using is preserved. Finally, this framework should have a single interface that would be usable with both the wiki syntax source editor and the VisualEditor.
We have decided to try and integrate LanguageTool with VisualEditor. In my original proposal (T93752) I have provided a couple of mockups that detail upon what I envision the final product to look like. I also discuss the probable architecture but that will be modified as I learn more so I am not going to include it here.
Listing out the tasks as I finalize them :-
1. Get a Labs instance and setup a LanguageTool HTTP server successfully.
- Skills: JavaScript, regular expressions, data abstraction. Knowledge of the (human) languages in question is not required, but can be helpful.
- Suggested micro-task: Fix a bug related to a VisualEditor toolbar button.
- Primary mentor: Amir E. Aharoni (@Amire80)
- Co-mentor: @eranroz