Nylas-mail: Spellchecker: Investigate checking in all available languages - Resolve inconsistencies

Created on 21 Feb 2016  Â·  29Comments  Â·  Source: nylas/nylas-mail

There are many, many complaints about spell checking in N1. It currently spell checks in the currently selected system language on Mac OS X and Windows 8+, and only in English on Linux. There's not much we can do about Linux because we have to ship dictionaries ourselves.

However, on Mac OS X and Windows the spellchecker API is very fast and available in many languages. Rather than pick one, we should try to instantiate many spellcheckers and spellcheck in all languages all the time. I believe this is what Slack is doing, and would address #1388 #1046 #1011 #670

enhancement-request needs-attention

Most helpful comment

Hi a I have the same problem on Linux. N1 can't detect Czech language (i write messages largely in czech), but if you used the same solution as Slack, then is your implementation bad. I love N1, but without spell checking in 2017 it's very problematic to use it.

I believe that you can fix it and we all can use N1 with love.

All 29 comments

Appreciate the fact your investigating the issue as far as #1388 w/ MAC OS. Again it works briefly then Nylas will no longer underline the misspelled word. Appears though if I choose a misspelled word it will provide me with the correct version. Just can't have that with my emails being mostly for business. Fix this, and' I'll be back on board!

Slack Native is an Electron application and uses node-spellchecker as I noticed the node-spellchecker.node file in its app.asar.unpacked directory.

The following are details about Linux usage of Slack Native, but this should not differ from Windows or OS X because Slack Native uses electron.app.getPath('userData'), which evaluates to /home/mbilker/.config/Slack. This is where Chromium stores its content like Cache Cookies Cookies-journal 'DevTools Extensions' GPUCache IndexedDB 'Local Storage' Preferences.

Slack Native stores its dictionaries in ~/.config/Slack/dictionaries and by default contains en_US.aff en_US.dic. From its binary it checks the standard Linux locations for Hunspell: /usr/share/hunspell' '/usr/share/myspell', global.loadSettings.fallbackDictionary and pick the first directory that exists to search for dictionary files.

It also has the ability to force Hunspell usage on Windows where the native spellchecker is not reliable. This is through process.env.SPELLCHECKER_PREFER_HUNSPELL. If the user is not on Linux and wants to force Hunspell, Slack Native will download dictionaries from http://slack-ssb-updates.s3.amazonaws.com/dictionaries. The logic for downloading dictionaries is extensive but easy to follow in the code.

It contains no logic for Mac OS X as its multi-language spellchecker integration with node-spellchecker is very good.

Make multi language spellchecker on linux and N1 will be my primary email client :wine_glass: :wink:

@link0802 I shall work on it from Slack's decompilation, but I must watch to not violate their license

@mbilker I don't know if it will help but in the past atom has similar problem too.
But @ihatetothink solve(ish) it in this issue - https://github.com/atom/spell-check/issues/21

Atom still has the issue, and node-spellchecker cannot do this by itself.

The only way I can think to fix this is to have one instance of node-spellchecker for each language you want to check if correct. If the word is correct in at least one of the spellcheckers, then the word is correct. The word is incorrect if it is deemed incorrect by all the spellcheckers.

Slack does not face this issue because communication between team members is done in the user's native language.

https://github.com/brrd/Abricotine solve this problem with manual switch. They add manual switch for spellcheck language and ship app with dictionaries.

@link0802 Slack actually downloads the dictionaries on Windows 7 only. It relies on the distribution installed dictionaries on Linux. I am working on this type of integration.

If you want Slack's spellcheck method for initializing many Spellcheckers, review #1807. The only issue is that the Spellchecker is loaded in unwanted window types including worker.

Hi! I am really enjoying Nylas N1, but this limitation of the spellchecker is driving me nuts!
Having to copy/paste text from a word processor whenever I need to send an email in Portuguese (as my Mac OSX is in english) is frustrating, time consuming and can only be a short term solution.
Do you have any idea of the timeframe involved in fixing this behaviour in Nylas N1 ?
Regardless, Please keep up the excellent work!
Thanks

