コア機能.

コアAPIは基本的なコア機能を提供する.これは主に Locale オブジェクトとその作成方法。このオブジェクトカプセル化領域は、含まれるすべてのデータを設定して公開する。

全てのコア機能は babel 便宜上、モジュールをご利用ください。

基本的なインタフェース

class babel.core.Locale(language, territory=None, script=None, variant=None)

特定領域に設定された表示形式。

>>> locale = Locale('en', 'US')
>>> repr(locale)
"Locale('en', territory='US')"
>>> locale.display_name
u'English (United States)'

A Locale オブジェクトは、元の領域から文字列を設定してインスタンス化することもできます:

>>> locale = Locale.parse('en-US', sep='-')
>>> repr(locale)
"Locale('en', territory='US')"

Locale オブジェクトは、地域および言語名、数字、および日付フォーマットモードなどの領域設定データセットへのアクセスを提供する。

>>> locale.number_symbols['decimal']
u'.'

要求された領域設定に利用可能な領域設定データがない場合、 UnknownLocaleError すでに提案されている。

>>> Locale.parse('en_XX')
Traceback (most recent call last):
    ...
UnknownLocaleError: unknown locale 'en_XX'

より多くの情報については、参照されたい RFC 3066 それがそうです。

property character_order

言語のテキスト方向。

>>> Locale('de', 'DE').character_order
'left-to-right'
>>> Locale('ar', 'SA').character_order
'right-to-left'
property currencies

通貨コードを変換された通貨名にマッピングする.これは、カウントに固有の名前ではなく、通貨名の一般的な形態のみを返す。実際の数字をお願いした場合は、ご利用ください babel.numbers.get_currency_name() 機能します。

>>> Locale('en').currencies['COP']
u'Colombian Peso'
>>> Locale('de', 'DE').currencies['COP']
u'Kolumbianischer Peso'
property currency_formats

通貨デジタルフォーマットの領域設定モード。

注釈

バーベルタのバージョンによって返却値のフォーマットが異なる場合があります。

>>> Locale('en', 'US').currency_formats['standard']
<NumberPattern u'\xa4#,##0.00'>
>>> Locale('en', 'US').currency_formats['accounting']
<NumberPattern u'\xa4#,##0.00;(\xa4#,##0.00)'>
property currency_symbols

通貨コードを記号にマッピングする。

>>> Locale('en', 'US').currency_symbols['USD']
u'$'
>>> Locale('es', 'CO').currency_symbols['USD']
u'US$'
property date_formats

日付フォーマットの領域設定モード。

注釈

バーベルタのバージョンによって返却値のフォーマットが異なる場合があります。

>>> Locale('en', 'US').date_formats['short']
<DateTimePattern u'M/d/yy'>
>>> Locale('fr', 'FR').date_formats['long']
<DateTimePattern u'd MMMM y'>
property datetime_formats

日時フォーマットの領域設定モード。

注釈

バーベルタのバージョンによって返却値のフォーマットが異なる場合があります。

>>> Locale('en').datetime_formats['full']
u"{1} 'at' {0}"
>>> Locale('th').datetime_formats['medium']
u'{1} {0}'
property datetime_skeletons

日時部分の領域設定モードをフォーマットする。

>>> Locale('en').datetime_skeletons['MEd']
<DateTimePattern u'E, M/d'>
>>> Locale('fr').datetime_skeletons['MEd']
<DateTimePattern u'E dd/MM'>
>>> Locale('fr').datetime_skeletons['H']
<DateTimePattern u"HH 'h'">
property day_period_rules

エリアに設定された日付周期ルール。vt.から.使用する. get_period_id それがそうです。

property day_periods

異なる日時の領域には、表示名が設定される(必ずしも午前/午後に限定されるとは限らない)。

関連のあるものがなければ day_period_rules それがそうです。

property days

平日のエリアに表示名を設定します。

>>> Locale('de', 'DE').days['format']['wide'][3]
u'Donnerstag'
property decimal_formats

10進デジタルフォーマットの領域設定モード。

注釈

バーベルタのバージョンによって返却値のフォーマットが異なる場合があります。

