3

暦体系の名前を指定するための国際的な (または広く使用されている) 標準コードはありますか?

私は、グレゴリオ暦、ユダヤ暦、イスラム暦などの複数の暦体系で (とりわけ) 歴史的な日付を格納および表示するアプリケーションに取り組んでいます。日付を保存するとき、それがどの暦体系であるかを言うことができる必要があります。

独自のシステムを発明することはできますが、言語用の ISO 639 に似たものは既に存在しますか? かなり長い間検索しても何も見つかりませんでしたが、間違った用語を使用していた可能性があります。

4

1 に答える 1

3

有効な質問です。そのようなものに任意のコードを使用しないことは常に良いことです。

CLDR が使用する属性の値をname単純に使用できます。

<key name="ca" description="Calendar algorithm key" alias="calendar">
   <type name="buddhist" description="Thai Buddhist calendar"/>
   <type name="chinese" description="Traditional Chinese calendar"/>
   <type name="coptic" description="Coptic calendar"/>
   ...
   <type name="islamicc" description="Civil (algorithmic) Arabic calendar" deprecated="true" preferred="islamic-civil" alias="islamic-civil"/>
</key>

しかし、 「言語タグを使用して Unicode ロケールベースのバリエーションを識別するために、RFC6067と呼ばれる BCP47 (「言語を識別するためのタグ」)拡張使用することからなる、CLDR データ定義で使用された方法を適応させることもできます。「シングルトン」識別子この拡張子は「u」です。たとえば、タイ語は で識別されます。したがって、仏暦をサポートするタイ語としてロケールを識別します。thth-u-ca-buddhist

  th-u-ca-buddhist
     |  |  |
     |  |  +--> Calendar name (values in CLDR bcp47/calendar.xml).
     |  +-----> 2 char key defining extension to follow (here "ca" for calendar).
     +--------> Identifies that extension U values are to follow.

さらにいくつかの拡張使用例:

  • fa-u-ca-islamic-rgsa: イスラム暦のペルシア語、サウジアラビアの目撃情報。
  • fa-u-ca-persian: ペルシャ暦のペルシア語。
  • fa_AF-u-ca-persian: ペルシャ暦のペルシア語 (アフガニスタン)。

明らかに、それが含まれているカレンダーの日付と識別子を保存するだけの場合は、en;を使用できます。すなわち

  { 'year': 1392, 'month': 6 , 'day': 31 , 'calendar': 'en-u-ca-persian' }
于 2013-09-22T04:01:51.353 に答える