web-dev-qa-db-ja.com

pythonコンソールに利用可能なすべてのWindowsロケールを一覧表示するにはどうすればよいですか?

Linuxでは、_locale -a_を使用して、利用可能なロケールのリストを表示できます。

_$ locale -a
C
C.UTF-8
en_US.utf8
POSIX 
_

python console on windowsから同じことを行うことは可能ですか?

これは、locale.setlocale(locale.LC_ALL, '???')を実行しようとして、ロケール値の名前がわからない場合に便利です。

27
minerals
>>> import locale
>>> locale.locale_alias
27
devnull

[〜#〜] msdn [〜#〜] で利用可能なロケール名を検索できます。

MSDNリストの "Language string"から長いバージョンを値としてsetlocaleに渡す必要があります。 en_ENにあるlocale_aliasのようなデフォルトのL10Nショートコードは、一般的に機能しません。

私はそれらのいくつかを辞書としてすでに抽出しています:

LANGUAGES = {
    'bg_BG': 'Bulgarian',
    'cs_CZ': 'Czech',
    'da_DK': 'Danish',
    'de_DE': 'German',
    'el_GR': 'Greek',
    'en_US': 'English',
    'es_ES': 'Spanish',
    'et_EE': 'Estonian',
    'fi_FI': 'Finnish',
    'fr_FR': 'French',
    'hr_HR': 'Croatian',
    'hu_HU': 'Hungarian',
    'it_IT': 'Italian',
    'lt_LT': 'Lithuanian',
    'lv_LV': 'Latvian',
    'nl_NL': 'Dutch',
    'no_NO': 'Norwegian',
    'pl_PL': 'Polish',
    'pt_PT': 'Portuguese',
    'ro_RO': 'Romanian',
    'ru_RU': 'Russian',
    'sk_SK': 'Slovak',
    'sl_SI': 'Slovenian',
    'sv_SE': 'Swedish',
    'tr_TR': 'Turkish',
    'zh_CN': 'Chinese',
}
8
schlamar

pythonで見つかった最も豊富なロケールのサポートはbabelです。

インストールしてください:

pip install babel

その後、

import babel
all_ids = babel.localedata.locale_identifiers()

一般的な用語の翻訳などの広範なサポートもあります。他のさまざまなパッケージでbabelが使用されています。

hth、アレックス

3
undisclosed