blob: eb3804c49bdba2ff5df9be338f2d07184e970dfb [file] [log] [blame]
<html lang="en">
<head>
<title>Effects of Locale - The GNU C Library</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="The GNU C Library">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Locales.html#Locales" title="Locales">
<link rel="next" href="Choosing-Locale.html#Choosing-Locale" title="Choosing Locale">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU C library.
This is Edition 0.12, last updated 2007-10-27,
of `The GNU C Library Reference Manual', for version
2.8 (Sourcery G++ Lite 2011.03-41).
Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
2003, 2007, 2008, 2010 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software Needs Free Documentation''
and ``GNU Lesser General Public License'', the Front-Cover texts being
``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A
copy of the license is included in the section entitled "GNU Free
Documentation License".
(a) The FSF's Back-Cover Text is: ``You have the freedom to
copy and modify this GNU manual. Buying copies from the FSF
supports it in developing GNU and promoting software freedom.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="Effects-of-Locale"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Choosing-Locale.html#Choosing-Locale">Choosing Locale</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Locales.html#Locales">Locales</a>
<hr>
</div>
<h3 class="section">7.1 What Effects a Locale Has</h3>
<p>Each locale specifies conventions for several purposes, including the
following:
<ul>
<li>What multibyte character sequences are valid, and how they are
interpreted (see <a href="Character-Set-Handling.html#Character-Set-Handling">Character Set Handling</a>).
<li>Classification of which characters in the local character set are
considered alphabetic, and upper- and lower-case conversion conventions
(see <a href="Character-Handling.html#Character-Handling">Character Handling</a>).
<li>The collating sequence for the local language and character set
(see <a href="Collation-Functions.html#Collation-Functions">Collation Functions</a>).
<li>Formatting of numbers and currency amounts (see <a href="General-Numeric.html#General-Numeric">General Numeric</a>).
<li>Formatting of dates and times (see <a href="Formatting-Calendar-Time.html#Formatting-Calendar-Time">Formatting Calendar Time</a>).
<li>What language to use for output, including error messages
(see <a href="Message-Translation.html#Message-Translation">Message Translation</a>).
<li>What language to use for user answers to yes-or-no questions
(see <a href="Yes_002dor_002dNo-Questions.html#Yes_002dor_002dNo-Questions">Yes-or-No Questions</a>).
<li>What language to use for more complex user input.
(The C library doesn't yet help you implement this.)
</ul>
<p>Some aspects of adapting to the specified locale are handled
automatically by the library subroutines. For example, all your program
needs to do in order to use the collating sequence of the chosen locale
is to use <code>strcoll</code> or <code>strxfrm</code> to compare strings.
<p>Other aspects of locales are beyond the comprehension of the library.
For example, the library can't automatically translate your program's
output messages into other languages. The only way you can support
output in the user's favorite language is to program this more or less
by hand. The C library provides functions to handle translations for
multiple languages easily.
<p>This chapter discusses the mechanism by which you can modify the current
locale. The effects of the current locale on specific library functions
are discussed in more detail in the descriptions of those functions.
</body></html>