| .\" Copyright (C) 2001 Richard Braakman |
| .\" Copyright (C) 2004 Alastair McKinstry |
| .\" Copyright (C) 2005 Lars Wirzenius |
| .\" Copyright (C) 2014 Marko Myllynen |
| .\" |
| .\" %%%LICENSE_START(GPLv2+_DOC_FULL) |
| .\" This is free documentation; you can redistribute it and/or |
| .\" modify it under the terms of the GNU General Public License as |
| .\" published by the Free Software Foundation; either version 2 of |
| .\" the License, or (at your option) any later version. |
| .\" |
| .\" The GNU General Public License's references to "object code" |
| .\" and "executables" are to be interpreted as the output of any |
| .\" document formatting or typesetting system, including |
| .\" intermediate and printed output. |
| .\" |
| .\" This manual is distributed in the hope that it will be useful, |
| .\" but WITHOUT ANY WARRANTY; without even the implied warranty of |
| .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| .\" GNU General Public License for more details. |
| .\" |
| .\" You should have received a copy of the GNU General Public |
| .\" License along with this manual; if not, see |
| .\" <http://www.gnu.org/licenses/>. |
| .\" %%%LICENSE_END |
| .\" |
| .\" 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 14652 elements, and amended further by |
| .\" Lars Wirzenius to document new functionality (as of GNU |
| .\" C library 2.3.5). |
| .\" |
| .TH LOCALEDEF 1 2021-03-22 "Linux" "Linux User Manual" |
| .SH NAME |
| localedef \- compile locale definition files |
| .SH SYNOPSIS |
| .ad l |
| .nh |
| .B localedef |
| .RI [ options ] |
| .I outputpath |
| .br |
| .B "localedef \-\-add\-to\-archive" |
| .RI [ options ] |
| .I compiledpath |
| .br |
| .B "localedef \-\-delete\-from\-archive" |
| .RI [ options ] |
| .IR localename " ..." |
| .br |
| .B "localedef \-\-list\-archive" |
| .RI [ options ] |
| .br |
| .B "localedef \-\-help" |
| .br |
| .B "localedef \-\-usage" |
| .br |
| .B "localedef \-\-version" |
| .ad b |
| .hy |
| .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 . |
| .PP |
| The |
| .I outputpath |
| argument is interpreted as follows: |
| .IP * 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 * |
| 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 * |
| 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. |
| .PP |
| In any case, |
| .B localedef |
| aborts if the directory in which it tries to write locale files has |
| not already been created. |
| .PP |
| 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 |
| .BR \-c ", " \-\-force |
| Write the output files even if warnings were generated about the input |
| file. |
| .TP |
| .BR \-v ", " \-\-verbose |
| 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 |
| .BR \-? ", " \-\-help |
| 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 |
| .BR \-V ", " \-\-version |
| 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 CONFORMING TO |
| 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 : |
| .PP |
| .in +4n |
| .EX |
| localedef \-f UTF\-8 \-i fi_FI fi_FI.UTF\-8 |
| .EE |
| .in |
| .PP |
| 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): |
| .PP |
| .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) |