>>> Locale('en', 'US').decimal_formats[None]
<NumberPattern u'#,##0.###'>
classmethod default(category=None, aliases={'ar': 'ar_SY', 'bg': 'bg_BG', 'bs': 'bs_BA', 'ca': 'ca_ES', 'cs': 'cs_CZ', 'da': 'da_DK', 'de': 'de_DE', 'el': 'el_GR', 'en': 'en_US', 'es': 'es_ES', 'et': 'et_EE', 'fa': 'fa_IR', 'fi': 'fi_FI', 'fr': 'fr_FR', 'gl': 'gl_ES', 'he': 'he_IL', 'hu': 'hu_HU', 'id': 'id_ID', 'is': 'is_IS', 'it': 'it_IT', 'ja': 'ja_JP', 'km': 'km_KH', 'ko': 'ko_KR', 'lt': 'lt_LT', 'lv': 'lv_LV', 'mk': 'mk_MK', 'nl': 'nl_NL', 'nn': 'nn_NO', 'no': 'nb_NO', 'pl': 'pl_PL', 'pt': 'pt_PT', 'ro': 'ro_RO', 'ru': 'ru_RU', 'sk': 'sk_SK', 'sl': 'sl_SI', 'sv': 'sv_SE', 'th': 'th_TH', 'tr': 'tr_TR', 'uk': 'uk_UA'})

カテゴリを指定したデフォルト領域設定を返します。

>>> for name in ['LANGUAGE', 'LC_ALL', 'LC_CTYPE', 'LC_MESSAGES']:
...     os.environ[name] = ''
>>> os.environ['LANG'] = 'fr_FR.UTF-8'
>>> Locale.default('LC_MESSAGES')
Locale('fr', territory='FR')

変数の以下のフォールバックを常に考慮する:

  • LANGUAGE

  • LC_ALL

  • LC_CTYPE

  • LANG

パラメータ
  • category -- その1つは LC_XXX 環境変数名

  • aliases -- エリア設定識別子の別名辞書

property display_name

エリア設定のローカル化は名前を表示します。

>>> Locale('en').display_name
u'English'
>>> Locale('en', 'US').display_name
u'English (United States)'
>>> Locale('sv').display_name
u'svenska'
タイプ

unicode

property english_name

エリアに設定された英語で名前が表示されます。

>>> Locale('de').english_name
u'German'
>>> Locale('de', 'DE').english_name
u'German (Germany)'
タイプ

unicode

property eras

紀元の領域には、表示名が設定されています。

注釈

バーベルタのバージョンによって返却値のフォーマットが異なる場合があります。

>>> Locale('en', 'US').eras['wide'][1]
u'Anno Domini'
>>> Locale('en', 'US').eras['abbreviated'][0]
u'BC'
property first_week_day

一週間の初日、0は月曜日を表します。

>>> Locale('de', 'DE').first_week_day
0
>>> Locale('en', 'US').first_week_day
6
get_display_name(locale=None)

所定の領域を用いて設定された領域設定の表示名を返す。

表示名には、指定された場合、言語、領域、スクリプト、および変形が含まれる。

>>> Locale('zh', 'CN', script='Hans').get_display_name('en')
u'Chinese (Simplified, China)'
パラメータ

locale -- 使用するエリア設定

get_language_name(locale=None)

与えられた領域設定におけるこの領域設定の言語を返す.

>>> Locale('zh', 'CN', script='Hans').get_language_name('de')
u'Chinesisch'

バージョン 1.0 で追加.

パラメータ

locale -- 使用するエリア設定

get_script_name(locale=None)

所与の領域設定のスクリプト名を返します。

get_territory_name(locale=None)

所与のエリア設定の地域名を返します。

property interval_formats

時間間隔フォーマットの領域設定モード。

注釈

バーベルタのバージョンによって返却値のフォーマットが異なる場合があります。

1日が最も変化の小さい部分である場合、フィンランド語で日付間隔のフォーマットを設定する方法:

>>> Locale('fi_FI').interval_formats['MEd']['d']
[u'E d. – ', u'E d.M.']

参考

このデータを使用する主なAPIは babel.dates.format_interval() それがそうです。

戻り値の型

dict[str, dict[str, list[str]]]

language

言語コード

property language_name

ドメインに設定されたローカル化言語名.

>>> Locale('en', 'US').language_name
u'English'
property languages

言語コードを翻訳の言語名にマッピングする.

>>> Locale('de', 'DE').languages['ja']
u'Japanisch'

ISO 639 より多くの情報を得ることができます

property list_patterns

リストを生成するパターン

注釈

バーベルタのバージョンによって返却値のフォーマットが異なる場合があります。

