Class: When::BasicTypes::M17n

Inherits:
Code show all
Includes:
Locale, Parts::Resource
Defined in:
lib/when_exe/basictypes.rb,
lib/when_exe/region/dee.rb,
lib/when_exe/region/pax.rb,
lib/when_exe/region/m17n.rb,
lib/when_exe/region/thai.rb,
lib/when_exe/region/yerm.rb,
lib/when_exe/region/bahai.rb,
lib/when_exe/region/roman.rb,
lib/when_exe/region/shire.rb,
lib/when_exe/region/world.rb,
lib/when_exe/region/coptic.rb,
lib/when_exe/region/french.rb,
lib/when_exe/region/indian.rb,
lib/when_exe/region/jewish.rb,
lib/when_exe/region/chinese.rb,
lib/when_exe/region/goddess.rb,
lib/when_exe/region/iranian.rb,
lib/when_exe/region/islamic.rb,
lib/when_exe/region/martian.rb,
lib/when_exe/region/tibetan.rb,
lib/when_exe/region/armenian.rb,
lib/when_exe/region/balinese.rb,
lib/when_exe/region/japanese.rb,
lib/when_exe/region/javanese.rb,
lib/when_exe/region/symmetry.rb,
lib/when_exe/region/weekdate.rb,
lib/when_exe/region/christian.rb,
lib/when_exe/region/babylonian.rb,
lib/when_exe/region/discordian.rb,
lib/when_exe/region/positivist.rb,
lib/when_exe/region/hanke_henry.rb,
lib/when_exe/region/tranquility.rb,
lib/when_exe/region/zoroastrian.rb,
lib/when_exe/region/world_season.rb,
lib/when_exe/region/international_fixed.rb,
lib/when_exe/region/vanishing_leprechaun.rb

Overview

多言語対応文字列

本ライブラリで用いる諸々の用語を多言語対応で曖昧性なく管理するため
Code  subclass として定義する

内部変数

self[ 0..-1 ] : String

インスタンスを代表する文字列
通常の String として振舞う場合は、この文字列として振舞う

@locale : Hash

インスタンスがさす言葉の諸言語での表現を文字列として保持する
locale指定('lang_country.encoding') => その locale での文字列
  locale指定の要素に省略がある場合、残った共通の要素によって文字列を特定する
  Ex. @locale = {'en'=>'March', 'ja'=>'三月'} ならば、locale が
      'en_US', 'en_GB' のいずれでもlocale での文字列は 'March'

@namespace : Hash

インスタンスがさす言葉の意味を特定するための authority の URI を保持する
locale指定('lang_country.encoding') => その locale での authority の URI
  locale指定の要素に省略がある場合、残った共通の要素によってURIを特定する
  Ex. @locale = {'en'=>'en:March', 'ja'=>'ja:3%E6%9C%88'} ならば、locale が
      'en_US', 'en_GB' のいずれでもlocale での authority の URIは 'en:March'
当該用語が標準管理機関で管理されていない場合、wikipedia の当該項目の URI を用いる

@code_space : String

代表的な authority の URI
 @namespace[''] である

see Locale, Parts::Resource

Direct Known Subclasses

CalendarNote::Week::DayOfWeek

Constant Summary collapse

HashProperty =
[:label, :names, :link, :access_key, :code_space]
LabelTypes =
{
  'Residue' => ['Coordinates',      '%s',     '_co:%s%s'     ],
  'Week'    => ['CalendarNote',     '%sWeek', '_n:%sWeek%s'  ],
  'Notes'   => ['CalendarNote',     '%s',     '_n:%s/Notes%s'],
  nil       => ['BasicTypes::M17n', '%s',     '_m:%s%s'      ]
}
Dee =
[self, [
  "namespace:[en=http://www.hermetic.ch/cal_stud/]",
  "locale:[=en:, ja]",
  "names:[Dee=en:dee-cecil-calendar.htm, ディー暦=]",
  "[DeeCecil=en:dee-cecil-calendar.htm, ディー-セシル暦=]"
]]
Pax =
[self, [
  "locale:[=en:, ja]",
  "names:[Pax=]",
  "[Pax=en:Pax_Calendar, パックス暦=ja:%%<13の月の暦>#%.<パックス暦>]",

  # %0s は“閏”の表記を抑制する指定となっている
  [self,
    "names:[Month, 月=ja:%%<月_(暦)>]",
    "[January,   1月, /date/month_names/1] ",
    "[February,  2月, /date/month_names/2] ",
    "[March,     3月, /date/month_names/3] ",
    "[April,     4月, /date/month_names/4] ",
    "[May,       5月, /date/month_names/5] ",
    "[June,      6月, /date/month_names/6] ",
    "[July,      7月, /date/month_names/7] ",
    "[August,    8月, /date/month_names/8] ",
    "[September, 9月, /date/month_names/9] ",
    "[October,  10月, /date/month_names/10]",
    "[November, 11月, /date/month_names/11]",
    "[Columbus, 12月                      ]",
    "[December, 13月, /date/month_names/12]",
    "[%0sPax=en:Pax_Calendar, %0sパックス=ja:%%<13の月の暦>#%.<パックス暦>]" # Leap week
  ]
]]
Calendar =

共通的な暦用語

[M17n, [
  "locale:[=en:, ja=ja:, alias]",
  "names:[Calendar=]",

  "[Intercalary %s=, *閏]",

  [M17n,
    "names:[Month, 月=ja:%%<月_(暦)>, /datetime/prompts/month]",
    "[January,   1月, /date/month_names/1] ",
    "[February,  2月, /date/month_names/2] ",
    "[March,     3月, /date/month_names/3] ",
    "[April,     4月, /date/month_names/4] ",
    "[May,       5月, /date/month_names/5] ",
    "[June,      6月, /date/month_names/6] ",
    "[July,      7月, /date/month_names/7] ",
    "[August,    8月, /date/month_names/8] ",
    "[September, 9月, /date/month_names/9] ",
    "[October,  10月, /date/month_names/10]",
    "[November, 11月, /date/month_names/11]",
    "[December, 12月, /date/month_names/12]"
  ],

  [M17n,
    "names:[Abbr_Month, 月略称)]",
    "[Jan,  1月, /date/abbr_month_names/1] ",
    "[Feb,  2月, /date/abbr_month_names/2] ",
    "[Mar,  3月, /date/abbr_month_names/3] ",
    "[Apr,  4月, /date/abbr_month_names/4] ",
    "[May,  5月, /date/abbr_month_names/5] ",
    "[Jun,  6月, /date/abbr_month_names/6] ",
    "[Jul,  7月, /date/abbr_month_names/7] ",
    "[Aug,  8月, /date/abbr_month_names/8] ",
    "[Sep,  9月, /date/abbr_month_names/9] ",
    "[Oct, 10月, /date/abbr_month_names/10]",
    "[Nov, 11月, /date/abbr_month_names/11]",
    "[Dec, 12月, /date/abbr_month_names/12]"
  ]
]]
EpochEvents =

Events

[M17n, [
  "locale:[=en:, ja=ja:, alias]",
  "names:[EpochEvents=]",
  "[Accession=,        代始]",
  "[FelicitousEvent=,  祥瑞]",
  "[NaturalDisaster=,  災異]",
  "[InauspiciousYear=, 革年]",
  "[Foundation=,       創業]",
  "[CalendarReform=,   改暦]",
  "[CalendarEpoch=,    暦元]"
]]
CalendarFormats =

Formats

