jupyterlab-contrib / spellchecker

Spellchecker for JupyterLab notebook markdown cells and file editor.
BSD 3-Clause "New" or "Revised" License
205 stars 20 forks source link

Add British, Canadian, and Australian English #23

Closed krassowski closed 4 years ago

krassowski commented 4 years ago

Closes #17. Notes:

languages-opt

krassowski commented 4 years ago

I think that we could use tokens so that each language is an "extension" of its own. This would allow to easily install extra dictionaries from the extension manager. For example, to install Spanish language, one would do jupyter labextension install jupyterlab-dictionary-spanish or install it from the GUI.

jangenoe commented 4 years ago

I like the approach that dictionaries are only downloaded once (to enable working offline), preferably with an update on request. I would however not make a different extension for every language, as you seem to suggest. I would implement in a settings file

The settlings file would comprise predefined "https://www.jsdelivr.com/" and "en_US" but any user would be able to add the languages as he prefers, when available in a repository.

krassowski commented 4 years ago

This is important feedback! Are you aware of such a repository?

I see that what you suggest may seem more natural (this was my initial idea), but:

Thus I believe that utilising the existing mechanism of extensions is the way forward as:

krassowski commented 4 years ago

Also, language pack as a package/extension seems a common and established practice, e.g. in Firefox, Debian/Ubuntu and many others. Granted sometimes it comes with a user interface concealing this implementation detail - and this is something that I would say may be worth considering - it should be easy to instruct the extension manager to install new dictionary extension.

jangenoe commented 4 years ago

I was more considering the approach as described here for the notebooks.

But I agree that one extension for every language would be more straightforward for the users and could enable more dedicated maintenance for each individual language.