>>> Locale('en').list_patterns['standard']['start']
u'{0}, {1}'
>>> Locale('en').list_patterns['standard']['end']
u'{0}, and {1}'
>>> Locale('en_GB').list_patterns['standard']['end']
u'{0} and {1}'
property measurement_systems

各種測定システムの現地化名称。

>>> Locale('fr', 'FR').measurement_systems['US']
u'am\xe9ricain'
>>> Locale('en', 'US').measurement_systems['US']
u'US'
property meta_zones

メタタイムゾーンの領域には、表示名が設定されています。

Meta時間領域は基本的に異なるOlson時間領域のセットであり、それらは同じGMTオフセットと夏時間を有する。

注釈

バーベルタのバージョンによって返却値のフォーマットが異なる場合があります。

>>> Locale('en', 'US').meta_zones['Europe_Central']['long']['daylight']
u'Central European Summer Time'

バージョン 0.9 で追加.

property min_week_days

1週間の最小日数は、その週が1年または1ヶ月の最初の週として計算されるようにする。

>>> Locale('de', 'DE').min_week_days
4
property months

数ヶ月のエリア設定表示名。

>>> Locale('de', 'DE').months['format']['wide'][10]
u'Oktober'
classmethod negotiate(preferred, available, sep='_', aliases={'ar': 'ar_SY', 'bg': 'bg_BG', 'bs': 'bs_BA', 'ca': 'ca_ES', 'cs': 'cs_CZ', 'da': 'da_DK', 'de': 'de_DE', 'el': 'el_GR', 'en': 'en_US', 'es': 'es_ES', 'et': 'et_EE', 'fa': 'fa_IR', 'fi': 'fi_FI', 'fr': 'fr_FR', 'gl': 'gl_ES', 'he': 'he_IL', 'hu': 'hu_HU', 'id': 'id_ID', 'is': 'is_IS', 'it': 'it_IT', 'ja': 'ja_JP', 'km': 'km_KH', 'ko': 'ko_KR', 'lt': 'lt_LT', 'lv': 'lv_LV', 'mk': 'mk_MK', 'nl': 'nl_NL', 'nn': 'nn_NO', 'no': 'nb_NO', 'pl': 'pl_PL', 'pt': 'pt_PT', 'ro': 'ro_RO', 'ru': 'ru_RU', 'sk': 'sk_SK', 'sl': 'sl_SI', 'sv': 'sv_SE', 'th': 'th_TH', 'tr': 'tr_TR', 'uk': 'uk_UA'})

利用可能な領域と要求された領域設定文字列間の最適な一致を検索します。

>>> Locale.negotiate(['de_DE', 'en_US'], ['de_DE', 'de_AT'])
Locale('de', territory='DE')
>>> Locale.negotiate(['de_DE', 'en_US'], ['en', 'de'])
Locale('de')
>>> Locale.negotiate(['de_DE', 'de'], ['en_US'])

エリア設定識別子で使用される文字を指定して、異なるコンポーネントを分離することができます。このデリミタは、この2つのリストに適用される。また,比較では大文字は無視した.

>>> Locale.negotiate(['de-DE', 'de'], ['en-us', 'de-de'], sep='-')
Locale('de', territory='DE')
パラメータ
  • preferred -- ユーザが選択する領域設定識別子リスト

  • available -- 利用可能なエリア設定識別子リスト

  • aliases -- エリア設定識別子の別名辞書

property number_symbols

デジタルフォーマットで使用される記号。

注釈

バーベルタのバージョンによって返却値のフォーマットが異なる場合があります。

>>> Locale('fr', 'FR').number_symbols['decimal']
u','
property ordinal_form

エリアに設定された複数のルール。

>>> Locale('en').ordinal_form(1)
'one'
>>> Locale('en').ordinal_form(2)
'two'
>>> Locale('en').ordinal_form(3)
'few'
>>> Locale('fr').ordinal_form(2)
'other'
>>> Locale('ru').ordinal_form(100)
'other'
classmethod parse(identifier, sep='_', resolve_likely_subtags=True)

1つを作ることができます Locale エリア設定識別子を指定します。

>>> l = Locale.parse('de-DE', sep='-')
>>> l.display_name
u'Deutsch (Deutschland)'

もし identifier パラメータは文字列ではなく実際には Locale オブジェクトは,そのオブジェクトを返す:

>>> Locale.parse(l)
Locale('de', territory='DE')

