[illumos-Developer] HEADS UP: locale data pushed

Garrett D'Amore garrett at damore.org
Fri Oct 8 13:26:53 PDT 2010


With this push:

        8 libc locale work needs updated license files
        223 libc needs multibyte locale support for collation
        225 libc locale binary files should be in native byte order
        309 populate initial locales for illumos

illumos has gained base support for some 157 different locales, spanning
67 languages and 116 different territories.  This includes nearly all
the major languages of the world -- missing are Serbian, Javanese,
Farsi, Malaysian, Burmese, and some languages spoken in central and west
Africa.  (Some of these will be very easy for someone else to add... let
me know if you want one of these and are willing to do the work.)

The support for these locales includes full POSIX compliant collating
support, which was completely absent in illumos before this integration.

HOWEVER: in order to make use of these locales, you will need to take
some additional action, because the locale packages are INCOMPATIBLE
with the data that was originally shipped by Oracle as part of the g11n
consolidation.  This was unavoidable.

If you are running an OpenSolaris type distro (OpenIndiana, or onu'd
from OpenSolaris itself) then you must first remove the conflicting
locale data:

	pkg uninstall -r system/locale
	pkg uninstall system/install/locale

At this point, the only functional locale will be C.

Then you may install new locale(s).  You can do so using the two letter
ISO 639 code for the locale, using the form "pkg:/locale/XX" where XX is
the code.  For example, to install the UTF-8 locale for Japanese:

	pkg install pkg:/locale/ja

(Note, Chinese users must use one of the following instead of "zh":
"zh_cn", "zh_tw", "zh_hk", or "zh_mo", for PRC, ROC, Hong Kong, or
Macau.)

The new locales in this form must be referenced using their full names.
For example, I am in "en_US.UTF-8".

Some locales have non-UTF-8 encodings available, but the list is rather
limited.  For example, ISO8859-15 is available for most locales using
the Euro (e.g. de_DE.ISO8859-15).  To access these locales, you have to
install a package of the form "pkg:/locale/XX-extra". 

Note that localedef(1) itself is now included, so its possible to create
new locales using POSIX style localedef input files.   If you want to do
this, and its not clear how to do so, please let me know.

Other notes: this is only the base support for these locales.  This will
for example give localized output from "date".  There is quite a lot of
additional effort required to fully localize illumos to a locale,
including support for input methods, fonts, and message catalogs for all
the various applications.  However, with this base support, it makes
doing that other work much more practical.

Its my belief that with this integration, one of the biggest feature
gaps between illumos and Solaris is closed.

	-- Garrett




More information about the Developer mailing list