Movatterモバイル変換


[0]ホーム

URL:


Previous PageUp One LevelNext PagePython Library ReferenceContentsModule IndexIndex
Previous:6.23.1 ExampleUp:6. Generic Operating SystemNext:6.24.1 Background, details, hints,

6.24locale -- Internationalization services

Thelocale module opens access to the POSIX localedatabase and functionality. The POSIX locale mechanism allowsprogrammers to deal with certain cultural issues in an application,without requiring the programmer to know all the specifics of eachcountry where the software is executed.

Thelocale module is implemented on top of the_locale module, which in turn uses anANSI C locale implementation if available.

Thelocale module defines the following exception andfunctions:

exceptionError
Exception raised whensetlocale() fails.

setlocale(category[, locale])
Iflocale is specified, it may be a string, a tuple of the form(language code,encoding), orNone. If it is a tuple, it is converted to a string using the locale aliasing engine. Iflocale is given and notNone,setlocale() modifies the locale setting for thecategory. The available categories are listed in the data description below. The value is the name of a locale. An empty string specifies the user's default settings. If the modification of the locale fails, the exceptionError is raised. If successful, the new locale setting is returned.

Iflocale is omitted orNone, the current setting forcategory is returned.

setlocale() is not thread safe on most systems. Applications typically start with a call of

import localelocale.setlocale(locale.LC_ALL, '')

This sets the locale for all categories to the user's default setting (typically specified in theLANG environment variable). If the locale is not changed thereafter, using multithreading should not cause problems.

Changed in version 2.0:Added support for tuple values of thelocale parameter.

localeconv()
Returns the database of of the local conventions as a dictionary. This dictionary has the following strings as keys:

Key Category Meaning 
LC_NUMERIC'decimal_point'Decimal point character.
 'grouping'Sequence of numbers specifying which relative positions the'thousands_sep' is expected. If the sequence is terminated withCHAR_MAX, no further grouping is performed. If the sequence terminates with a0, the last group size is repeatedly used.
 'thousands_sep'Character used between groups.
LC_MONETARY'int_curr_symbol'International currency symbol.
 'currency_symbol'Local currency symbol.
 'mon_decimal_point'Decimal point used for monetary values.
 'mon_thousands_sep'Group separator used for monetary values.
 'mon_grouping'Equivalent to'grouping', used for monetary values.
 'positive_sign'Symbol used to annotate a positive monetary value.
 'negative_sign'Symbol used to annotate a nnegative monetary value.
 'frac_digits'Number of fractional digits used in local formatting of monetary values.
 'int_frac_digits'Number of fractional digits used in international formatting of monetary values.

The possible values for'p_sign_posn' and'n_sign_posn' are given below.

Value Explanation 
0Currency and value are surrounded by parentheses.
1The sign should precede the value and currency symbol.
2The sign should follow the value and currency symbol.
3The sign should immediately precede the value.
4The sign should immediately follow the value.
LC_MAXNothing is specified in this locale.

nl_langinfo(option)

Return some locale-specific information as a string. This function isnot available on all systems, and the set of possible options mightalso vary across platforms. The possible argument values are numbers,for which symbolic constants are available in the locale module.

getdefaultlocale([envvars])
Tries to determine the default locale settings and returns them as a tuple of the form(language code,encoding).

According to POSIX, a program which has not calledsetlocale(LC_ALL, '') runs using the portable'C' locale. Callingsetlocale(LC_ALL, '') lets it use the default locale as defined by theLANG variable. Since we do not want to interfere with the current locale setting we thus emulate the behavior in the way described above.

To maintain compatibility with other platforms, not only theLANG variable is tested, but a list of variables given as envvars parameter. The first found to be defined will be used.envvars defaults to the search path used in GNU gettext; it must always contain the variable name "LANG". The GNU gettext search path contains'LANGUAGE','LC_ALL','LC_CTYPE', and'LANG', in that order.

Except for the code'C', the language code corresponds toRFC 1766.language code andencoding may beNone if their values cannot be determined.New in version 2.0.

getlocale([category])
Returns the current setting for the given locale category as sequence containinglanguage code,encoding.category may be one of theLC_* values exceptLC_ALL. It defaults toLC_CTYPE.

Except for the code'C', the language code corresponds toRFC 1766.language code andencoding may beNone if their values cannot be determined.New in version 2.0.

normalize(localename)
Returns a normalized locale code for the given locale name. The returned locale code is formatted for use withsetlocale(). If normalization fails, the original name is returned unchanged.

If the given encoding is not known, the function defaults to the default encoding for the locale code just likesetlocale().New in version 2.0.

resetlocale([category])
Sets the locale forcategory to the default setting.

The default setting is determined by callinggetdefaultlocale().category defaults toLC_ALL.New in version 2.0.

strcoll(string1, string2)
Compares two strings according to the currentLC_COLLATE setting. As any other compare function, returns a negative, or a positive value, or0, depending on whetherstring1 collates before or afterstring2 or is equal to it.

strxfrm(string)
Transforms a string to one that can be used for the built-in functioncmp() , and still returns locale-aware results. This function can be used when the same string is compared repeatedly, e.g. when collating a sequence of strings.

