~ruther/guix-local

b26365186045530eadb5027087a37ca1a440aee9 — Ludovic Courtès 10 years ago 3d20ebd
doc: Mention the "normalized codeset" used in locale names.

* doc/guix.texi (Locales): Introduce "codeset".
  <%default-locale-definitions>: Mention the "normalized codeset", with
  an xref to libc's manual.
* gnu/system/locale.scm (%default-locale-definitions)[utf8-locale]:
  Mention the "normalized codeset" in a comment.
2 files changed, 13 insertions(+), 3 deletions(-)

M doc/guix.texi
M gnu/system/locale.scm
M doc/guix.texi => doc/guix.texi +11 -3
@@ 5477,7 5477,7 @@ special-case and is automatically added whether or not it is specified.
A @dfn{locale} defines cultural conventions for a particular language
and region of the world (@pxref{Locales,,, libc, The GNU C Library
Reference Manual}).  Each locale has a name that typically has the form
@code{@var{language}_@var{territory}.@var{charset}}---e.g.,
@code{@var{language}_@var{territory}.@var{codeset}}---e.g.,
@code{fr_LU.utf8} designates the locale for the French language, with
cultural conventions from Luxembourg, and using the UTF-8 encoding.



@@ 5538,9 5538,17 @@ IANA}.
@end deftp

@defvr {Scheme Variable} %default-locale-definitions
An arbitrary list of commonly used locales, used as the default value of
the @code{locale-definitions} field of @code{operating-system}
An arbitrary list of commonly used UTF-8 locales, used as the default
value of the @code{locale-definitions} field of @code{operating-system}
declarations.

@cindex locale name
@cindex normalized codeset in locale names
These locale definitions use the @dfn{normalized codeset} for the part
that follows the dot in the name (@pxref{Using gettextized software,
normalized codeset,, libc, The GNU C Library Reference Manual}).  So for
instance it has @code{uk_UA.utf8} but @emph{not}, say,
@code{uk_UA.UTF-8}.
@end defvr

@node Services

M gnu/system/locale.scm => gnu/system/locale.scm +2 -0
@@ 83,6 83,8 @@
  (letrec-syntax ((utf8-locale (syntax-rules ()
                                 ((_ name*)
                                  (locale-definition
                                   ;; Note: We choose "utf8", which is the
                                   ;; "normalized codeset".
                                   (name (string-append name* ".utf8"))
                                   (source name*)
                                   (charset "UTF-8")))))