when_exe 0.4.2 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/LICENSE.ja.txt +8 -21
- data/LICENSE.txt +5 -27
- data/README.md +25 -79
- data/bin/.pryrc +9 -0
- data/bin/make_ttl.rb +3 -2
- data/bin/make_ttl.rb.config +3 -3
- data/lib/when_exe.rb +101 -5
- data/lib/when_exe/basictypes.rb +47 -16
- data/lib/when_exe/calendarnote.rb +27 -18
- data/lib/when_exe/calendartypes.rb +12 -50
- data/lib/when_exe/coordinates.rb +37 -391
- data/lib/when_exe/ephemeris.rb +53 -14
- data/lib/when_exe/ephemeris/eclipse.rb +8 -8
- data/lib/when_exe/ephemeris/moon.rb +333 -333
- data/lib/when_exe/ephemeris/notes.rb +29 -17
- data/lib/when_exe/ephemeris/phase_table.rb +825 -0
- data/lib/when_exe/ephemeris/term_table.rb +603 -0
- data/lib/when_exe/events.rb +1888 -0
- data/lib/when_exe/google_api.rb +26 -31
- data/lib/when_exe/icalendar.rb +129 -12
- data/lib/when_exe/inspect.rb +5 -5
- data/lib/when_exe/linkeddata.rb +43 -23
- data/lib/when_exe/locales/akt.rb +63 -0
- data/lib/when_exe/locales/encoding_conversion.rb +134 -134
- data/lib/when_exe/locales/iast.rb +90 -90
- data/lib/when_exe/locales/locale.rb +88 -18
- data/lib/when_exe/locales/transliteration_table.rb +62 -62
- data/lib/when_exe/mini_application.rb +14 -8
- data/lib/when_exe/namespace.rb +42 -0
- data/lib/when_exe/parts/enumerator.rb +16 -5
- data/lib/when_exe/parts/geometric_complex.rb +52 -2
- data/lib/when_exe/parts/method_cash.rb +229 -224
- data/lib/when_exe/parts/resource.rb +65 -35
- data/lib/when_exe/parts/timezone.rb +25 -34
- data/lib/when_exe/region/balinese.rb +5 -3
- data/lib/when_exe/region/chinese.rb +39 -11
- data/lib/when_exe/region/chinese/calendars.rb +1016 -1016
- data/lib/when_exe/region/chinese/epochs.rb +7 -7
- data/lib/when_exe/region/chinese/notes.rb +3 -3
- data/lib/when_exe/region/chinese/twins.rb +134 -11
- data/lib/when_exe/region/dee.rb +4 -4
- data/lib/when_exe/region/discordian.rb +1 -1
- data/lib/when_exe/region/geologicalage.rb +139 -128
- data/lib/when_exe/region/hanke_henry.rb +4 -4
- data/lib/when_exe/region/indian.rb +77 -8
- data/lib/when_exe/region/international_fixed.rb +3 -3
- data/lib/when_exe/region/islamic.rb +1 -1
- data/lib/when_exe/region/japanese.rb +12 -8
- data/lib/when_exe/region/japanese/calendars.rb +397 -397
- data/lib/when_exe/region/japanese/eclipses.rb +1194 -1194
- data/lib/when_exe/region/japanese/epochs.rb +8 -4
- data/lib/when_exe/region/japanese/location.rb +93 -0
- data/lib/when_exe/region/japanese/nihon_shoki.rb +70 -70
- data/lib/when_exe/region/japanese/notes.rb +57 -18
- data/lib/when_exe/region/japanese/residues.rb +33 -11
- data/lib/when_exe/region/japanese/twins.rb +27 -14
- data/lib/when_exe/region/japanese/weeks.rb +7 -7
- data/lib/when_exe/region/korean.rb +384 -384
- data/lib/when_exe/region/location.rb +40 -0
- data/lib/when_exe/region/martian.rb +1 -1
- data/lib/when_exe/region/mayan.rb +2 -2
- data/lib/when_exe/region/roman.rb +2 -2
- data/lib/when_exe/region/ryukyu.rb +101 -101
- data/lib/when_exe/region/saudi_arabian.rb +57 -0
- data/lib/when_exe/region/shire.rb +1 -1
- data/lib/when_exe/region/world.rb +3 -3
- data/lib/when_exe/region/zoroastrian.rb +1 -1
- data/lib/when_exe/spatial.rb +611 -0
- data/lib/when_exe/timestandard.rb +9 -7
- data/lib/when_exe/tmobjects.rb +34 -2
- data/lib/when_exe/tmposition.rb +225 -1322
- data/lib/when_exe/tmptypes.rb +1279 -0
- data/lib/when_exe/tmreference.rb +42 -7
- data/lib/when_exe/version.rb +3 -3
- data/test/events/example-datasets +6 -0
- data/test/events/history-dataset.csv +22 -0
- data/test/events/japanese-holiday-index.csv +28 -0
- data/test/events/japanese-holiday.csv +94 -0
- data/test/events/japanese-holiday.ttl +948 -0
- data/test/events/make_events_ttl.rb +18 -0
- data/test/events/mori_wikichoshi.csv +14 -0
- data/test/events/ndl_koyomi.csv +220 -0
- data/test/events/ndl_koyomi_index.csv +44 -0
- data/test/events/primeminister-dataset.csv +19 -0
- data/test/events/shogun-dataset.csv +22 -0
- data/test/events/test-history-dataset-edge-sparql.csv +26 -0
- data/test/events/test-history-dataset-edge.csv +27 -0
- data/test/events/test-history-dataset-sparql.csv +22 -0
- data/test/events/test-history-dataset.csv +23 -0
- data/test/events/test-history-events-edge.ttl +89 -0
- data/test/events/test-history-events.csv +6 -0
- data/test/examples/JapanHolidays.ics +2 -2
- data/test/examples/JapanHolidaysRFC6350.ics +3 -3
- data/test/examples/Residue.m17n +2 -2
- data/test/examples/Spatial.m17n +3 -3
- data/test/examples/Terms.m17n +3 -3
- data/test/scripts/8.ext.rb +6 -6
- data/test/scripts/8.rb +6 -6
- data/test/scripts/geometric_complex.rb +41 -41
- data/test/scripts/korea.rb +59 -59
- data/test/scripts/thai.rb +36 -36
- data/test/test.rb +6 -0
- data/test/test/basictypes.rb +431 -431
- data/test/test/calendarnote.rb +86 -86
- data/test/test/calendartypes.rb +97 -97
- data/test/test/coordinates.rb +399 -397
- data/test/test/ephemeris.rb +115 -115
- data/test/test/ephemeris/moon.rb +14 -14
- data/test/test/ephemeris/planets.rb +14 -14
- data/test/test/ephemeris/sun.rb +14 -14
- data/test/test/events.rb +32 -0
- data/test/test/google_api.rb +45 -32
- data/test/test/inspect.rb +153 -153
- data/test/test/parts.rb +488 -488
- data/test/test/region/armenian.rb +20 -20
- data/test/test/region/bahai.rb +58 -58
- data/test/test/region/balinese.rb +34 -34
- data/test/test/region/chinese.rb +229 -229
- data/test/test/region/christian.rb +226 -226
- data/test/test/region/coptic.rb +27 -27
- data/test/test/region/discordian.rb +20 -20
- data/test/test/region/french.rb +33 -33
- data/test/test/region/geologicalage.rb +17 -17
- data/test/test/region/indian.rb +14 -1
- data/test/test/region/iran.rb +54 -54
- data/test/test/region/islamic.rb +64 -54
- data/test/test/region/japanese.rb +281 -261
- data/test/test/region/jewish.rb +63 -63
- data/test/test/region/m17n.rb +21 -21
- data/test/test/region/mayan.rb +17 -16
- data/test/test/region/reforms.rb +2 -2
- data/test/test/region/residue.rb +7 -7
- data/test/test/region/shire.rb +58 -58
- data/test/test/region/swedish.rb +45 -45
- data/test/test/region/thai.rb +116 -116
- data/test/test/region/tibetan.rb +30 -30
- data/test/test/region/vietnamese.rb +102 -102
- data/test/test/region/zoroastrian.rb +58 -58
- data/test/test/timestandard.rb +81 -81
- data/test/test/tmobjects.rb +402 -402
- data/test/test/tmposition.rb +66 -4
- data/test/test/tmreference.rb +157 -157
- metadata +36 -93
data/lib/when_exe/locales/akt.rb
CHANGED
@@ -147,6 +147,35 @@ module When
|
|
147
147
|
# @private
|
148
148
|
IAST_K_keys = transliteration_keys(IAST_K)
|
149
149
|
|
150
|
+
# @private
|
151
|
+
NumAlter1 = [['〇','零'], [/[壱壹]/,'一'], [/[弐貳]/,'二'], [/[弎参參]/,'三'], ['肆','四'],
|
152
|
+
['伍','五'], ['陸','六'], ['柒','七'], ['捌','八'], ['玖','九'], ['拾','十'],
|
153
|
+
['廿', '二十'], [/[卅丗]/, '三十'], ['卌', '四十'],
|
154
|
+
['佰', '百'], ['仟', '千'], ['萬', '万'], ['秭', '𥝱']]
|
155
|
+
|
156
|
+
# @private
|
157
|
+
NumAlter2 = [['零〇','0'], ['一壱壹','1'], ['二弐貳','2'], ['三弎参參','3'], ['四肆','4'],
|
158
|
+
['五伍','5'], ['六陸','6'], ['七柒','7'], ['八捌','8'], ['九玖','9']]
|
159
|
+
|
160
|
+
# @private
|
161
|
+
Numbers = %w(零 一 二 三 四 五 六 七 八 九 十 百 千 万 億 兆 京 垓 𥝱
|
162
|
+
穣 溝 澗 正 載 極 恒河沙 阿僧祇 那由他 不可思議 無量大数)
|
163
|
+
|
164
|
+
# @private
|
165
|
+
NumRExp1 = /#{Numbers[10..12].reverse.map {|num| "(?:(.*)#{num})"}.join('?')}?(.*)/
|
166
|
+
|
167
|
+
# public
|
168
|
+
NumRExp3 = /([#{Numbers[0..12].join('')}廿卅丗卌]+)/
|
169
|
+
|
170
|
+
# @private
|
171
|
+
NumRExp4 = /#{Numbers[13..-1].reverse.map {|num| "(?:(.*)#{num})"}.join('?')}?(.*)/
|
172
|
+
|
173
|
+
# @private
|
174
|
+
NumMap = Hash[*(Numbers[0..9].zip((0..9).to_a)).flatten]
|
175
|
+
|
176
|
+
# @private
|
177
|
+
DigitMap = [1,1,1,0]
|
178
|
+
|
150
179
|
#
|
151
180
|
# Convert AKT string to katakana scripts
|
152
181
|
#
|
@@ -173,5 +202,39 @@ module When
|
|
173
202
|
gsub(/([rm])y/, '\1uy'),
|
174
203
|
locale)
|
175
204
|
end
|
205
|
+
|
206
|
+
#
|
207
|
+
# Convert kanji scripts to numeric
|
208
|
+
#
|
209
|
+
def self.k2a_digits(figures, force_alter=false)
|
210
|
+
if force_alter
|
211
|
+
figures = figures.dup
|
212
|
+
NumAlter1.each {|alter| figures.gsub!(*alter)}
|
213
|
+
end
|
214
|
+
sum = 0
|
215
|
+
NumRExp4 =~ figures
|
216
|
+
$~.to_a[1..-1].each do |wide_match|
|
217
|
+
if NumRExp1 =~ wide_match
|
218
|
+
$~.to_a[1..-1].each_with_index do |match,digit|
|
219
|
+
sum *= 10
|
220
|
+
sum += (NumMap[match] || DigitMap[digit]) if match
|
221
|
+
end
|
222
|
+
else
|
223
|
+
sum *= 10000
|
224
|
+
end
|
225
|
+
end
|
226
|
+
sum
|
227
|
+
end
|
228
|
+
|
229
|
+
#
|
230
|
+
# Convert zenkaku figures to numeric
|
231
|
+
#
|
232
|
+
def self.z2h_digits(figures, force_alter=false)
|
233
|
+
if force_alter
|
234
|
+
figures = figures.dup
|
235
|
+
NumAlter2.each {|alter| figures.tr!(*alter)}
|
236
|
+
end
|
237
|
+
figures.tr('0123456789', '0123456789').to_i
|
238
|
+
end
|
176
239
|
end
|
177
240
|
end
|
@@ -1,134 +1,134 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
=begin
|
3
|
-
Copyright (C) 2014 Takashi SUGA
|
4
|
-
|
5
|
-
You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
|
6
|
-
=end
|
7
|
-
|
8
|
-
module When
|
9
|
-
|
10
|
-
#
|
11
|
-
# エンコーディングの変換
|
12
|
-
#
|
13
|
-
module EncodingConversion
|
14
|
-
|
15
|
-
class << self
|
16
|
-
if String.method_defined?(:encode)
|
17
|
-
#
|
18
|
-
# 内部エンコーディング文字列化
|
19
|
-
#
|
20
|
-
# @param [Object] source もとにする Object
|
21
|
-
#
|
22
|
-
# @return [Object] 内部エンコーディング化した Object
|
23
|
-
#
|
24
|
-
# @private
|
25
|
-
def to_internal_encoding(source)
|
26
|
-
default_internal = Encoding.default_internal||'UTF-8'
|
27
|
-
case source
|
28
|
-
when Locale ; source.to_internal_encoding
|
29
|
-
when String ; case source.encoding
|
30
|
-
when default_internal ; source
|
31
|
-
when Encoding::ASCII_8BIT ; source.dup.force_encoding(default_internal)
|
32
|
-
else ; source.encode(default_internal)
|
33
|
-
end
|
34
|
-
when Regexp ; case source.encoding
|
35
|
-
when default_internal ; source
|
36
|
-
when Encoding::ASCII_8BIT ; Regexp.new(source.dup.force_encoding(default_internal))
|
37
|
-
else ; Regexp.new(source.to_s.encode(default_internal))
|
38
|
-
end
|
39
|
-
when Array ; source.map {|e| to_internal_encoding(e)}
|
40
|
-
when Hash
|
41
|
-
hash = {}
|
42
|
-
source.each_pair do |key, value|
|
43
|
-
hash[to_internal_encoding(key)] = to_internal_encoding(value)
|
44
|
-
end
|
45
|
-
hash
|
46
|
-
else ; source.respond_to?(:to_internal_encoding) ? source.to_internal_encoding : source
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
#
|
51
|
-
# 外部エンコーディング文字列化
|
52
|
-
#
|
53
|
-
# @param [Object] source もとにする Object
|
54
|
-
#
|
55
|
-
# @return [Object] 外部エンコーディング化した Object
|
56
|
-
#
|
57
|
-
# @private
|
58
|
-
def to_external_encoding(source)
|
59
|
-
default_external = Encoding.default_external
|
60
|
-
case source
|
61
|
-
when Locale ; source.to_external_encoding
|
62
|
-
when String ; case source.encoding
|
63
|
-
when default_external ; source
|
64
|
-
when Encoding::ASCII_8BIT ; source.dup.force_encoding(default_external)
|
65
|
-
else ; source.encode(default_external)
|
66
|
-
end
|
67
|
-
when Regexp ; case source.encoding
|
68
|
-
when default_external ; source
|
69
|
-
when Encoding::ASCII_8BIT ; Regexp.new(source.dup.force_encoding(default_external))
|
70
|
-
else ; Regexp.new(source.to_s.encode(default_external))
|
71
|
-
end
|
72
|
-
when Array ; source.map {|e| to_external_encoding(e)}
|
73
|
-
when Hash
|
74
|
-
hash = {}
|
75
|
-
source.each_pair do |key, value|
|
76
|
-
hash[to_external_encoding(key)] = to_external_encoding(value)
|
77
|
-
end
|
78
|
-
hash
|
79
|
-
else ; source.respond_to?(:to_external_encoding) ? source.to_external_encoding : source
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
else
|
84
|
-
# 内部エンコーディング文字列化(ダミー)
|
85
|
-
#
|
86
|
-
# @param [String] string もとにする String または M17n
|
87
|
-
#
|
88
|
-
# @return [String] そのまま返す
|
89
|
-
#
|
90
|
-
def to_internal_encoding(string)
|
91
|
-
string
|
92
|
-
end
|
93
|
-
#
|
94
|
-
# 外部エンコーディング文字列化(ダミー)
|
95
|
-
#
|
96
|
-
# @param [String] string もとにする String または M17n
|
97
|
-
#
|
98
|
-
# @return [String] そのまま返す
|
99
|
-
#
|
100
|
-
def to_external_encoding(string)
|
101
|
-
string
|
102
|
-
end
|
103
|
-
end
|
104
|
-
end
|
105
|
-
|
106
|
-
#
|
107
|
-
# 内部エンコーディング文字列化
|
108
|
-
#
|
109
|
-
def to_internal_encoding
|
110
|
-
EncodingConversion.to_internal_encoding(self)
|
111
|
-
end
|
112
|
-
|
113
|
-
#
|
114
|
-
# 外部エンコーディング文字列化
|
115
|
-
#
|
116
|
-
def to_external_encoding
|
117
|
-
EncodingConversion.to_external_encoding(self)
|
118
|
-
end
|
119
|
-
|
120
|
-
#
|
121
|
-
# 内部エンコーディング文字列化(単項)
|
122
|
-
#
|
123
|
-
def +@
|
124
|
-
to_internal_encoding
|
125
|
-
end
|
126
|
-
|
127
|
-
#
|
128
|
-
# 外部エンコーディング文字列化(単項)
|
129
|
-
#
|
130
|
-
def -@
|
131
|
-
to_external_encoding
|
132
|
-
end
|
133
|
-
end
|
134
|
-
end
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
=begin
|
3
|
+
Copyright (C) 2014 Takashi SUGA
|
4
|
+
|
5
|
+
You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
|
6
|
+
=end
|
7
|
+
|
8
|
+
module When
|
9
|
+
|
10
|
+
#
|
11
|
+
# エンコーディングの変換
|
12
|
+
#
|
13
|
+
module EncodingConversion
|
14
|
+
|
15
|
+
class << self
|
16
|
+
if String.method_defined?(:encode)
|
17
|
+
#
|
18
|
+
# 内部エンコーディング文字列化
|
19
|
+
#
|
20
|
+
# @param [Object] source もとにする Object
|
21
|
+
#
|
22
|
+
# @return [Object] 内部エンコーディング化した Object
|
23
|
+
#
|
24
|
+
# @private
|
25
|
+
def to_internal_encoding(source)
|
26
|
+
default_internal = Encoding.default_internal||'UTF-8'
|
27
|
+
case source
|
28
|
+
when Locale ; source.to_internal_encoding
|
29
|
+
when String ; case source.encoding
|
30
|
+
when default_internal ; source
|
31
|
+
when Encoding::ASCII_8BIT ; source.dup.force_encoding(default_internal)
|
32
|
+
else ; source.encode(default_internal)
|
33
|
+
end
|
34
|
+
when Regexp ; case source.encoding
|
35
|
+
when default_internal ; source
|
36
|
+
when Encoding::ASCII_8BIT ; Regexp.new(source.dup.force_encoding(default_internal))
|
37
|
+
else ; Regexp.new(source.to_s.encode(default_internal))
|
38
|
+
end
|
39
|
+
when Array ; source.map {|e| to_internal_encoding(e)}
|
40
|
+
when Hash
|
41
|
+
hash = {}
|
42
|
+
source.each_pair do |key, value|
|
43
|
+
hash[to_internal_encoding(key)] = to_internal_encoding(value)
|
44
|
+
end
|
45
|
+
hash
|
46
|
+
else ; source.respond_to?(:to_internal_encoding) ? source.to_internal_encoding : source
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
#
|
51
|
+
# 外部エンコーディング文字列化
|
52
|
+
#
|
53
|
+
# @param [Object] source もとにする Object
|
54
|
+
#
|
55
|
+
# @return [Object] 外部エンコーディング化した Object
|
56
|
+
#
|
57
|
+
# @private
|
58
|
+
def to_external_encoding(source)
|
59
|
+
default_external = Encoding.default_external
|
60
|
+
case source
|
61
|
+
when Locale ; source.to_external_encoding
|
62
|
+
when String ; case source.encoding
|
63
|
+
when default_external ; source
|
64
|
+
when Encoding::ASCII_8BIT ; source.dup.force_encoding(default_external)
|
65
|
+
else ; source.encode(default_external)
|
66
|
+
end
|
67
|
+
when Regexp ; case source.encoding
|
68
|
+
when default_external ; source
|
69
|
+
when Encoding::ASCII_8BIT ; Regexp.new(source.dup.force_encoding(default_external))
|
70
|
+
else ; Regexp.new(source.to_s.encode(default_external))
|
71
|
+
end
|
72
|
+
when Array ; source.map {|e| to_external_encoding(e)}
|
73
|
+
when Hash
|
74
|
+
hash = {}
|
75
|
+
source.each_pair do |key, value|
|
76
|
+
hash[to_external_encoding(key)] = to_external_encoding(value)
|
77
|
+
end
|
78
|
+
hash
|
79
|
+
else ; source.respond_to?(:to_external_encoding) ? source.to_external_encoding : source
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
else
|
84
|
+
# 内部エンコーディング文字列化(ダミー)
|
85
|
+
#
|
86
|
+
# @param [String] string もとにする String または M17n
|
87
|
+
#
|
88
|
+
# @return [String] そのまま返す
|
89
|
+
#
|
90
|
+
def to_internal_encoding(string)
|
91
|
+
string
|
92
|
+
end
|
93
|
+
#
|
94
|
+
# 外部エンコーディング文字列化(ダミー)
|
95
|
+
#
|
96
|
+
# @param [String] string もとにする String または M17n
|
97
|
+
#
|
98
|
+
# @return [String] そのまま返す
|
99
|
+
#
|
100
|
+
def to_external_encoding(string)
|
101
|
+
string
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
#
|
107
|
+
# 内部エンコーディング文字列化
|
108
|
+
#
|
109
|
+
def to_internal_encoding
|
110
|
+
EncodingConversion.to_internal_encoding(self)
|
111
|
+
end
|
112
|
+
|
113
|
+
#
|
114
|
+
# 外部エンコーディング文字列化
|
115
|
+
#
|
116
|
+
def to_external_encoding
|
117
|
+
EncodingConversion.to_external_encoding(self)
|
118
|
+
end
|
119
|
+
|
120
|
+
#
|
121
|
+
# 内部エンコーディング文字列化(単項)
|
122
|
+
#
|
123
|
+
def +@
|
124
|
+
to_internal_encoding
|
125
|
+
end
|
126
|
+
|
127
|
+
#
|
128
|
+
# 外部エンコーディング文字列化(単項)
|
129
|
+
#
|
130
|
+
def -@
|
131
|
+
to_external_encoding
|
132
|
+
end
|
133
|
+
end
|
134
|
+
end
|
@@ -1,90 +1,90 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
=begin
|
3
|
-
Copyright (C) 2014 Takashi SUGA
|
4
|
-
|
5
|
-
You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
|
6
|
-
=end
|
7
|
-
|
8
|
-
require 'when_exe/locales/transliteration_table'
|
9
|
-
|
10
|
-
module When
|
11
|
-
module Locale
|
12
|
-
|
13
|
-
_IAST_Part_I = {
|
14
|
-
"A" => "अ", "a" => "अ",
|
15
|
-
"Ā" => "आ", "ā" => "आ",
|
16
|
-
"I" => "इ", "i" => "इ",
|
17
|
-
"Ī" => "ई", "ī" => "ई",
|
18
|
-
"U" => "उ", "u" => "उ",
|
19
|
-
"Ū" => "ऊ", "ū" => "ऊ",
|
20
|
-
"Ṛ" => "ऋ", "ṛ" => "ऋ",
|
21
|
-
"Ṝ" => "ॠ", "ṝ" => "ॠ",
|
22
|
-
"Ḷ" => "ऌ", "ḷ" => "ऌ",
|
23
|
-
"Ḹ" => "ॡ", "ḹ" => "ॡ",
|
24
|
-
"E" => "ए", "e" => "ए",
|
25
|
-
"Ai" => "ऐ", "ai" => "ऐ",
|
26
|
-
"O" => "ओ", "o" => "ओ",
|
27
|
-
"Au" => "औ", "au" => "औ",
|
28
|
-
"Ṃ" => "अं", "ṃ" => "अं",
|
29
|
-
"Ḥ" => "अः", "ḥ" => "अः",
|
30
|
-
"'" => "अऽ",
|
31
|
-
|
32
|
-
"K" => "क", "k" => "क",
|
33
|
-
"C" => "च", "c" => "च",
|
34
|
-
"Ṭ" => "ट", "ṭ" => "ट",
|
35
|
-
"T" => "त", "t" => "त",
|
36
|
-
"P" => "प", "p" => "प",
|
37
|
-
"Kh" => "ख", "kh" => "ख",
|
38
|
-
"Ch" => "छ", "ch" => "छ",
|
39
|
-
"Ṭh" => "ठ", "ṭh" => "ठ",
|
40
|
-
"Th" => "थ", "th" => "थ",
|
41
|
-
"Ph" => "फ", "ph" => "फ",
|
42
|
-
"G" => "ग", "g" => "ग",
|
43
|
-
"J" => "ज", "j" => "ज",
|
44
|
-
"Ḍ" => "ड", "ḍ" => "ड",
|
45
|
-
"D" => "द", "d" => "द",
|
46
|
-
"B" => "ब", "b" => "ब",
|
47
|
-
"Gh" => "घ", "gh" => "घ",
|
48
|
-
"Jh" => "झ", "jh" => "झ",
|
49
|
-
"Ḍh" => "ढ", "ḍh" => "ढ",
|
50
|
-
"Dh" => "ध", "dh" => "ध",
|
51
|
-
"Bh" => "भ", "bh" => "भ",
|
52
|
-
"Ṅ" => "ङ", "ṅ" => "ङ",
|
53
|
-
"Ñ" => "ञ", "ñ" => "ञ",
|
54
|
-
"Ṇ" => "ण", "ṇ" => "ण",
|
55
|
-
"N" => "न", "n" => "न",
|
56
|
-
"M" => "म", "m" => "म",
|
57
|
-
"H" => "ह", "h" => "ह",
|
58
|
-
"Y" => "य", "y" => "य",
|
59
|
-
"R" => "र", "r" => "र",
|
60
|
-
"L" => "ल", "l" => "ल",
|
61
|
-
"V" => "व", "v" => "व",
|
62
|
-
"Ś" => "श", "ś" => "श",
|
63
|
-
"Ṣ" => "ष", "ṣ" => "ष",
|
64
|
-
"S" => "स", "s" => "स"
|
65
|
-
}
|
66
|
-
|
67
|
-
_IAST_Part_II = {
|
68
|
-
"R̥" => "ऋ", "r̥" => "ऋ",
|
69
|
-
"R̥̄" => "ॠ", "r̥̄" => "ॠ",
|
70
|
-
"Ē" => "ए", "ē" => "ए",
|
71
|
-
"Ō" => "ओ", "ō" => "ओ",
|
72
|
-
"Ṁ" => "अं", "ṁ" => "अं"
|
73
|
-
}
|
74
|
-
|
75
|
-
#
|
76
|
-
# IAST: International Alphabet of Sanskrit Transliteration
|
77
|
-
#
|
78
|
-
IAST = {
|
79
|
-
'hi' => _IAST_Part_I.merge(_IAST_Part_II)
|
80
|
-
}
|
81
|
-
|
82
|
-
#
|
83
|
-
# IASTR: International Alphabet of Sanskrit Transliteration - Reverse
|
84
|
-
#
|
85
|
-
IASTR = {
|
86
|
-
'hi' => _IAST_Part_I.invert
|
87
|
-
}
|
88
|
-
|
89
|
-
end
|
90
|
-
end
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
=begin
|
3
|
+
Copyright (C) 2014 Takashi SUGA
|
4
|
+
|
5
|
+
You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
|
6
|
+
=end
|
7
|
+
|
8
|
+
require 'when_exe/locales/transliteration_table'
|
9
|
+
|
10
|
+
module When
|
11
|
+
module Locale
|
12
|
+
|
13
|
+
_IAST_Part_I = {
|
14
|
+
"A" => "अ", "a" => "अ",
|
15
|
+
"Ā" => "आ", "ā" => "आ",
|
16
|
+
"I" => "इ", "i" => "इ",
|
17
|
+
"Ī" => "ई", "ī" => "ई",
|
18
|
+
"U" => "उ", "u" => "उ",
|
19
|
+
"Ū" => "ऊ", "ū" => "ऊ",
|
20
|
+
"Ṛ" => "ऋ", "ṛ" => "ऋ",
|
21
|
+
"Ṝ" => "ॠ", "ṝ" => "ॠ",
|
22
|
+
"Ḷ" => "ऌ", "ḷ" => "ऌ",
|
23
|
+
"Ḹ" => "ॡ", "ḹ" => "ॡ",
|
24
|
+
"E" => "ए", "e" => "ए",
|
25
|
+
"Ai" => "ऐ", "ai" => "ऐ",
|
26
|
+
"O" => "ओ", "o" => "ओ",
|
27
|
+
"Au" => "औ", "au" => "औ",
|
28
|
+
"Ṃ" => "अं", "ṃ" => "अं",
|
29
|
+
"Ḥ" => "अः", "ḥ" => "अः",
|
30
|
+
"'" => "अऽ",
|
31
|
+
|
32
|
+
"K" => "क", "k" => "क",
|
33
|
+
"C" => "च", "c" => "च",
|
34
|
+
"Ṭ" => "ट", "ṭ" => "ट",
|
35
|
+
"T" => "त", "t" => "त",
|
36
|
+
"P" => "प", "p" => "प",
|
37
|
+
"Kh" => "ख", "kh" => "ख",
|
38
|
+
"Ch" => "छ", "ch" => "छ",
|
39
|
+
"Ṭh" => "ठ", "ṭh" => "ठ",
|
40
|
+
"Th" => "थ", "th" => "थ",
|
41
|
+
"Ph" => "फ", "ph" => "फ",
|
42
|
+
"G" => "ग", "g" => "ग",
|
43
|
+
"J" => "ज", "j" => "ज",
|
44
|
+
"Ḍ" => "ड", "ḍ" => "ड",
|
45
|
+
"D" => "द", "d" => "द",
|
46
|
+
"B" => "ब", "b" => "ब",
|
47
|
+
"Gh" => "घ", "gh" => "घ",
|
48
|
+
"Jh" => "झ", "jh" => "झ",
|
49
|
+
"Ḍh" => "ढ", "ḍh" => "ढ",
|
50
|
+
"Dh" => "ध", "dh" => "ध",
|
51
|
+
"Bh" => "भ", "bh" => "भ",
|
52
|
+
"Ṅ" => "ङ", "ṅ" => "ङ",
|
53
|
+
"Ñ" => "ञ", "ñ" => "ञ",
|
54
|
+
"Ṇ" => "ण", "ṇ" => "ण",
|
55
|
+
"N" => "न", "n" => "न",
|
56
|
+
"M" => "म", "m" => "म",
|
57
|
+
"H" => "ह", "h" => "ह",
|
58
|
+
"Y" => "य", "y" => "य",
|
59
|
+
"R" => "र", "r" => "र",
|
60
|
+
"L" => "ल", "l" => "ल",
|
61
|
+
"V" => "व", "v" => "व",
|
62
|
+
"Ś" => "श", "ś" => "श",
|
63
|
+
"Ṣ" => "ष", "ṣ" => "ष",
|
64
|
+
"S" => "स", "s" => "स"
|
65
|
+
}
|
66
|
+
|
67
|
+
_IAST_Part_II = {
|
68
|
+
"R̥" => "ऋ", "r̥" => "ऋ",
|
69
|
+
"R̥̄" => "ॠ", "r̥̄" => "ॠ",
|
70
|
+
"Ē" => "ए", "ē" => "ए",
|
71
|
+
"Ō" => "ओ", "ō" => "ओ",
|
72
|
+
"Ṁ" => "अं", "ṁ" => "अं"
|
73
|
+
}
|
74
|
+
|
75
|
+
#
|
76
|
+
# IAST: International Alphabet of Sanskrit Transliteration
|
77
|
+
#
|
78
|
+
IAST = {
|
79
|
+
'hi' => _IAST_Part_I.merge(_IAST_Part_II)
|
80
|
+
}
|
81
|
+
|
82
|
+
#
|
83
|
+
# IASTR: International Alphabet of Sanskrit Transliteration - Reverse
|
84
|
+
#
|
85
|
+
IASTR = {
|
86
|
+
'hi' => _IAST_Part_I.invert
|
87
|
+
}
|
88
|
+
|
89
|
+
end
|
90
|
+
end
|