Content-type: text/html Man page of localectr


Section: System Administration Commands (1M)
Updated: 7 Sep 2007
Index Return to Main Contents


localectr - customize and build new locales  



/usr/bin/localectr -l locale1,locale2... [-d destination_path]
    [-c compiler_path] [-r 0 | 1 | 2] [-i pkginfo_template]
    [-p pkgname_prefix]

/usr/bin/localectr -h

/usr/bin/localectr -q

/usr/bin/localectr -V



The localectr utility allows new locales to be customized and built. The output of localectr is an installable package containing the compiled shared object binary which contains the locale data information as well as a number of other supporting files that are required to have a fully working locale on the system.

Once generated, the package can be added to the system by using the pkgadd(1M) command and removed with pkgrm(1M).

Depending on your default system login, you might have to reset your user environment after you add a locale. If dtlogin(1X) (for the CDE user environment) is the default system login, you need to restart dtlogin. No action is required if gdm(1) (for the Gnome user environment) is the default login.

There are two interfaces to localectr, command line (CLI) and graphical user interface (GUI). To customize the locale data, you must use the GUI. To create locales with standard locale data according to Unicode's Common Locale Data Repository (CLDR), the CLI is sufficient.

With the CLI it is also possible to generate several locales in a single step, with a separate package being generated for each locale. With the GUI, a single locale is processed at a time.

To launch the GUI, run the localectr command with no options. To run from the CLI, use the appropriate options as described below.

localectr uses the localedef(1) utility to build the locale data binary shared object. Therefore, access to a C compiler is required in order to run localectr successfully, as this is also required by localedef.

localectr is mainly concerned with locale data. However, in order to create a fully working locale on the system with localectr, many features, such as fonts, translations and input methods, are also required. Depending on what locales are already installed on the system, the relevant features might or might not be present on the system. If they are not present, then localeadm(1M) should be used to add the relevant packages before adding packages created by localectr. localectr bundles locale data for the latest set of locales available in Unicode's CLDR. A user can also create a locale not available in CLDR by supplying her own data in the localectr GUI.  


The following options are supported:

-c compiler_path

Specify the path to the C compiler that is used to compile the locale data into a shared object binary. Not required if the compiler is already in the user's PATH.

-d destination_path

Specify the path to the directory where the created package is to be stored.


Displays the usage message.

-i template_file

The full path to user defined pkginfo(4) template file.

-l locale1,locale2...

Specify a comma-separated list of locale(s) to generate. Locale names are in the form: locale.codeset@variant, where codeset and variant are optional. The default and only allowed codeset is UTF-8. The default variant is localectr.


The package name prefix


Queries localectr for a complete list of locales for which locale data is defined in localectr. When localectr is run from the CLI, the locale(s) specified with the -l option must be on this list in order for an installable locale package to be generated.


Specify the range of Unicode characters for which locale data rules in the LC_CTYPE and LC_COLLATE categories are to be generated. There are three valid options:


Locale data rules are restricted to the exemplar or to commonly used characters of the locale in question.


Locale data rules are restricted to the Unicode plane 0 characters, whose codepoints fall in the range u0000-uFFFF.


Locale data rules are generated for all codepoints defined in the latest version of Unicode that is supported by the system on which localectr is being run.


Shows the version of this software.



Example 1 Launching the GUI

The following example launches the localectr GUI.

example% localectr

Example 2 Generating Locale for Afrikaans (South Africa) with Default Locale Data

The following example generates a package in the specified destination directory, which can be used to install the Afrikaans (af_ZA.UTF-8) locale on the system. The package name is composed of a prefix followed by the hyphen separated ISO-639 language code, the ISO-3166 country code, the locale encoding and an optional user-defined tag. The resulting package can then be added to the system using pkgadd(1M).

example% localectr -l af_ZA -d /tmp

Example 3 Generating Several South Africa Locales with Full Unicode Range of Characters

The following example generates an installable package for each of the specified locales.

 example% localectr -l af_ZA,en_ZA,xh_ZA,zu_ZA -d /tmp -r 2

Example 4 Generating the Irish Locale with a User-Specified Tag

The following example will generate a locale whose full name is ga_IE.UTF-8@mycompanyname.

example% localectr -l ga_IE@mycompanyname -d /tmp



The following exit codes are returned:


Successful completion


An error occurred.




Wrapper script that launches locale creator.


Jar files, scripts, and locale data repository needed to run the application.



See attributes(5) for descriptions of the following attributes:



Interface Stability

Interface stability is Committed for command-line options and is Uncommitted for other interfaces.  


locale(1), localedef(1), localeadm(1M), pkgadd(1M), pkgrm(1M), pkginfo(4), attributes(5)

dtlogin(1X), gdm(1)(these are not SunOS man pages)

International Language Environments Guide




This document was created by man2html, using the manual pages.
Time: 02:37:10 GMT, October 02, 2010