Code Monkey home page Code Monkey logo

dictionaries's Introduction

dictionaries

Collection of normalized and installable hunspell dictionaries.

Contents

What is this?

This monorepo is a bunch of scripts that crawls dictionaries from several sources, normalizes them, and packs them so that they can each be installed and used in one single way. Dictionaries are not maintained here but they are usable from here.

When should I use this?

You can particularly use the packages here as a programmer when integrating with other tools (such as nodehun or nspell) or when making such tools.

Install

These packages are ESM only. In Node.js (version 16+), install with npm:

npm install dictionary-en

👉 Note: replace en with the language code you want.

⚠️ Important: this project itself is MIT, but each index.dic and index.aff file still has its original license!

Use

import en from 'dictionary-en'

console.log(en)
// To do: use `en` somehow

Yields:

{aff: <Buffer>, dic: <Buffer>}

List of dictionaries

👉 Note: preferred BCP-47 codes are used (according to Unicode CLDR). To illustrate, as American English and Brazilian Portuguese are the most common types of English and Portuguese respectively, they get the codes en and pt.

In total 92 dictionaries are provided.

Name Description License
dictionary-bg Bulgarian (GPL-2.0 OR LGPL-2.1 OR MPL-1.1)
dictionary-br Breton (GPL-2.0 OR LGPL-2.1 OR MPL-1.1)
dictionary-ca Catalan (GPL-2.0 OR LGPL-2.1)
dictionary-ca-valencia Catalan (Valencia) (GPL-2.0 OR LGPL-2.1)
dictionary-cs Czech GPL-2.0
dictionary-cy Welsh LGPL-3.0
dictionary-da Danish (GPL-2.0 OR LGPL-2.1 OR MPL-1.1)
dictionary-de German (GPL-2.0 OR GPL-3.0)
dictionary-de-at German (Austria) (GPL-2.0 OR GPL-3.0)
dictionary-de-ch German (Switzerland) (GPL-2.0 OR GPL-3.0)
dictionary-el Greek (GPL-2.0 OR LGPL-2.1 OR MPL-1.1)
dictionary-el-polyton Greek (Polyton) GPL-3.0
dictionary-en English (MIT AND BSD)
dictionary-en-au English (Australia) (MIT AND BSD)
dictionary-en-ca English (Canada) (MIT AND BSD)
dictionary-en-gb English (United Kingdom) (MIT AND BSD)
dictionary-en-za English (South Africa) LGPL-2.1
dictionary-eo Esperanto GPL-2.0
dictionary-es Spanish (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-ar Spanish (Argentina) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-bo Spanish (Bolivia) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-cl Spanish (Chile) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-co Spanish (Colombia) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-cr Spanish (Costa Rica) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-cu Spanish (Cuba) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-do Spanish (Dominican Republic) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-ec Spanish (Ecuador) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-gt Spanish (Guatemala) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-hn Spanish (Honduras) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-mx Spanish (Mexico) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-ni Spanish (Nicaragua) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-pa Spanish (Panama) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-pe Spanish (Peru) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-ph Spanish (Philippines) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-pr Spanish (Puerto Rico) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-py Spanish (Paraguay) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-sv Spanish (El Salvador) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-us Spanish (United States of America) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-uy Spanish (Uruguay) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-es-ve Spanish (Venezuela) (GPL-3.0 OR LGPL-3.0 OR MPL-1.1)
dictionary-et Estonian LGPL-2.1
dictionary-eu Basque GPL-2.0
dictionary-fa Persian Apache-2.0
dictionary-fo Faroese (GPL-2.0 OR LGPL-2.1 OR MPL-1.1)
dictionary-fr French MPL-2.0
dictionary-fur Friulian GPL-2.0
dictionary-fy Western Frisian GPL-3.0
dictionary-ga Irish GPL-2.0
dictionary-gd Scottish Gaelic GPL-3.0
dictionary-gl Galician GPL-3.0
dictionary-he Hebrew AGPL-3.0
dictionary-hr Croatian (LGPL-2.1 OR SISSL)
dictionary-hu Hungarian (GPL-2.0 OR LGPL-2.1 OR MPL-1.1)
dictionary-hy Armenian (GPL-2.0 OR LGPL-2.1 OR MPL-1.1)
dictionary-hyw Western Armenian (GPL-2.0 OR LGPL-2.1 OR MPL-1.1)
dictionary-ia Interlingua GPL-3.0
dictionary-ie Interlingue Apache-2.0
dictionary-is Icelandic CC-BY-SA-3.0
dictionary-it Italian GPL-3.0
dictionary-ka Georgian MIT
dictionary-ko Korean (GPL-2.0 OR LGPL-2.1 OR MPL-1.1)
dictionary-la Latin GPL-2.0
dictionary-lb Luxembourgish EUPL-1.1
dictionary-lt Lithuanian BSD-3-Clause
dictionary-ltg Latgalian LGPL-2.1
dictionary-lv Latvian LGPL-2.1
dictionary-mk Macedonian GPL-3.0
dictionary-mn Mongolian LPPL-1.3c
dictionary-nb Norwegian Bokmål GPL-2.0
dictionary-nds Low German GPL-3.0
dictionary-ne Nepali LGPL-2.1
dictionary-nl Dutch (BSD-3-Clause OR CC-BY-3.0)
dictionary-nn Norwegian Nynorsk GPL-2.0
dictionary-oc Occitan GPL-2.0
dictionary-pl Polish (GPL-3.0 OR LGPL-3.0 OR MPL-2.0)
dictionary-pt Portuguese (LGPL-3.0 OR MPL-2.0)
dictionary-pt-pt Portuguese (Portugal) (GPL-2.0 OR LGPL-2.1 OR MPL-1.1)
dictionary-ro Romanian (GPL-2.0 OR LGPL-2.1 OR MPL-1.1)
dictionary-ru Russian BSD-3-Clause
dictionary-rw Kinyarwanda GPL-3.0
dictionary-sk Slovak (GPL-2.0 OR LGPL-2.1 OR MPL-1.1)
dictionary-sl Slovenian (GPL-3.0 OR LGPL-2.1)
dictionary-sr Serbian (GPL-2.0 OR LGPL-2.1 OR MPL-1.1 OR CC-BY-SA-3.0)
dictionary-sr-latn Serbian (Latin script) (GPL-2.0 OR LGPL-2.1 OR MPL-1.1 OR CC-BY-SA-3.0)
dictionary-sv Swedish LGPL-3.0
dictionary-sv-fi Swedish (Finland) LGPL-3.0
dictionary-tk Turkmen Apache-2.0
dictionary-tlh Klingon Apache-2.0
dictionary-tlh-latn Klingon (Latin script) Apache-2.0
dictionary-tr Turkish MIT
dictionary-uk Ukrainian GPL-3.0
dictionary-vi Vietnamese GPL-2.0

Examples

Example: use with nspell

This example uses dictionary-en in combination with nspell.

Show install command for this example
npm install dictionary-en nspell
import en from 'dictionary-en'
import nspell from 'nspell'

const spell = nspell(en)
console.log(spell.correct('color'))
console.log(spell.correct('colour'))

Yields:

true
false

Example: load files

This example loads the index.dic and index.aff files located in dictionary-hyw (Western Armenian) from a Node.js JavaScript module (ESM).

It uses a ponyfill (import-meta-resolve) for an experimental Node API.

Show install command for this example
npm install dictionary-hyw import-meta-resolve
import fs from 'node:fs/promises'
import {resolve} from 'import-meta-resolve'

const base = await resolve('dictionary-hyw', import.meta.url)
const aff = await fs.readFile(new URL('index.aff', base))
const dic = await fs.readFile(new URL('index.dic', base))
console.log(aff, dic)

Example: use with macOS

Follow these steps to use a dictionary on macOS:

  1. navigate to the dictionary you want on GitHub, such as dictionaries/$code (replace $code with the language code you want)
  2. download the index.aff and index.dic files (as in open them, right-click “Raw”, and “download linked files”)
  3. rename the download files to $code.aff and $code.dic
  4. move $code.aff and $code.dic into the folder ~/Library/Spelling/
  5. go to System Preferences > Keyboard > Text > Spelling and select your added language (it should come with the (Library) suffix and is situated at the bottom)

Types

The packages are typed with TypeScript.

Security

These packages are safe.

Contribute

Yes please! See How to Contribute to Open Source.

Build

To build this project, on macOS, you at least need to install:

  • wget: brew install wget (crawling)
  • hunspell: brew install hunspell (many dictionaries)
  • sed: brew install gnu-sed (crawling, many dictionaries)
  • coreutils: brew install coreutils (many dictionaries)
  • ispell: brew install ispell (German)

👉 Note: sed and the GNU replacements should be setup in PATH to overwrite macOS defaults.

Updating a dictionary

Dictionaries are not maintained here. Report problems upstream.

Adding a new dictionary

Dictionaries are not maintained here. Most languages have a small community or institute that maintains a dictionary, and they often do so on GitHub or similar. Please ask in the issues to request that such a dictionary is included here.

👉 Note: acceptable dictionaries must:

  • have a significant affix file (not just a .dic file)
  • have an open source license
  • have recent contributions

License

MIT © Titus Wormer

See license files in each dictionary for the licensing of index.dic and index.aff files.

dictionaries's People

Contributors

jmontane avatar mejans avatar miguelsantos avatar remcohaszing avatar thomas101 avatar wooorm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dictionaries's Issues

hu: Word does not match

I have been attempting to convert these dictionaries to qtwebengine format using qt's qwebengine_convert_dict tool.

I was unable to convert the file hu/index.bdic due to the following error:

Word does not match! - Index: 35768 - Expected: góóóóóóóóóóóóóóóóóóóóóóóóóóóóóóóól - Actual: góóóóóóóóóóóóóóóóóóóóóóóóóóóóóóóĂl - ERROR converting, the dictionary does not check out OK.

Most other dictionaries did build using the tool so it leads me to believe that the fault may be with hu/index.bdic but as someone who is unfamiliar with hunspell, I am unable to tell if it should be the Expected string.
If so, it seems more useful to report it here than just fix it at my end.

Lithuanian dictionary is wrong

Nice work, thank you for maintaining this repo. Lithuanian dictionary seems to be non UTF-8 encoded and gives errors. For example "Tęsti Žaidimą" which means "Continue Game" when checking each word gives errors for every word.

Hungarian dictionary has wrong character encoding

The Hungarian dictionary, despite having UTF-8 encoding, doesn't contain the proper hungarian characters such as ü,ű,á,í,ö,ó,ő, etc.

Example:

Ăźzenet/1 1

instead of

Üzenet/1 1

I've tried to figure out, that maybe my computer encodes it wrong, but after trying to re-encode with Notepad++, and even setting encoding manually to utf-8 in Chrome, the issue still persists. Thus in it's current form, this dictionary is unusable by any spellchecker, because the special Latin-2 characters are all wrong.

el-polyton no space in 'έψ εύσ'.

I have been attempting to convert these dictionaries to qtwebengine format using qt's qwebengine_convert_dict tool.

I was unable to convert the file el-polyton/index.bdic due to the following error:

Did not find a space in 'έψ εύσ'.

Most other dictionaries did build using the tool so it leads me to believe that the fault may be with el-polyton/index.aff but as someone who is unfamiliar with hunspell, I am unable to tell if it needs a space instead of the tab.
If so, it seems more useful to report it here than just fix it at my end.

dictionary-fr words format

Hello,
I got some trouble with the french dictionary, most of invariable words are not correctly checked.
I openned the dic file and find lines like :

voici	89

I did not found any documentation about this syntax ?! In dictionnary-en there is no digits after words ?!

[Question] Is there some index accross dictionaries ?

I want to build a very simple translator using dictionaries, my concerned languages are English, French and Arabic.
Imagine the following dictionaries:

French
[bourgeois, brunette, contraire, ]

English
[bourgeois, brunette, contrary, ]

If there is an index between the meaning of terms than I can map words easily.

Thanks a lot !

New Czech dictionary

There is a new dictionary for Czech language available, with a lot of corrections made. More about it is written in a blogpost (in czech), the zip file can be directly downloaded here.

Could you include this new dictionary into the project?

Unable to use dictionary-es with Electron Application

I'm getting an error when I try to load the Spanish dictionary inside of an electron application:

import dictEs from 'dictionary-es'
import nspell from "nspell"
dictEs(ondictionary)
function ondictionary(err, dict) {
            if (err) {
                console.log(err);
                throw err
            }
            var spell = nspell(dict);
        }

Throws this error:

Uncaught Error: ENOENT, renderer\index.aff not found in C:\Users\LID-Mobile\Development\cccreator-desktop\node_modules\electron\dist\resources\electron.asar
    at notFoundError (ELECTRON_ASAR.js:108)
    at fs.readFile (ELECTRON_ASAR.js:536)
    at one (index.js?e606:15)
    at load (index.js?e606:11)
    at Object.initDictionary (globalFunc.js?ff72:529)
    at Store.updateLanguage (store.js?c0d6:204)
    at wrappedMutationHandler (vuex.esm.js?2f62:714)
    at commitIterator (vuex.esm.js?2f62:382)
    at Array.forEach (<anonymous>)
    at eval (vuex.esm.js?2f62:381)

I don't get the same error when loading the
dictionary-en-us or dictionary-en-ca dictionaries.

Thoughts?

ko: Word does not match

I have been attempting to convert these dictionaries to qtwebengine format using qt's qwebengine_convert_dict tool.

I was unable to convert the file ko/index.bdic due to the following error:

Word does not match! - Index: 14081 - Expected: 김수한무거북이와두루미삼천갑자동방삭치치카포사리사리센타워리워리세브리캉무드셀라구름위허리케인에담벼락서생원에고양이고양이는바둑이바둑이는돌돌이 - Actual: 김수한무거북이와두루미삼천갑자동방� - ERROR converting, the dictionary does not check out OK.

Most other dictionaries did build using the tool so it leads me to believe that the fault may be with ko/index.bdic but as someone who is unfamiliar with hunspell, I am unable to tell if the Expected should be used to replace the actual.
If so, it seems more useful to report it here than just fix it at my end.

Mixed up .dic & .aff files

Hi, it looks like some of the dictionaries have had the dic and aff files mixed up. Looking through crawl.sh the generate method calls do look incorrect. Was wondering if this is on purpose or a typo. The affected dictionaries are...

  • bulgarian
  • czech
  • galician
  • greek
  • russian
  • turkish
  • ukrainian
  • vietnamese

Using the dictionary-hu throwing error.

Code:
var dictionary = require('dictionary-hu')
var nspell = require('nspell')
dictionary(ondictionary)
function ondictionary(err, dict) {
if (err) {
throw err
}
var spell = nspell(dict)
console.log(spell.correct('Szerelem'))
}

Error:
C:\Program Files\nodejs\node.exe .\test.js
Process exited with code 3221225477

Suggestion is not working for Swedish

I have used Syncfusion spellchecker with the Humspell using Asp .net core. but I tried to get suggestions from swediish I could not receive any result, as well as spell-checking function, is not working properly. but while not using the suggestion it is working properly and both the suggestion and checking functions are working with other languages like English variants, Russian, French etc.. so is there any limitations in the Swedish dictionary ???

Simple code is not running

I'm trying this package but the console message is never shown

const nspell = require('nspell')
const dictionaryPt = require('dictionary-pt')

function testSpell(txt){
    dictionaryPt((error, pt) => {
        if (error) throw error
        var spell = nspell(pt)
        console.log(spell.suggest(txt))
      })
}

testSpell("Maquina")

dictionary-pt: "^3.1.0",
nspell: "^2.1.5"

I checked the programs stucks at var spell = nspell(pt) line. Any idea what's wrong?

Korean returns true for all words (correct function)

For some reason the Korean dictionary always return true when using with nspell.

var dictionary = require('dictionary-ko');
var nspell = require('nspell');
dictionary(ondictionary);

function ondictionary(err, dict) {
    if (err) {
      throw err
    }
  
    var spell = nspell(dict);
  
    console.log(spell.correct('hello'));
  }

Convert to ESM

Because 5f2b26a introduced breaking changes, I think now would be the right time to convert to ESM.

dictionnary-fr issue

Hi there !

Looks like the suggest/correct methods doesnt handle some words in french, like "préavis"

in index.dic we can find : préavis po:nom is:mas is:inv

but console.log(spell.correct("preavis")); returns false.

Any idea how to fix this ?

Add index.dic and index.aff to exports

Can you add theese files to exports property in package.json? We use direct import of theese files to use it in browser. But with latest versions webpack fails with error:

Module not found: Error: Package path ./index.dic is not exported from package \node_modules\dictionary-en (see exports field in \node_modules\dictionary-en\package.json)

Swedish dictionary not working

Hi,
Thanks for this easy to use awesome library!
I've been using English dictionary without issues but Swedish dictionary at dictionary-sv does not detect any issues but sees any input as correct.
I looked at index.js and it looks same as the one for English so I cannot detect the problemhere and appreciate any help.

Origin of Russian dictionaries?

If you don't mind me asking, where do the Russian dictionaries come from? Who created them and licensed them as LGPL-3.0?

Html Entities found in `.aff` files.

While looking at the Hungarian dictionary, I found HTML Entities in the .aff file.

REP Angström &Aring;ngström

Some of them are not real entities:

WORDCHARS -.&permil;&sect;%&deg;0123456789&ndash;&euro;'&apos;&ffi;&ffl;&ff;&fi;&fl;

I was not able to find any references to Hunspell supporting HTML entities in .aff files.

By the way, thank you for maintaining these dictionaries.

Not clear about the sources

I think this may be a lot of redundant work. I'm just not clear about the sources, this is a large collection of dictionaries. I was looking for something like this. This project seems to source from https://extensions.openoffice.org/en/project/polish-dictionary-pack. But, those were last edited in 08'.

LibreOffice replaces those dictionaries. It's another large repository of hunspell. Makes more sense to just that -- that's what I'm doing for my project. It seems like you have similar aims. Would make more sense just to nuke this and pull in from it.

Maybe there is an advantage, be glad to know it.

Add Swahili dictionaries

Hello there, and thanks for the work!

Would it be possible to add also Swahili dictionaries?

LibreOffice provides Hunspell dictionaries for Kenyan Swahili and Tanzanian Swahili:

https://extensions.libreoffice.org/en/extensions/show/swahili-dictionary

There are more places that provide these dictionaries, but I suppose they all have the same content:

https://addons.mozilla.org/en-US/firefox/addon/kiswahili-spell-checker/

https://cgit.freedesktop.org/libreoffice/dictionaries/tree/sw_TZ

https://github.com/elastic/hunspell/tree/master/dicts/sw

Best regards

Investigate shipping `.dic`, `.aff` as JSON

Problem:

  • Uses Node-specific APIs, so doesn’t work in browsers, Deno
  • Ships a weird callback load function, would be nicer to use the module system to do that

Solution:

  • Either as files with an import assertion. Weird shipping a whole string as a single thing in a .json file ("1mb of data") and also as the normal file (1mb of data)?
    export {default as aff} from './index.aff.json' assert {type: 'json'}
    export {default as dic} from './index.dic.json' assert {type: 'json'}
    export const dictionary = {aff, dic}
    export {dictionary as default}
  • Potentially even inline? Needs a flag currently in Node, or also an import assertion https://twitter.com/wooorm/status/1513958664884920323. URLs might be limited so dictionaries won’t fit. Might be slow. Might be fast?
    export {default as aff} from 'data:application/json,"..."' assert {type: 'json'}
    export {default as dic} from 'data:application/json,"..."' assert {type: 'json'}
    export const dictionary = {aff, dic}
    export {dictionary as default}

However, that means:

  • Breaks CJS (they could still read the files themselves tho)
  • Import assertions are very new, so won’t work in a bunch of places

Force accents in Russian dictionary (ё)

Do we have a way to use 'ё' instead of 'е' for ru where needed? E.g. 'актер', which is currently in the .dic file, should not be valid in accent-sensitive (case-sensitive) mode. It should be 'актёр'. I see that Portuguese has this issue figured out.

Specify FLAG UTF-8 when converting to UTF-8, if there was no explicit FLAG option

Hunspell read the affix file byte by byte and decodes UTF-8 on demand. If it's not instructed to do so for flags, it doesn't. So non-ASCII characters like "ý" are treated like several characters, and due to another bug Hunspell silently takes just the first character and ignores the rest. So the words can have unexpected flags.

Example: pt contains FORBIDDENWORD ý, and the perfectly valid word trabalhar/akYMjLÀÚ is treated as having this flag and thus considered misspelled.

arabic

Aloha there,
Can you add arabic dictionary please ?
Thanks in advance

Not able to use dictionary-en-us

When I run the following code

fs.readFileSync(path.join(base, 'index.dic'), 'utf-8');
fs.readFileSync(path.join(base, 'index.aff'), 'utf-8');

I get the the following Error, Please help

fs.js:646
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^

Error: ENOTDIR: not a directory, open '/home/deeven/Documents/eloquent javascript/work/node_modules/dictionary-en-us/index.js/index.dic'
    at Object.fs.openSync (fs.js:646:18)
    at Object.fs.readFileSync (fs.js:551:33)
    at Object.<anonymous> (/home/deeven/Documents/eloquent javascript/work/nspell.js:7:4)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Function.Module.runMain (module.js:694:10)
    at startup (bootstrap_node.js:204:16)

sk: Improve the Slovak dictionary

I have tried to create a dictionary that would contain all (most) Slovak words including all their forms, but I have failed as I have never done it yet.

Slovak Academy of Sciences (Slovenska akademia vied, SAV) has worked on a morphology analyser untill approx 2015, which contains 100 MB data. Each word has a flag what part of speech the word is and what grammer case the word is in.

Some links (all in Slovak; if needed, I can translate them for you into English):

I could help you with the translation of the Slovak texts, Slovak grammer and testing.

How does hunspell works

I looked for a paper which explains how does hunspell works, but without any success. I would like to know how does hunspell works and especially how does it make suggestions ? Does it uses Levenshtein distance to look for the best suggestion ?

de_DE: Add greater list of words

Could you extend the German dictionaries with those in in here: de_dicts.zip? They are all in HunSpell format, but I have never created nor modified these dictionaries.

Note that the archive contains three subfolders:

  • 1901: so called Old Rules;
  • 1996: so called 1996 Reform`;
  • 2006: so called 2006 Reform`.

Currently, the de/index.dic contains 75,767 words only, whereas the 2006/de_DE.dic contains 163,202 words.

Issues in en-GB dictionary

We are facing issue in “en-GB” dictionary, there we couldn’t find the word “ability” in aff file. So, the issue occurs all the words related to the word “ability” in suffix. So, can you please provide the definition for that or any other alternative solutions.

Add words to German dictionary

Hey 👋🏻 As you suggested, we should continue our conversation here on GitHub.

Disclaimer: I have almost no clue how Hunspell works, so please forgive if it is a thumb question.

I'm using ReSpeller together with ReSharper in Visual Studio. The German phrase Zahlung gelöscht gets marked as misspelled, so I thought about adding these words to the German Hunspell dictionary.

In your README I found that the source for the German dictionary is j3e. On his page there is a little online spell checker and when entering my sentence Zahlung gelöscht, the result is:

Spellcheck result:

no errors found

And now I'm confused: within the German dictionary I don't find the word Zahlung, but I do find gelöscht:

  • So am I encountering a ReSpeller bug regarding gelöscht?
  • And what about Zahlung?
  • And why does the online spell checker not complain at all?

I'd really appreciate your feedback!

Add type definitions

This seems trivial, but because a lot is generated there are multiple ways to do it.

My proposal:

  • Manually write dictionaries/script/template/index.d.ts
  • Copy it to all dictionary packages
  • Commit all copies
  • Add index.d.ts to the list of requiredFiles in test.js.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.