Hello!

Just discovered Nylas N1 and I really like it. Nevertheless, it seems that the issue with the spellchecker has not been resolved yet. I Installed N1 on both a windows 7 machine and an Ubuntu 14.04 machine and in both of them the spellchecker is not working. Any hint on what I should do.

The very easiest and most immediate fix to this annoying issue would be to add an option to disable the spellchecker altogether. I don't need it, but I can't turn it off and it really disrupts my writing.

Hey all, another Arch Linux user with a preference for British English coming to the table. My current workflow is copy and pasting into a untitled Google Doc to squash the couple of spelling mistakes I tend to make. This is obviously not ideal.

Hi @mbilker, regarding #1011 would switching to American English as my default system language enable some form of spell checking?

I'm _really_ digging N1, which is why I'm putting up with my Google Docs workflow. But I'm definitely open to ways I can improve this in the short-term :-)

Yes it would enable some sort of spellcheck if I recall correctly. I am
still working on improving the performance of my multispellchecker.
On Wed, Jun 15, 2016 at 8:15 PM Matt Kennedy [email protected]
wrote:

Hey all, another Arch Linux user with a preference for British English
coming to the table. My current workflow is copy and pasting into a
untitled Google Doc to squash the couple of spelling mistakes I tend to
make. This is obviously not ideal.

Hi @mbilker https://github.com/mbilker, regarding #1011
https://github.com/nylas/N1/issues/1011 would switching to American
English as my default system language enable some form of spell checking?

I'm _really_ digging N1, which is why I'm putting up with my Google Docs
workflow. But I'm definitely open to ways I can improve this in the
short-term :-)

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nylas/N1/issues/1392#issuecomment-226356180, or mute
the thread
https://github.com/notifications/unsubscribe/ABNTbVSvOYfcJ7zO0aRRpxT7NQ_htHLPks5qMJWBgaJpZM4HfEhd
.

When can we expect to have different languages spellchecked in Linux?

For me it's still a major problem to have only English correctly underlined, even when I have Portuguese keyboard selected.

Any news on this?

This should be considered a bug, not an enhancement-request.

If it works on Windows and Mac, then not working on Linux is bug in my opinion.

And still no news?

If this was the case, I would agree. But the spellchecker doesn't work on a Mac either.

Edit: I just noticed that on Linux it's even worse than on Mac. Sorry about that. But it doesn't work as expected on either platform at this moment.

Ah wow! Can't wait!

FINALLY

Hey folks, we shipped the spellchecker improvements to all users this morning in v0.4.59. This release switches N1 to the same spellcheck wrapper developed for Slack, which detects the language you're writing in and spellchecks in that language. On Linux and older versions of Windows, it downloads Hunspell dictionaries on-the-fly, because shipping them all would be costly. This should resolve ongoing spellchecker issues!

N1 still can't detected my switch of languages on Linux, is that normal?

I have two default keyboards layouts, PT and EN, but N1 only detects English.

Hi a I have the same problem on Linux. N1 can't detect Czech language (i write messages largely in czech), but if you used the same solution as Slack, then is your implementation bad. I love N1, but without spell checking in 2017 it's very problematic to use it.

I believe that you can fix it and we all can use N1 with love.

Same problem here. Nylas cannot detect Brazilian Portuguese in Manjaro Linux. Spell checking is not working. hunspell-pt-br is installed on my system (so are hunspell and hunspell-en_US).

This is unfortunately the case for a long time now. Nylas will definitely become my favorite and number one email client on Linux once multi language spell checking is supported.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

hazim1093 picture hazim1093  Â·  4Comments

danielbayley picture danielbayley  Â·  3Comments

purefan picture purefan  Â·  3Comments

andrewspear picture andrewspear  Â·  3Comments

runofthemill picture runofthemill  Â·  3Comments