Creating resources for a currently unsupported language

This is basically just a list of things culled from the above linked questions.

Basics

For any new language you'll need to create a "language definition file". If you're going to use LaTeX or similar, this should work with babel. If you're using XeLaTeX or similar, this is handled by polyglossia. (Source)

Hyphenation

You will need to tell TeX how to hyphenate words in your language. This TUGboat article and this tutorial on CTAN should help. You could then send the generated hyphenation patterns to TUG for inclusion in TeXlive. (Information from this question)

Chapter/Section words

*TeX will also need to know what to do with commands like \chapter. That is, you need to tell it how to say "Chapter" in your language. Specifically, you need to tell *TeX what to do with the \chaptername macro. This information, again, should be in the language definition file. (Source)

Punctuation rules

If your language has punctuation rules that differ from the standard ("American") ones, then these should be specified. You may want to look at adding support for your language to the csquotes package if it differs from those languages already defined.

Bibliographies

If you use BibLaTeX, you will have to define plenty of macros for "Editor", "Translator" and the like, as well as making the citation styles conform to your standards.

New alphabet support

To use a different alphabet, the easiest way is almost certainly XeLaTeX or LuaLaTeX which will allow you to use any font files installed on your system. Basic information in this answer, more detailed information in the XeTeX companion and the fontspec manual.


As of 2018 you can add basic support with babel easily:

  • Create an ldf file with the help of this page: http://www.texnia.com/incubator.html. You can then distribute it if you want.
  • Create an ini file taking any babel-xx.ini as a model. Then send it to me, but note there are ini files for about 200 languages, so very likely all you need is to improve the existing ones.

Tags:

Languages