[M17n, [
  "locale:[=]",
  "names:[CalendarFormats=]",
  "[Date=,          /date/formats/default]",
  "[DateLong=,      /date/formats/long   ]",
  "[DateShort=,     /date/formats/short  ]",
  "[DateTime=,      /time/formats/default]",
  "[DateTimeLong=,  /time/formats/long   ]",
  "[DateTimeShort=, /time/formats/short  ]",
  "[Time=,          /time/formats/time   ]",
  "[AM=,            /time/am             ]",
  "[PM=,            /time/pm             ]"
]]
Thai =
[self, [
  "locale:[=en:, ja=ja:, hi=hi:, alias]",
  "names:[Thai=]",
  "[ThaiLuniSolar=en:Thai_lunar_calendar, タイ太陰太陽暦=ja:%%<チャントラカティ>]",

  [self,
    "names:[IntercalaryMonth=en:Intercalation, 閏月]",
    "[%s Śuklapakṣa=,        %s 白分=,   _IAST_]",
    "[%s Kṛṣṇapakṣa=,        %s 黒分=,   _IAST_]",
    "[adhika %s Śuklapakṣa=, 閏%s 白分=, _IAST_]",
    "[adhika %s Kṛṣṇapakṣa=, 閏%s 黒分=, _IAST_]"
  ],

  [self,
    "names:[LunarMonth=, 太陰月=ja:%%<月_(暦)>]",
    "[Mārgaśīra=en:Margashirsha,   マールガシールシャ=, _IAST_]",
    "[Pauṣa=en:Pausha,             パウシャ=,           _IAST_]",
    "[Māgha=en:Maagha,             マーガ=,             _IAST_]",
    "[Phālguna=en:Phalguna,        パールグナ=,         _IAST_]",
    "[Caitra=en:Chaitra,           チャイトラ=,         _IAST_]",
    "[Vaiśākha=en:Vaisakha,        ヴァイシャーカ=,     _IAST_]",
    "[Jyaiṣṭha=en:Jyeshta,         ジャイシュタ=,       _IAST_]",
    "[Āṣāḍha=en:Aashaadha,         アーシャーダ=,       _IAST_]",
    "[Śrāvaṇa=en:Shraavana,        シュラーヴァナ=,     _IAST_]",
    "[Bhādrapada=en:Bhadrapada,    バードラパダ=,       _IAST_]",
    "[Āśvina=en:Ashwin,            アーシュヴィナ=,     _IAST_]",
    "[Kārttika=en:Kartika_(month), カールッティカ=,     _IAST_]"
  ]
]]
Yerm =
[self, [
  "locale:[=en:, ja]",
  "names:[Yerm=]",
  "[YermLunar=http://calendars.wikia.com/wiki/Yerm_Lunar_Calendar, ヤーム=]",

  [Coordinates::Residue, "label:[yerm=]", "divisor:52", "year:0", "format:[%s=]"] +
  (1..52).to_a.map {|y|  [Coordinates::Residue, "label:[Yerm #{y}=]", "remainder:#{y-1}"]},
  [self, "names:[month]"] + (1..17).to_a.map {|m| "Month #{m}"},
  [self, "names:[night]"] + (1..30).to_a.map {|m| "Night #{m}"}
]]
Bahai =
[self, [
  "locale:[=en:, ar=ar:, alias=en:]",
  "names:[Bahai=]",
  "[Bahai=en:Bah%C3%A1%27%C3%AD_calendar, ja:バハーイー暦=ja:%%<バハーイー教>]",

  # %0s は“閏”の表記を抑制する指定となっている
  [self,
    "names:[Month, 月=ja:%%<月_(暦)>]",
    "[Bahá=,      بهاء=,    Splendour=  ]", #  1
    "[Jalál=,     جلال=,    Glory=      ]", #  2
    "[Jamál=,     جمال=,    Beauty=     ]", #  3
    "[‘Aẓamat=,  عظمة=,    Grandeur=   ]", #  4
    "[Núr=,       نور=,     Light=      ]", #  5
    "[Raḥmat=,    رحمة=,    Mercy=      ]", #  6
    "[Kalimát=,   كلمات=,   Words=      ]", #  7
    "[Kamál=,     كمال=,    Perfection= ]", #  8
    "[Asmá’=,    اسماء=,   Names=      ]", #  9
    "[‘Izzat=,   عزة=,     Might=      ]", # 10
    "[Mashíyyat=, عزة=,     Will=       ]", # 11
    "[‘Ilm=,     علم=,     Knowledge=  ]", # 12
    "[Qudrat=,    قدرة=,    Power=      ]", # 13
    "[Qawl=,      قول=,     Speech=     ]", # 14
    "[Masá’il=,  مسائل=,   Questions=  ]", # 15
    "[Sharaf=,    شرف=,     Honour=     ]", # 16
    "[Sulṭán=,    سلطان=,   Sovereignty=]", # 17
    "[Mulk=,      ملك=,     Dominion=   ]", # 18
    "[‘Alá’=,   علاء=,    Loftiness=  ]", # 19
    "[%0sAyyám-i-Há=en:Ayy%C3%A1m-i-H%C3%A1, %0sايام الهاء=, %0sThe Days of Há=]" # Intercalary days
  ]
]]
Roman =
[self, [
  "locale:[=en:, ja=ja:, alias]",
  "names:[Roman=]",

  # Remarks
  '[based on Chris Bennett "Roman Dates" (Retrieved 2013-05-13)=http://www.tyndalehouse.com/Egypt/ptolemies/chron/roman/chron_rom_intro_fr.htm,' +
   '典拠 - Chris Bennett "Roman Dates" (2013-05-13 閲覧)=]',

  [self, # ..CE-44 / ..BCE45
    "names:[MonthA=en:Month, 月=ja:%%<月_(暦)>]",
    "[Ianuarius,    1月]",
    "[Februarius,   2月]",
    "[Martius,      3月]",
    "[Aprilis,      4月]",
    "[Maius,        5月]",
    "[Iunius,       6月]",
    "[Quintilis,  旧7月=]",
    "[Sextilis,   旧8月=]",
    "[September,    9月]",
    "[October,     10月]",
    "[November,    11月]",
    "[December,    12月]" 
  ],

  [self, # CE-43..CE-8 / BCE44..BCE9
    "names:[MonthB=en:Month, 月=ja:%%<月_(暦)>]",
    "[Ianuarius,    1月]",
    "[Februarius,   2月]",
    "[Martius,      3月]",
    "[Aprilis,      4月]",
    "[Maius,        5月]",
    "[Iunius,       6月]",
    "[Iulius,       7月]",
    "[Sextilis,   旧8月=]",
    "[September,    9月]",
    "[October,     10月]",
    "[November,    11月]",
    "[December,    12月]"
  ],

  [self, # CE-7..CE36, CE41.. / BCE8..CE36, CE41..
    "names:[Month, 月=ja:%%<月_(暦)>]",
    "[Ianuarius,    1月]",
    "[Februarius,   2月]",
    "[Martius,      3月]",
    "[Aprilis,      4月]",
    "[Maius,        5月]",
    "[Iunius,       6月]",
    "[Iulius,       7月]",
    "[Augustus,     8月]",
    "[September,    9月]",
    "[October,     10月]",
    "[November,    11月]",
    "[December,    12月]"
  ],

  [self, # CE37..CE40
    "names:[MonthD=en:Month, 月=ja:%%<月_(暦)>]",
    "[Ianuarius,    1月]",
    "[Februarius,   2月]",
    "[Martius,      3月]",
    "[Aprilis,      4月]",
    "[Maius,        5月]",
    "[Iunius,       6月]",
    "[Iulius,       7月]",
    "[Augustus,     8月]",
    "[Germanicus, 新9月=]",
    "[October,     10月]",
    "[November,    11月]",
    "[December,    12月]"
  ],

  # %0s は“閏”の表記を抑制する指定となっている
  [self, # Intercalary Months
    "names:[IntercalaryMonth=en:Intercalation, 閏月]",
    "[%0sIntercalaris=en:Roman_calendar#Calendar_of_Numa,"      +
     "閏月%0s=ja:%%<ローマ暦>#%.<末期のローマ暦>]",
    "[%0sIntercalaris Prior=en:Julian_calendar#Realignment_of_the_year,"     +
     "第1閏月%0s=ja:%%<ローマ暦>#%.<末期のローマ暦>]",
    "[%0sIntercalaris Posterior=en:Julian_calendar#Realignment_of_the_year," +
     "第2閏月%0s=ja:%%<ローマ暦>#%.<末期のローマ暦>]",
  ]
]]
Shire =
[self, [
  "namespace:[cal=http://en.wikipedia.org/wiki/Middle-earth_calendar#]",
  "locale:[=en:, ja=ja:, alias]",
  "names:[Shire=]",
  "[Shire=en:The_Lord_of_the_Rings, ホビット庄暦=ja:%%<指輪物語>]",

  [self,
    "names:[Festival=,                 祭=                ]",
    "[%0sYule=en:Yule,                 %0sユール祭=       ]",
    "[%0sLithe=cal:Hobbit_calendar,    %0sライズ祭=       ]",
  ],

  [self,
    "names:[Month, 月=ja:%%<月_(暦)>]",
    "[Yule=en:Yule,                    ユール祭=          ]",
    "[Afteryule=en:Yule,               ユール後月=        ]",
    "[Solmath=cal:Hobbit_calendar,     ソマス=            ]",
    "[Rethe=cal:Hobbit_calendar,       レセ=              ]",
    "[Astron=cal:Hobbit_calendar,      アストロン=        ]",
    "[Thrimidge=cal:Hobbit_calendar,   スリミッジ=        ]",
    "[Forelithe=cal:Hobbit_calendar,   ライズ前月=        ]",
    "[Afterlithe=cal:Hobbit_calendar,  ライズ後月=        ]",
    "[Wedmath=cal:Hobbit_calendar,     ウェドマス=        ]",
    "[Halimath=cal:Hobbit_calendar,    ハリマス=          ]",
    "[Winterfilth=cal:Hobbit_calendar, ウィンターフィルス=]",
    "[Blotmath=cal:Hobbit_calendar,    ブロドマス=        ]",
    "[Foreyule=en:Yule,                ユール前月=        ]"
  ]
]]
World =
[self, [
  "locale:[=en:, ja=ja:, alias]",
  "names:[World=]",
  "[World=en:The_World_Calendar, 世界暦]"
]]
Coptic =
[self, [
  "locale:[=en:, ja=ja:, alias]",
  "names:[Coptic=]",
  "[Coptic=en:Coptic_calendar,       コプト暦    ]",
  "[Ethiopian=en:Ethiopian_calendar, エチオピア暦=en:Ethiopian_calendar]",
  "[Ptolemaic=en:Ptolemaic_dynasty, プトレマイオス朝]",

  # Remarks
  '[based on Chris Bennett "Egyptian Dates" (Retrieved 2014-06-29)=http://www.tyndalehouse.com/Egypt/ptolemies/chron/egyptian/chron_eg_intro.htm,' +
   '典拠 - Chris Bennett "Egyptian Dates" (2014-06-29 閲覧)=]',

  [self,
    "names:[EgyptianMonth=, 月=ja:%%<月_(暦)>]",
    "[tut=,      トート=      ]",
    "[baba=,     バーバ=      ]",
    "[hatur=,    ハートール=  ]",
    "[kiyahak=,  キヤハーク=  ]",
    "[tuba=,     トーバ=      ]",
    "[amshir=,   アムシール=  ]",
    "[baramhat=, バラムハート=]",
    "[barmuda=,  バルムーダ=  ]",
    "[bashans=,  バシャンス=  ]",
    "[ba'una=,   バウーナ=    ]",
    "[abib=,     アビーブ=    ]",
    "[misra=,    ミスラー=    ]",
    "[epagomen=, エパゴメネ=  ]"
  ],

  [self,
    "names:[EthiopianMonth=, 月=ja:%%<月_(暦)>]",
    "[Mäskäräm=, マスカラム=  ]",
    "[Ṭəqəmt=,   テケルト=    ]",
    "[Ḫədar=,    ヘダル=      ]",
    "[Taḫśaś=,   ターサス=    ]",
    "[Ṭərr=,     テル=        ]",
    "[Yäkatit=,  イェカティト=]",
    "[Mägabit=,  メガビト=    ]",
    "[Miyazya=,  ミアジア=    ]",
    "[Gənbot=,   ゲエンポト=  ]",
    "[Säne=,     セネ=        ]",
    "[Ḥamle=,    ハムレ=      ]",
    "[Nähase=,   ネハッセ=    ]",
    "[Ṗagʷəmen=, パゴウメン=  ]"
  ]
]]
French =
[self, [
  "locale:[=en:, ja=ja:, alias]",
  "names:[French=]",
  "[FrenchRepublican=en:French_Republican_Calendar, フランス共和暦=ja:%%<フランス革命暦>]",

  [self,
    "names:[Month, 月=ja:%%<月_(暦)>]",
    "[Vendémiaire,    ヴァンデミエール=,       葡萄月=]",
    "[Brumaire,       ブリュメール=,           霧月=  ]",
    "[Frimaire,       フリメール=,             霜月=  ]",
    "[Nivôse,         ニヴォーズ=,             雪月=  ]",
    "[Pluviôse,       プリュヴィオーズ=,       雨月=  ]",
    "[Ventôse,        ヴァントーズ=,           風月=  ]",
    "[Germinal,       ジェルミナル=,           芽月=  ]",
    "[Floréal,        フロレアル=,             花月=  ]",
    "[Prairial,       プレリアル=,             牧草月=]",
    "[Messidor,       メスィドール=,           収穫月=]",
    "[Thermidor,      テルミドール=,           熱月=  ]",
    "[Fructidor,      フリュクティドール=,     果実月=]",
    "[Sansculottides, サン・キュロットの休日=, 予備日=]"
  ]
]]
Indian =
[self, [
  "locale:[=en:, ja=ja:, hi=hi:, alias]",
  "names:[Indian=]",
  "[IndianNationalSolar=en:Indian_national_calendar, インド国定暦, era:SE=]",
  "[Nanakshahi=en:Nanakshahi_calendar,  ナーナク暦=]",
  "[RevisedBengali=en:Bengali_calendar, 改訂ベンガル暦=]",
  "[HinduSolar=en:Hindu_calendar,       インド太陽暦=ja:%%<ヒンドゥー暦>]",
  "[HinduLuniSolar=en:Hindu_calendar,   インド太陰太陽暦=ja:%%<ヒンドゥー暦>]",

  [self,
    "names:[IntercalaryMonth=en:Intercalation, 閏月]",
    "[%s Śuklapakṣa=,        %s 白分=,   _IAST_=]",
    "[%s Kṛṣṇapakṣa=,        %s 黒分=,   _IAST_=]",
    "[adhika %s Śuklapakṣa=, 閏%s 白分=, _IAST_=]",
    "[adhika %s Kṛṣṇapakṣa=, 閏%s 黒分=, _IAST_=]"
  ],

  [self,
    "names:[IntercalaryDay=en:Intercalation, 閏日=ja:%%<閏>]",
    "[%s and next day=, %sと翌日=]",
    "[Intercalary %s=,  重%s=]"
  ],

  [self,
    "names:[LunarMonth=, 太陰月=ja:%%<月_(暦)>]",
    "[Mārgaśīra=en:Margashirsha,   マールガシールシャ=, _IAST_=]",
    "[Pauṣa=en:Pausha,             パウシャ=,           _IAST_=]",
    "[Māgha=en:Maagha,             マーガ=,             _IAST_=]",
    "[Phālguna=en:Phalguna,        パールグナ=,         _IAST_=]",
    "[Caitra=en:Chaitra,           チャイトラ=,         _IAST_=]",
    "[Vaiśākha=en:Vaisakha,        ヴァイシャーカ=,     _IAST_=]",
    "[Jyaiṣṭha=en:Jyeshta,         ジャイシュタ=,       _IAST_=]",
    "[Āṣāḍha=en:Aashaadha,         アーシャーダ=,       _IAST_=]",
    "[Śrāvaṇa=en:Shraavana,        シュラーヴァナ=,     _IAST_=]",
    "[Bhādrapada=en:Bhadrapada,    バードラパダ=,       _IAST_=]",
    "[Āśvina=en:Ashwin,            アーシュヴィナ=,     _IAST_=]",
    "[Kārttika=en:Kartika_(month), カールッティカ=,     _IAST_=]"
  ],

  [self,
    "names:[SolarMonth=, 太陽月=ja:%%<月_(暦)>]",
    "[Maysha=,                     白羊宮,              _IAST_=]",
    "[Vrushabha=,                  金牛宮,              _IAST_=]",
    "[Mithuna=,                    双児宮,              _IAST_=]",
    "[Karka=,                      巨蟹宮,              _IAST_=]",
    "[Simha=,                      獅子宮,              _IAST_=]",
    "[Kanya=,                      処女宮,              _IAST_=]",
    "[Tula=,                       天秤宮,              _IAST_=]",
    "[Vrushchika=,                 天蝎宮,              _IAST_=]",
    "[Dhanu=,                      人馬宮,              _IAST_=]",
    "[Makar=,                      磨羯宮,              _IAST_=]",
    "[Kumbha=,                     宝瓶宮,              _IAST_=]",
    "[Meena=,                      双魚宮,              _IAST_=]"
  ],

  [self,
    "names:[NanakshahiMonth=, 太陽月=ja:%%<月_(暦)>]",
    "[Maghar=en:Maghar_(month)    ]",
    "[Poh                         ]",
    "[Magh=en:Magh_(Sikh_calendar)]",
    "[Phagun                      ]",
    "[Chet=en:Chet_(month)        ]",
    "[Vaisakh                     ]",
    "[Jeth                        ]",
    "[Harh                        ]",
    "[Sawan                       ]",
    "[Bhadon                      ]",
    "[Assu                        ]",
    "[Katak                       ]"
  ],

  [self,
    "names:[BengaliMonth=, 太陽月=ja:%%<月_(暦)>]",
    "[Ogrôhayôn=]",
    "[Poush=    ]",
    "[Magh=     ]",
    "[Falgun=   ]",
    "[Chôitrô=  ]",
    "[Bôishakh= ]",
    "[Jyôishţhô=]",
    "[Ashaŗh=   ]",
    "[Shrabôn=  ]",
    "[Bhadrô=   ]",
    "[Ashbin=   ]",
    "[Kartik=   ]"
  ]
]]
Jewish =
[self, [
  "locale:[=en:, ja=ja:, alias]",
  "names:[Jewish=]",
  "[Jewish=en:Hebrew_calendar, ユダヤ暦]",

  [self,
    "names:[IntercalaryMonth=en:Intercalation, 閏月]",
    "[%s I=,  第1=]",
    "[%s II=, 第2=]",
  ],

  [self,
    "names:[Month, 月=ja:%%<月_(暦)>]",
    "[Tishrei,  ティシュリー=]",
    "[Cheshvan, マルヘシュバン=]",
    "[Kislev,   キスレーヴ=]",
    "[Tevet,    テベット=]",
    "[Shevat,   シュバット=]",
    "[Adar,     アダル]",
    "[Nisan,    ニサン=]",
    "[Iyar,     イヤール=]",
    "[Sivan,    シバン]",
    "[Tammuz,   タムーズ=]",
    "[Av,       アブ]",
    "[Elul,     エルール=]"
  ]
]]
Chinese =
[self, [
  "locale:[=ja:, en=en:, alias]",
  "names:[Chinese=]",
  "[中国太陽暦(節月)=ja:%%<二十四節気>#%.<暦月と節月>, *ChineseSolar=en:Solar_term]",
  "[中国太陰太陽暦=ja:%%<中国暦>, *ChineseLuniSolar=en:Chinese_calendar]",
  "[彝暦=ja:%%<イ族>, *Yi=en:Yi_people]",

  [self,
    "names:[月=ja:%%<月_(暦)>, *Month]",
    "[正月=ja:%%<1月_(旧暦)>,    Month 1= ]",
    "[二月=ja:%%<2月_(旧暦)>,    Month 2= ]",
    "[三月=ja:%%<3月_(旧暦)>,    Month 3= ]",
    "[四月=ja:%%<4月_(旧暦)>,    Month 4= ]",
    "[五月=ja:%%<5月_(旧暦)>,    Month 5= ]",
    "[六月=ja:%%<6月_(旧暦)>,    Month 6= ]",
    "[七月=ja:%%<7月_(旧暦)>,    Month 7= ]",
    "[八月=ja:%%<8月_(旧暦)>,    Month 8= ]",
    "[九月=ja:%%<9月_(旧暦)>,    Month 9= ]",
    "[十月=ja:%%<10月_(旧暦)>,   Month 10=]",
    "[十一月=ja:%%<11月_(旧暦)>, Month 11=]",
    "[十二月=ja:%%<21月_(旧暦)>, Month 12=]"
  ],

  [self,
    "names:[月=ja:%%<月_(暦)>, *MonthA=en:Month]",
    "[一月=ja:%%<1月_(旧暦)>,   Month 1= ]",
    "[二月=ja:%%<2月_(旧暦)>,   Month 2= ]",
    "[三月=ja:%%<3月_(旧暦)>,   Month 3= ]",
    "[四月=ja:%%<4月_(旧暦)>,   Month 4= ]",
    "[五月=ja:%%<5月_(旧暦)>,   Month 5= ]",
    "[六月=ja:%%<6月_(旧暦)>,   Month 6= ]",
    "[七月=ja:%%<7月_(旧暦)>,   Month 7= ]",
    "[八月=ja:%%<8月_(旧暦)>,   Month 8= ]",
    "[九月=ja:%%<9月_(旧暦)>,   Month 9= ]",
    "[十月=ja:%%<10月_(旧暦)>,  Month 10=]",
    "[正月=ja:%%<11月_(旧暦)>,  New Year Month=]",
    "[臘月=ja:%%<12月_(旧暦)>,  Month 12=]"
  ],

  [self,
    "names:[月=ja:%%<月_(暦)>, *MonthB=en:Month]",
    "[建寅月=ja:%%<1月_(旧暦)>,  Month 3= ]",
    "[建卯月=ja:%%<2月_(旧暦)>,  Month 4= ]",
    "[建辰月=ja:%%<3月_(旧暦)>,  Month 5= ]",
    "[建巳月=ja:%%<4月_(旧暦)>,  Month 6= ]",
    "[建午月=ja:%%<5月_(旧暦)>,  Month 7= ]",
    "[建未月=ja:%%<6月_(旧暦)>,  Month 8= ]",
    "[建申月=ja:%%<7月_(旧暦)>,  Month 9= ]",
    "[建酉月=ja:%%<8月_(旧暦)>,  Month 10=]",
    "[建戌月=ja:%%<9月_(旧暦)>,  Month 11=]",
    "[建亥月=ja:%%<10月_(旧暦)>, Month 12=]",
    "[建子月=ja:%%<11月_(旧暦)>, Month 1= ]",
    "[建丑月=ja:%%<12月_(旧暦)>, Month 2= ]"
  ]
]]
Yi =
[self, [
  "locale:[=ja:, en=en:, alias]",
  "names:[Yi=]",

  [self,
    "names:[月=ja:%%<月_(暦)>, *Month]",
    "[木公月=, Month 1= ]",
    "[木母月=, Month 2= ]",
    "[火公月=, Month 3= ]",
    "[火母月=, Month 4= ]",
    "[土公月=, Month 5= ]",
    "[土母月=, Month 6= ]",
    "[銅公月=, Month 7= ]",
    "[銅母月=, Month 8= ]",
    "[水公月=, Month 9= ]",
    "[水母月=, Month 10=]",
    "[過年日=, end of year days=]"
  ]
]]
Goddess =
[self, [
  "locale:[=en:, ja]",
  "names:[Goddess=]",
  "[Goddess(MMG)=http://calendars.wikia.com/wiki/Goddess_Lunar_Calendar, ゴッデス暦, *alias:Goddess]",

  [self,
    "names:[Month]",
    "[Athena]", "[Brigid]", "[Cerridwen]", "[Diana ]",
    "[Epona ]", "[Freya ]", "[Gaea     ]", "[Hathor]",
    "[Inanna]", "[Juno  ]", "[Kore     ]", "[Lilith]",
    "[Maria ]"
  ]
]]
Iranian =
[self, [
  "locale:[=en:, ja=ja:, ar=ar:, alias=ja:]",
  "names:[Iranian=]",
  "[SolarHijri=en:Solar_Hijri_calendar#Details_of_the_modern_calendar, ヘジラ太陽暦=ja:%%<イラン暦>]",
  "[SolarHijriAlgorithmic=en:Solar_Hijri_calendar#Solar_Hijri_algorithmic_calendar, ヘジラ太陽暦=ja:%%<イラン暦>]",
  "[Jalali=en:Jalali_calendar, ジャラーリー暦]",
  "[Borji=, ボルジ暦=]",

  [self,
    "names:[Month, 月=ja:%%<月_(暦)>]",
    "[Farvardīn=,   ファルヴァルディーン=, فروردین=,  フラワシ             ]",
    "[Ordībehesht=, オルディーベヘシュト=, اردیبهشت=, アシャ・ワヒシュタ   ]",
    "[Khordād=,     ホルダード=,           خرداد=,     ハルワタート        ]",
    "[Tīr=,         ティール=,             تیر=,       ティシュトリヤ      ]",
    "[Mordād=,      モルダード=,           مرداد=,     アムルタート        ]",
    "[Shahrīvar=,   シャハリーヴァル=,     شهریور=,   フシャスラ・ワルヤ   ]",
    "[Mehr=,        メフル=,               مهر=,       ミスラ              ]",
    "[Ābān=,        アーバーン=,           آبان=,      アープ              ]",
    "[Āzar=,        アーザル=,             آذر=,       アータル            ]",
    "[Dei=,         デイ=,                 دی=,        アフラ・マズダー    ]",
    "[Bahman=,      バフマン=,             بهمن=,      ウォフ・マナフ      ]",
    "[Esfand=,      エスファンド=,         اسفند=,   スプンタ・アールマティ]",
    "[Andarjah=]"
  ],

  [self,
    "names:[Sign=en:Astrological_sign, 十二宮]",
    "[Hamal=,   白羊宮]",
    "[Thur=,    金牛宮]",
    "[Jawzā=,   双児宮]",
    "[Saratān=, 巨蟹宮]",
    "[Asad=,    獅子宮]",
    "[Sunbula=, 処女宮]",
    "[Mizān=,   天秤宮]",
    "['Aqrab=,  天蝎宮]",
    "[Qaws=,    人馬宮]",
    "[Jadi=,    磨羯宮]",
    "[Dalw=,    宝瓶宮]",
    "[Hūt=,     双魚宮]"
  ]
]]
Islamic =
[self, [
  "locale:[=en:, ja=ja:, ar=ar:, alias]",
  "names:[Islamic=]",
  "[TabularIslamic=en:Islamic_calendar, イスラーム暦=ja:%%<ヒジュラ暦>]",
  "[EphemerisBasedIslamic=en:Islamic_calendar, イスラーム暦=ja:%%<ヒジュラ暦>]",

  [self,
    "names:[Month, 月=ja:%%<月_(暦)>]",
    "[Muharram,                         ムハッラム=,                   محرم]",
    "[Safar,                            サファル=,                     صفر]",
    "[Rabi'_al-awwal,                   ラビーウ・アル=アウワル=,     ربيع الأول]",
    "[Rabi'_al-thani,                   ラビーウ・アル=サーニー=,     ربيع الآخر]",
    "[Jumada_al-awwal,                  ジュマーダー・アル=アウワル=, جمادى الأولى]",
    "[Jumada_al-Thani,                  ジュマーダー・アル=サーニー=, جمادى الآخرة]",
    "[Rajab,                            ラジャブ=,                     رجب]",
    "[Sha'aban,                         シャアバーン=,                 شعبان]",
    "[Ramadan=en:Ramadan_(calendar_month), ラマダーン,                 رمضان]",
    "[Shawwal,                          シャウワール=,                 شوال]",
    "[Dhu_al-Qi'dah,                    ズー・アル=カーイダ=,         ذو القعدة]",
    "[Dhu_al-Hijjah,                    ズー・アル=ヒッジャ=,         ذو الحجة]"
  ]
]]
Martian =
[self, [
  "locale:[=en:, ja=ja:, alias]",
  "names:[Martian=]",
  "[Darian=en:Darian_calendar, ダリアン暦]",

  [self,
    "names:[DarianMonth=, 月=ja:%%<月_(暦)>]",
    "[Sagittarius, いて=    ]",
    "[Dhanus=,     人馬=    ]",
    "[Capricornus, やぎ=    ]",
    "[Makara=,     磨羯=    ]",
    "[Aquarius,    みずがめ=]",
    "[Kumbha=,     宝瓶=    ]",
    "[Pisces,      うお=    ]",
    "[Mina=,       双魚=    ]",
    "[Aries,       おひつじ=]",
    "[Mesha=,      白羊=    ]",
    "[Taurus,      おうし=  ]",
    "[Rishabha=,   金牛=    ]",
    "[Gemini,      ふたご=  ]",
    "[Mithuna=,    双児=    ]",
    "[Cancer,      かに=    ]",
    "[Karka=,      巨蟹=    ]",
    "[Leo,         しし=    ]",
    "[Simha=,      獅子=    ]",
    "[Virgo,       おとめ=  ]",
    "[Kanya=,      処女=    ]",
    "[Libra,       てんびん=]",
    "[Tula=,       天秤=    ]",
    "[Scorpius,    さそり=  ]",
    "[Vrishika=,   天蠍=    ]"
  ]
]]
Tibetan =
[self, [
  "locale:[=en:, ja=ja:, hi=hi:, alias]",
  "names:[Tibetan=]",
  "[Tibetan=en:Tibetan_calendar, 時輪暦=ja:%%<チベット暦>]",

  [self,
    "names:[IntercalaryMonth=en:Intercalation, 閏月]",
    "[%s=,        %s宿月=,   _IAST_=]",
    "[adhika %s=, 閏%s宿月=, _IAST_=]"
  ],

  [self,
    "names:[IntercalaryDay=en:Intercalation, 閏日=ja:%%<閏>]",
    "[%s and next day=, %sと翌日=]",
    "[Intercalary %s=,  重%s=]"
  ],

  [self,
    "names:[Month, 月=ja:%%<月_(暦)>]",
    "[Mārgaśīra=en:Margashirsha,   觜=, _IAST_=]",
    "[Pauṣa=en:Pausha,             鬼=, _IAST_=]",
    "[Māgha=en:Maagha,             星=, _IAST_=]",
    "[Phālguna=en:Phalguna,        翼=, _IAST_=]",
    "[Caitra=en:Chaitra,           角=, _IAST_=]",
    "[Vaiśākha=en:Vaisakha,        氐=, _IAST_=]",
    "[Jyaiṣṭha=en:Jyeshta,         心=, _IAST_=]",
    "[Āṣāḍha=en:Aashaadha,         箕=, _IAST_=]",
    "[Śrāvaṇa=en:Shraavana,        牛=, _IAST_=]",
    "[Bhādrapada=en:Bhadrapada,    室=, _IAST_=]",
    "[Āśvina=en:Ashwin,            婁=, _IAST_=]",
    "[Kārttika=en:Kartika_(month), 昴=, _IAST_=]"
  ]
]]
Armenian =
[self, [
  "locale:[=en:, ja=ja:, alias]",
  "names:[Armenian=]",
  "[Armenian=en:Armenian_calendar, アルメニア暦=]",

  [self,
    "names:[Month=, 月=ja:%%<月_(暦)>]",
    "[nawasard= ]",
    "[hoṙi=     ]",
    "[sahmi=    ]",
    "[trē=      ]",
    "[kʿałocʿ=  ]",
    "[aracʿ=    ]",
    "[mehekan=  ]",
    "[areg=     ]",
    "[ahekan=   ]",
    "[mareri=   ]",
    "[margacʿ=  ]",
    "[hroticʿ=  ]",
    "[epagomenê=]"
  ]
]]
Balinese =
[self, [
  "locale:[=en:, ja=ja:, alias]",
  "names:[Balinese=]",
  "[BalineseLuniSolar=, バリ・サカ暦=]",
  "[Tenganan, テンガナン暦=]",

  [self,
    "names:[IntercalaryMonth=en:Intercalation, 閏月]",
    "[%s Suklapaksa=,      %s 白分=  ]",
    "[%s Krsnapaksa=,      %s 黒分=  ]",
    "[Mala %s Suklapaksa=, 閏%s 白分=]",
    "[Mala %s Krsnapaksa=, 閏%s 黒分=]"
  ],

  [self,
    "names:[IntercalaryDay=en:Intercalation, 閏日=ja:%%<閏>]",
    "[Double %s=,           欠=       ]"
  ],

  [self,
    "names:[HinduMonth=, ヒンドゥ月=]",
    "[Kelima=,    5月=]",
    "[Kenem=,     6月=]",
    "[Kepitu=,    7月=]",
    "[Kewulu=,    8月=]",
    "[Kesanga=,   9月=]",
    "[Kedasa=,   10月=]",
    "[Jiyestha=, 11月=]",
    "[Sadha=,    12月=]",
    "[Kasa=,      1月=]",
    "[Karo=,      2月=]",
    "[Ketiga=,    3月=]",
    "[Kapat=,     4月=]"
  ],

  [self,
    "names:[TengananMonth=, テンガナン月=]",
    "[Kelima=,      5月=]",
    "[Kanem=,       6月=]",
    "[Kepitu=,      7月=]",
    "[Kolu=,        8月=]",
    "[Kesanga=,     9月=]",
    "[Kedasa=,     10月=]",
    "[Desta=,      11月=]",
    "[Sadda=,      12月=]",
    "[Kasa=,        1月=]",
    "[Karo=,        2月=]",
    "[Ketiga=,      3月=]",
    "[Kapat=,       4月=]",
    "[Kapat Sep=, 閏4月=]"
  ]
]]
Japanese =
[self, [
  "locale:[=en:, ja=ja:, alias=ja:]",
  "names:[Japanese=]",

  # Remarks
  "[based on Research Project 22520700=http://suchowan.at.webry.info/201401/article_25.html," +
   "典拠 - 科研22520700=]",

  [self,
    "names:[Month, 月=ja:%%<月_(暦)>]",
    "[Month 1=,  *正月=ja:%%<1月_(旧暦)>,    睦月  ]",
    "[Month 2=,  *二月=ja:%%<2月_(旧暦)>,    如月  ]",
    "[Month 3=,  *三月=ja:%%<3月_(旧暦)>,    弥生  ]",
    "[Month 4=,  *四月=ja:%%<4月_(旧暦)>,    卯月  ]",
    "[Month 5=,  *五月=ja:%%<5月_(旧暦)>,    皐月  ]",
    "[Month 6=,  *六月=ja:%%<6月_(旧暦)>,    水無月]",
    "[Month 7=,  *七月=ja:%%<7月_(旧暦)>,    文月  ]",
    "[Month 8=,  *八月=ja:%%<8月_(旧暦)>,    葉月  ]",
    "[Month 9=,  *九月=ja:%%<9月_(旧暦)>,    長月  ]",
    "[Month 10=, *十月=ja:%%<10月_(旧暦)>,   神無月]",
    "[Month 11=, *十一月=ja:%%<11月_(旧暦)>, 霜月  ]",
    "[Month 12=, *十二月=ja:%%<21月_(旧暦)>, 師走  ]"
  ],

  [self,
    "names:[The_Tale_of_Genji, *源氏物語]",
    "[Kiritsubo=,        *桐壺]",
    "[Hahakigi=,         *帚木=ja:%%<帚木_(源氏物語)>]",
    "[Utsusemi=,         *空蝉=ja:%%<空蝉_(源氏物語)>]",
    "[Yūgao=,            *夕顔=ja:%%<夕顔_(源氏物語)>]",
    "[Wakamurasaki=,     *若紫]",
    "[Suetsumuhana,      *末摘花=ja:%%<末摘花_(源氏物語)>]",
    "[Momiji no Ga=,     *紅葉賀]",
    "[Hana no En=,       *花宴]",
    "[Aoi=,              *葵=ja:%%<葵_(源氏物語)>]",
    "[Sakaki=,           *賢木]",
    "[Hana Chiru Sato=,  *花散里]",
    "[Suma=,             *須磨=ja:%%<須磨_(源氏物語)>]",
    "[Akashi=,           *明石=ja:%%<明石_(源氏物語)>]",
    "[Miotsukushi=,      *澪標=ja:%%<澪標_(源氏物語)>]",
    "[Yomogiu=,          *蓬生]",
    "[Sekiya=,           *関屋=ja:%%<関屋_(源氏物語)>]",
    "[E Awase=,          *絵合]",
    "[Matsukaze=,        *松風=ja:%%<松風_(源氏物語)>]",
    "[Usugumo=,          *薄雲]",
    "[Asagao=,           *朝顔=ja:%%<朝顔_(源氏物語)>]",
    "[Otome=,            *少女=ja:%%<少女_(源氏物語)>]",
    "[Tamakazura=,       *玉鬘=ja:%%<玉鬘_(源氏物語)>]",
    "[Hatsune=,          *初音=ja:%%<初音_(源氏物語)>]",
    "[Kochō=,            *胡蝶=ja:%%<胡蝶_(源氏物語)>]",
    "[Hotaru=,           *蛍=ja:%%<蛍_(源氏物語)>]",
    "[Tokonatsu=,        *常夏]",
    "[Kagaribi=,         *篝火]",
    "[Nowaki=,           *野分=ja:%%<野分_(源氏物語)>]",
    "[Miyuki=,           *行幸=ja:%%<行幸_(源氏物語)>]",
    "[Fujibakama=,       *藤袴]",
    "[Makibashira=,      *真木柱]",
    "[Mume ga E=,        *梅枝]",
    "[Fuji no Uraba=,    *藤裏葉]",
    "[Wakana=,           *若菜=ja:%%<若菜_(源氏物語)>]",
    "[Kashiwagi=,        *柏木=ja:%%<柏木_(源氏物語)>]",
    "[Yokobue=,          *横笛=ja:%%<横笛_(源氏物語)>]",
    "[Suzumushi=,        *鈴虫]",
    "[Yūgiri=,           *夕霧=ja:%%<夕霧_(源氏物語)>]",
    "[Minori=,           *御法]",
    "[Maboroshi=,        *幻=ja:%%<幻_(源氏物語)>]",
    "[Niō Miya=,         *匂宮]",
    "[Kōbai=,            *紅梅=ja:%%<紅梅_(源氏物語)>]",
    "[Takekawa=,         *竹河]",
    "[Hashihime=,        *橋姫=ja:%%<橋姫_(源氏物語)>]",
    "[Shī ga Moto=,      *椎本]",
    "[Agemaki=,          *総角=ja:%%<総角_(源氏物語)>]",
    "[Sawarabi=,         *早蕨]",
    "[Yadorigi=,         *宿木]",
    "[Azumaya=,          *東屋]",
    "[Ukifune,           *浮舟=ja:%%<浮舟_(源氏物語)>]",
    "[Kagerō=,           *蜻蛉=ja:%%<蜻蛉_(源氏物語)>]",
    "[Tenarai=,          *手習]",
    "[Yume no Ukihashi=, *夢浮橋]"
  ]
]]
Javanese =
[self, [
  "locale:[=en:, ja=ja:, alias]",
  "names:[Javanese=]",
  "[JavaneseLunar=, ジャワ・イスラーム暦=]",
  "[Pranatamangsa=, プラノトモンソ=]",

  [self,
    "names:[HinduMonth=, ヒンドゥ月=]",
    "[Kalima=,      5月=]",
    "[Kanem=,       6月=]",
    "[Kapitu=,      7月=]",
    "[Kawolu=,      8月=]",
    "[Kasanga=,     9月=]",
    "[Kasapuluh=,  10月=]",
    "[Dhestal=,    11月=]",
    "[Sadha=,      12月=]",
    "[Kasa=,        1月=]",
    "[Karo=,        2月=]",
    "[Katelu=,      3月=]",
    "[Kapat=,       4月=]"
  ],

  [self,
    "names:[IslamicMonth=, イスラーム月=]",
    "[Suro=,        1月=]",
    "[Sapar=,       2月=]",
    "[Mulud=,       3月=]",
    "[Bakdomulud=,  4月=]",
    "[Jumadilawal=, 5月=]",
    "[Jumadilakir=, 6月=]",
    "[Rejeb=,       7月=]",
    "[Ruwah=,       8月=]",
    "[Poso=,        9月=]",
    "[Sawal=,      10月=]",
    "[Dulkaidah=,  11月=]",
    "[Besar=,      12月=]"
  ]
]]
Symmetry =
[self, [
  "locale:[=en:, ja]",
  "names:[Symmetry=]",
  "[Sym454=en:Symmetry454, 対称454暦=]",
  "[Sym010=http://individual.utoronto.ca/kalendis/classic.htm, 対称010暦=]"
]]
WeekDate =
[self, [
  "locale:[=en:, ja]",
  "names:[WeekDate=en:ISO_week_date, 暦週=]",
  [self, "names:[week]"] + (1...100).to_a.map {|m| "Week #{m}"},
]]
Christian =
[self, [
  "locale:[=en:, ja=ja:, alias]",
  "names:[Christian=]",
  "[Julian=en:Julian_calendar,                ユリウス暦    ]",
  "[Gregorian=en:Gregorian_calendar,          グレゴリオ暦  ]",
  "[RevisedJulian=en:Revised_Julian_calendar, 修正ユリウス暦]",
  "[Swedish=en:Swedish_calendar,              スウェーデン暦]",
  "[Civil in the West=en:Civil_calendar, 西暦, *alias:Civil]"
]]
AncientOrient =
[self, [
  "locale:[=en:, ja=ja:, alias]",
  "names:[AncientOrient=en:Ancient_Orient, 古代オリエント]",
  "[Babylonian=en:Babylonian_calendar, バビロニア暦]",
  "[Seleucid=en:Seleucid_era, セレウコス紀元=]",

  # Remarks
  '[based on Chris Bennett "Babylonian and Seleucid Dates" (Retrieved 2014-06-29)=http://suchowan.at.webry.info/201407/article_8.html,' +
   '典拠 - Chris Bennett "Babylonian and Seleucid Dates" (2014-06-29 閲覧)=]',

  '[based on R.A.Parker & W.H.Dubberstein "Babylonian Chronology 626B.C.-A.D.75"=http://suchowan.at.webry.info/201407/article_23.html,' +
   '典拠 - R.A.Parker & W.H.Dubberstein "Babylonian Chronology 626B.C.-A.D.75"=]',

  [self,
    "names:[IntercalaryMonth=en:Intercalation, 閏月]",
    "[%s I=,  第1=]",
    "[%s II=, 第2=]",
  ],

  [self,
    "names:[BabylonianMonth=en:Month, 月=ja:%%<月_(暦)>]",
    "[Nisānu=  ]",
    "[Āru=     ]",
    "[Simanu=  ]",
    "[Dumuzu=  ]",
    "[Abu=     ]",
    "[Ulūlu=   ]",
    "[Tišritum=]",
    "[Samna=   ]",
    "[Kislimu= ]",
    "[Ṭebētum= ]",
    "[Šabaṭu=  ]",
    "[Addaru=  ]"
  ],

  [self,
    "names:[SeleucidMonth=en:Month, 月=ja:%%<月_(暦)>]",
    "[Artemisios=    ]",
    "[Daisios=       ]",
    "[Panemos=       ]",
    "[Loios=         ]",
    "[Gorpiaios=     ]",
    "[Hyperberetaios=]",
    "[Dios=          ]",
    "[Apellaios=     ]",
    "[Audnaios=      ]",
    "[Peritios=      ]",
    "[Dystros=       ]",
    "[Xandikos=      ]"
  ]
]]
Discordian =
[self, [
  "locale:[=en:, ja]",
  "names:[Discordian=en:Discordian_calendar, ディスコーディアン暦=]",
  [self,
    "names:[IntercalaryDay=en:Intercalation, 閏日=ja:%%<閏>]",
    "[%0sSt. Tib's Day=, %0s閏日=]"
  ]
]]
Positivist =
[self, [
  "locale:[=en:, ja=ja:, alias]",
  "names:[Positivist=]",
  "[Positivist=en:Positivist_calendar, オーギュスト・コントの暦=ja:%%<13の月の暦>#%.<実証暦>]"
]]
HankeHenry =
[self, [
  "locale:[=en:, ja]",
  "names:[HankeHenry=]",
  "[HankeHenry=en:Hanke-Henry_Permanent_Calendar, ハンキ=ヘンリー暦=ja:%%<ハンキ=ヘンリー・パーマネント・カレンダー>]",

  [self,
    "names:[Month, 月=ja:%%<月_(暦)>]",
    "[January,   1月, /date/month_names/1] ",
    "[February,  2月, /date/month_names/2] ",
    "[March,     3月, /date/month_names/3] ",
    "[April,     4月, /date/month_names/4] ",
    "[May,       5月, /date/month_names/5] ",
    "[June,      6月, /date/month_names/6] ",
    "[July,      7月, /date/month_names/7] ",
    "[August,    8月, /date/month_names/8] ",
    "[September, 9月, /date/month_names/9] ",
    "[October,  10月, /date/month_names/10]",
    "[November, 11月, /date/month_names/11]",
    "[December, 12月, /date/month_names/12]",
    "[Xtra=en:Hanke-Henry_Permanent_Calendar, 追加週=ja:%%<ハンキ=ヘンリー・パーマネント・カレンダー>]" # Leap week
  ]
]]
Tranquility =
[self, [
  "locale:[=en:, ja=ja:, alias]",
  "names:[Tranquility=]",
  "[Tranquility=en:Tranquility_Calendar, 静かの海の暦=]",

  [self,
    "names:[IntercalaryDay=en:Intercalation, 閏日=ja:%%<閏>]",
    "[%0sAldrin Day=, %0s閏日=]"
  ]
]]
Zoroastrian =
[self, [
  "locale:[=en:, ja=ja:, ar=ar:, alias=ja:]",
  "names:[Zoroastrian=]",
  "[Zoroastrian=en:Zoroastrian_calendar#The_reckoning_of_years,   ゾロアスター暦=]",
  "[Qadimi=en:Zoroastrian_calendar#The_Qadimi_calendar ,          カディミ暦=    ]",
  "[Shahanshahi=en:Zoroastrian_calendar#The_Shahanshahi_calendar, 諸王の王の暦=  ]",
  "[Fasli=en:Zoroastrian_calendar#The_Fasli_calendar ,            ファスリ暦=    ]"
]]
WorldSeason =
[self, [
  "locale:[=en:, ja=ja:, alias]",
  "names:[WorldSeason=]",
  "[WorldSeason=http://calendars.wikia.com/wiki/World_Season_Calendar, アシモフの季節暦=]"
]]
InternationalFixed =
[self, [
  "locale:[=en:, ja=ja:, alias]",
  "names:[InternationalFixed=]",
  "[InternationalFixed=en:International_Fixed_Calendar, 国際固定暦]"
]]
VanishingLeprechaun =
[self, [
  "locale:[=en:, ja]",
  "names:[VanishingLeprechaun=http://suchowan.at.webry.info/201110/article_12.html, 消える小妖精=]"
]]

