Development/Dictionaries
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate
Overview
Several types of dictionaries are bundled within LibreOffice:
- hunspell - basic spell check using the Hunspell engine
- hyphen - words hyphenation
- thesaurus - synonyms and acronyms
- grammar - grammar check using different frameworks, e.g LanguageTool, Lightproof
For the purpose of building LibreOffice product, a copy of dictionaries are stored in the git module dictionaries. The only exception is the grammar checker which is downloaded as an extension during build.
Each dictionary has its own group of authors who are developing it. The above mentioned repository is updated when the authors or anyone else ask for update, see below.
Extending a Dictionary in LibreOffice
If you want to add or remove words in an existing dictionary, it is best to discuss it with the authors of the dictionary first. You can find the Contact info in the table below.
If your language is not listed, or if you don't get any response, check the related README file which can be found in the Git repository.
Dictionary Authors
Language | Language Code | Contact |
---|---|---|
Afrikaans | af_ZA | wordfiddledabble at gmail.com Kris van der Merwe |
Aragonese | an_ES | an.spellchecker@gmail.com |
Arabic | ar | Ahmad Farghal Taha Zerrouki |
Belarusian | be_BY | Mikalai Udodau |
Bulgarian | bg_BG | Anton Zinoviev |
Breton | br_FR | drouizig.org |
Catalan | ca_ES | Joan Montané |
Czech | cs_CZ | Pavel Janík |
Danish | da_DK | stavekontrolden.dk |
German | de (de_AT,de_CH,de_DE) | Franz Michael Baumann |
Greek | el_GR | elspell.math.upatras.gr |
English (Australian) | en_AU | Kevin Atkinson, word list in GitHub |
English (Canada) | en_CA | Kevin Atkinson, word list in GitHub |
English (Great Britain) | en_GB | [David Bartlett] Marco A.G.Pinto (fork) Proofing Tool GUI |
English (US) | en_US | Kevin Atkinson |
English (South African) | en_ZA | Dwayne Bailey |
Spanish | es (all variants) | Recursos lingüísticos abiertos del español |
Estonian | et_EE | Jaak Pruulmann |
French | fr_FR | Grammalecte |
Scottish Gaelic | gd_GB | borel.slu.edu |
Gujarati | gu_IN | Kartik Mistry |
Guarani | gug_PY | Giovanni Caligaris |
Hebrew | he_IL | hspell.ivrix.org.il |
Hindi | hi_IN | |
Croatian | hr_HR | Krunoslav Šebetić |
Hungarian | hu_HU | magyarispell.sourceforge.net |
Icelandic | is | hunspell-is mailing list |
Indonesian | id_ID | Andika Triwidada |
Italian | it_IT | Marina Latini |
<Korean | ko_KR | [1] |
Kurdish (Turkey) | ku_TR | ferheng.org |
Lithuanian | lt_LT | github.com/ispell-lt/ispell-lt |
Latvian | lv_LV | Janis Eisaks |
Mapudüngun | md (arn) | Andrés Chandía |
Netherlands | nl_NL | bestuur@opentaal.org |
Norwegian | no | |
Occitan | oc_FR | bruno.gallart@wanadoo.fr |
Polish | pl_PL | sjp.pl |
Brazilian Portuguese | pt_BR | Raimundo Santos Moura |
Portuguese | pt_PT | Rui Vilela |
Romanian | ro | rospell.sourceforge.net |
Sinhala | si_LK | Laknath Semage |
Slovak | sk_SK | sk-spell.sk.cx |
Slovenian | sl_SI | Martin Srebotnjak |
Serbian (Cyrillic and Latin) | sr | |
Swedish | sv_SE | Niklas Johansson |
Swahili | sw_TZ | Alberto Escudero-Pascual |
Tamil | ta | [2] |
Thai | th_TH | Sila Chunwijitra |
Turkish | tr_TR | Muhammet Kara |
Ukrainian | uk_UA | code.google.com/archive/p/spell-uk |
Vietnamese | vi | github.com/1ec5/hunspell-vi |
Adding/Updating bundled Dictionaries
If you want to update an already bundled dictionary or if you want to add a missing dictionary, it can be done as any other change in LibreOffice. Please submit a patch against the dictionaries git repository and ask for review either via Gerrit or via the LibreOffice Mailing List.
To set up the dictionaries submodule in your local copy of the core repository, one option is to add --with-myspell-dicts
to your autogen.input
, run ./autogen.sh
and make
a test build to check that everything works. You can then create a patch, test it and submit it. For more details (as well as alternative methods to handle submodules), see the dedicated pages on working with submodules and submitting a patch to Gerrit.
To update a dictionary, thesaurus, hyphenator and autocorrect, Proofing Tool GUI (PTG) is an easy-to-use Windows and Linux application that makes this process easy to do. You can find its user guide here.
To perform a correctness check on the files (dictionary, thesaurus, hyphenator, autocorrect, sentence and word exceptions) you can use Hunlinter, a Windows application that can also package all the files into a single .oxt and create a dictionary and a PoS FSA for Language Tool, and has many other tools.
If you do not know how to create the patch or if you have any other troubles, do not hesitate to ask on the LibreOffice Mailing List. Other developers will happily help you. After all, the hard job is to create the dictionary. It is easy to update the repository.
Extension Dictionaries
Dictionaries don't have to be bundled, in most cases an additional dictionary extension will suffice that can be published and made available for installation at the Extensions site. Best take a look at an existing extension dictionary and see the OpenOffice.org documentation for technical details that should still be applicable.
See also
- Detailed list of LibreOffice language support (e.g. translated user interface, writing aids and proofing tools, including LibreOffice extensions)