Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
LOCALEDEF(1)		FreeBSD	General	Commands Manual		  LOCALEDEF(1)

     localedef -- define locale	environment

     localedef [-bcDlUv] [-f charmap] [-i sourcefile] [-u codeset]
	       [-w widthfile] localename

     The localedef utility converts source definitions for locale categories
     into a format usable by the functions and utilities whose operational
     behavior is determined by the setting of the locale environment vari-
     ables; see	environ(7).

     The utility reads source definitions for one or more locale categories
     belonging to the same locale from the file	named in the -i	option (if
     specified)	or from	standard input.

     Each category source definition is	identified by the corresponding	envi-
     ronment variable name and terminated by an	END category-name statement.
     The following categories are supported:

     LC_CTYPE	  Defines character classification and case conversion.

     LC_COLLATE	  Defines collation rules.

     LC_MONETARY  Defines the format and symbols used in formatting of mone-
		  tary information.

     LC_NUMERIC	  Defines the decimal delimiter, grouping and grouping symbol
		  for non-monetary numeric editing.

     LC_TIME	  Defines the format and content of date and time information.

     LC_MESSAGES  Defines the format and values	of affirmative and negative

     The following options are supported:

     -b	     Use big-endian byte order for output.

     -c	     Creates permanent output even if warning messages have been

     -D	     BSD-style output.	Rather than the	default	of creating the
	     localename	directory and creating files like LC_CTYPE,
	     LC_COLLATE, etc. in that directory, the output file names have
	     the format	``<localename>.<category>'' and	are dumped to the cur-
	     rent directory.

     -f	charmap
	     Specifies the pathname of a file containing a mapping of charac-
	     ter symbols and collating element symbols to actual character
	     encodings.	 This option must be specified if symbolic names
	     (other than collating symbols defined in a	collating-symbol key-
	     word) are used.  If the -f	option is not present, the default
	     character mapping will be used.

     -i	sourcefile
	     The path name of a	file containing	the source definitions.	 If
	     this option is not	present, source	definitions will be read from
	     standard input.

     -l	     Use little-endian byte order for output.

     -u	codeset
	     Specifies the name	of a codeset used as the target	mapping	of
	     character symbols and collating element symbols whose encoding
	     values are	defined	in terms of the	ISO/IEC	10646-1:2000 standard
	     position constant values.	See NOTES.

     -U	     Ignore the	presence of character symbols that have	no matching
	     character definition.  This facilitates the use of	a common
	     locale definition file to be used across multiple encodings, even
	     when some symbols are not present in a given encoding.

     -v	     Emit verbose debugging output on standard output.

     -w	widthfile
	     The path name of the file containing character screen width defi-
	     nitions.  If not supplied,	then default screen widths will	be
	     assumed, which will generally not account for East	Asian encod-
	     ings requiring more than a	single character cell to display, nor
	     for combining or accent marks that	occupy no additional screen

     The following operands are	required:

     localename	 Identifies the	locale.	 If the	name contains one or more
		 slash characters, localename will be interpreted as a path
		 name where the	created	locale definitions will	be stored.
		 This capability may be	restricted to users with appropriate
		 privileges.  (As a consequence	of specifying one localename,
		 although several categories can be processed in one execu-
		 tion, only categories belonging to the	same locale can	be

     localedef creates a directory of files that represents the	locale's data,
     unless instructed otherwise by the	-D (- BSD output) option.  The con-
     tants of this directory should generally be copied	into the appropriate
     subdirectory of /usr/share/locale in order	the definitions	to be visible
     to	programs linked	with libc.

     See environ(7) for	definitions of the following environment variables
     that affect the execution of localedef: LANG, LC_ALL, LC_COLLATE,

     The following exit	values are returned:

     0	 No errors occurred and	the locales were successfully created.

     1	 Warnings occurred and the locales were	successfully created.

     2	 The locale specification exceeded implementation limits or the	coded
	 character set or sets used were not supported by the implementation,
	 and no	locale was created.

     >3	 Warnings or errors occurred and no output was created.

     If	an error is detected, no permanent output will be created.

     locale(1),	iconv_open(3), nl_langinfo(3), strftime(3), environ(7)

     If	warnings occur,	permanent output will be created if the	-c option was
     specified.	 The following conditions will cause warning messages to be

     +o	 If a symbolic name not	found in the charmap file is used for the
	 descriptions of the LC_CTYPE or LC_COLLATE categories (for other cat-
	 egories, this will be an error	condition).

     +o	 If optional keywords not supported by the implementation are present
	 in the	source.

     When the -u option	is used, the codeset option-argument is	interpreted as
     a name of a codeset to which the ISO/IEC 10646-1:2000 standard position
     constant values are converted.  Both the ISO/IEC 10646-1:2000 standard
     position constant values and other	formats	(decimal, hexadecimal, or
     octal) are	valid as encoding values within	the charmap file.  The codeset
     can be any	codeset	that is	supported by the iconv_open(3) function.

     When conflicts occur between the charmap specification of codeset,
     mb_cur_max, or mb_cur_min and the corresponding value for the codeset
     represented by the	-u option-argument codeset, the	localedef utility
     fails with	an error.

     When conflicts occur between the charmap encoding values specified	for
     symbolic names of characters of the portable character set	and the	char-
     acter encoding values defined by the US-ASCII, the	result is unspecified.

     localedef first appeared in FreeBSD 11.

     It	was written by Garrett D'Amore <> for Illumos.
     John Marino <> provided the	alternations necessary to com-
     pile cleanly on DragonFly.	 Baptiste Daroussin <> ported
     it	to FreeBSD and converted it to tree(3).

FreeBSD	Ports 11.2	       October 18, 2018		    FreeBSD Ports 11.2


Want to link to this manual page? Use this URL:

home | help