Constants included from Parts::Resource

Parts::Resource::ConstList, Parts::Resource::ConstTypes, Parts::Resource::IRIHeader, Parts::Resource::LabelProperty

Constants included from Locale

Locale::AKT, Locale::AKT_keys, Locale::DefaultAlias, Locale::DefaultNamespaces, Locale::DefaultUnification, Locale::Escape, Locale::IAST, Locale::IASTR, Locale::IAST_K, Locale::IAST_K_keys, Locale::Link, Locale::Locale_af, Locale::Locale_ar, Locale::Locale_az, Locale::Locale_bg, Locale::Locale_bn, Locale::Locale_bs, Locale::Locale_ca, Locale::Locale_cs, Locale::Locale_cy, Locale::Locale_da, Locale::Locale_de, Locale::Locale_de_AT, Locale::Locale_de_CH, Locale::Locale_el, Locale::Locale_en, Locale::Locale_en_AU, Locale::Locale_en_CA, Locale::Locale_en_GB, Locale::Locale_en_IE, Locale::Locale_en_IN, Locale::Locale_en_NZ, Locale::Locale_en_US, Locale::Locale_en_ZA, Locale::Locale_eo, Locale::Locale_es, Locale::Locale_es_419, Locale::Locale_es_AR, Locale::Locale_es_CL, Locale::Locale_es_CO, Locale::Locale_es_CR, Locale::Locale_es_EC, Locale::Locale_es_MX, Locale::Locale_es_PA, Locale::Locale_es_PE, Locale::Locale_es_US, Locale::Locale_es_VE, Locale::Locale_et, Locale::Locale_eu, Locale::Locale_fa, Locale::Locale_fi, Locale::Locale_fr, Locale::Locale_fr_CA, Locale::Locale_fr_CH, Locale::Locale_gl, Locale::Locale_he, Locale::Locale_hi, Locale::Locale_hi_IN, Locale::Locale_hr, Locale::Locale_hu, Locale::Locale_id, Locale::Locale_is, Locale::Locale_it, Locale::Locale_it_CH, Locale::Locale_ja, Locale::Locale_kn, Locale::Locale_ko, Locale::Locale_lo, Locale::Locale_lt, Locale::Locale_lv, Locale::Locale_mk, Locale::Locale_mn, Locale::Locale_ms, Locale::Locale_nb, Locale::Locale_ne, Locale::Locale_nl, Locale::Locale_nn, Locale::Locale_or, Locale::Locale_pl, Locale::Locale_pt, Locale::Locale_pt_BR, Locale::Locale_rm, Locale::Locale_ro, Locale::Locale_ru, Locale::Locale_sk, Locale::Locale_sl, Locale::Locale_sr, Locale::Locale_sv, Locale::Locale_sw, Locale::Locale_ta, Locale::Locale_th, Locale::Locale_tl, Locale::Locale_tr, Locale::Locale_uk, Locale::Locale_ur, Locale::Locale_uz, Locale::Locale_vi, Locale::Locale_wo, Locale::Locale_zh_CN, Locale::Locale_zh_HK, Locale::Locale_zh_TW, Locale::Locale_zh_YUE, Locale::Ref, Locale::WikipediaLinks