これはまた、デフォルトで実行される可能性のあるサブタグの解析を実行することができる。例えば、これは、使用可能な領域の最も可能な領域設定を計算するのに有用です。 'und' 言語タグとして:

>>> Locale.parse('und_AT')
Locale('de', territory='AT')
パラメータ
  • identifier -- 領域設定識別子文字列

  • sep -- オプションのコンポーネント·セパレータ

  • resolve_likely_subtags -- このオプションを指定すると、領域設定がそうでなければ存在しない場合には、その領域設定可能なサブフラグを解析する。例えば zh_TW それ自体は存在する言語環境ではないが,Babelは自動的に完全な形に拡張することができる zh_hant_TW それがそうです。この拡張は、他の領域設定が存在しない場合にのみ行われることに注意されたい。例えばある地域は en 独立して存在することができます

例外
  • ValueError -- 文字列が有効な領域設定識別子でないような場合

  • UnknownLocaleError -- 要求されたエリア設定に利用可能なエリア設定データがない場合

property percent_formats

百分率デジタルフォーマットの領域設定モード。

注釈

バーベルタのバージョンによって返却値のフォーマットが異なる場合があります。

>>> Locale('en', 'US').percent_formats[None]
<NumberPattern u'#,##0%'>
property periods

天セグメント(AM/PM)の領域設定表示名。

>>> Locale('en', 'US').periods['am']
u'AM'
property plural_form

エリアに設定された複数のルール。

>>> Locale('en').plural_form(1)
'one'
>>> Locale('en').plural_form(0)
'other'
>>> Locale('fr').plural_form(0)
'one'
>>> Locale('ru').plural_form(100)
'many'
property quarters

四半期のエリア設定表示名。

>>> Locale('de', 'DE').quarters['format']['wide'][1]
u'1. Quartal'
property scientific_formats

科学的にデジタルフォーマットされた領域設定モード。

注釈

バーベルタのバージョンによって返却値のフォーマットが異なる場合があります。

>>> Locale('en', 'US').scientific_formats[None]
<NumberPattern u'#E0'>
script

スクリプトコード

property script_name

領域設定のローカル化スクリプト名(利用可能であれば)。

>>> Locale('sr', 'ME', script='Latn').script_name
u'latinica'
property scripts

スクリプトコードを翻訳後のスクリプト名にマッピングする.

>>> Locale('en', 'US').scripts['Hira']
u'Hiragana'

ISO 15924 より多くの情報を得ることができます

property territories

スクリプトコードを翻訳後のスクリプト名にマッピングする.

>>> Locale('es', 'CO').territories['DE']
u'Alemania'

ISO 3166 より多くの情報を得ることができます

territory

地域(国または地域)コード

property territory_name

エリア設定のローカル化エリア名(利用可能であれば)。

>>> Locale('de', 'DE').territory_name
u'Deutschland'
property text_direction

CSS速記形式の言語のテキスト方向.

>>> Locale('de', 'DE').text_direction
'ltr'
>>> Locale('ar', 'SA').text_direction
'rtl'
property time_formats

時間フォーマットされた領域設定モード。

注釈

バーベルタのバージョンによって返却値のフォーマットが異なる場合があります。

>>> Locale('en', 'US').time_formats['short']
<DateTimePattern u'h:mm a'>
>>> Locale('fr', 'FR').time_formats['long']
<DateTimePattern u'HH:mm:ss z'>
property time_zones

タイムゾーンの領域には、表示名が設定されています。

注釈

バーベルタのバージョンによって返却値のフォーマットが異なる場合があります。

>>> Locale('en', 'US').time_zones['Europe/London']['long']['daylight']
u'British Summer Time'
>>> Locale('en', 'US').time_zones['America/St_Johns']['city']
u'St. John’s'
property unit_display_names

メトリック単位の名前を表示します。

参考

ご利用になりたいかもしれません babel.units.get_unit_name() 代わりに。

注釈

バーベルタのバージョンによって返却値のフォーマットが異なる場合があります。

variant

変形コード.

property variants

スクリプトコードを翻訳後のスクリプト名にマッピングする.

>>> Locale('de', 'DE').variants['1901']
u'Alte deutsche Rechtschreibung'
property weekend_end

週末が終わる日、0は月曜日を表します。

>>> Locale('de', 'DE').weekend_end
6
property weekend_start

週末からの日、0は月曜日を表します。

