From Fedora Project Wiki
No edit summary
(22 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{admon/note|Draft|This page is still a draft and needs to be reviewed and improved.}}
== Minimum Criteria For Language Support (I18N) ==
== Minimum Criteria For Language Support (I18N) ==


==== Support in Unicode ====
==== Support in Unicode ====
Languages may have one or more scripts for writing purpose. Atleast one of such scripts should be encoded 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 ====
==== 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 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 [[/Missing fontconfig|here]] for languages with groups in [[PackageMaintainers/CompsXml|comps]] that currently miss this.)


==== A Unicode Font ====
==== A Unicode Font ====
Atleast one font that covers the Unicode range for the given script (of the language) which is ''usable'' must be present.{{:Fonts_SIG_signature}}
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.  
{{:Fonts_SIG_signature}}


==== Shaping Engine ====
==== Shaping Engine ====
Line 20: Line 25:


==== Input Method ====
==== 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.
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 comps ====
==== Entry in anaconda ====
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.  
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 ====
==== Entry in system-config-languages ====
User should be able to select the given language from system-config-languages utility.
User should be able to select the given language from the system-config-language utility.




Line 32: Line 40:
|-
|-
| '''Note 2'''  
| '''Note 2'''  
These criteria are only meant for i18n support. This does not ensures the complete translation or l10n support for a given language.
These criteria are only meant for i18n support. This does not ensure the complete translation or l10n support for a given language.
|}
|}


Line 39: Line 47:
|-
|-
| '''Note 3 '''
| '''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.
These are only ''minimum'' criteria. Thus there may be more i18n/l10n packages present in the given distro. E.g. additional fonts, multiple input methods and keymaps, various dictionaries and as many language packs as possible.
|}
|}



Revision as of 02:46, 20 January 2010

Note.png
Draft
This page is still a draft and needs to be reviewed and improved.

Minimum Criteria For Language Support (I18N)

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.


Idea.png
Fonts in Fedora
The Fonts SIG takes loving care of Fedora fonts. Please join this special interest group if you are interested in creating, improving, packaging, or just suggesting a font. Any help will be appreciated.

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


Note 2

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


Note 3

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