Instance Attribute Summary collapse

Attributes included from Parts::Resource

#_pool, #child, #keys, #locale, #namespace

Attributes included from Locale

#keys, #link, #names, #values

Attributes inherited from Code

#code_space

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Parts::Resource

#[], #^, _abbreviation_to_iri, _decode, _encode, _extract_prefix, _instance, _instantiate, _parse, _path_with_prefix, _replace_tags, _setup_, _setup_info, _simplify_path, base_uri, #each, #enum_for, #hierarchy, #include?, #included?, #iri, #leaf?, #m17n, #map, #next, #parent, #prev, #registered?, root_dir

Methods included from Parts::Resource::Pool

#[], #[]=, #_pool, #_setup_, #pool_keys

Methods included from Parts::Resource::Synchronize

#synchronize

Methods included from Locale

#+, #=~, #[], _get_locale, _hash_value, _locale, _method_missing, _namespace, #_printf, _setup_, _setup_info, _split, _unification, akt, iast_akt, #ideographic_unification, ideographic_unification, #index, method_missing, #prefix, #reference, #translate, translate, transliteration_keys, transliteration_keys_hash, #update

Methods inherited from String

#^, #calendar, #calendar_era, #calendar_note, #clock, #encode, #era, #ideographic_unification, #m17n, #ord, #resource, #to_month_name, #to_pair, #to_r, #to_residue, #translate, #when?

