aboutsummaryrefslogtreecommitdiffstats
path: root/src/electron/ipc-api/cld.ts
blob: 4221f9b22ee712cb466331d8e1b446f88c36d474 (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 (error) {
      console.error(error);
    }
  });
};