when_exe 0.3.4 → 0.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. data/bin/locales.rb +2 -2
  2. data/bin/when.rb +2 -2
  3. data/lib/when_exe.rb +161 -55
  4. data/lib/when_exe/basictypes.rb +34 -26
  5. data/lib/when_exe/calendarnote.rb +654 -0
  6. data/lib/when_exe/calendartypes.rb +49 -474
  7. data/lib/when_exe/coordinates.rb +141 -34
  8. data/lib/when_exe/core/compatibility.rb +22 -2
  9. data/lib/when_exe/core/extension.rb +47 -3
  10. data/lib/when_exe/ephemeris.rb +82 -109
  11. data/lib/when_exe/googlecalendar.rb +1 -1
  12. data/lib/when_exe/icalendar.rb +26 -14
  13. data/lib/when_exe/inspect.rb +82 -68
  14. data/lib/when_exe/locales/af.rb +1 -1
  15. data/lib/when_exe/locales/ar.rb +1 -1
  16. data/lib/when_exe/locales/az.rb +1 -1
  17. data/lib/when_exe/locales/bg.rb +1 -1
  18. data/lib/when_exe/locales/bn.rb +1 -1
  19. data/lib/when_exe/locales/bs.rb +1 -1
  20. data/lib/when_exe/locales/ca.rb +1 -1
  21. data/lib/when_exe/locales/cs.rb +1 -1
  22. data/lib/when_exe/locales/cy.rb +1 -1
  23. data/lib/when_exe/locales/da.rb +1 -1
  24. data/lib/when_exe/locales/de.rb +1 -1
  25. data/lib/when_exe/locales/de_AT.rb +1 -1
  26. data/lib/when_exe/locales/de_CH.rb +1 -1
  27. data/lib/when_exe/locales/el.rb +1 -1
  28. data/lib/when_exe/locales/en.rb +1 -1
  29. data/lib/when_exe/locales/en_AU.rb +1 -1
  30. data/lib/when_exe/locales/en_CA.rb +1 -1
  31. data/lib/when_exe/locales/en_GB.rb +1 -1
  32. data/lib/when_exe/locales/en_IE.rb +1 -1
  33. data/lib/when_exe/locales/en_IN.rb +1 -1
  34. data/lib/when_exe/locales/en_NZ.rb +1 -1
  35. data/lib/when_exe/locales/en_US.rb +1 -1
  36. data/lib/when_exe/locales/eo.rb +1 -1
  37. data/lib/when_exe/locales/es.rb +1 -1
  38. data/lib/when_exe/locales/es_419.rb +1 -1
  39. data/lib/when_exe/locales/es_AR.rb +1 -1
  40. data/lib/when_exe/locales/es_CL.rb +1 -1
  41. data/lib/when_exe/locales/es_CO.rb +1 -1
  42. data/lib/when_exe/locales/es_CR.rb +1 -1
  43. data/lib/when_exe/locales/es_EC.rb +1 -1
  44. data/lib/when_exe/locales/es_MX.rb +1 -1
  45. data/lib/when_exe/locales/es_PA.rb +1 -1
  46. data/lib/when_exe/locales/es_PE.rb +1 -1
  47. data/lib/when_exe/locales/es_VE.rb +1 -1
  48. data/lib/when_exe/locales/et.rb +1 -1
  49. data/lib/when_exe/locales/eu.rb +1 -1
  50. data/lib/when_exe/locales/fa.rb +1 -1
  51. data/lib/when_exe/locales/fi.rb +1 -1
  52. data/lib/when_exe/locales/fr.rb +1 -1
  53. data/lib/when_exe/locales/fr_CA.rb +1 -1
  54. data/lib/when_exe/locales/fr_CH.rb +1 -1
  55. data/lib/when_exe/locales/gl.rb +1 -1
  56. data/lib/when_exe/locales/he.rb +1 -1
  57. data/lib/when_exe/locales/hi.rb +1 -1
  58. data/lib/when_exe/locales/hi_IN.rb +1 -1
  59. data/lib/when_exe/locales/hr.rb +1 -1
  60. data/lib/when_exe/locales/hu.rb +1 -1
  61. data/lib/when_exe/locales/id.rb +1 -1
  62. data/lib/when_exe/locales/is.rb +1 -1
  63. data/lib/when_exe/locales/it.rb +1 -1
  64. data/lib/when_exe/locales/it_CH.rb +1 -1
  65. data/lib/when_exe/locales/ja.rb +1 -1
  66. data/lib/when_exe/locales/kn.rb +1 -1
  67. data/lib/when_exe/locales/ko.rb +1 -1
  68. data/lib/when_exe/locales/lo.rb +1 -1
  69. data/lib/when_exe/locales/locales.rb +1 -1
  70. data/lib/when_exe/locales/lt.rb +1 -1
  71. data/lib/when_exe/locales/lv.rb +1 -1
  72. data/lib/when_exe/locales/mk.rb +1 -1
  73. data/lib/when_exe/locales/mn.rb +1 -1
  74. data/lib/when_exe/locales/ms.rb +1 -1
  75. data/lib/when_exe/locales/nb.rb +1 -1
  76. data/lib/when_exe/locales/ne.rb +1 -1
  77. data/lib/when_exe/locales/nl.rb +1 -1
  78. data/lib/when_exe/locales/nn.rb +1 -1
  79. data/lib/when_exe/locales/or.rb +1 -1
  80. data/lib/when_exe/locales/pl.rb +1 -1
  81. data/lib/when_exe/locales/pt.rb +1 -1
  82. data/lib/when_exe/locales/pt_BR.rb +1 -1
  83. data/lib/when_exe/locales/rm.rb +1 -1
  84. data/lib/when_exe/locales/ro.rb +1 -1
  85. data/lib/when_exe/locales/ru.rb +1 -1
  86. data/lib/when_exe/locales/sk.rb +1 -1
  87. data/lib/when_exe/locales/sl.rb +1 -1
  88. data/lib/when_exe/locales/sr.rb +1 -1
  89. data/lib/when_exe/locales/sv.rb +1 -1
  90. data/lib/when_exe/locales/sw.rb +1 -1
  91. data/lib/when_exe/locales/th.rb +1 -1
  92. data/lib/when_exe/locales/tl.rb +1 -1
  93. data/lib/when_exe/locales/tr.rb +1 -1
  94. data/lib/when_exe/locales/uk.rb +1 -1
  95. data/lib/when_exe/locales/ur.rb +1 -1
  96. data/lib/when_exe/locales/uz.rb +1 -1
  97. data/lib/when_exe/locales/vi.rb +1 -1
  98. data/lib/when_exe/locales/wo.rb +1 -1
  99. data/lib/when_exe/locales/zh_CN.rb +1 -1
  100. data/lib/when_exe/locales/zh_HK.rb +1 -1
  101. data/lib/when_exe/locales/zh_TW.rb +1 -1
  102. data/lib/when_exe/mini_application.rb +6 -2
  103. data/lib/when_exe/parts/enumerator.rb +13 -8
  104. data/lib/when_exe/parts/geometric_complex.rb +3 -5
  105. data/lib/when_exe/parts/locale.rb +185 -28
  106. data/lib/when_exe/parts/method_cash.rb +20 -10
  107. data/lib/when_exe/parts/resource.rb +154 -76
  108. data/lib/when_exe/parts/timezone.rb +11 -6
  109. data/lib/when_exe/region/bahai.rb +2 -2
  110. data/lib/when_exe/region/balinese.rb +296 -296
  111. data/lib/when_exe/region/chinese.rb +564 -564
  112. data/lib/when_exe/region/chinese_calendar.rb +5 -1
  113. data/lib/when_exe/region/chinese_epoch.rb +47 -102
  114. data/lib/when_exe/region/chinese_twin.rb +798 -0
  115. data/lib/when_exe/region/christian.rb +314 -338
  116. data/lib/when_exe/region/coptic.rb +88 -0
  117. data/lib/when_exe/region/ephemeric_notes.rb +322 -307
  118. data/lib/when_exe/region/french.rb +2 -2
  119. data/lib/when_exe/region/indian.rb +361 -272
  120. data/lib/when_exe/region/iranian.rb +2 -2
  121. data/lib/when_exe/region/islamic.rb +3 -3
  122. data/lib/when_exe/region/japanese.rb +1 -1
  123. data/lib/when_exe/region/japanese_notes.rb +165 -103
  124. data/lib/when_exe/region/japanese_residues.rb +56 -55
  125. data/lib/when_exe/region/japanese_twin.rb +228 -0
  126. data/lib/when_exe/region/javanese.rb +2 -2
  127. data/lib/when_exe/region/jewish.rb +2 -2
  128. data/lib/when_exe/region/korean.rb +4 -4
  129. data/lib/when_exe/region/m17n.rb +19 -19
  130. data/lib/when_exe/region/martian.rb +21 -9
  131. data/lib/when_exe/region/mayan.rb +19 -11
  132. data/lib/when_exe/region/moon.rb +7 -7
  133. data/lib/when_exe/region/nihon_shoki.rb +7 -7
  134. data/lib/when_exe/region/roman.rb +100 -100
  135. data/lib/when_exe/region/shire.rb +130 -147
  136. data/lib/when_exe/region/thai.rb +2 -2
  137. data/lib/when_exe/region/tibetan.rb +2 -2
  138. data/lib/when_exe/region/vietnamese.rb +383 -114
  139. data/lib/when_exe/region/world.rb +112 -129
  140. data/lib/when_exe/timestandard.rb +12 -1
  141. data/lib/when_exe/tmposition.rb +28 -14
  142. data/lib/when_exe/tmreference.rb +96 -93
  143. data/lib/when_exe/version.rb +1 -1
  144. data/test/examples/Terms.m17n +2 -2
  145. data/test/examples/sample.json +16 -0
  146. data/test/examples/sample.xml +1 -1
  147. data/test/test.rb +4 -0
  148. data/test/test/basictypes.rb +2 -2
  149. data/test/test/calendarnote.rb +69 -0
  150. data/test/test/calendartypes.rb +41 -1
  151. data/test/test/coordinates.rb +12 -1
  152. data/test/test/ephemeris.rb +13 -66
  153. data/test/test/icalendar.rb +3 -3
  154. data/test/test/inspect.rb +1 -1
  155. data/test/test/parts.rb +7 -4
  156. data/test/test/region/chinese.rb +45 -0
  157. data/test/test/region/coptic.rb +27 -0
  158. data/test/test/region/indian.rb +1 -1
  159. data/test/test/region/japanese.rb +4 -4
  160. data/test/test/region/jewish.rb +1 -1
  161. data/test/test/region/m17n.rb +7 -5
  162. data/test/test/region/residue.rb +2 -2
  163. data/test/test/region/vietnamese.rb +102 -0
  164. data/test/test/timestandard.rb +81 -0
  165. data/test/test/tmposition.rb +1 -1
  166. data/test/test/tmreference.rb +1 -1
  167. data/when_exe.gemspec +2 -2
  168. metadata +16 -7
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  =begin
3
- Copyright (C) 2011-2013 Takashi SUGA
3
+ Copyright (C) 2011-2014 Takashi SUGA
4
4
 