Methods included from EncodingConversion

#+@, #-@

Constructor Details

#initialize(names, namespace = {}, locale = []) ⇒ M17n

オブジェクトの生成

Examples:

M17n.new(['3月', 'fr:Mars=http://fr.wikipedia.org/wiki/Mars_(mois)', 'March'],
         {'en_wikipedia'=>'http://en.wikipedia.org/wiki/',
          'ja_wikipedia'=>'http://ja.wikipedia.org/wiki/'},
         ['=ja_wikipedia:', '*en=en_wikipedia:']) を行うと、生成された M17n では、
@names     = {''  =>'3月', 'fr'=>'Mars', 'en'=>'March'}
@namespace = {''  =>'http://ja.wikipedia.org/wiki/3%E6%9C%88',
              'fr'=>'http://fr.wikipedia.org/wiki/Mars_(mois)',
              'en'=>'http://en.wikipedia.org/wiki/March'}
となり、通常の String として振舞う場合は 'March' として振舞う

Parameters:

  • names (Array<String>)
    String

    ‘*locale:label=prefix:link’

    *       - 存在すれば、label をインスタンスを代表する文字列とする
    locale  - label に対応する locale指定(なければ、locale 引数の指定を用いる)
    label   - locale 指定に対応する label
    prefix:link - その locale での authority の URI
    prefix: - namespace 引数の指定により URI に展開する
    link    - なければ labelをURI encodeして用いる
    
  • namespace (Hash) (defaults to: {})

    { prefix=>uri }

    lables, locale 引数の prefix の展開に用いる

  • locale (Array<String>) (defaults to: [])
    String

    ‘*locale=prefix:link’

    *       - 存在すれば、label をインスタンスを代表する文字列とする
    locale  - locale指定
    prefix:link - authority の URI
    prefix: - namespace 引数の指定により URI に展開する
    


