An Enabling Standards Layer Cake for L10N

What is a "Layer Cake"?

The Semantic Web's "Enabling Standards Layer Cake" refers to the simple visual model used to show the dependency associations of the family of technology standards that comprise the semantic web. The image is also a roadmap where each layer is a progress milestone in the realization of the complete semantic web. The model is not intended to be an engineering reference, but is useful in illustrating at a glance the relationships between technical areas for an audience that may be new to and unfamiliar with the field. Appendix A provides some samples of the semantic web Enabling Standards Layer Cake as it has evolved over the years.

Why have a localization layer cake?

Like the semantic web, localization exists as a collection of various standards and software resources. The associations and dependencies of which are not immediately obvious to a person new to the field. The layer cake illustration offers a representative mental picture that they may refer to when considering the various facets of localization.

The Layers

The layers of a localization layer cake would represent the open standards and resources that make a fully internationalized and thus localizable application possible. To keep the model simple, the number of layers is kept to a minimum and a single layer may encompass several related standards.

Unicode:
The encoding system that underlies all character representation in a localized resource.
ISO:
The collection of standards that codify locale identification and locale entities. Specifically ISO-639, ISO-3166, ISO-4217 and ISO-15924 which along with ISO-10646 (most widely known via Unicode) form a "localization family" of standards. The ISO standards are low-level and do not have a direct dependency on Unicode encoding and so are positioned at the same level.
LDML:
The Locale Data Markup Language, the XML schema for encapsulating locale data. LDML relies on the ISO standards for identifying data and uses Unicode for the encoding of data.
CLDR:
The Common Locale Data Repository provides the language and region specific conventions for formatting dates, times, currencies and numbers along with translations of the ISO identifier referents. CLDR data is provided in the form of LDML document instances.
UCD:
The Unicode Character Database defines character properties such as symbol type (letter, number, punctuation), case mappings, directionality, etc. The UCD layer depends on Unicode and is utilized by ICU.
Logical:
The logical layer is the level where character and locale information processing occur for use by application. Here APIs and algorithms reside for accessing the locale data of CLDR, as well as for services such as calendar conversions and character normalization.
Presentation:
The presentation layer is where multilingual lay out is defined and processed such that the text appears visually natural as per viewer expectations.
Fonts:
The font and other vertical layers have a dependency on Unicode but not the other horizontal layers though may interact with the logical and presentation layers as coordinated by localized application.
Input Methods:
The Input Method layer has both Unicode and ISO dependencies. Input methods assume the presence of fonts to be useful, but only depend on a fonts underlying encoding.
Vocabulary:
The application vocabulary layer also has Unicode and ISO dependencies and require an input method for terminology composition as well as fonts for the display of terms.

The Cake (Draft 2006/11/12)


A shadowless version of the above image, and the PowerPoint sources of the images.

Enhancing the Cake

Improvements can be made upon the model but additional detail should not be added at the loss to its simplicity. Also, the layer cake has a Unicode/OpenI18N slant to it and tries to avoid referencing proprietary systems. Some considerations for enhancement are:

Any and all comments and feedback are welcome, please send to .


Appendix A: Reference Layer Cakes

The Semantic Web Enabling Standards Layer Cake - 2006


http://www.w3.org/2006/Talks/0718-aaai-tbl/Overview.html#(14)

The Semantic Web Enabling Standards Layer Cake - 2004


http://en.wikipedia.org/wiki/Semantic_Web

The Semantic Web Enabling Standards Layer Cake - 2001


http://www.w3.org/2001/09/06-ecdl/slide17-0.html