Aller au contenu principal

Vérificateur d'orthographe

Electron a intégré le support du vérificateur d'orthographe de Chromium depuis Electron 8. Sous Windows et Linux, il est alimenté par les dictionnaires Hunspell, et sur macOS, il utilise les API natives du correcteur orthographique.

Comment activer le vérificateur d'orthographe?

Pour Electron 9 et versions ultérieures, le vérificateur d'orthographe est activé par défaut. Pour Electron 8, vous devez l’activer dans les webPreferences.

const myWindow = new BrowserWindow({
webPreferences: {
spellcheck: true
}
})

Comment définir les langues utilisées par le vérificateur d'orthographe ?

Sur macOS, car nous utilisons les API natives, il n’y a aucun moyen de définir la langue utilisée par le vérificateur d'orthographe. Par défaut, sous macOS, le vérificateur natif détecte automatiquement la langue utilisée.

Pour Windows et Linux, vous devez utiliser quelques API Electron afin de définir les langues du vérificateur d'orthographe.

// Indique de vérifier pour Anglais US et Français
myWindow.webContents.session.setSpellCheckerLanguages(['en-US', 'fr'])

// Tableau des codes des langues disponibles
const possibleLanguages = myWindow.webContents.session.availableSpellCheckerLanguages

Par défaut, la langue correspondant aux paramètres régionaux du système d’exploitation est activée.

Comment placer les résultats du correcteur orthographique dans mon menu contextuel ?

Toutes les informations requises pour générer un menu contextuel sont fournies dans l’événement context-menu sur chaque instance de webContents . Petit exemple de la façon de créer un menu contextuel avec ces informations:

const { Menu, MenuItem } = require('electron')

myWindow.webContents.on('context-menu', (event, params) => {
const menu = new Menu()

// Ajouter chaque suggestion d'orthographe
for (const suggestion of params.dictionarySuggestions) {
menu.append(new MenuItem({
label: suggestion,
click: () => myWindow.webContents.replaceMisspelling(suggestion)
}))
}

// Permettre aux utilisateurs d'ajouter le mot mal orthographié au dictionnaire
if (params.misspelledWord) {
menu.append(
new MenuItem({
label: 'Add to dictionary',
click: () => myWindow.webContents.session.addWordToSpellCheckerDictionary(params.misspelledWord)
})
)
}

menu.popup()
})

Le verificateur d'orthographe utilise-t-il des services Google ?

Bien que le vérificateur lui-même n’envoie pas de frappes, de mots ou de saisies utilisateur aux services Google, les fichiers du dictionnaire hunspell sont téléchargés à partir d’un CDN Google par défaut. Si vous le souhaitez, vous pouvez éviter cela et fournir une autre URL à partir de laquelle télécharger les dictionnaires.

myWindow.webContents.session.setSpellCheckerDictionaryDownloadURL('https://example.com/dictionaries/')

Consultez la documentation de session.setSpellCheckerDictionaryDownloadURL pour plus d'informations sur l'endroit où obtenir les fichiers des dictionnaire et comment les héberger.