I18N/LanguageSupportCriteria

Support in Unicode
Languages may have one or more scripts for writing purpose. At least one of the scripts should be encoded in Unicode.

Locale Definition in glibc
A complete locale file for the language has to be present in glibc and installed at /usr/share/i18n/locales/.

Orthography Definition in fontconfig
An orthography file for the language has to be created for fontconfig and included in the fontconfig package. (Check here for languages with groups in comps that currently miss this.)

A Unicode Font
At least one usable font that covers the Unicode range for the given script (of the language) must be present. To find installed fonts that fontconfig thinks support a language, try "fc-list :lang=xx_YY" where xx_YY is replaced by the language locale codes.

Shaping Engine
Shaping engines (e.g. Pango, Qt, ICU etc.) should support the script grammar for the script of given language (at least Pango).

Input Method
There should be at least one simple method for inputting text in the given language. If direct input with xkb is not possible, as iBus is the current default input method system, there should be support for the language in iBus: for simple input maps preferably at least one m17n keymap and any additional processing (modules) required for the language specific features.

comps group
The comps file for a given distro needs to have a group for the language support which lists all the necessary packages to be included that satisfy at least the Font and Input Methods requirements.

Entry in anaconda
The language needs to be added to anaconda's lang-table file in tabbed format. Once a language name is added in the lang-table file and new package is built, we can use anaconda in that language. This requires the language should have translations added to the anaconda source.

Entry in system-config-languages
User should be able to select the given language from the system-config-language utility.