Language tools

Language tools are tools available to the development of a language. For every conlangs to be a successful one, they must be used by somebody. At least, you shall be one of its users. To make a language usable, you need to able to write, type and speak the language so that others can read, listen and learn your language. Below are listed some language tools that you may need.

Dictionary
There is a wiki designed for storing words, Contionary

Very suitable program in development to create dictionaries http://www.spinnoff.com/zbb/viewtopic.php?t=30786&start=0

Another dictionary program is the Freelang Dictionary. Freelang already being an established system, provides multiple downloadable dictionaries from it web site, as well as the option to make your own dictionaries. Downloading a foreign dictionary-file requires a bit of hacking, but is not to hard as all you need is add the new dictionary to the dict.ini-file.

WeSay is a dictionary building and editing tool designed to be easy to use. It supports custom parts of speech, complex fonts, and can export to OpenOffice, HTML, Toolbox and FieldWorks.

Conlanger's Dictionary is a free simple online tool to store your lexicon viewable anywhere. It can export to pdf, csv, html and richtext format. Supports part of speech, genders, classes, x-sampa transcriptions, declension fields, etymology fields and extra notes.

Keyboard
For others to type your language, you need to let them type. It is OK to look for funny characters by scanning through the special characters in Microsoft Word, but it is not wise to do so if you need to type a letter. Often, tools provided by OS (e.g. Microsoft Keyboard Layout Creator) or third-party tools (e.g. Keyman) allows you to create customized keyboard for your language, provided that you assign a language code to it. You can use any of the language available on the system that you will never use for your language.

Spellchecker
Spellchecker is a software to check the spelling in a certain language. There are many open source spell checking software available.


 * aspell: most available and with the most documentation (User manual of GNU aspell).
 * ispell: more robust but less common
 * hunspell: used by major open source applications like OpenOffice.org, Mozilla Firefox, etc.

In fact, if you are using Mozilla Firefox, you can maintain a list of vocabulary and let Firefox to do spellcheck with your language when you are editing your article in your language. For example, Babyish has got its own spellcheck for Firefox. You may try to download it and modify for your own language. The framework is similar. In fact, the XPI file is just a zip file. With some appropriate editing to your Linux systems, you can apply your spellchecker to OpenOffice as well, though the work to do will not be as easy as it is on Firefox.

Building your vocabulary
Before you make your spellchecker, you need to have a list of vocabulary set and the corresponding morphological rules to combine with prefices and suffices. You may need special software to analyse your vocabulary set in order to determine the morphological rules. Field Linguists' Toolbox from SIL International is one of such tool.

To put or not to put?
Sometimes words are formed by either adding affices or by the combination of two or more basic components. In that case, the new word will be put into the vocabulary set if there are new meanings assigned to the newly formed word.


 * e.g. serial --> + -ize = serialize --> + -ation = serialization,
 * such words will usually not added to the vocabulary set, as no extra meanings are added to the stem word.
 * e.g. compute --> + -er = computer,
 * this new word need to add to vocabulary set, as the meaning of "computer" differ from the original meaning of "compute".

Hyphenation
If your vocabulary set contains many long words, you may need to think about hyphenation rules. After that, you may need to implement such rules for your spellchecker or editor.

Other

 * LingoJam: Lets you easily create an online translator for your language.
 * zompist: resources for language construction