format(format, val[, grouping])
Formats a numberval according to the currentLC_NUMERIC setting. The format follows the conventions of the% operator. For floating point values, the decimal point is modified if appropriate. Ifgrouping is true, also takes the grouping into account.

str(float)
Formats a floating point number using the same format as the built-in functionstr(float), but takes the decimal point into account.

atof(string)
Converts a string to a floating point number, following theLC_NUMERIC settings.

atoi(string)
Converts a string to an integer, following theLC_NUMERIC conventions.

LC_CTYPE
  Locale category for the character type functions. Depending on the settings of this category, the functions of modulestring dealing with case change their behaviour.

LC_COLLATE
Locale category for sorting strings. The functionsstrcoll() andstrxfrm() of thelocale module are affected.

LC_TIME
Locale category for the formatting of time. The functiontime.strftime() follows these conventions.

LC_MONETARY
Locale category for formatting of monetary values. The available options are available from thelocaleconv() function.

LC_MESSAGES
Locale category for message display. Python currently does not support application specific locale-aware messages. Messages displayed by the operating system, like those returned byos.strerror() might be affected by this category.

LC_NUMERIC
Locale category for formatting numbers. The functionsformat(),atoi(),atof() andstr() of thelocale module are affected by that category. All other numeric formatting operations are not affected.

LC_ALL
Combination of all locale settings. If this flag is used when the locale is changed, setting the locale for all categories is attempted. If that fails for any category, no category is changed at all. When the locale is retrieved using this flag, a string indicating the setting for all categories is returned. This string can be later used to restore the settings.

CHAR_MAX
This is a symbolic constant used for different values returned bylocaleconv().

Thenl_langinfo function accepts one of the following keys.Most descriptions are taken from the corresponding description in theGNU C library.

CODESET
Return a string with the name of the character encoding used in theselected locale.

D_T_FMT
Return a string that can be used as a format string for strftime(3) torepresent time and date in a locale-specific way.

D_FMT
Return a string that can be used as a format string for strftime(3) torepresent a date in a locale-specific way.

T_FMT
Return a string that can be used as a format string for strftime(3) torepresent a time in a locale-specific way.

T_FMT_AMPM
The return value can be used as a format string for `strftime' torepresent time in the am/pm format.

DAY_1 ... DAY_7
Return name of the n-th day of the week.Warning:Thisfollows the US convention ofDAY_1 being Sunday, not theinternational convention (ISO 8601) that Monday is the first day ofthe week.

ABDAY_1 ... ABDAY_7
Return abbreviated name of the n-th day of the week.

MON_1 ... MON_12
Return name of the n-th month.

ABMON_1 ... ABMON_12
Return abbreviated name of the n-th month.

RADIXCHAR
Return radix character (decimal dot, decimal comma, etc.)

THOUSEP
Return separator character for thousands (groups of three digits).

YESEXPR
Return a regular expression that can be used with the regexfunction to recognize a positive response to a yes/no question.Warning:The expression is in the syntax suitable for theregex() function from the C library, which might differfrom the syntax used inre.

NOEXPR
Return a regular expression that can be used with the regex(3)function to recognize a negative response to a yes/no question.

CRNCYSTR
Return the currency symbol, preceded by "-" if the symbol shouldappear before the value, "+" if the symbol should appear after thevalue, or "." if the symbol should replace the radix character.

ERA
The return value represents the era used in the current locale.

Most locales do not define this value. An example of a locale whichdoes define this value is the Japanese one. In Japan, the traditionalrepresentation of dates includes the name of the era corresponding tothe then-emperor's reign.

Normally it should not be necessary to use this value directly.Specifying theE modifier in their format strings causes thestrftime function to use this information. The format of thereturned string is not specified, and therefore you should not assumeknowledge of it on different systems.

ERA_YEAR
The return value gives the year in the relevant era of the locale.

ERA_D_T_FMT
This return value can be used as a format string forstrftime to represent dates and times in a locale-specificera-based way.

ERA_D_FMT
This return value can be used as a format string forstrftime to represent time in a locale-specific era-basedway.

ALT_DIGITS
The return value is a representation of up to 100 values used torepresent the values 0 to 99.

Example:

>>> import locale>>> loc = locale.setlocale(locale.LC_ALL) # get current locale>>> locale.setlocale(locale.LC_ALL, 'de') # use German locale>>> locale.strcoll('f\xe4n', 'foo') # compare a string containing an umlaut >>> locale.setlocale(locale.LC_ALL, '') # use user's preferred locale>>> locale.setlocale(locale.LC_ALL, 'C') # use default (C) locale>>> locale.setlocale(locale.LC_ALL, loc) # restore saved locale


Subsections


Previous PageUp One LevelNext PagePython Library ReferenceContentsModule IndexIndex
Previous:6.23.1 ExampleUp:6. Generic Operating SystemNext:6.24.1 Background, details, hints,
Release 2.2.3, documentation updated on 30 May 2003.
SeeAbout this document... for information on suggesting changes.
[8]ページ先頭

©2009-2026 Movatter.jp