Development/Dictionaries

    From The Document Foundation Wiki

    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)