>>> Locale('de', 'DE').weekend_start
5
property zone_formats

タイムゾーンフォーマットに関するパターン。

注釈

バーベルタのバージョンによって返却値のフォーマットが異なる場合があります。

>>> Locale('en', 'US').zone_formats['fallback']
u'%(1)s (%(0)s)'
>>> Locale('pt', 'BR').zone_formats['region']
u'Hor\xe1rio %s'

バージョン 0.9 で追加.

babel.core.default_locale(category=None, aliases={'ar': 'ar_SY', 'bg': 'bg_BG', 'bs': 'bs_BA', 'ca': 'ca_ES', 'cs': 'cs_CZ', 'da': 'da_DK', 'de': 'de_DE', 'el': 'el_GR', 'en': 'en_US', 'es': 'es_ES', 'et': 'et_EE', 'fa': 'fa_IR', 'fi': 'fi_FI', 'fr': 'fr_FR', 'gl': 'gl_ES', 'he': 'he_IL', 'hu': 'hu_HU', 'id': 'id_ID', 'is': 'is_IS', 'it': 'it_IT', 'ja': 'ja_JP', 'km': 'km_KH', 'ko': 'ko_KR', 'lt': 'lt_LT', 'lv': 'lv_LV', 'mk': 'mk_MK', 'nl': 'nl_NL', 'nn': 'nn_NO', 'no': 'nb_NO', 'pl': 'pl_PL', 'pt': 'pt_PT', 'ro': 'ro_RO', 'ru': 'ru_RU', 'sk': 'sk_SK', 'sl': 'sl_SI', 'sv': 'sv_SE', 'th': 'th_TH', 'tr': 'tr_TR', 'uk': 'uk_UA'})

環境変数に従って所与のカテゴリのデフォルト領域設定を返します。

>>> for name in ['LANGUAGE', 'LC_ALL', 'LC_CTYPE']:
...     os.environ[name] = ''
>>> os.environ['LANG'] = 'fr_FR.UTF-8'
>>> default_locale('LC_MESSAGES')
'fr_FR'

“C”または“POSIX”偽領域設定は、“en_US_POSIX”領域設定の別名とみなされる:

>>> os.environ['LC_MESSAGES'] = 'POSIX'
>>> default_locale('LC_MESSAGES')
'en_US_POSIX'

変数の以下のフォールバックを常に考慮する:

  • LANGUAGE

  • LC_ALL

  • LC_CTYPE

  • LANG

パラメータ
  • category -- その1つは LC_XXX 環境変数名

  • aliases -- エリア設定識別子の別名辞書

babel.core.negotiate_locale(preferred, available, sep='_', aliases={'ar': 'ar_SY', 'bg': 'bg_BG', 'bs': 'bs_BA', 'ca': 'ca_ES', 'cs': 'cs_CZ', 'da': 'da_DK', 'de': 'de_DE', 'el': 'el_GR', 'en': 'en_US', 'es': 'es_ES', 'et': 'et_EE', 'fa': 'fa_IR', 'fi': 'fi_FI', 'fr': 'fr_FR', 'gl': 'gl_ES', 'he': 'he_IL', 'hu': 'hu_HU', 'id': 'id_ID', 'is': 'is_IS', 'it': 'it_IT', 'ja': 'ja_JP', 'km': 'km_KH', 'ko': 'ko_KR', 'lt': 'lt_LT', 'lv': 'lv_LV', 'mk': 'mk_MK', 'nl': 'nl_NL', 'nn': 'nn_NO', 'no': 'nb_NO', 'pl': 'pl_PL', 'pt': 'pt_PT', 'ro': 'ro_RO', 'ru': 'ru_RU', 'sk': 'sk_SK', 'sl': 'sl_SI', 'sv': 'sv_SE', 'th': 'th_TH', 'tr': 'tr_TR', 'uk': 'uk_UA'})

利用可能な領域と要求された領域設定文字列間の最適な一致を検索します。

>>> negotiate_locale(['de_DE', 'en_US'], ['de_DE', 'de_AT'])
'de_DE'
>>> negotiate_locale(['de_DE', 'en_US'], ['en', 'de'])
'de'

アルゴリズムは、大文字を無視すると、結果として、第1の領域設定識別子のサイズを使用する。

>>> negotiate_locale(['de_DE', 'en_US'], ['de_de', 'de_at'])
'de_DE'
>>> negotiate_locale(['de_DE', 'en_US'], ['de_de', 'de_at'])
'de_DE'

