Writing systems

Many languages are written with multiple scripts. Often this is possible but lacks support in the software, and sometimes it is difficult if not impossible to implement. Some languages do have a LanguageConverter that adds support for multiple writing systems.

LanguageConverter
LanguageConverter is a system based on language variants that automatically converts the content of a page into a different variant. A variant is mostly the same language in a different script.

19044 -- placeholder page for when someone wants to document LanguageConverter more thoroughly!

It is implemented for the following languages (as of August 2011):
 * Chinese (zh): Simplified (zh-hans), Traditional (zh-hant), zh-cn, zh-tw, zh-hk, zh-mo, zh-sg, zh-my
 * Gan (gan): Simplified (gan-hans), Traditional (gan-hant)
 * Inuktitut (iu): Latin (ike-latn), Syllabics (ike-cans) [since 1.18]
 * Kazakh (kk): Cyrillic (kk-cyrl), Latin (kk-latn), Arabic (kk-arab)
 * Kurdish (ku): Latin (ku-latn), Arabic (ku-arab)
 * Serbian (sr): Cyrillic (sr-ec), Latin (sr-el)
 * Tajiki (tg): Cyrillic (tg-cyrl), Latin (tg-latn)

And it is needed for many more languages!

Language code tags for scripts should follow the ISO 15924 standard.

A current limitation of this system is that it may be particularly bad at dealing with multiple writing systems based on the same underlying script.

Directionality
Most writing systems operate as characters written left-to-right (LTR), with lines stacked from top-to-bottom (TtB).

A few common scripts (Arabic and Hebrew in particular) write characters right-to-left (RTL) -- see directionality support for more detail on how we handle right-to-left and mixed bidirectional text with HTML output and CSS styles.

Note that an individual language can be used with scripts that have different directionalities, such as Kazakh and Kurdish which support Latin and Arabic variants.