600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
# File 'lib/when_exe/basictypes.rb', line 600

def initialize(*args)
  rest, options = _attributes(args)
  _sequence

  return _pool[@label.to_s] ?
    _copy_all(_pool[@label.to_s]) :  # 階層になった Resource の代表ラベルのための生成
    _copy(options) if @label         # M17n#to_h の出力と書式互換の入力による生成

  case rest[0]
  when When::Parts::Resource::ContentLine
    content, namespace = rest
    namespace ||= {}
    names       = []
    locale      = []
    begin
      loc   = content.attribute['language'].object
      locale << [nil, loc, namespace[loc]]
      name  = content.object
      ref   = content.attribute['reference'] || content.attribute['url']
      name += '=' + (/\ANUL\z/i =~ ref.object ? '' : ref.object) if ref
      names << name
    end while (content = content.same_altid)
    @names     ||= names.reverse
    @namespace ||= namespace if namespace.kind_of?(Hash)
    @locale    ||= locale.reverse
  when nil ;
  else
    names, namespace, locale = rest
    @names       = names if names
    @namespace ||= When::Locale._namespace(namespace) if namespace
    @locale    ||= When::Locale._locale(locale)       if locale
  end
  @namespace ||= {}
  @locale    ||= []

  @code_space = @namespace['']
  self[0..-1] = @label = _names(@names, @namespace, @locale)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class When::Parts::Resource

