From Fedora Project Wiki

Revision as of 11:09, 10 July 2008 by Rbhalera (talk | contribs)

Minimum Criteria For Language Support (I18N)

Support in Unicode

Languages may have one or more scripts for writing purpose. Atleast one of such scripts should be encoded in Unicode.

Locale Definition in glibc

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

A Unicode Font

Atleast one font that covers the Unicode range for the given script (of the language) which is usable must be present.

Shaping Engine

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

Note 1

A usable font can be regarded as the one that works with or without shaping engine to provide maximum coverage for the language's writing system. Shaping engine and font may have few bugs considered together, but most of the basic script mechanism should be supported. If there is a doubt about this criteria, final verdict about a font support may be given by the users of the language.

Input Method

There should be at least one simple method for inputing text in the given language. As SCIM is the current default input method, there should be support for the language in SCIM, preferably at least one m17n keymap and any additional processing (modules) required for the language specific features.

Entry in comps

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

Entry in system-config-languages

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


Note 2

These criteria are only meant for i18n support. This does not ensures the complete translation or l10n support for a given language.


Note 3

These are only minimum criteria. Thus there may be any more number of i18n/l10n packages that can be present in the given distro. E.g. additional fonts, multiple input methods and keymaps, various dictionaries and as many language packs as possible.