不幸にも、デフォルトの場合、いくつかのWebブラウザは、多くの地域の地域識別子に地域を含まず、ユーザが地域を容易に追加することを許可しないものもある。したがって、Webアプリケーションにおいて限定された領域設定識別子を使用することをより好む可能性があるが、一般に、このようなブラウザによって送信される純粋な言語領域設定と一致することはない。この問題を解決するために、この関数は、一般的な純粋な言語環境識別子を地域を含む識別子へのデフォルトマッピングを使用する:

>>> negotiate_locale(['ja', 'en_US'], ['ja_JP', 'en_US'])
'ja_JP'

いくつかのブラウザは、ノルウェー語の“no”のような不正確または時代遅れの言語コードを使用する場合もあり、正しい領域設定識別子は、実際には“nb_no”(ボックマリン)または“nn_no”(ニノスク)であるべきである。別名もこのような状況に対処するためである。

>>> negotiate_locale(['no', 'sv'], ['nb_NO', 'sv_SE'])
'nb_NO'

様々なものを伝えることで aliases 辞書をこの関数に追加することで aliases パラメータが到着する None それがそうです。

パラメータ
  • preferred -- ユーザの好ましい領域設定文字列リスト

  • available -- 使用可能な領域設定文字列リスト

  • sep -- 分割領域に文字列の異なる部分の文字を設定する

  • aliases -- エリア設定識別子の別名辞書

例外

exception babel.core.UnknownLocaleError(identifier)

要求された領域設定に利用可能な領域設定データがない場合には異常が発生する。

identifier

見つからないエリアに設定された識別子。

効用関数.

babel.core.get_global(key)

グローバルデータに与えられたキーの辞書を返す.

グローバルデータは babel/global.dat ファイルは、各領域とは独立して設定された情報を含む。

>>> get_global('zone_aliases')['UTC']
u'Etc/UTC'
>>> get_global('zone_territories')['Europe/Berlin']
u'DE'

利用可能な鍵は、:

  • all_currencies

  • currency_fractions

  • language_aliases

  • likely_subtags

  • parent_exceptions

  • script_aliases

  • territory_aliases

  • territory_currencies

  • territory_languages

  • territory_zones

  • variant_aliases

  • windows_zone_mapping

  • zone_aliases

  • zone_territories

注釈

異なるバージョン間のデータ内部構造は異なる可能性がある。

バージョン 0.9 で追加.

パラメータ

key -- データ鍵.

babel.core.parse_locale(identifier, sep='_')

領域設定識別子をフォームとして解析したタプル (language, territory, script, variant) それがそうです。

>>> parse_locale('zh_CN')
('zh', 'CN', None, None)
>>> parse_locale('zh_Hans_CN')
('zh', 'CN', 'Hans', None)

デフォルト·コンポーネント·セパレータは“_”ですが、使用可能です sep パラメータ:

>>> parse_locale('zh-CN', sep='-')
('zh', 'CN', None, None)

識別子を領域設定として解析できない場合には,発生する. ValueError 異常を引き起こす。

>>> parse_locale('not_a_LOCALE_String')
Traceback (most recent call last):
  ...
ValueError: 'not_a_LOCALE_String' is not a valid locale identifier

識別子からの符号化情報および領域設定修飾子の削除:

>>> parse_locale('it_IT@euro')
('it', 'IT', None, None)
>>> parse_locale('en_US.UTF-8')
('en', 'US', None, None)
>>> parse_locale('de_DE.iso885915@euro')
('de', 'DE', None, None)

RFC 4646 より多くの情報を得ることができます

パラメータ
  • identifier -- 領域設定識別子文字列

  • sep -- 分割領域設定識別子の異なる構成要素の文字

例外

ValueError -- 文字列が有効な領域設定識別子でないような場合

babel.core.get_locale_identifier(tup, sep='_')

の反対側 parse_locale() それがそうです。属性作成領域に識別子を設定します。 (language, territory, script, variant) 元グループです。プロジェクトを設定することができます None 足を引っ張ることができます None sをタプルから除外することもできます。

>>> get_locale_identifier(('de', 'DE', None, '1999'))
'de_DE_1999'

バージョン 1.0 で追加.

パラメータ
  • tup -- 戻りのタプル parse_locale() それがそうです。

  • sep -- 識別子の区切り.