diff --git a/src/browser/index.jsx b/src/browser/index.jsx index 5e4099fb..f4c28269 100644 --- a/src/browser/index.jsx +++ b/src/browser/index.jsx @@ -133,6 +133,7 @@ function teamConfigChange(updatedTeams) { function handleSelectSpellCheckerLocale(locale) { config.set('spellCheckerLocale', locale); + ipcRenderer.send('update-dict', locale); } ReactDOM.render( diff --git a/src/main.js b/src/main.js index 5ce4f0e9..97aad610 100644 --- a/src/main.js +++ b/src/main.js @@ -776,16 +776,22 @@ function handleUpdateMenuEvent(event, configData) { } } -function handleUpdateDictionaryEvent() { +// localeSelected might be null, if that's the case, use config's locale +function handleUpdateDictionaryEvent(_, localeSelected) { if (config.useSpellChecker) { - spellChecker = new SpellChecker( - config.spellCheckerLocale, - path.resolve(app.getAppPath(), 'node_modules/simple-spellchecker/dict'), - (err) => { - if (err) { - console.error(err); - } - }); + const locale = localeSelected || config.spellCheckerLocale; + try { + spellChecker = new SpellChecker( + locale, + path.resolve(app.getAppPath(), 'node_modules/simple-spellchecker/dict'), + (err) => { + if (err) { + console.error(err); + } + }); + } catch (e) { + console.error('couldn\'t load a spellchecker for locale'); + } } }