Locale: Difference between revisions

From XPUB & Lens-Based wiki
No edit summary
Line 29: Line 29:
locale.Error: unsupported locale setting
locale.Error: unsupported locale setting
</source>
</source>
See: http://docs.python.org/library/locale.html

Revision as of 23:18, 5 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

See: http://docs.python.org/library/locale.html