|Skip Navigation Links|
|Exit Print View|
|Transitioning From Oracle Solaris 10 to Oracle Solaris 11 Oracle Solaris 11 Information Library|
Oracle Solaris 11 introduces the following important internationalization and localization changes:
Language and locale support – Oracle Solaris now supports over 200 locales. By default, only a core set of locales is installed on the system.
Core locales are a set of locales that support the following languages:
Chinese – Simplified (zh_CN.UTF-8)
Chinese – Traditional (zh_TW.UTF-8)
Portuguese – Brazilian (pt_BR.UTF-8)
Other notable locale changes in this release include the addition of the Portuguese – Brazilian locale and the removal of the Swedish locale.
Core locales typically provide better support at the level of localized messages than the locales that are available for additional installation. Specific Oracle Solaris components, such as the installers or Package Manager, are localized for core locales only. Note that localized messages for third-party software, for example GNOME and Firefox, include additional locales.
Language and locale packaging – The locale facet mechanism replaces the localeadm command in Oracle Solaris 11. In Oracle Solaris 10, optional package components, such as documentation, localization, or debug files are split into separate packages. In Oracle Solaris 11, IPS enables you to store these various package components in the same package by using special tags that are called facets. Facets simplify the packaging process, as well as minimize disk space usage. Locale facets are used to mark files or actions that are language or locale-specific.
Display the status of the facets on a system as follows:
$ pkg facet
The following example shows how to install the Danish locale and any available translations:
# pkg change-facet facet.locale.da=True # pkg change-facet facet.locale.da_DK=True
Note - Non-UTF-8 locales, such as da_DK.ISO8859-1 , are packaged separately. To enable these locales, install the system/locale/extra package.
Setting a system's default locale – In Oracle Solaris 10, the default system locale is configured in /etc/default/init. In Oracle Solaris 11, this file is obsoleted, and the configuration has moved to the corresponding properties of the svc:/system/environment:init SMF service. See Locale and Time Zone Configuration Changes.
Short form locales – Solaris 10 supports a number of short form locale names that do not follow the language_country.encoding[ @modifier] format, for example, ja,de, de_AT, and so on. These locales are not supported in Oracle Solaris 11. For more information, see the end-of-feature announcements at http://www.oracle.com/technetwork/systems/end-of-notices/eonsolaris11-392732.html.
Locale aliasing – Locale aliases are new in Oracle Solaris 11. Locale name aliases are accepted and mapped to the corresponding canonical locale names. For example, the de locale is mapped to the canonical locale de_DE.ISO8859-1. For all of the locale name mappings, see locale_alias(5).
Keyboard layout setting for the console – In Oracle Solaris 11, the keyboard layout setting for the console has migrated to SMF. To change the keyboard layout in the console, modify the keymap/layout property of the system/keymap:default SMF service. The following example shows how to set the UK-English layout for the console.
# svccfg -s keymap:default setprop keymap/layout = UK-English # svcadm refresh keymap # svcadm restart keymap
Note - The keyboard layout in the graphical interface is set separately.
Locale and time zone configuration is set in the /etc/default/init file in Oracle Solaris 10. In Oracle Solaris 11, this configuration is managed through SMF service properties.
For example, to change the default system locale to fr_FR.UTF-8, you would configure the SMF service property as follows:
# svccfg -s svc:/system/environment:init \ setprop environment/LANG = astring: fr_FR.UTF-8 # svcadm refresh svc:/system/environment
The service must be refreshed for changes to take affect.
For the time zone setting, make sure the TZ in the /etc/default/init file is set to localtime.
grep TZ /etc/default/init TZ=localtime
Then, set the time zone SMF property to the required time zone.
# svccfg -s timezone:default setprop timezone/localtime= astring: US/Mountain # svcadm refresh timezone:default
For other date and time configuration changes in this release, see Configuring Date and Time Before and After an Installation.