Instance Attribute Details

#labelString (readonly)

代表名

Returns:



522
523
524
# File 'lib/when_exe/basictypes.rb', line 522

def label
  @label
end

Class Method Details

._label(source) ⇒ When::Parts::Resource

resource の取得

Parameters:

Returns:



467
468
469
470
471
472
473
474
# File 'lib/when_exe/basictypes.rb', line 467

def _label(source)
  case source
  when Parts::Resource, nil       ; return source
  when Parts::Resource::IRIHeader ; return Parts::Resource._instance(source)
  end
  iri = Parts::Resource._abbreviation_to_iri(source, LabelTypes)
  iri ? Parts::Resource._instance(iri) : nil
end

.label(source) ⇒ When::BasicTypes::M17n, String

label の取得

Parameters:

Returns:



483
484
485
486
487
488
489
490
491
# File 'lib/when_exe/basictypes.rb', line 483

def label(source)
  resource = _label(source)
  case resource
  when nil             ; return source
  when M17n            ; return resource
  when Parts::Resource ; return resource.label
  else                 ; return resource
  end
end

.labels(source) ⇒ Array

label の Array の取得

Parameters:

Returns:



500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
# File 'lib/when_exe/basictypes.rb', line 500

def labels(source)
  array =
    if source.kind_of?(Array)
      source
    else
      resource = _label(source)
      return nil unless resource
      resource.child
    end
  case array[0]
  when M17n            ; return array
  when Parts::Resource ; return array.map {|v| v.label}
  else                 ; return array
  end
