aboutsummaryrefslogtreecommitdiffstats
path: root/src/electron/ipc-api/cld.ts
blob: b907f37305358118b91bc1332c2af653415ffeda (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import { ipcMain } from 'electron';
import cld from 'cld';

const debug = require('debug')('Ferdi:ipcApi:cld');

export default async () => {
  ipcMain.handle('detect-language', async (_event, { sample }) => {
    try {
      const result = await cld.detect(sample);
      debug('Checking language', 'probability', result.languages);
      if (result.reliable) {
        debug(
          'Language detected reliably, setting spellchecker language to',
          result.languages[0].code,
        );

        return result.languages[0].code;
      }
    } catch (e) {
      console.error(e);
    }
  });
};