when_exe 0.3.4 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
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