end

.month_name(name) ⇒ When::BasicTypes::M17n

月名

Parameters:

  • name (Numeric)

    指定の月番号の月名を返します

  • name (When::BasicTypes::M17n)

    name 自身をそのまま返します

  • name (String)

    最初の3文字から決定した月名を返します。 一致する月名がない場合、名前の一致するその他のM17nを探して返します。

Returns:



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/when_exe/region/m17n.rb', line 21

def self.month_name(name)
  return name if name.kind_of?(self)

  months = When.Resource('_m:Calendar::Month').child
  abbrs  = When.Resource('_m:Calendar::Abbr_Month').child
  return name > 0 ? months[name-1] : abbrs[-name-1] if name.kind_of?(Numeric)

  name   = When::EncodingConversion.to_internal_encoding(name)
  match  = name[/\A...|^..\z/]
  if match
    (months+abbrs).each do |month|
      return month if month.=~(/\A#{match}/i)
    end
  end

  ObjectSpace.each_object(self) do |object|
    return object if object.registered? && object.=~(/\A#{name}\z/)
  end

  return nil
end

Instance Method Details

#to_external_encodingObject

外部エンコーディング文字列化



555
556
557
558
559
560
561
562
# File 'lib/when_exe/basictypes.rb', line 555

def to_external_encoding
  _copy({:label      => When::EncodingConversion.to_external_encoding(to_s),
         :names      => Hash[*(names.keys.map {|name| [name, When::EncodingConversion.to_external_encoding(names[name])]}).flatten],
         :link       => link,
         :access_key => access_key,
         :code_space => code_space
        })
end

#to_internal_encodingObject

内部エンコーディング文字列化



543
544
545
546
547
548
549
550
# File 'lib/when_exe/basictypes.rb', line 543

def to_internal_encoding
  _copy({:label      => When::EncodingConversion.to_internal_encoding(to_s),
         :names      => Hash[*(names.keys.map {|name| [name, When::EncodingConversion.to_internal_encoding(names[name])]}).flatten],
         :link       => link,
         :access_key => access_key,
         :code_space => code_space
        })
end

#to_m17nWhen::BasicTypes::M17n

When::BasicTypes::M17n に変換する - 何もしないで自身を返す



536
537
538
# File 'lib/when_exe/basictypes.rb', line 536

def to_m17n
  self
end