Jump to content

Development/Dictionaries

From The Document Foundation Wiki
This page contains changes which are not marked for translation.

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) Karl Zeiler; de-AT frami, de-CH frami, de-DE frami
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] Marco A.G.Pinto (fork) Proofing Tool GUI
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 github.com/spellcheck-ko/hunspell-dict-ko
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 [1]
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)