1. ホーム
  2. python

[解決済み] WindowsでPythonのロケールを設定する正しい方法は何ですか?

2023-05-23 16:02:34

質問

ロケールを考慮した方法で文字列のリストをソートしようとしています。 私は他の国際化関連のタスクのためにBabelライブラリを使用しましたが、それはソートをサポートしていません。 Python の locale モジュールは strcoll 関数を提供しますが、プロセスのロケールを私が作業したいものに設定する必要があります。 ちょっと面倒ですが、我慢しています。

問題は、実際にロケールを設定することができないようだということです。 そのため ドキュメント には locale モジュールはこのような例を示しています。

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

それを実行すると、こうなります。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python26\Lib\locale.py", line 494, in setlocale
locale.Error: unsupported locale setting

私は何を間違えているのでしょうか?

どうすればいいのでしょうか?

Windowsをお使いのようですね。そこではロケール文字列が異なっています。ドキュメントをより正確に見てください。

locale.setlocale(locale.LC_ALL, 'de_DE') # use German locale; name might vary with platform

Windowsでは、こんな感じでしょうか。

locale.setlocale(locale.LC_ALL, 'deu_deu')

MSDN には 言語文字列 国・地域名文字列