diff options
Diffstat (limited to 'src/electron/ipc-api/cld.js')
-rw-r--r-- | src/electron/ipc-api/cld.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/electron/ipc-api/cld.js b/src/electron/ipc-api/cld.js new file mode 100644 index 000000000..23f18aa94 --- /dev/null +++ b/src/electron/ipc-api/cld.js | |||
@@ -0,0 +1,20 @@ | |||
1 | import { ipcMain } from 'electron'; | ||
2 | import cld from 'cld'; | ||
3 | |||
4 | const debug = require('debug')('Franz:ipcApi:cld'); | ||
5 | |||
6 | export default async () => { | ||
7 | ipcMain.handle('detect-language', async (event, { sample }) => { | ||
8 | try { | ||
9 | const result = await cld.detect(sample); | ||
10 | debug('Checking language', 'probability', result.languages); | ||
11 | if (result.reliable) { | ||
12 | debug('Language detected reliably, setting spellchecker language to', result.languages[0].code); | ||
13 | |||
14 | return result.languages[0].code; | ||
15 | } | ||
16 | } catch (e) { | ||
17 | console.error(e); | ||
18 | } | ||
19 | }); | ||
20 | }; | ||