| .\" Copyright (C) 2001 Richard Braakman |
| .\" Copyright (C) 2004 Alastair McKinstry |
| .\" Copyright (C) 2005 Lars Wirzenius |
| .\" Copyright (C) 2014 Marko Myllynen |
| .\" |
| .\" SPDX-License-Identifier: GPL-2.0-or-later |
| .\" |
| .\" This manual page was initially written by Richard Braakman |
| .\" on behalf of the Debian GNU/Linux Project and anyone else |
| .\" who wants it. It was amended by Alastair McKinstry to |
| .\" explain new ISO/IEC 14652 elements, and amended further by |
| .\" Lars Wirzenius to document new functionality (as of GNU |
| .\" C library 2.3.5). |
| .\" |
| .TH localedef 1 (date) "Linux man-pages (unreleased)" |
| .SH NAME |
| localedef \- compile locale definition files |
| .SH SYNOPSIS |
| .SY localedef |
| .RI [ options ] |
| .I outputpath |
| .YS |
| .SY localedef |
| .B \-\-add\-to\-archive |
| .RI [ options ] |
| .I compiledpath |
| .YS |
| .SY localedef |
| .B \-\-delete\-from\-archive |
| .RI [ options ] |
| .IR localename " ..." |
| .YS |
| .SY localedef |
| .B \-\-list\-archive |
| .RI [ options ] |
| .YS |
| .SY localedef |
| .B \-\-help |
| .YS |
| .SY localedef |
| .B \-\-usage |
| .YS |
| .SY localedef |
| .B \-\-version |
| .YS |
| .SH DESCRIPTION |
| The |
| .B localedef |
| program reads the indicated |
| .I charmap |
| and |
| .I input |
| files, |
| compiles them to a binary form quickly usable by the |
| locale functions in the C library |
| .RB ( setlocale (3), |
| .BR localeconv (3), |
| etc.), |
| and places the output in |
| .IR outputpath . |
| .P |
| The |
| .I outputpath |
| argument is interpreted as follows: |
| .IP \[bu] 3 |
| If |
| .I outputpath |
| contains a slash character ('/'), |
| it is interpreted as the name of the |
| directory where the output definitions are to be stored. |
| In this case, |
| there is a separate output file for each locale category |
| .RI ( LC_TIME , |
| .IR LC_NUMERIC , |
| and so on). |
| .IP \[bu] |
| If the |
| .B \-\-no\-archive |
| option is used, |
| .I outputpath |
| is the name of a subdirectory in |
| .I /usr/lib/locale |
| where per-category compiled files are placed. |
| .IP \[bu] |
| Otherwise, |
| .I outputpath |
| is the name of a locale and the compiled locale data is added to the |
| archive file |
| .IR /usr/lib/locale/locale\-archive . |
| A locale archive is a memory-mapped file which contains all the |
| system-provided locales; |
| it is used by all localized programs when the environment variable |
| .B LOCPATH |
| is not set. |
| .P |
| In any case, |
| .B localedef |
| aborts if the directory in which it tries to write locale files has |
| not already been created. |
| .P |
| If no |
| .I charmapfile |
| is given, |
| the value |
| .I ANSI_X3.4\-1968 |
| (for ASCII) is used by default. |
| If no |
| .I inputfile |
| is given, |
| or if it is given as a dash |
| (\-), |
| .B localedef |
| reads from standard input. |
| .SH OPTIONS |
| .SS Operation-selection options |
| A few options direct |
| .B localedef |
| to do something other than compile locale definitions. |
| Only one of these options should be used at a time. |
| .TP |
| .B \-\-add\-to\-archive |
| Add the |
| .I compiledpath |
| directories to the locale archive file. |
| The directories should have been created by previous runs of |
| .BR localedef , |
| using |
| .BR \-\-no\-archive . |
| .TP |
| .B \-\-delete\-from\-archive |
| Delete the named locales from the locale archive file. |
| .TP |
| .B \-\-list\-archive |
| List the locales contained in the locale archive file. |
| .SS Other options |
| Some of the following options are sensible only for certain operations; |
| generally, |
| it should be self-evident which ones. |
| Notice that |
| .B \-f |
| and |
| .B \-c |
| are reversed from what you might expect; |
| that is, |
| .B \-f |
| is not the same as |
| .BR \-\-force . |
| .TP |
| .BI \-f " charmapfile" "\fR, \fP\-\-charmap=" charmapfile |
| Specify the file that defines the character set |
| that is used by the input file. |
| If |
| .I charmapfile |
| contains a slash character ('/'), |
| it is interpreted as the name of the character map. |
| Otherwise, |
| the file is sought in the current directory |
| and the default directory for character maps. |
| If the environment variable |
| .B I18NPATH |
| is set, |
| .I $I18NPATH/charmaps/ |
| and |
| .I $I18NPATH/ |
| are also searched after the current directory. |
| The default directory for character maps is printed by |
| .BR "localedef \-\-help" . |
| .TP |
| .BI \-i " inputfile" "\fR, \fP\-\-inputfile=" inputfile |
| Specify the locale definition file to compile. |
| The file is sought in the current directory |
| and the default directory for locale definition files. |
| If the environment variable |
| .B I18NPATH |
| is set, |
| .I $I18NPATH/locales/ |
| and |
| .I $I18NPATH |
| are also searched after the current directory. |
| The default directory for locale definition files is printed by |
| .BR "localedef \-\-help" . |
| .TP |
| .BI \-u " repertoirefile" "\fR, \fP\-\-repertoire\-map=" repertoirefile |
| Read mappings from symbolic names to Unicode code points from |
| .IR repertoirefile . |
| If |
| .I repertoirefile |
| contains a slash character ('/'), |
| it is interpreted as the pathname of the repertoire map. |
| Otherwise, |
| the file is sought in the current directory |
| and the default directory for repertoire maps. |
| If the environment variable |
| .B I18NPATH |
| is set, |
| .I $I18NPATH/repertoiremaps/ |
| and |
| .I $I18NPATH |
| are also searched after the current directory. |
| The default directory for repertoire maps is printed by |
| .BR "localedef \-\-help" . |
| .TP |
| .BI \-A " aliasfile" "\fR, \fP\-\-alias\-file=" aliasfile |
| Use |
| .I aliasfile |
| to look up aliases for locale names. |
| There is no default aliases file. |
| .TP |
| .B \-\-force |
| .TQ |
| .B \-c |
| Write the output files even if warnings were generated about the input |
| file. |
| .TP |
| .B \-\-verbose |
| .TQ |
| .B \-v |
| Generate extra warnings about errors that are normally ignored. |
| .TP |
| .B \-\-big\-endian |
| Generate big-endian output. |
| .TP |
| .B \-\-little\-endian |
| Generate little-endian output. |
| .TP |
| .B \-\-no\-archive |
| Do not use the locale archive file, |
| instead create |
| .I outputpath |
| as a subdirectory in the same directory as the locale archive file, |
| and create separate output files for locale categories in it. |
| This is helpful to prevent system locale archive updates from overwriting |
| custom locales created with |
| .BR localedef . |
| .TP |
| .B \-\-no\-hard\-links |
| Do not create hard links between installed locales. |
| .TP |
| .BI \-\-no\-warnings= warnings |
| Comma-separated list of warnings to disable. |
| Supported warnings are |
| .I ascii |
| and |
| .IR intcurrsym . |
| .TP |
| .B \-\-posix |
| Conform strictly to POSIX. |
| Implies |
| .BR \-\-verbose . |
| This option currently has no other effect. |
| POSIX conformance is assumed if the environment variable |
| .B POSIXLY_CORRECT |
| is set. |
| .TP |
| .BI \-\-prefix= pathname |
| Set the prefix to be prepended to the full archive pathname. |
| By default, |
| the prefix is empty. |
| Setting the prefix to |
| .IR foo , |
| the archive would be placed in |
| .IR foo/usr/lib/locale/locale\-archive . |
| .TP |
| .B \-\-quiet |
| Suppress all notifications and warnings, |
| and report only fatal errors. |
| .TP |
| .B \-\-replace |
| Replace a locale in the locale archive file. |
| Without this option, |
| if the locale is in the archive file already, |
| an error occurs. |
| .TP |
| .BI \-\-warnings= warnings |
| Comma-separated list of warnings to enable. |
| Supported warnings are |
| .I ascii |
| and |
| .IR intcurrsym . |
| .TP |
| .B \-\-help |
| .TQ |
| .B \-? |
| Print a usage summary and exit. |
| Also prints the default paths used by |
| .BR localedef . |
| .TP |
| .B \-\-usage |
| Print a short usage summary and exit. |
| .TP |
| .B \-\-version |
| .TQ |
| .B \-V |
| Print the version number, |
| license, |
| and disclaimer of warranty for |
| .BR localedef . |
| .SH EXIT STATUS |
| One of the following exit values can be returned by |
| .BR localedef : |
| .TP |
| .B 0 |
| Command completed successfully. |
| .TP |
| .B 1 |
| Warnings or errors occurred, |
| output files were written. |
| .TP |
| .B 4 |
| Errors encountered, |
| no output created. |
| .SH ENVIRONMENT |
| .TP |
| .B POSIXLY_CORRECT |
| The |
| .B \-\-posix |
| flag is assumed if this environment variable is set. |
| .TP |
| .B I18NPATH |
| A colon-separated list of search directories for files. |
| .SH FILES |
| .TP |
| .I /usr/share/i18n/charmaps |
| Usual default character map path. |
| .TP |
| .I /usr/share/i18n/locales |
| Usual default path for locale definition files. |
| .TP |
| .I /usr/share/i18n/repertoiremaps |
| Usual default repertoire map path. |
| .TP |
| .I /usr/lib/locale/locale\-archive |
| Usual default locale archive location. |
| .TP |
| .I /usr/lib/locale |
| Usual default path for compiled individual locale data files. |
| .TP |
| .I outputpath/LC_ADDRESS |
| An output file that contains information about formatting of |
| addresses and geography-related items. |
| .TP |
| .I outputpath/LC_COLLATE |
| An output file that contains information about the rules for comparing |
| strings. |
| .TP |
| .I outputpath/LC_CTYPE |
| An output file that contains information about character classes. |
| .TP |
| .I outputpath/LC_IDENTIFICATION |
| An output file that contains metadata about the locale. |
| .TP |
| .I outputpath/LC_MEASUREMENT |
| An output file that contains information about locale measurements |
| (metric versus US customary). |
| .TP |
| .I outputpath/LC_MESSAGES/SYS_LC_MESSAGES |
| An output file that contains information about the language messages |
| should be printed in, |
| and what an affirmative or negative answer looks like. |
| .TP |
| .I outputpath/LC_MONETARY |
| An output file that contains information about formatting of monetary |
| values. |
| .TP |
| .I outputpath/LC_NAME |
| An output file that contains information about salutations for persons. |
| .TP |
| .I outputpath/LC_NUMERIC |
| An output file that contains information about formatting of nonmonetary |
| numeric values. |
| .TP |
| .I outputpath/LC_PAPER |
| An output file that contains information about settings related to |
| standard paper size. |
| .TP |
| .I outputpath/LC_TELEPHONE |
| An output file that contains information about formats to be used with |
| telephone services. |
| .TP |
| .I outputpath/LC_TIME |
| An output file that contains information about formatting of data and |
| time values. |
| .SH STANDARDS |
| POSIX.1-2008. |
| .SH EXAMPLES |
| Compile the locale files for Finnish in the UTF\-8 character set |
| and add it to the default locale archive with the name |
| .BR fi_FI.UTF\-8 : |
| .P |
| .in +4n |
| .EX |
| localedef \-f UTF\-8 \-i fi_FI fi_FI.UTF\-8 |
| .EE |
| .in |
| .P |
| The next example does the same thing, |
| but generates files into the |
| .I fi_FI.UTF\-8 |
| directory which can then be used by programs when the environment |
| variable |
| .B LOCPATH |
| is set to the current directory (note that the last argument must |
| contain a slash): |
| .P |
| .in +4n |
| .EX |
| localedef \-f UTF\-8 \-i fi_FI ./fi_FI.UTF\-8 |
| .EE |
| .in |
| .SH SEE ALSO |
| .BR locale (1), |
| .BR charmap (5), |
| .BR locale (5), |
| .BR repertoiremap (5), |
| .BR locale (7) |