On Tue, 6 Jul 2010 03:21:21 -0700 (PDT) AlienBaby <matt.j.war...@gmail.com> wrote: > I'm still having a bit of trouble, for example trying to set the > locale to Denmark > > > locale.setlocale(locale.LC_ALL, locale.normalize('da_DK')) > > returns with > > locale.setlocale(locale.LC_ALL, locale.normalize('da_DK')) > File "C:\Python26\lib\locale.py", line 494, in setlocale > return _setlocale(category, locale) > locale.Error: unsupported locale setting > > > Though, from the docs I understand normalize should return a local > formatted for use with setlocale?
I think normalize works ok, but setlocale then fails (*). You can only use a locale if it's installed on the computer. That, and other issues (such as the fact that the locale setting is process-wide and can interfere with other parts of your program, or third-party libraries; or the fact that a given locale can have differences depending on the vendor) make the locale mechanism very fragile and annoying. If you want to do this seriously, I suggest you instead take a look at third-party libraries such as Babel: http://babel.edgewall.org/ (*): >>> import locale >>> locale.normalize('da_DK') 'da_DK.ISO8859-1' >>> locale.setlocale(locale.LC_ALL, locale.normalize('da_DK')) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib64/python2.6/locale.py", line 513, in setlocale return _setlocale(category, locale) locale.Error: unsupported locale setting -- http://mail.python.org/mailman/listinfo/python-list