5
5
  You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
6
6
  =end
@@ -13,7 +13,7 @@ module When
13
13
  "ja=http://ja.wikipedia.org/wiki/, " +
14
14
  "cal=http://en.wikipedia.org/wiki/Middle-earth_calendar]",
15
15
  "locale:[=en:, ja=ja:, alias]",
16
- "names:[ShireTerms]",
16
+ "names:[ShireTerms=]",
17
17
  "[Shire=en:The_Lord_of_the_Rings, ホビット庄暦=ja:%%<指輪物語>]",
18
18
 
19
19
  [self,
@@ -36,180 +36,163 @@ module When
36
36
  ]]
37
37
  end
38
38
 
39
- module CalendarTypes
39
+ #
40
+ # ホビット庄暦の暦週
41
+ #
42
+ class CalendarNote::ShireWeek < CalendarNote
40
43
 
41
- #
42
- # ホビット庄暦の暦週
43
- #
44
- class CalendarNote::ShireWeek < CalendarNote
45
-
46
- NoteObjects = [When::BasicTypes::M17n, [
47
- "namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
48
- "locale:[=en:, ja=ja:, alias]",
49
- "names:[Shire]",
44
+ NoteObjects = [When::BasicTypes::M17n, [
45
+ "namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
46
+ "locale:[=en:, ja=ja:, alias]",
47
+ "names:[Shire]",
50
48
 
51
- # 年の暦注 ----------------------------
52
- [When::BasicTypes::M17n,
53
- "names:[year]"
54
- ],
49
+ # 年の暦注 ----------------------------
50
+ [When::BasicTypes::M17n,
51
+ "names:[year]"
52
+ ],
55
53
 
56
- # 月の暦注 ----------------------------
54
+ # 月の暦注 ----------------------------
55
+ [When::BasicTypes::M17n,
56
+ "names:[month]",
57
57
  [When::BasicTypes::M17n,
58
- "names:[month]",
59
- [When::BasicTypes::M17n,
60
- "names:[Month]"
61
- ]
62
- ],
58
+ "names:[Month]"
59
+ ]
60
+ ],
63
61
 
64
- # 日の暦注 ----------------------------
62
+ # 日の暦注 ----------------------------
63
+ [When::BasicTypes::M17n,
64
+ "names:[day]",
65
65
  [When::BasicTypes::M17n,
66
- "names:[day]",
67
- [When::BasicTypes::M17n,
68
- "names:[Week]",
69
- "[Saturday, 土曜日]",
70
- "[Sunday, 日曜日]",
71
- "[Monday, 月曜日]",
72
- "[Tuesday, 火曜日]",
73
- "[Wednesday, 水曜日]",
74
- "[Thursday, 木曜日]",
75
- "[Friday, 金曜日]",
76
- "[lithe, 中日= ]",
77
- "[double, 重日= ]"
78
- ]
66
+ "names:[Week]",
67
+ "[Saturday, 土曜日]",
68
+ "[Sunday, 日曜日]",
69
+ "[Monday, 月曜日]",
70
+ "[Tuesday, 火曜日]",
71
+ "[Wednesday, 水曜日]",
72
+ "[Thursday, 木曜日]",
73
+ "[Friday, 金曜日]",
74
+ "[lithe, 中日= ]",
75
+ "[double, 重日= ]"
79
76
  ]
80
- ]]
77
+ ]
78
+ ]]
81
79
 
82
- # イベントの標準的な間隔を返す
83
- # @private
84
- def _delta(parameter=nil)
85
- return When::DurationP1W
86
- end
80
+ # イベントの標準的な間隔を返す
81
+ # @private
82
+ def _delta(parameter=nil)
83
+ return When::DurationP1W
84
+ end
87
85
 
88
- # @private
89
- def lithe_delta(parameter=nil)
90
- return When::TM::PeriodDuration.new([0,0,7*52+1])
91
- end
86
+ # @private
87
+ def lithe_delta(parameter=nil)
88
+ return When::TM::PeriodDuration.new([0,0,7*52+1])
89
+ end
92
90
 
93
- # 当日または直前の lithe の日
94
- # @param date [When::TM::TemporalPosition]
95
- # @param parameter [nil] 未使用
96
- # @return [When::TM::TemporalPosition]
97
- #
98
- def lithe(date, parameter=nil)
99
- event_name = 'lithe'
100
- date = date.frame.jul_trans(date, {:events=>[event_name]})
101
- y,m,d = date.cal_date
102
- h,n = (m+5).divmod(7)
103
- dow = 182 * h[0] + 30 * n + d + 1
104
- if m==8
105
- case d
106
- when 2 ; dow = 0
107
- when 3 ; dow = date.frame._sum([y]) == 365 ? 1 : 0
108
- when 4 ; dow = 1
109
- end
91
+ # 当日または直前の lithe の日
92
+ # @param date [When::TM::TemporalPosition]
93
+ # @param parameter [nil] 未使用
94
+ # @return [When::TM::TemporalPosition]
95
+ #
96
+ def lithe(date, parameter=nil)
97
+ event_name = 'lithe'
98
+ date = date.frame.jul_trans(date, {:events=>[event_name]})
99
+ y,m,d = date.cal_date
100
+ h,n = (m+5).divmod(7)
101
+ dow = 182 * h[0] + 30 * n + d + 1
102
+ if m==8
103
+ case d
104
+ when 2 ; dow = 0
105
+ when 3 ; dow = date.frame._sum([y]) == 365 ? 1 : 0
106
+ when 4 ; dow = 1
110
107
  end
111
- return date if dow == 0
112
- date += When::TM::PeriodDuration.new([0,0,-dow])
113
- date.events = [event_name]
114
- date
115
108
  end
109
+ return date if dow == 0
110
+ date += When::TM::PeriodDuration.new([0,0,-dow])
111
+ date.events = [event_name]
112
+ date
113
+ end
116
114
 
