tate 1.1.0 → 1.2.0
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.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/.travis.yml +3 -3
- data/README.md +3 -3
- data/lib/config/locales/az.yml +68 -0
- data/lib/config/locales/bg.yml +112 -0
- data/lib/config/locales/ca.yml +82 -0
- data/lib/config/locales/de.yml +60 -0
- data/lib/config/locales/en.yml +59 -0
- data/lib/config/locales/es.yml +70 -0
- data/lib/config/locales/fr.yml +84 -0
- data/lib/config/locales/hu.yml +70 -0
- data/lib/config/locales/pl.yml +70 -0
- data/lib/config/locales/pt.yml +80 -0
- data/lib/config/locales/ro.yml +62 -0
- data/lib/config/locales/vi.yml +186 -0
- data/lib/tate.rb +6 -19
- data/lib/tate/version.rb +1 -1
- data/tate.gemspec +2 -2
- metadata +16 -16
- data/lib/rules/az.yml +0 -20
- data/lib/rules/bg.yml +0 -60
- data/lib/rules/ca.yml +0 -24
- data/lib/rules/de.yml +0 -8
- data/lib/rules/es.yml +0 -14
- data/lib/rules/fr.yml +0 -32
- data/lib/rules/glyphs.yml +0 -56
- data/lib/rules/hu.yml +0 -18
- data/lib/rules/pl.yml +0 -18
- data/lib/rules/pt.yml +0 -24
- data/lib/rules/ro.yml +0 -10
- data/lib/rules/vi.yml +0 -134
data/lib/tate.rb
CHANGED
|
@@ -1,29 +1,16 @@
|
|
|
1
1
|
lib = File.expand_path(File.dirname(__FILE__) + '/../lib')
|
|
2
2
|
$LOAD_PATH.unshift(lib) if File.directory?(lib) && !$LOAD_PATH.include?(lib)
|
|
3
3
|
|
|
4
|
-
require
|
|
4
|
+
require 'tate/version'
|
|
5
5
|
|
|
6
|
-
require '
|
|
7
|
-
require 'active_support/i18n'
|
|
6
|
+
require 'i18n'
|
|
8
7
|
require 'yaml'
|
|
9
8
|
|
|
9
|
+
I18n.load_path << Dir[File.expand_path("lib/config/locales/*.yml")]
|
|
10
|
+
I18n.enforce_available_locales = false
|
|
11
|
+
|
|
10
12
|
module Tate
|
|
11
13
|
def self.transliterate(string, language = nil, replacement = "?".freeze)
|
|
12
|
-
|
|
13
|
-
I18n.transliterate(ActiveSupport::Multibyte::Unicode.normalize(
|
|
14
|
-
ActiveSupport::Multibyte::Unicode.tidy_bytes(string), :c),
|
|
15
|
-
:replacement => replacement)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def self.language_filter(string, language)
|
|
19
|
-
glyph_rules = load_rules('glyphs')
|
|
20
|
-
language_rules = load_rules(language)
|
|
21
|
-
conversion_map = glyph_rules.merge(language_rules)
|
|
22
|
-
re = Regexp.new(conversion_map.keys.map { |x| Regexp.escape(x) }.join('|'))
|
|
23
|
-
string.gsub(re, conversion_map)
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def self.load_rules(language)
|
|
27
|
-
YAML.load_file("lib/rules/#{language}.yml") rescue {}
|
|
14
|
+
I18n.transliterate(string, locale: language)
|
|
28
15
|
end
|
|
29
16
|
end
|
data/lib/tate/version.rb
CHANGED
data/tate.gemspec
CHANGED
|
@@ -14,12 +14,12 @@ Gem::Specification.new do |spec|
|
|
|
14
14
|
spec.homepage = 'https://github.com/krmbzds/tate'
|
|
15
15
|
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
|
17
|
-
spec.files += Dir['lib/
|
|
17
|
+
spec.files += Dir['lib/config/locales/*.yml']
|
|
18
18
|
spec.bindir = 'bin'
|
|
19
19
|
spec.executables = ['tate']
|
|
20
20
|
spec.require_paths = ['lib']
|
|
21
21
|
|
|
22
|
-
spec.add_runtime_dependency '
|
|
22
|
+
spec.add_runtime_dependency 'i18n'
|
|
23
23
|
spec.add_development_dependency 'bundler'
|
|
24
24
|
spec.add_development_dependency 'rake'
|
|
25
25
|
spec.add_development_dependency 'rspec'
|
metadata
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tate
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kerem Bozdas
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-
|
|
11
|
+
date: 2019-09-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: i18n
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
@@ -100,18 +100,18 @@ files:
|
|
|
100
100
|
- bin/console
|
|
101
101
|
- bin/setup
|
|
102
102
|
- bin/tate
|
|
103
|
-
- lib/
|
|
104
|
-
- lib/
|
|
105
|
-
- lib/
|
|
106
|
-
- lib/
|
|
107
|
-
- lib/
|
|
108
|
-
- lib/
|
|
109
|
-
- lib/
|
|
110
|
-
- lib/
|
|
111
|
-
- lib/
|
|
112
|
-
- lib/
|
|
113
|
-
- lib/
|
|
114
|
-
- lib/
|
|
103
|
+
- lib/config/locales/az.yml
|
|
104
|
+
- lib/config/locales/bg.yml
|
|
105
|
+
- lib/config/locales/ca.yml
|
|
106
|
+
- lib/config/locales/de.yml
|
|
107
|
+
- lib/config/locales/en.yml
|
|
108
|
+
- lib/config/locales/es.yml
|
|
109
|
+
- lib/config/locales/fr.yml
|
|
110
|
+
- lib/config/locales/hu.yml
|
|
111
|
+
- lib/config/locales/pl.yml
|
|
112
|
+
- lib/config/locales/pt.yml
|
|
113
|
+
- lib/config/locales/ro.yml
|
|
114
|
+
- lib/config/locales/vi.yml
|
|
115
115
|
- lib/tate.rb
|
|
116
116
|
- lib/tate/version.rb
|
|
117
117
|
- tate.gemspec
|
|
@@ -133,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
133
133
|
- !ruby/object:Gem::Version
|
|
134
134
|
version: '0'
|
|
135
135
|
requirements: []
|
|
136
|
-
rubygems_version: 3.0.
|
|
136
|
+
rubygems_version: 3.0.6
|
|
137
137
|
signing_key:
|
|
138
138
|
specification_version: 4
|
|
139
139
|
summary: Convert accented characters and transliterate non-latin alphabets to ASCII.
|
data/lib/rules/az.yml
DELETED
data/lib/rules/bg.yml
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
а: "a"
|
|
2
|
-
А: "A"
|
|
3
|
-
б: "b"
|
|
4
|
-
Б: "B"
|
|
5
|
-
в: "v"
|
|
6
|
-
В: "V"
|
|
7
|
-
г: "g"
|
|
8
|
-
Г: "G"
|
|
9
|
-
д: "d"
|
|
10
|
-
Д: "D"
|
|
11
|
-
е: "e"
|
|
12
|
-
Е: "E"
|
|
13
|
-
ж: "zh"
|
|
14
|
-
Ж: "Zh"
|
|
15
|
-
з: "z"
|
|
16
|
-
З: "Z"
|
|
17
|
-
и: "i"
|
|
18
|
-
И: "I"
|
|
19
|
-
й: "y"
|
|
20
|
-
Й: "Y"
|
|
21
|
-
к: "k"
|
|
22
|
-
К: "K"
|
|
23
|
-
л: "l"
|
|
24
|
-
Л: "L"
|
|
25
|
-
м: "m"
|
|
26
|
-
М: "M"
|
|
27
|
-
н: "n"
|
|
28
|
-
Н: "N"
|
|
29
|
-
о: "o"
|
|
30
|
-
О: "O"
|
|
31
|
-
п: "p"
|
|
32
|
-
П: "P"
|
|
33
|
-
р: "r"
|
|
34
|
-
Р: "R"
|
|
35
|
-
с: "s"
|
|
36
|
-
С: "S"
|
|
37
|
-
т: "t"
|
|
38
|
-
Т: "T"
|
|
39
|
-
у: "u"
|
|
40
|
-
У: "U"
|
|
41
|
-
ф: "f"
|
|
42
|
-
Ф: "F"
|
|
43
|
-
х: "h"
|
|
44
|
-
Х: "H"
|
|
45
|
-
ц: "ts"
|
|
46
|
-
Ц: "Ts"
|
|
47
|
-
ч: "ch"
|
|
48
|
-
Ч: "Ch"
|
|
49
|
-
ш: "sh"
|
|
50
|
-
Ш: "Sh"
|
|
51
|
-
щ: "sht"
|
|
52
|
-
Щ: "Sht"
|
|
53
|
-
ъ: "a"
|
|
54
|
-
Ъ: "A"
|
|
55
|
-
ь: "y"
|
|
56
|
-
Ь: "Y"
|
|
57
|
-
ю: "yu"
|
|
58
|
-
Ю: "Yu"
|
|
59
|
-
я: "ya"
|
|
60
|
-
Я: "Ya"
|
data/lib/rules/ca.yml
DELETED
data/lib/rules/de.yml
DELETED
data/lib/rules/es.yml
DELETED
data/lib/rules/fr.yml
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
à: "a"
|
|
2
|
-
â: "a"
|
|
3
|
-
æ: "ae"
|
|
4
|
-
ç: "c"
|
|
5
|
-
é: "e"
|
|
6
|
-
è: "e"
|
|
7
|
-
ê: "e"
|
|
8
|
-
ë: "e"
|
|
9
|
-
î: "i"
|
|
10
|
-
ï: "i"
|
|
11
|
-
ô: "o"
|
|
12
|
-
œ: "oe"
|
|
13
|
-
ù: "u"
|
|
14
|
-
û: "u"
|
|
15
|
-
ü: "u"
|
|
16
|
-
ÿ: "y"
|
|
17
|
-
À: "A"
|
|
18
|
-
Â: "A"
|
|
19
|
-
Æ: "Ae"
|
|
20
|
-
Ç: "C"
|
|
21
|
-
É: "E"
|
|
22
|
-
È: "E"
|
|
23
|
-
Ê: "E"
|
|
24
|
-
Ë: "E"
|
|
25
|
-
Î: "I"
|
|
26
|
-
Ï: "I"
|
|
27
|
-
Ô: "O"
|
|
28
|
-
Œ: "Oe"
|
|
29
|
-
Ù: "U"
|
|
30
|
-
Û: "U"
|
|
31
|
-
Ü: "U"
|
|
32
|
-
Ÿ: "Y"
|
data/lib/rules/glyphs.yml
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
¡: "!"
|
|
2
|
-
¢: " cent(s)"
|
|
3
|
-
£: "GBP "
|
|
4
|
-
¥: "CNY "
|
|
5
|
-
¨: '"'
|
|
6
|
-
©: "(c)"
|
|
7
|
-
«: '"'
|
|
8
|
-
®: "(R)"
|
|
9
|
-
°: " degree(s)"
|
|
10
|
-
±: "+-"
|
|
11
|
-
²: "^2"
|
|
12
|
-
³: "^3"
|
|
13
|
-
´: "'"
|
|
14
|
-
µ: "nM"
|
|
15
|
-
·: "-"
|
|
16
|
-
»: '"'
|
|
17
|
-
¼: "1/4"
|
|
18
|
-
½: "1/2"
|
|
19
|
-
¾: "3/4"
|
|
20
|
-
¿: "?"
|
|
21
|
-
×: "*"
|
|
22
|
-
ˆ: "^"
|
|
23
|
-
˜: "~"
|
|
24
|
-
–: "-"
|
|
25
|
-
—: "-"
|
|
26
|
-
‘: "'"
|
|
27
|
-
’: "'"
|
|
28
|
-
‚: ","
|
|
29
|
-
“: '"'
|
|
30
|
-
”: '"'
|
|
31
|
-
„: '"'
|
|
32
|
-
•: "-"
|
|
33
|
-
…: "..."
|
|
34
|
-
′: "'"
|
|
35
|
-
″: '"'
|
|
36
|
-
‹: "<"
|
|
37
|
-
›: ">"
|
|
38
|
-
⁄: "/"
|
|
39
|
-
€: "EUR"
|
|
40
|
-
™: "(TM)"
|
|
41
|
-
←: "<-"
|
|
42
|
-
→: "->"
|
|
43
|
-
↔: "<->"
|
|
44
|
-
⇐: "<="
|
|
45
|
-
⇒: "=>"
|
|
46
|
-
⇔: "<=>"
|
|
47
|
-
−: "-"
|
|
48
|
-
∗: "*"
|
|
49
|
-
∴: "therefore"
|
|
50
|
-
∼: "~"
|
|
51
|
-
≠: "=/="
|
|
52
|
-
≤: "<="
|
|
53
|
-
≥: "=>"
|
|
54
|
-
⋅: "-"
|
|
55
|
-
〈: "<"
|
|
56
|
-
〉: ">"
|
data/lib/rules/hu.yml
DELETED
data/lib/rules/pl.yml
DELETED
data/lib/rules/pt.yml
DELETED
data/lib/rules/ro.yml
DELETED
data/lib/rules/vi.yml
DELETED
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
à: "a"
|
|
2
|
-
á: "a"
|
|
3
|
-
ạ: "a"
|
|
4
|
-
ả: "a"
|
|
5
|
-
ã: "a"
|
|
6
|
-
â: "a"
|
|
7
|
-
ầ: "a"
|
|
8
|
-
ấ: "a"
|
|
9
|
-
ậ: "a"
|
|
10
|
-
ẩ: "a"
|
|
11
|
-
ẫ: "a"
|
|
12
|
-
ă: "a"
|
|
13
|
-
ằ: "a"
|
|
14
|
-
ắ: "a"
|
|
15
|
-
ặ: "a"
|
|
16
|
-
ẳ: "a"
|
|
17
|
-
ẵ: "a"
|
|
18
|
-
À: "A"
|
|
19
|
-
Á: "A"
|
|
20
|
-
Ạ: "A"
|
|
21
|
-
Ả: "A"
|
|
22
|
-
Ã: "A"
|
|
23
|
-
Â: "A"
|
|
24
|
-
Ầ: "A"
|
|
25
|
-
Ấ: "A"
|
|
26
|
-
Ậ: "A"
|
|
27
|
-
Ẩ: "A"
|
|
28
|
-
Ẫ: "A"
|
|
29
|
-
Ă: "A"
|
|
30
|
-
Ằ: "A"
|
|
31
|
-
Ắ: "A"
|
|
32
|
-
Ặ: "A"
|
|
33
|
-
Ẳ: "A"
|
|
34
|
-
Ẵ: "A"
|
|
35
|
-
ì: "i"
|
|
36
|
-
í: "i"
|
|
37
|
-
ị: "i"
|
|
38
|
-
ỉ: "i"
|
|
39
|
-
ĩ: "i"
|
|
40
|
-
Ì: "I"
|
|
41
|
-
Í: "I"
|
|
42
|
-
Ị: "I"
|
|
43
|
-
Ỉ: "I"
|
|
44
|
-
Ĩ: "I"
|
|
45
|
-
ù: "u"
|
|
46
|
-
ú: "u"
|
|
47
|
-
ụ: "u"
|
|
48
|
-
ủ: "u"
|
|
49
|
-
ũ: "u"
|
|
50
|
-
ư: "u"
|
|
51
|
-
ừ: "u"
|
|
52
|
-
ứ: "u"
|
|
53
|
-
ự: "u"
|
|
54
|
-
ử: "u"
|
|
55
|
-
ữ: "u"
|
|
56
|
-
Ù: "U"
|
|
57
|
-
Ú: "U"
|
|
58
|
-
Ụ: "U"
|
|
59
|
-
Ủ: "U"
|
|
60
|
-
Ũ: "U"
|
|
61
|
-
Ư: "U"
|
|
62
|
-
Ừ: "U"
|
|
63
|
-
Ứ: "U"
|
|
64
|
-
Ự: "U"
|
|
65
|
-
Ử: "U"
|
|
66
|
-
Ữ: "U"
|
|
67
|
-
è: "e"
|
|
68
|
-
é: "e"
|
|
69
|
-
ẹ: "e"
|
|
70
|
-
ẻ: "e"
|
|
71
|
-
ẽ: "e"
|
|
72
|
-
ê: "e"
|
|
73
|
-
ề: "e"
|
|
74
|
-
ế: "e"
|
|
75
|
-
ệ: "e"
|
|
76
|
-
ể: "e"
|
|
77
|
-
ễ: "e"
|
|
78
|
-
È: "E"
|
|
79
|
-
É: "E"
|
|
80
|
-
Ẹ: "E"
|
|
81
|
-
Ẻ: "E"
|
|
82
|
-
Ẽ: "E"
|
|
83
|
-
Ê: "E"
|
|
84
|
-
Ề: "E"
|
|
85
|
-
Ế: "E"
|
|
86
|
-
Ệ: "E"
|
|
87
|
-
Ể: "E"
|
|
88
|
-
Ễ: "E"
|
|
89
|
-
ò: "o"
|
|
90
|
-
ó: "o"
|
|
91
|
-
ọ: "o"
|
|
92
|
-
ỏ: "o"
|
|
93
|
-
õ: "o"
|
|
94
|
-
ô: "o"
|
|
95
|
-
ồ: "o"
|
|
96
|
-
ố: "o"
|
|
97
|
-
ộ: "o"
|
|
98
|
-
ổ: "o"
|
|
99
|
-
ỗ: "o"
|
|
100
|
-
ơ: "o"
|
|
101
|
-
ờ: "o"
|
|
102
|
-
ớ: "o"
|
|
103
|
-
ợ: "o"
|
|
104
|
-
ở: "o"
|
|
105
|
-
ỡ: "o"
|
|
106
|
-
Ò: "O"
|
|
107
|
-
Ó: "O"
|
|
108
|
-
Ọ: "O"
|
|
109
|
-
Ỏ: "O"
|
|
110
|
-
Õ: "O"
|
|
111
|
-
Ô: "O"
|
|
112
|
-
Ồ: "O"
|
|
113
|
-
Ố: "O"
|
|
114
|
-
Ộ: "O"
|
|
115
|
-
Ổ: "O"
|
|
116
|
-
Ỗ: "O"
|
|
117
|
-
Ơ: "O"
|
|
118
|
-
Ờ: "O"
|
|
119
|
-
Ớ: "O"
|
|
120
|
-
Ợ: "O"
|
|
121
|
-
Ở: "O"
|
|
122
|
-
Ỡ: "O"
|
|
123
|
-
ỳ: "y"
|
|
124
|
-
ý: "y"
|
|
125
|
-
ỵ: "y"
|
|
126
|
-
ỷ: "y"
|
|
127
|
-
ỹ: "y"
|
|
128
|
-
Ỳ: "Y"
|
|
129
|
-
Ý: "Y"
|
|
130
|
-
Ỵ: "Y"
|
|
131
|
-
Ỷ: "Y"
|
|
132
|
-
Ỹ: "Y"
|
|
133
|
-
đ: "d"
|
|
134
|
-
Đ: "D"
|