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 the user. To make a language usable, you need to able to write, type and speak the language that others can read, listen and learn your language. Belows listed some language tools that you may need.

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.

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 add 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.