Locale: Difference between revisions

From XPUB & Lens-Based wiki
No edit summary
No edit summary
Line 1: Line 1:
Locales are ways for the operating system to group information about different language and regional settings. Python uses locales to make sure certain functions are "smart" and do what is expected of them, based on the conventions of a given region. For instance, when using the regular expressions, the meaning of "\w" (word character) is updated to include accented characters when the locale is set to a French language region. Sorting algorithms are also tweaked to correctly reflect how a language chooses to alphabetize.
Locales are ways for the operating system to group information about different language and regional settings.  


The following is an example of a command on an Ubuntu Linux machine to see the installed locales:
The following is an example of a command on an Ubuntu Linux machine to see the installed locales:
Line 10: Line 10:
apt-get install locales
apt-get install locales
</source>
</source>
== Locales in Python ==
Python uses locales to make sure certain functions are "smart" and do what is expected of them, based on the conventions of a given region. For instance, when using the regular expressions, the meaning of "\w" (word character) is updated to include accented characters when the locale is set to a French language region. Sorting algorithms are also tweaked to correctly reflect how a language chooses to alphabetize.


Once a locale is available, you can set it in Python, for instance:
Once a locale is available, you can set it in Python, for instance:

Revision as of 00:15, 6 April 2009

Locales are ways for the operating system to group information about different language and regional settings.

The following is an example of a command on an Ubuntu Linux machine to see the installed locales:

ls -l /usr/share/i18n/locales/

It may be necessary to install support for locales. On a Debian/Ubuntu system this can be done with:

apt-get install locales

Locales in Python

Python uses locales to make sure certain functions are "smart" and do what is expected of them, based on the conventions of a given region. For instance, when using the regular expressions, the meaning of "\w" (word character) is updated to include accented characters when the locale is set to a French language region. Sorting algorithms are also tweaked to correctly reflect how a language chooses to alphabetize.

Once a locale is available, you can set it in Python, for instance:

>>> locale.setlocale(locale.LC_ALL, ("nl_NL", "UTF-8"))
'nl_NL.UTF8'

If things work, the command returns a string representing the selected locale. If the given locale is not installed on your system, or if the name is given incorrectly you may see the error:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.5/locale.py", line 478, in setlocale
    return _setlocale(category, locale)
locale.Error: unsupported locale setting