117
- # 当日または直前の week_day の日
118
- # @method week_day(date, parameter=nil)
119
- # @param date [When::TM::TemporalPosition]
120
- # @param parameter [nil] 未使用
121
- # @return [When::TM::TemporalPosition]
122
- # @note week_day は saturday, sunday, monday, tuesday, wednesday, thursday, friday に読み替えてください。
123
-
124
- # @private
125
- 7.times do |k|
126
- name = When.CalendarNote('ShireWeek/NoteObjects::day::Week')[k].to_s.downcase
127
- module_eval %Q{
128
- def #{name}(date, parameter=nil)
129
- event_name = 'from_#{name}'
130
- date = date.frame.jul_trans(date, {:events=>[event_name], :precision=>When::DAY})
131
- y,m,d = date.cal_date
132
- h,n = (m+5).divmod(7)
133
- dow = (182 * h[0] + 30 * n + d - #{k}) % 7
134
- case m
135
- when 8
136
- case d
137
- when 2 ; dow = 7 - #{k}
138
- when 3 ; dow = (date.frame._sum([y]) == 365 && #{k} == 0) ? 0 : 8 - #{k}
139
- when 4 ; dow = #{k} == 0 ? 0 : 9 - #{k}
140
- end
141
- when 9
142
- dow += (date.frame._sum([y]) == 365) ? 1 : 2 if d < #{k}
115
+ # 当日または直前の week_day の日
116
+ # @method week_day(date, parameter=nil)
117
+ # @param date [When::TM::TemporalPosition]
118
+ # @param parameter [nil] 未使用
119
+ # @return [When::TM::TemporalPosition]
120
+ # @note week_day は saturday, sunday, monday, tuesday, wednesday, thursday, friday に読み替えてください。
121
+
122
+ # @private
123
+ 7.times do |k|
124
+ name = When.CalendarNote('ShireWeek/NoteObjects::day::Week')[k].to_s.downcase
125
+ module_eval %Q{
126
+ def #{name}(date, parameter=nil)
127
+ event_name = 'from_#{name}'
128
+ date = date.frame.jul_trans(date, {:events=>[event_name], :precision=>When::DAY})
129
+ y,m,d = date.cal_date
130
+ h,n = (m+5).divmod(7)
131
+ dow = (182 * h[0] + 30 * n + d - #{k}) % 7
132
+ case m
133
+ when 8
134
+ case d
135
+ when 2 ; dow = 7 - #{k}
136
+ when 3 ; dow = (date.frame._sum([y]) == 365 && #{k} == 0) ? 0 : 8 - #{k}
137
+ when 4 ; dow = #{k} == 0 ? 0 : 9 - #{k}
143
138
  end
144
- return date if dow == 0
145
- date += When::TM::PeriodDuration.new([0,0,-dow])
146
- date.events = [event_name]
147
- date
139
+ when 9
140
+ dow += (date.frame._sum([y]) == 365) ? 1 : 2 if d < #{k}
148
141
  end
142
+ return date if dow == 0
143
+ date += When::TM::PeriodDuration.new([0,0,-dow])
144
+ date.events = [event_name]
145
+ date
146
+ end
149
147
 
150
- alias :#{name}_delta :_delta
151
- }
152
- end
148
+ alias :#{name}_delta :_delta
149
+ }
150
+ end
153
151
 
154
- alias :week :saturday
152
+ alias :week :saturday
155
153
 
156
- # Enumeratorの生成
157
- #
158
- # @param [When::TM::TemporalPosition] first 始点
159
- # @param [Symbol] direction
160
- # [ :forward - 昇順 ]
161
- # [ :reverse - 降順 ]
162
- # @param [String] event イベント名
163
- # @param [Integer] count_limit 繰り返し回数(デフォルトは指定なし)
164
- #
165
- # @return [When::CalendarTypes::ShireWeek::Enumerator]
166
- #
167
- def enum_for(first, direction=:forward, event=@event, count_limit=nil)
168
- Enumerator.new(self, first, direction, event, count_limit)
169
- end
170
- alias :to_enum :enum_for
154
+ # オブジェクトの正規化
155
+ # @private
156
+ def _normalize(args=[], options={})
157
+ @event ||= 'saturday'
158
+ super
159
+ end
171
160
 
172
- # オブジェクトの正規化
173
- # @private
174
- def _normalize(args=[], options={})
175
- @event ||= 'saturday'
176
- super
177
- end
161
+ #
162
+ # イベントを取得する Enumerator
163
+ #
164
+ class Enumerator < When::CalendarNote::Enumerator
178
165
 
179
166
  #
180
- # イベントを取得する Enumerator
167
+ # 次のイベントを得る
181
168
  #
182
- class Enumerator < CalendarNote::Enumerator
183
-
184
- #
185
- # 次のイベントを得る
186
- #
187
- # @return [When::TM::TemporalPosition]
188
- #
189
- def succ
190
- value = @current
191
- plus = @delta.sign > 0
192
- if @current==:first
193
- @first = event_eval(@first) unless plus
194
- @current = @first
169
+ # @return [When::TM::TemporalPosition]
170
+ #
171
+ def succ
172
+ value = @current
173
+ plus = @delta.sign > 0
174
+ if @current==:first
175
+ @first = event_eval(@first) unless plus
176
+ @current = @first
177
+ else
178
+ if plus
179
+ @current = event_eval(@current + @delta)
195
180
  else
196
- if plus
197
- @current = event_eval(@current + @delta)
198
- else
199
- @last = event_eval(@current - When.Duration('P1D'))
200
- @current = event_eval(@current + @delta)
201
- unless [@current.to_i, value.to_i].include?(@last.to_i)
202
- @current = @last
203
- return value
204
- end
181
+ @last = event_eval(@current - When.Duration('P1D'))
182
+ @current = event_eval(@current + @delta)
183
+ unless [@current.to_i, value.to_i].include?(@last.to_i)
184
+ @current = @last
185
+ return value
205
186
  end
206
- @current = event_eval(@current + @delta * 2) if @current.to_i == value.to_i
207
187
  end
208
- return value
188
+ @current = event_eval(@current + @delta * 2) if @current.to_i == value.to_i
209
189
  end
190
+ return value
210
191
  end
211
192
  end
193
+ end
212
194
 
195
+ module CalendarTypes
213
196
  #
214
197
  # Shire Calendar based on summer solstice date
215
198
  #
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  =begin
3
- Copyright (C) 2011-2012 Takashi SUGA
3
+ Copyright (C) 2011-2014 Takashi SUGA
4
4
 
5
5
  You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
6
6
  =end
@@ -11,7 +11,7 @@ module When
11
11
  ThaiTerms = [self, [
12
12
  "namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
13
13
  "locale:[=en:, ja=ja:, alias]",
14
- "names:[ThaiTerms]",
14
+ "names:[ThaiTerms=]",
15
15
  "[ThaiLuniSolar=en:Thai_lunar_calendar, タイ太陰太陽暦=ja:%%<チャントラカティ>]"
16
16
  ]]
17
17
  end
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  =begin
3
- Copyright (C) 2011-2012 Takashi SUGA
3
+ Copyright (C) 2011-2014 Takashi SUGA
4
4
 
5
5
  You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
6
6
  =end
@@ -11,7 +11,7 @@ module When
11
11
  TibetanTerms = [self, [
12
12
  "namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
13
13
  "locale:[=en:, ja=ja:, alias]",
14
- "names:[TibetanTerms]",
14
+ "names:[TibetanTerms=]",
15
15
  "[Tibetan=en:Tibetan_calendar, 時輪暦=ja:%%<チベット暦>]",
16
16
 
17
17
  [self,
@@ -1,172 +1,441 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  =begin
3
- Copyright (C) 2013 Takashi SUGA
3
+ Copyright (C) 2013-2014 Takashi SUGA
4
4
 
5
5
  You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
6
6
  =end
7
7
 
8
8
  require 'when_exe/region/chinese_calendar'
9
9
 
10
- #
11
- # ベトナム王位年号一覧表
12
- #
13
- # (参考文献)
14
- # コンサイス世界年表(三省堂)
15
- # 歴代紀元編(台湾中華書局)
16
10
  module When
11
+
12
+ module CalendarTypes
13
+
14
+ _Indices = [
15
+ Coordinates::Index.new({:branch=>{1=>When.Resource('_m:CalendarTerms::閏')},
16
+ :trunk=>When.Resource('_m:ChineseTerms::Month::*')}),
17
+ Coordinates::DefaultDayIndex
18
+ ]
19
+
20
+ _year1884 = {
21
+ 'Years' => 1,
22
+ 'Months' => 13,
23
+ 'Days' => 385,
24
+ 'IDs' => [1,2,3,4,5, When::Coordinates::Pair.new(5,1),6,7,8,9,10,11,12],
25
+ 'Length' => [31,29,29,30, 29, 29, 30, 29, 30, 30, 29, 30, 30],
26
+ 'Offset' => [ 0,31,60,89,119,148,177,207,236,266,296,325,355]
27
+ }
28
+
29
+ #
30
+ # ベトナム暦日
31
+ #
32
+ # (参考文献)
33
+ # 岡崎彰「ベトナムの旧暦について」(「天文学史研究会」集録 第2回)
34
+ # Đối chiếu lịch dương với lịch âm dương của Việt nam và Trung quốc 2030 năm (0001-2030)
35
+ #
36
+
37
+ # 欽授暦 1544 - 1788
38
+ Vietnamese1544 = [PatternTableBasedLuniSolar, {
39
+ 'origin_of_MSC'=>1544, 'origin_of_LSC'=>2285027, 'indices'=> _Indices,
40
+ 'rule_table'=> %w( AbCdEFgHiJkL aAbCdEfGHiJKl
41
+ aBcdEfGHIjKL abCdeFgHIiJKL abCdeFgHiJKL aBcDefGhIjKL AbCdEffGhIjKl
42
+
43
+ ABCdEfgHiJkL aBCdEfGhIjKl AbCcDEfGhIjKl AbCdEfGHiJkL aBcdEfGHiJKkL
44
+ aBcdEfGhIJKl AbCdeFgHiJKL aBcDefGghIJKl ABcDefGhIjKl ABcDEfgHiJkL
45
+ aBcDEeFgHiJkL aBcDeFGhIjKl AbcDeFGhIJkL aBbcDeFgHIJkL aBcdEfGhIJKl
46
+ AbCdeFghIJjKL AbCdeFghIJkL ABcDefGhiJkL ABcDeFfGhIjKl AbCDeFgHiJkL
47
+ abCDeFgHIjKl AbbCdEfGHIjKl AbcDeFgHIjKL aBcdEfgHIjKLL aBcdEfgHiJKL
48
+ AbCdeFghIjKL AbCDefGhhIjKL aBCdEfGhiJkL aBCdEFgHiJkl AbCdDEfGHiJkL
49
+ abCdEfGHiJKl AbcDefGHiJKL aBbcDefGhIJKL aBcdEfgHiJKL aBCdeFghIiJKl
50
+ ABcDeFghIjKl ABCdEfGhiJkL aBCdEfFGhIjkL aBcDeFGhIJkL abCdEfGHiJKl
51
+ AbcCdeFgHIJKl AbcDefGhIJKl ABcdEfgHiJKkL AbCdEfgHiJkL ABcDeFghIjKl
52
+ ABcDEfGhhIjKl AbCDeFgHiJkL aBcDeFGhIjKL abCddEFgHIjKL abCdeFgHIJkL
53
+
54
+ AbcDefGhIJkL ABbcDefGhIjKL AbCdEfgHiJkL AbCDeFghIiJkL aBCdEfGhIjKl
55
+ AbCdEFgHiJkL aBcDeFfGHiJkL aBcdEfGHIjKL abCdeFgHIjKL aBcCdeFgHiJKL
56
+ aBcDefGhIjKL AbCdEfgHiJkKl ABCdEfgHiJkL aBCdEfGhIjKl AbCdEFgHhIjKl
57
+ AbcDEFgHiJkL aBcdEfGHiJKl AbCddEfGhIJKl AbCdeFghIJKL aBcDefGhiJKl
58
+ ABcCDefGhiJKl ABcDeFgHiJkL aBcDEfGhIjJkL aBcDeFGhIjKl AbcDeFGhIJkL
59
+ aBcdEfFgHIJkL aBcdEfgHIJKl AbCdeFghIJkL ABcDdeFghIJkL ABcDefGhiJkL
60
+ ABcDeFgHijKkL AbCDeFgHiJkl AbCDeFgHIjKl AbcDeFgHHIjKl AbcDeFgHIjKL
61
+ aBcdEfgHIjKL AbCddEfgHiJKL AbCdeFghIjKL AbCdEfGhiJkL AaBCdEfGhiJkL
62
+ aBCdEFgHiJkL abCdEFgHIjKkL abCdEfGHiJKl AbcDefGHiJKL aBcdEffGhIJKL
63
+ aBcdEfgHiJKL aBCdeFghIjKL aBCdDeFghIjKl ABcDEfGhiJkL aBCdEfGHiJkkL
64
+
65
+ aBcDeFGhIJkL abCdEfGhIJKl AbcDefGgHIJkL AbcDefGhIJKl ABcdEfgHiJKl
66
+ ABcDeEfgHiJkL ABcDeFghIjKl ABcDEfGhiJkL aAbCDeFgHiJkL aBcDeFGhIjKl
67
+ AbCdeFGhIJjKL abCdeFgHIJkL AbcDefGhIJkL AbCdEffGhIjKL AbCdEfgHiJkL
68
+ AbCDeFghIjKl AbCDdEfGhIjKl AbCdEFgHiJkL aBcDeFgHIjKlL aBcdEfGHIjKl
69
+ AbCdeFgHIjKL aBcDefGhHiJKL aBcDefGhIjKL aBCdEfgHijKL aBCDeeFgHiJkL
70
+ aBCdEfGhIjKl AbCdEfGHiJkL aBbcDeFGHiJkL aBcdEfGHiJKl AbCdeFgHiJJKl
71
+ AbCdeFghIJKL aBcDefGhiJKl ABCdEffGhiJKl ABcDeFgHijKL aBcDEfGhIjKl
72
+ AbCcDeFGhIjKl AbcDeFGhIJkL aBcdEfGhIJKl AaBcdEfgHIJKl AbCdeFghIJkL
73
+ ABcDefGhhIJkL AbCDefGhiJkL AbCDeFgHijKl ABcDeEFgHiJkl AbCdEFgHIjKl
74
+ AbcDeFgHIJkL aBbcDeFgHIjKL aBcdEfgHIjKL AbCdeFghIiJKL AbCdeFghIjKL
75
+
76
+ AbCdEfGhiJkL AbCDeFgGhiJkL aBCdEfGHiJkl AbCdEFgHIjKl aBccDEfGHiJKl
77
+ AbcDefGHiJKL aBcdEfgHiJKL AaBcdEfgHiJKL aBCdeFghIjKL aBCdEfGhhIjKl
78
+ ABcDEfGhiJkL aBcDEfGhIjKl AbCdEeFGhIJkl AbCdeFGhIJKl AbcDefGhIJKL
79
+ aBbcDefGhIJKl ABcdEfgHiJKl ABcDeFghIjJkL ABcDeFghIjKl ABcDeFgHiJkL
80
+ aBcDEfGgHiJkL aBcDeFGhIjKl AbCdeFGhIJkL AbcDdeFgHIJkL AbcDefGhIJkL
81
+ AbCdEfgHiJkLL AbCdEfgHiJkL AbCDefGhIjKl AbCDeFgHhIjKl AbCdEFgHiJkL
82
+ aBcdEFgHIjKl AbCddEfGHIjKl AbCdeFgHiJKL aBcDefGhIjKL AbCcDefGhiJKL
83
+ aBCdEfgHijKL aBCdEfGhIjKkL aBCdEfGhIjKl AbCdEfGHiJkL aBcdEfGGHiJkL
84
+ aBcdEfGHiJKl AbCdeFgHiJKL aBcDdefGhIJKl ABcDefgHiJKl ABCdeFgHijKLl
85
+ ABcDeFgHijKl ABcDEfGhIjKl aBcDEfGHiIjKl aBcDeFGhIJkL aBcdEfGhIJKl
86
+
87
+ AbCdeeFgHIJkL AbCdefGhIJkL ABcDefgHiJkL ABbCdEfGhiJkL AbCDeFgHijKl
88
+ ABcDeFGhIjKkl AbCdEFgHIjKl aBcDeFgHIJkL aBcdEffGHIjKL aBcdeFgHIjKL
89
+ AbCdefGhIjKL ABcDdefGhIjKL AbCdEfGhiJkL AbCDeFgHijKlL aBCdEfGHijKl
90
+ AbCdEFgHiJKl aBcDeFgHIiJKl AbcDefGHiJKL aBcdeFgHiJKL AbCdeeFgHiJKL
91
+ aBcDefGhIjKL aBCdEfGhiJkL aBBcDEfGhiJkL aBcDEfGhIjKl AbCdEfGHiJKkl
92
+ AbCdeFGhIJKl AbcDefGhIJKl ABcdeFfGhIJKl AbCdeFgHiJKl ABcDeFghIjKl
93
+ ABCdEefGhIjKl ABcDeFgHiJkL aBcDeFGhIjKl AaBcDeFgHIjKl AbCdeFgHIJkL
94
+ aBcDefGhIIJkL aBcDefGhIjKL AbCdEfgHiJkL)
95
+ }
96
+ ]
97
+
98
+ # 西山朝の暦 1789-1801
99
+ Vietnamese1789 = [PatternTableBasedLuniSolar, {
100
+ 'origin_of_MSC'=>1789, 'origin_of_LSC'=>2374505, 'indices'=> _Indices,
101
+ 'rule_table'=> %w( ABcDeeFgHiJkL AbCDefGhIjKl
102
+ AbCDeFgHiJkL aBcDdEFgHiJkL aBcdEFgHIjKl AbcDeFgHIJkL aBbcDeFgHIjKL
103
+ aBcDefgHIjKL AbCdEffgHiJKL aBCdeFghIjKL aBCdEfGhIjkL AbCdDEfGhIjKl
104
+
105
+ aBCdEfGHiJkL)
106
+ }
107
+ ]
108
+
109
+ # 萬全暦 1631-1812
110
+ Vietnamese1631 = [PatternTableBasedLuniSolar, {
111
+ 'origin_of_MSC'=>1631, 'origin_of_LSC'=>2316802, 'indices'=> _Indices,
112
+ 'rule_table'=> %w(
113
+ ABcDeFgHiJklL AbCDeFgHiJkL aBcDeFGhIjKl AbcDeFGhHIjKl AbcDeFgHIjKL
114
+ aBcdEfgHIjKL AbCddEfgHiJKL AbCdeFghIjKL AbCDefGhiJkL AaBCdEfGhIjkL
115
+ AbCdEFgHiJkL abCdEFgHIjKkL abCdEfGHiJKl AbcDeFgHiJKL aBcdEffGhIJKL
116
+ aBcdEfgHiJKL aBCdeFghIjKL aBCdDeFghIjKL aBCdEfGhIjkL aBCdEfGHiJKkl
117
+
118
+ aBcDeFGhIJkL abCdEfGHiJKl AbcDefgGHIJkL AbcDefGhIJKl ABcdEfgHiJKl
119
+ ABCdeEfgHiJkL ABcDeFghIjKl ABcDEfGhiJkL AabCDeFgHIjkL aBcDeFGhIJkL
120
+ abCdEfGhIJjKL abCdeFgHIJkL AbcDefGhIJkL ABcdEffGhIjKL AbCdEfgHiJkL
121
+ AbCDeFghIjKl AbCDdEfGhIjKl AbCdEFgHiJkL aBcDeFgHIjKlL aBcdEfGHIjKl
122
+ AbCdeFgHIjKL aBcDefGhHiJKL aBcDefGhIjKL AbCdEfgHiJkL aBCDefFgHiJkL
123
+ aBCdEfGhIjKl AbCdEfGHiJkL aBbCdEfGHiJkL aBcdEfGHiJKl AbCdeFgHiJJKl
124
+ AbCdeFghIJKL aBcDefGhiJKl ABCdEffGhiJKl ABcDeFgHijKl ABcDEfGhIjKl
125
+ aBCdDeFGhIjKl AbcDeFGhIJkL aBcdEfGhIJKl AbCcdEfgHIJkL AbCdeFghIJkL
126
+ ABcDefGghIjKL AbCDefGhiJkL AbCDeFgHijKl ABcDeEFgHiJkl AbCDeFgHIjKl
127
+ AbcDeFgHIJkL aBccDeFgHIjKL aBcdEfgHIjKL AbCdeFggHiJKL AbCdeFghIjKL
128
+
129
+ AbCdEfGhiJkL AbCDeFgGhiJkL aBCdEfGHiJkl AbCdEFgHIjKl aBccDEfGHiJKl
130
+ AbcDefGHiJKL aBcdEfgHiJKL AaBcdEfgHiJKL aBCdeFghIjKL aBCdEfGhhIjKl
131
+ ABcDEfGhiJkL aBcDEfGhIjKl AbCdEeFGhIJkl AbCdEfGhIJKl AbcDefGhIJKL
132
+ aBccDefGhIJKl ABcdEfgHiJKl ABcDeFghHiJkL ABcDeFghIjKl ABcDeFgHiJkL
133
+ aBcDEfFgHiJkL aBcDeFGhIjKl AbCdeFGhIJkL AbcDdeFgHIJkL aBcDefGhIjKL
134
+ AbCdEfgHiJkLL AbCdEfgHiJkL AbCDefGhIjKl AbCDeFgHhIjKl AbCdEFgHiJkL
135
+ aBcdEFgHIjKl AbCddEfGHIjKl AbCdeFgHiJKL aBcDefGhIjKL AbCcDefGhiJKL
136
+ aBCdEfgHijKL aBCdEfGhIjKkL aBCdEfGhIjKl AbCdEfGHiJkL aBcdEfGGHiJkL
137
+ aBcdEfGHiJKl AbCdeFgHiJKL aBcDdefGhIJKl ABcDefgHiJKl ABCdEfgHijKLl
138
+ ABcDeFgHijKl ABcDEfGhIjKl aBcDEfGHiIjKl aBcDeFGhIJkL aBcdEfGhIJKl
139
+
140
+ AbCdeeFgHIJkL AbCdefGhIJkL ABcDefgHiJkL ABbCdEfGhiJkL AbCDeFgHijKl
141
+ ABcDeFGhIjKkl AbCdEFgHIjKl aBcDeFgHIJkL aBcdEffGHIjKL aBcdeFgHIjKL
142
+ AbCdefGhIjKL ABcDdefGhIjKL AbCdEfGhiJkL AbCDeFgHijKlL aBCdEfGHijKl
143
+ AbCdEFgHiJKl aBcDeFgHIiJKl AbcDefGHiJKL aBcdeFgHiJKL AbCdeeFgHiJKL
144
+ aBcDefGhIjKL aBCdEfGhiJkL aBBcDEfGhiJkL aBcDEfGhIjKl AbCdEfGHiJKkl
145
+ AbCdeFGhIJKl AbcDefGhIJKl ABcdeFfGhIJKl AbCdeFgHiJKl ABcDeFghIjKl
146
+ ABCdEefGhIjKl ABcDeFgHiJkL aBcDeFGhIjKl AaBcDeFgHIjKl AbCdeFgHIJkL
147
+ aBcDefGhIIJkL aBcDefGhIjKL AbCdEfgHiJkL ABcDeeFgHiJkL AbCDefGhIjKl
148
+ AbCDeFgHiJkL aBbCdEFgHiJkL aBcdEFgHIjKl AbcDeFgHIJkKl AbcDeFgHiJKL
149
+ aBcDefgHIjKL AbCdEfggHiJKL aBCdeFghIjKL aBCdEfGhIjkL AbCDdEfGhIjKl
150
+
151
+ aBCdEfGHiJkL abCdEfGHIjKl AabCdEfGHiJKl AbcDefGHiJKL aBcDefgHhIJKl
152
+ ABcDefgHiJKl ABCdeFghIjKL aBCdEfFgHijKl ABcDEfGhIjkL aBcDEfGHiJkL
153
+ abBcDeFGhIJkL abCdEfGhIJKl)
154
+ }
155
+ ]
156
+
157
+ # 協紀暦以降 1813-2030
158
+ Vietnamese1813 = [PatternTableBasedLuniSolarExtended, {
159
+ 'origin_of_MSC'=>1813, 'origin_of_LSC'=>2383276, 'indices'=> _Indices,
160
+ 'rule_table'=> %w( AbCdefGhIJKl ABbCdefGhIJkL ABcdEfgHiJkL
161
+ ABcDeFfgHiJkL AbCDeFgHijKl AbCDeFGhIjkL aBcDdEFgHIjKl aBcDeFgHIJkL
162
+ abCdeFgHIJkL AbCcdeFgHIjKL AbCdefGhIjKL AbCdEfgGhIjKL AbCdEfgHiJkL
163
+ AbCDeFghIjKl AbCDeEfGhIjKl AbCdEFgHiJkL aBcDeFgHIjKL abCddEfGHiJKL
164
+ abCdeFgHiJKL aBcDefGhIiJKL aBcDefGhIjKL aBCdEfgHiJkL aBCdEFfgHiJkL
165
+ aBcDEfGhIjKl AbCdEfGHiJkL aBcDdeFGhIJkL aBcdEfGhIJKl AbCdeFgHiJKL
166
+ aBcCdeFgHiJkL ABcDefGhIjKl ABCdEfgGhIjKl ABcDeFgHiJkL aBcDEfGhIjKl
167
+ AbCdEeFgHIjKl AbcDeFgHIJkL aBcdEfGhIJKl AbCddEfgHIjKL AbCdeFghIJkL
168
+
169
+ ABcDefGhhIjKL AbCDefGhIjkL AbCDeFgHiJkL aBcDeFGgHiJkL abCdEFgHIjKl
170
+ AbcDeFgHIJkL aBcdEeFgHiJKL aBcdEfgHIjKL AbCdeFghIjKL AbCCdeFghIjKL
171
+ aBCdEfGhIjkL AbCdEFgHhIjkL aBCdEfGHiJkL abCdEfGHiJKl AbcDeEfGHiJKl
172
+ AbcDefGHiJKL aBcdEfgHiJKL aBCddEfgHiJKl ABCdeFghIjKl ABCdEfGhiJjKl
173
+ ABcDEfGhIjkL aBcDEfGhIJkL abCdEfFGhIJkL abCdEfGhIJKl AbcDefGhIJKl
174
+ ABcdEefGhIJkL ABcdEfgHiJkL ABcDeFghIjKl ABcCDeFghIjKl AbCDeFGhIjkL
175
+ aBcDeFGgHIjKl aBcDeFgHIjKL abCdeFgHIJkl) + [_year1884] + %w(AbcDefGhIjKL
176
+ AbCdEfgHiJkL AbCDdEfgHiJkL AbCDeFghIjKl AbCDeFgHiJkL aBbCdEfGHiJkL
177
+ aBcDeFgHIjKL abCdeFfGHiJKL abCdeFgHiJKL aBcDefGhIjKL AbCdEefGhIjKL
178
+ aBCdEfgHiJkL aBCdEfGhIjKl AbCcDEfGhIjKl AbCdEfGHiJkL aBcdEfGHhIJkL
179
+
180
+ aBcdEfGhIJKl AbCdeFgHiJKL aBcDeeFghIJkL ABcDefGhiJKl ABcDEfgHiJkL
181
+ aBCdDeFgHiJkL aBcDeFGhIjKl AbcDEfGhIJkL aBbcDeFgHIJkL aBcdEfGhIJKl
182
+ AbCdeFfgHIjKL AbCdeFghIJkL ABcDefGhiJkL ABcDeEfGhiJkL AbCDeFgHiJkl
183
+ ABcDeFGhIjKl AbbCdEFgHIjKl AbcDeFgHIjKL aBcdEfgGHiJKL aBcdEfgHiJKL
184
+ AbCdeFghIjKL AbCDeeFghIjKL aBCdEfGhiJkL aBCdEFgHiJkL abCdDEfGHiJkL
185
+ abCdEfGHiJKl AbcDeFgHIjKL aBbcDefGhIJKL aBcdEfgHiJKL aBCdeFfgHiJKl
186
+ ABcDeFghIjKl ABCdEfGhiJkL aBCdEEfGhIjkL aBcDEfGhIJkL abCdEfGHiJKl
187
+ AbcCdeFGhIJKl AbcDefGhIJKl ABcdEfgGhIJkL ABcdEfgHiJkL ABcDeFghIjKl
188
+ ABcDEfFghIjKl AbCDeFgHiJkL aBcDeFGhIjKl AbCdDeFgHIjKL abCdeFgHIJkL
189
+ AbcDefGhIJkL ABbcDefGhIjKL AbCdEfgHiJkL AbCDeFggHiJkL aBCdEFghIjKl
190
+
191
+ AbCDeFgHiJkL aBcDeEfGHiJkL aBcdEfGHIjKl AbCdeFgHIjKL aBcCdeFgHiJKL
192
+ aBcDefGhIjKL AbCdEfgHhIjKl ABCdEfgHiJkL aBCdEfGhIjKl AbCdEFfGhIjKl
193
+ AbCdEfGHiJkL aBcdEfGHiJKl AbCddEfGhIJKl AbCdeFgHiJKL aBcDefGhiJKl
194
+ ABCcDefGhiJKl ABcDEfgHiJkl ABcDEfGgHiJkl ABcDeFGhIjKl AbcDeFGhIJkL
195
+ aBcdEeFgHIJkL aBcdEfGhIJkL AbCdeFghIJkL ABcDdeFghIjKL AbCDefGhiJkL
196
+ ABcDeFgHhiJkL AbCDeFgHiJkl AbCDeFgHIjKl aBcDeFFgHIjKl AbcDeFgHIjKL
197
+ aBcdEfgHIjKL AbCddEfgHiJKL AbCdeFghIjKL AbCdEfGhiJkL AbBCdEfGhiJkL
198
+ aBCdEFgHijKl AbCdEFgGHiJkl AbCdEfGHiJKl AbcDefGHiJKL aBcdEefGhIJKL
199
+ aBcdEfgHiJKL aBCdeFghIjKL aBCcDeFghIjKl ABCdEfGhiJkL aBCdEfGhHiJkL
200
+ aBcDeFGhIjKl AbCdEfGhIJKl AbcDeeFGhIJkL AbcDefGhIJKl ABcdEfgHiJKl
201
+
202
+ ABcDdEfgHiJkL ABcDeFghIjKl ABcDEfGhiJkL aBbCDeFgHiJkL aBcDeFGhIjKl
203
+ AbCdeFGgHIjKl AbCdeFgHIJkL AbcDefGhIjKL AbCdEefGhIjKL AbCdEfgHiJkL
204
+ AbCDeFghIjKl AbCDdEfGhIjKl AbCdEFgHiJkL aBcDeFgHIiJkL aBcdEfGHIjKl
205
+ AbCdeFgHIjKL aBcDefFgHiJKL aBcDefGhiJKL aBCdEfgHijKL aBCDdEfgHijKL
206
+ aBCdEfGhIjKl AbCdEFgHiJkL aBbcDEfGHiJkL aBcdEfGHiJKl AbCdeFfGhIJKl
207
+ AbCdeFghIJKl ABcDefGhiJKl ABCdEefGhiJKl ABcDeFgHijKl ABcDEfGhIjKl)
208
+ }
209
+ ]
210
+ end
211
+
17
212
  class TM::CalendarEra
18
213
 
19
214
  #
20
- # ベトナム
215
+ # ベトナム王位年号一覧表
216
+ #
217
+ # (参考文献)
218
+ # コンサイス世界年表(三省堂)
219
+ # 歴代紀元編(台湾中華書局)
220
+ # wikipedia 元号一覧 (ベトナム)
21
221
  #
22
- Vietnamese = [self, [
222
+ Vietnamese = [{'LY'=>{'TT' => {'A'=>'1072', 'B'=>'1076', 'C'=>'1138', 'D'=>'1140.02', 'E'=>'1224.10'},
223
+ 'VSL' => {'A'=>'1073', 'B'=>'1075', 'C'=>'1137.09', 'D'=>'1140.01', 'E'=>'1225.06'}},
224
+ 'DN'=>{'KDVNT' => {'Z'=>'Chinese1645', },
225
+ 'LDNK' => {'Z'=>'Vietnamese1813'}}}, self, [
23
226
  "namespace:[ja=http://ja.wikipedia.org/wiki/, en=http://en.wikipedia.org/wiki/]",
24
227
  "locale:[=ja:, en=en:, alias]",
25
- "area:[ベトナム=ja:%%<元号>#%.<ベトナム>,Vietnam]",
228
+ 'area:[ベトナム#{?LY=LY}#{&DN=DN}=ja:%%<元号>#%.<ベトナム>,Vietnam#{?LY=LY}#{&DN=DN}=en:Vietnam]',
229
+ [self,
230
+ "period:[前李朝,Early Lý Dynasty]",
231
+ ["[天徳,alias:大徳]1","@F","name=[李賁];544.01^Chinese0445", "548.03.21="],
232
+ ["[桃郎王]1", "@A","name=[李天宝];548.03.21", "555="],
233
+ ["[趙越王]1", "@A","name=[趙光復];548.03.21"],
234
+ ["[後李南帝]1","@A","name=[李仏子];571", "590^Chinese0523", "602="]
235
+ ],
26
236
  [self,
27
- "period:[呉朝]",
28
- ["[呉権]1", "@F", "name=[呉権];939^Chinese0939", "943="],
29
- ["[天策王]1", "@A", "name=[天策王];952"],
30
- ["[南晋王]1", "@A", "name=[南晋王];954"],
237
+ "period:[呉朝,Ngô Dynasty]",
238
+ ["[呉権]1", "@F", "name=[呉権];939^Chinese0939"],
239
+ ["[平王]1", "@A", "name=[楊三哥];944"],
240
+ ["[天策王]1", "@A", "name=[呉昌岌];951"],
241
+ ["[南晋王]1", "@A", "name=[呉昌文];954"],
31
242
  ["[呉昌熾]1", "@A", "name=[呉昌熾];966", "968"]
32
243
  ],
33
244
  [self,
34
- "period:[丁朝]",
35
- ["[太平]1", "@F", "name=[丁部領];968^Chinese0939"],
36
- ["[太平]12", "@A", "name=[衛王];979", "980"]
245
+ "period:[丁朝,Đinh Dynasty]",
246
+ ["[太平]1", "@F", "name=[丁部領];970^Chinese0939",
247
+ "name=[衛王];979", "980="]
37
248
  ],
38
249
  [self,
39
- "period:[前黎朝]",
250
+ "period:[前黎朝,Early Lê dynasty]",
40
251
  ["[天福]1", "@F", "name=[黎桓];980^Chinese0939"],
41
252
  ["[興統]1", "@A", "989"],
42
- ["[応天]1", "@A", "994"],
43
- ["[応天]12", "@A", "name=[中宗];1005"],
44
- ["[景瑞]1", "@A", "name=[臥朝王];1005", "1009"]
253
+ ["[応天]1", "", "994",
254
+ "name=[中宗];1005", ""],
255
+ ["[景瑞,alias:建瑞]1","@A","name=[臥朝王];1008", "1009="]
45
256
  ],
46
257
  [self,
47
- "period:[李朝]",
48
- ["[順天]1", "@F", "name=[太祖];1009^Chinese0939"],
49
- ["[天成]1", "@A", "name=[太宗];1028"],
50
- ["[通瑞]1", "@A", "1034"],
51
- ["[乾符有道]1", "@A", "1039"],
52
- ["[明道]1", "@A", "1042"],
53
- ["[天感聖武]1", "@A", "1044"],
54
- ["[崇興大宝]1", "@A", "1049"],
55
- ["[龍瑞太平]1", "@A", "name=[聖宗];1054"],
56
- ["[彰聖嘉慶]1", "@A", "1059"],
57
- ["[龍章天嗣]1", "@A", "1065"],
58
- ["[天貺宝象]1", "@A", "1067"],
59
- ["[神武]1", "@A", "1068"],
60
- ["[太寧]1", "@A", "name=[仁宗];1072"],
61
- ["[英武昭聖]1", "@A", "1076"],
62
- ["[広祐]1", "@A", "1085"],
63
- ["[会豊]1", "@A", "1092"],
64
- ["[龍符]1", "@A", "1101"],
65
- ["[会祥大慶]1", "@A", "1109"],
66
- ["[天符睿武]1", "@A", "1118"], # このあたり2年のズレがあるか?
67
- ["[天符慶寿]1", "@A", "1127"],
68
- ["[天順]1", "@A", "name=[神宗];1128"],
69
- ["[天彰宝嗣]1", "@A", "1133.01.01"],
70
- ["[紹明]1", "@A", "name=[英宗];1138"],
71
- ["[大定]1", "@A", "1140.01.01"],
72
- ["[政隆宝応]1", "@A", "1163.01.01"],
73
- ["[天感至宝]1", "@A", "1174.01.01"],
74
- ["[貞符]1", "@A", "name=[高宗];1176"],
75
- ["[天資嘉瑞]1", "@A", "1186.01.01"],
76
- ["[天資宝祐]1", "@A", "1202.01.01"],
77
- ["[治平龍応]1", "@A", "1205"],
258
+ "period:[李朝,Lý Dynasty]",
259
+ ["[順天]1", "@F", "name=[太祖];1010.01.01^Chinese0939"],
260
+ ["[天成,alias:徳成]1","@A","name=[太宗];1028.04.01"],
261
+ ["[通瑞]1", "", "1034.04"],
262
+ ["[乾符有道]1", "", "1039.06"],
263
+ ["[明道]1", "", "1042.10"],
264
+ ["[天感聖武]1", "", "1044.10"],
265
+ ["[崇興大宝]1", "", "1049.03"],
266
+ ["[龍瑞太平]1", "@A", "name=[聖宗];1054.10"],
267
+ ["[彰聖嘉慶]1", "", "1059"],
268
+ ["[龍彰天嗣]1", "", "1066"],
269
+ ["[天貺宝象,alias:天祝宝象]1","", "1068"],
270
+ ["[神武]1", "", "1069"],
271
+ ["[太寧,alias:泰寧]1","@A",'name=[仁宗];#{A:1072}'],
272
+ ["[英武昭聖,alias:英武昭勝]1","",'#{B:1076}'],
273
+ ["[広祐,alias:広佑]1","", "1085"],
274
+ ["[会豊]1", "", "1092"],
275
+ ["[龍符,alias:龍符元化,alias:乾符]1","","1101"],
276
+ ["[会祥大慶]1", "", "1110"],
277
+ ["[天符睿武]1", "", "1120"],
278
+ ["[天符慶寿]1", "", "1127"],
279
+ ["[天順,alias:大順]1","@A","name=[神宗];1128"],
280
+ ["[天彰宝嗣]1", "", "1133.01.01"],
281
+ ["[紹明]1", "@A",'name=[英宗];#{C:1138}'],
282
+ ["[大定]1", "", '#{D:1140.02}'],
283
+ ["[政隆宝応]1", "", "1163.01.01"],
284
+ ["[天感至宝]1", "", "1174.02"],
285
+ ["[貞符,alias:宝符]1","@A","name=[高宗];1176"],
286
+ ["[天資嘉瑞]1", "", "1186.07"],
287
+ ["[天嘉宝祐]1", "", "1202.08"],
288
+ ["[治平龍応]1", "", "1205.03"],
78
289
  ["[建嘉]1", "@A", "name=[恵宗];1211"],
79
- ["[天彰有道]1", "@A", "name=[昭皇];1224", "1225"]
290
+ ["[天彰有道]1","@A",'name=[昭皇];#{E:1224.10}', "1225.12.11="]
80
291
  ],
81
292
  [self,
82
- "period:[陳朝]",
83
- ["[建中]1", "@F", "name=[太宗];1225^Chinese0939"],
84
- ["[天応政平]1", "@A", "1232.01.01"],
85
- ["[元豊]1", "@A", "1251.01.01"],
86
- ["[紹隆]1", "@A", "name=[聖宗];1258"],
87
- ["[宝符]1", "@A", "1273.01.01"],
88
- ["[紹宝]1", "@A", "name=[仁宗];1279"],
89
- ["[重興]1", "@A", "1285"],
90
- ["[興隆]1", "@A", "name=[英宗];1293"],
91
- ["[大慶]1", "@A", "name=[明宗];1314"],
92
- ["[開泰]1", "@A", "1324.01.01"],
93
- ["[開祐]1", "@A", "name=[憲宗];1329"],
94
- ["[紹豊]1", "@A", "name=[裕宗];1341"],
95
- ["[大治]1", "@A", "1358.01.01"],
293
+ "period:[陳朝,Trần Dynasty]",
294
+ ["[建中]1", "@F", "name=[太宗];1225.12.11^Chinese0939"],
295
+ ["[天応政平]1", "", "1232.07.23"],
296
+ ["[元豊]1", "", "1251.02"],
297
+ ["[紹隆]1", "@A", "name=[聖宗];1258.02.24"],
298
+ ["[宝符]1", "", "1273.01.01"],
299
+ ["[紹宝]1", "@A", "name=[仁宗];1279.01"],
300
+ ["[重興]1", "", "1285.09"],
301
+ ["[興隆]1", "@A", "name=[英宗];1293.03.09"],
302
+ ["[大慶]1", "@A", "name=[明宗];1314.03.18"],
303
+ ["[開泰]1", "", "1324.01"],
304
+ ["[開祐]1", "@A", "name=[憲宗];1329.02.15"],
305
+ ["[紹豊]1", "@A", "name=[裕宗];1341.08.21"],
306
+ ["[大治,alias:太治]1","", "1358.01.01"],
96
307
  ["[大定]1", "@A", "name=[楊日礼];1369"],
97
308
  ["[紹慶]1", "@A", "name=[芸宗];1370"],
98
- ["[隆慶]1", "@A", "name=[睿宗];1373"],
309
+ ["[隆慶]1", "@A", "name=[睿宗];1373.01.01"],
99
310
  ["[昌符]1", "@A", "name=[廃帝];1377"],
100
- ["[光泰]1", "@A", "name=[順宗];1388"],
311
+ ["[光泰]1", "@A", "name=[順宗];1388.12"],
101
312
  ["[建新]1", "@A", "name=[少帝];1398", "1400="]
102
313
  ],
103
314
  [self,
104
- "period:[後陳朝]",
315
+ "period:[胡朝,Hồ Dynasty]",
316
+ ["[聖元]1", "@F", "name=[胡季犛];1400^Chinese0939"],
317
+ ["[紹成,alias:紹聖]1","@A","name=[胡漢蒼];1401"],
318
+ ["[開大]1", "", "1403", "1407="]
319
+ ],
320
+ [self,
321
+ "period:[後陳朝,Later Trần dynasty]",
105
322
  ["[興慶]1", "@F", "name=[簡定帝];1407^Chinese0939"],
106
- ["[重光]1", "@A", "name=[重光帝];1409", "1414.03="]
323
+ ["[重光]1", "@A", "name=[重光帝];1409", "1414.03="],
324
+ ["[天慶,alias:慶天]1","@A","name=[陳暠];1426.11","1428.01.10="]
107
325
  ],
108
326
  [self,
109
- "period:[後黎朝]",
110
- ["[順天]1", "@F", "name=[太祖];1428^Chinese0939"],
327
+ "period:[前期黎朝,Later Lê Dynasty early period]",
328
+ ["[順天]1", "@F", "name=[太祖];1428.04.15^Chinese0939"],
111
329
  ["[紹平]1", "@A", "name=[太宗];1434"],
112
- ["[大宝]1", "@A", "1440.01.01"],
113
- ["[太和]1", "@A", "name=[仁宗];1443"],
114
- ["[延寧]1", "@A", "1454.01.01"],
115
- ["[天興]1", "@A", "name=[廃帝];1459"],
116
- ["[光順]1", "@A", "name=[聖宗];1460"],
117
- ["[洪徳]1", "@A", "1470.01.01"],
330
+ ["[大宝]1", "", "1440.01.01"],
331
+ ["[太和,alias:太和]1","@A","name=[仁宗];1443"],
332
+ ["[延寧]1", "", "1454.01.01"],
333
+ ["[天興,alias:天與]1","@A","name=[廃帝];1459.10.07"],
334
+ ["[光順]1", "@A", "name=[聖宗];1460.06.08"],
335
+ ["[洪徳]1", "", "1470.01.01"],
118
336
  ["[景統]1", "@A", "name=[憲宗];1498"],
119
- ["[泰貞]1", "@A", "name=[粛宗];1504"],
337
+ ["[泰貞]1", "@A", "name=[粛宗];1504.06"],
120
338
  ["[端慶]1", "@A", "name=[威穆帝];1505"],
121
- ["[洪順]1", "@A", "name=[襄翼帝];1509"],
122
- ["[光紹]1", "@A", "name=[昭宗];1516"],
123
- ["[統元]1", "@A", "name=[恭帝];1522", "1527="],
124
- ["[元和]1", "@A", "name=[荘宗];1533"],
339
+ ["[洪順]1", "@A", "name=[襄翼帝];1509.12.04"],
340
+ ["[光紹]1", "@A", "name=[昭宗];1516.04.27"],
341
+ ["[統元]1", "@A", "name=[恭帝];1522.08", "1527.06="],
342
+ ],
343
+ [self,
344
+ "period:[莫朝,Mạc dynasty]",
345
+ ["[明徳]1", "@F", "name=[太祖];1527.06^Chinese0939"],
346
+ ["[大正,alias:天正,alias:大政]1","@A","name=[太宗];1530"],
347
+ ["[広和]1", "@A", "name=[憲宗];1541", "1544^Vietnamese1544", ""],
348
+ ["[永定]1", "@A", "name=[宣宗];1547"],
349
+ ["[景暦,alias:景歴]1","", "1548"],
350
+ ["[光宝]1", "", "1554"],
351
+ ["[淳福]1", "@A", "name=[英宗];1562"],
352
+ ["[崇康]1", "", "1566"],
353
+ ["[延成]1", "", "1578"],
354
+ ["[端泰]1", "", "1586"],
355
+ ["[興治]1", "", "1588"],
356
+ ["[洪寧]1", "", "1591"],
357
+ ["[武安]1", "@A", "name=[景宗];1592.10", "1593.01="],
358
+ ["[宝定]1", "@A", "name=[閔宗];1592.12"],
359
+ ["[康佑,alias:康祐]1", "", "1593.01"],
360
+ ["[乾統]1", "@A", "name=[代宗];1593", "1625="],
361
+ ["[隆泰]1", "@A", "name=[光祖];1618", "1625="],
362
+ ["[順徳]1", "@A", "name=[明宗];1638", "1677="],
363
+ ],
364
+ [self,
365
+ "period:[後期黎朝,Later Lê Dynasty warlord period]",
366
+ ["[元和]1", "@A", "name=[荘宗];1533^Chinese0939", "1544^Vietnamese1544", ""],
125
367
  ["[順平]1", "@A", "name=[中宗];1549"],
126
- ["[天祐]1", "@A", "name=[英宗];1557"],
127
- ["[正治]1", "@A", "1558.01.01"],
128
- ["[洪福]1", "@A", "1572.01.01"],
368
+ ["[天祐,alias:天佑]1","@A","name=[英宗];1557"],
369
+ ["[正治]1", "", "1558.01.01"],
370
+ ["[洪福]1", "", "1572.01.01"],
129
371
  ["[嘉泰]1", "@A", "name=[世宗];1573"],
130
- ["[光興]1", "@A", "1578.01.01"],
131
- ["[慎徳]1", "@A", "name=[敬宗];1600"],
132
- ["[弘定]1", "@A", "1600"],
133
- ["[永祚]1", "@A", "name=[神宗];1619"],
134
- ["[徳隆]1", "@A", "1629.01.01"],
135
- ["[陽和]1", "@A", "1635.01.01"],
136
- ["[福泰]1", "@A", "name=[真宗];1643", "1645^Chinese1645", ""],
372
+ ["[光興]1", "", "1578.01.01"],
373
+ ["[慎徳]1", "@A", "name=[敬宗];1600.01"],
374
+ ["[弘定]1", "", "1600.11"],
375
+ ["[永祚]1", "@A", "name=[神宗];1619.06"],
376
+ ["[徳隆]1", "", "1629.04"],
377
+ ["[陽和]1", "", "1635.01.01"],
378
+ ["[福泰]1", "@A", "name=[真宗];1643"],
137
379
  ["[慶徳]1", "@A", "name=[神宗];1649"],
138
- ["[盛徳]1", "@A", "1653"],
139
- ["[永寿]1", "@A", "1658"],
380
+ ["[盛徳]1", "", "1653"],
381
+ ["[永寿]1", "", "1658.02"],
140
382
  ["[万慶]1", "@A", "name=[玄宗];1662"],
141
- ["[景治]1", "@A", "1663.01.01"],
383
+ ["[景治]1", "", "1663.01.01"],
142
384
  ["[陽徳]1", "@A", "name=[嘉宗];1672"],
143
- ["[徳元]1", "@A", "1674"],
385
+ ["[徳元]1", "", "1674.10"],
144
386
  ["[永治]1", "@A", "name=[熙宗];1676"],
145
- ["[正和]1", "@A", "1680"],
387
+ ["[正和]1", "", "1680.11"],
146
388
  ["[永盛]1", "@A", "name=[裕宗];1705"],
147
- ["[保泰]1", "@A", "1720.01.01"],
389
+ ["[保泰]1", "", "1720.01.01"],
148
390
  ["[永慶]1", "@A", "name=[廃帝];1729"],
149
391
  ["[龍徳]1", "@A", "name=[純宗];1732"],
150
- ["[永佑]1", "@A", "name=[懿宗];1735"],
392
+ ["[永佑,alias:永祐]1","@A","name=[懿宗];1735"],
151
393
  ["[景興]1", "@A", "name=[顕宗];1740"],
152
- ["[昭統]1", "@A", "name=[愍帝];1787", "1789.10="]
394
+ ["[昭統]1", "@A", "name=[愍帝];1787", "1789^Vietnamese1789", "1789.10="]
395
+ ],
396
+ [self,
397
+ "period:[西山朝,Tây Sơn Dynasty]",
398
+ [self,
399
+ "period:[帰仁朝廷,Quy Nhơn]",
400
+ ["[泰徳]1", "@F", "name=[阮文岳];1778^Vietnamese1544"],
401
+ ["[太祖]12", "", "1789^Vietnamese1789"],
402
+ ["[孝公]1", "@A", "name=[阮文宝];1793", "1798="]
403
+ ],
404
+ [self,
405
+ "period:[富春朝廷,Phú Xuân]",
406
+ ["[光中]1", "@A", "name=[阮光平];1788^Vietnamese1544", "1789^Vietnamese1789", ""],
407
+ ["[景盛]1", "@A", "name=[阮光纉];1793"],
408
+ ["[宝興]1", "", "1801", "1802="],
409
+ ]
410
+ ],
411
+ [self,
412
+ "period:[広南,Nguyễn lords]",
413
+ ["[阮潢]1", "@A", "name=[太祖];1558^Vietnamese1544"],
414
+ ["[阮福源]1", "@A", "name=[熙宗];1613^Vietnamese1544", "1631^Vietnamese1631", ""],
415
+ ["[阮福瀾]1", "@A", "name=[神宗];1635.10.11"],
416
+ ["[阮福瀕]0", "@A", "name=[太宗];1648.02.27"],
417
+ ["[阮福溙]0", "@A", "name=[英宗];1687.03.20"],
418
+ ["[阮福淍]0", "@A", "name=[顕宗];1691.01.11"],
419
+ ["[阮福澍]0", "@A", "name=[粛宗];1725.04.22"],
420
+ ["[阮福闊]0", "@A", "name=[世宗];1738.04.21"],
421
+ ["[阮福淳]0", "@A", "name=[睿宗];1765.05.21"],
422
+ ["[阮福暎]1", "@A", "name=[世祖];1778", "1778"]
153
423
  ],
154
424
  [self,
155
- "period:[阮朝]",
156
- ["[嘉隆]1", "@F", "name=[世祖];1802^Chinese1645"],
425
+ "period:[阮朝,Nguyễn Dynasty]",
426
+ ["[嘉隆]1", "@F", "name=[世祖];1802.05.02^Vietnamese1631", "1813^Vietnamese1813", ""],
157
427
  ["[明命]1", "@A", "name=[聖祖];1820"],
158
428
  ["[紹治]1", "@A", "name=[憲祖];1841"],
159
- ["[嗣徳]1", "@A", "name=[翼宗];1848"],
160
- ["[育徳]1", "@A", "name=[育徳帝];1883"],
161
- ["[協和]1", "@A", "name=[協和帝];1883"],
429
+ ["[嗣徳]1", "@A", "name=[翼宗];1848", '1849^#{Z:Chinese1645}', "1850^Vietnamese1813", ""],
430
+ ["[育徳]1", "@A", "name=[恭宗];1883"],
431
+ ["[協和]1", "@A", "name=[廃帝];1883"],
162
432
  ["[建福]1", "@A", "name=[簡宗];1884"],
163
- ["[咸宜]1", "@A", "name=[咸宜帝];1885"],
164
- ["[同慶]1", "@A", "name=[景宗];1885",
165
- "1887.10.17^Gregorian?note=ChineseNotes", ""],
166
- ["[成泰]1", "@A", "name=[成泰帝];1889"],
167
- ["[維新]1", "@A", "name=[維新帝];1907"],
168
- ["[啓定]1", "@A", "name=[啓定帝];1916"],
169
- ["[保大]1", "@A", "name=[保大帝];1926", "1945.09.02="]
433
+ ["[咸宜]1", "@A", "name=[出帝];1885.01.01"],
434
+ ["[同慶]0.10.01","@A", "name=[敬宗];1885.10.01"],
435
+ ["[成泰]1", "@A", "name=[阮福昭];1889"],
436
+ ["[維新]1", "@A", "name=[阮福晃];1907"],
437
+ ["[啓定]1", "@A", "name=[弘宗];1916"],
438
+ ["[保大]1", "@A", "name=[阮福晪];1926", "1945.09.02=^Gregorian"]
170
439
  ]
171
440
  ]]
172
441
  end