arabic 0.1.0 → 0.1.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 604dc2ca22bfa714e7789ff093f2ad9a66d94b261f83aeb551677ecfd3ae15e5
4
- data.tar.gz: 4f5bba1c1fe794afb1616d5df2a5c0b1cb8d302fd3c271d7ec601fcc3faa37c6
3
+ metadata.gz: 725c593f87db1e23cd83c06ff187eb7f9a029113fbc28af4681dda49fb81fec4
4
+ data.tar.gz: 4ea32537bc586d2db4e89ecdf7c653ff7b5cbaa7927fb042e2dffcd2a9d3f9b6
5
5
  SHA512:
6
- metadata.gz: 66663069f059beffcea27210dff95284e213bba88da0f6e45ad559f4f7cdb0f58915cdac17a98f911ad076f2199e6c7754926e56a5f61cb7a796d42eca45ed0f
7
- data.tar.gz: cfc371b34deb2bd777373dde9e999923b0692ddc1a7db53caa9a4e4009b28d001dd9c417e97098d83e358da1183c820ac5b31637f4a8590566ec870b5a32dc85
6
+ metadata.gz: be4569349dda9d805576da0276cae66f9356da53f3851ab2443121a71a2967b9e0aa71a35bbd8e3278958e6b7f45b21c61472b8de2d3823968d8e20128fab1f8
7
+ data.tar.gz: 8abba0bcfe3f6548e6234b57830e194afb5b09bc9696193e6eaa1b043869d0f04fc5f96bb7a1a2df9be3cf5d2269f115c7836fa9f6741c5e0952f08241f795f6
data/Gemfile.lock ADDED
@@ -0,0 +1,22 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ arabic (0.1.1)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ minitest (5.11.3)
10
+ rake (10.5.0)
11
+
12
+ PLATFORMS
13
+ ruby
14
+
15
+ DEPENDENCIES
16
+ arabic!
17
+ bundler (~> 1.16)
18
+ minitest (~> 5.0)
19
+ rake (~> 10.0)
20
+
21
+ BUNDLED WITH
22
+ 1.16.2
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Arabic
2
2
 
3
- Romanization of Arabic. It transliterates Arabic text to the Roman (Latin) script
3
+ Romanization of Arabic. It transliterates Arabic text to the Roman (Latin) script.
4
4
 
5
5
  ## Installation
6
6
 
@@ -20,6 +20,12 @@ Or install it yourself as:
20
20
 
21
21
  ## Usage
22
22
 
23
+ ```ruby
24
+ require "arabic"
25
+ ```
26
+
27
+ And then
28
+
23
29
  ```ruby
24
30
  Arabic.transliterate("العربية")
25
31
  ```
data/lib/arabic.rb CHANGED
@@ -2,63 +2,127 @@ require "arabic/version"
2
2
 
3
3
  module Arabic
4
4
  CHARACTER_TABLE = {
5
- "٠" => "0",
6
- "١" => "1",
7
- "٢" => "2",
8
- "٣" => "3",
9
- "٤" => "4",
10
- "٥" => "5",
11
- "٦" => "6",
12
- "٧" => "7",
13
- "۸" => "8",
14
- "٩" => "9",
15
- "،" => ",",
16
- "؟" => "?",
17
- "ء" => "e",
18
- "آ" => "a",
19
- "أ" => "a",
20
- "ؤ" => "w",
21
- "إ" => "i",
22
- "ئ" => "y",
23
- "ا" => "a",
24
- "ب" => "b",
25
- "ة" => "t",
26
- "ت" => "t",
27
- "ث" => "th",
28
- "ج" => "j",
29
- "ح" => "h",
30
- "خ" => "kh",
31
- "د" => "d",
32
- "ذ" => "dh",
33
- "ر" => "r",
34
- "ز" => "z",
35
- "س" => "s",
36
- "ش" => "sh",
37
- "ص" => "s",
38
- "ض" => "d",
39
- "ط" => "t",
40
- "ظ" => "z",
41
- "ع" => "e",
42
- "غ" => "gh",
43
- "ف" => "f",
44
- "ق" => "q",
45
- "ك" => "k",
46
- "ل" => "l",
47
- "م" => "m",
48
- "ن" => "n",
49
- "ه" => "h",
50
- "و" => "w",
51
- "ى" => "a",
52
- "ي" => "y",
53
- "و‎" => "u",
54
- "َ‎" => "a",
55
- "ُ" => "u",
56
- "ِ‎" => "i"
5
+ :arabic => {
6
+ # Numbers
7
+ "٠" => "0",
8
+ "١" => "1",
9
+ "٢" => "2",
10
+ "٣" => "3",
11
+ "٤" => "4",
12
+ "٥" => "5",
13
+ "٦" => "6",
14
+ "٧" => "7",
15
+ "۸" => "8",
16
+ "٩" => "9",
17
+ # Punctuation
18
+ "،" => ",",
19
+ "؛" => ";",
20
+ "؟" => "?",
21
+ # Consonants (Letters of the Alphabet)
22
+ "ء" => "e",
23
+ "آ" => "a",
24
+ "أ" => "a",
25
+ "ؤ" => "w",
26
+ "إ" => "i",
27
+ "ئ" => "y",
28
+ "ا" => "a",
29
+ "ب" => "b",
30
+ "ة" => "t",
31
+ "ت" => "t",
32
+ "ث" => "th",
33
+ "ج" => "j",
34
+ "ح" => "h",
35
+ "خ" => "kh",
36
+ "د" => "d",
37
+ "ذ" => "dh",
38
+ "ر" => "r",
39
+ "ز" => "z",
40
+ "س" => "s",
41
+ "ش" => "sh",
42
+ "ص" => "s",
43
+ "ض" => "d",
44
+ "ط" => "t",
45
+ "ظ" => "z",
46
+ "ع" => "e",
47
+ "غ" => "gh",
48
+ "ف" => "f",
49
+ "ق" => "q",
50
+ "ك" => "k",
51
+ "ل" => "l",
52
+ "م" => "m",
53
+ "ن" => "n",
54
+ "ه" => "h",
55
+ "و" => "w",
56
+ "ى" => "a",
57
+ "ي" => "y",
58
+ "و‎" => "u",
59
+ # Vowels and Diphthongs
60
+ "َ‎" => "a",
61
+ "ُ" => "u",
62
+ "ِ‎" => "i"
63
+ },
64
+ :urdu => {
65
+ # Numbers
66
+ "٠" => "0",
67
+ "١" => "1",
68
+ "٢" => "2",
69
+ "٣" => "3",
70
+ "٤" => "4",
71
+ "٥" => "5",
72
+ "٦" => "6",
73
+ "٧" => "7",
74
+ "۸" => "8",
75
+ "٩" => "9",
76
+ # Punctuation
77
+ "،" => ",",
78
+ "؛" => ";",
79
+ "؟" => "?",
80
+ # Consonants (Letters of the Alphabet)
81
+ "ا" => "a",
82
+ "ب" => "b",
83
+ "پ" => "p",
84
+ "ت" => "t",
85
+ "ٹ" => "ṭ",
86
+ "ث" => "th",
87
+ "ج" => "j",
88
+ "چ" => "h",
89
+ "خ" => "kh",
90
+ "د" => "d",
91
+ "ڈ" => "ḍ",
92
+ "ذ" => "dh",
93
+ "ر" => "r",
94
+ "ڑ" => "ṛ",
95
+ "ز" => "z",
96
+ "ژ" => "zh",
97
+ "س" => "s",
98
+ "ش" => "sh",
99
+ "ص" => "ṣ",
100
+ "ض" => "z̤",
101
+ "ط" => "t",
102
+ "ظ" => "ẓ",
103
+ "ع" => "'",
104
+ "غ" => "gh",
105
+ "ف" => "f",
106
+ "ق" => "q",
107
+ "ک" => "k",
108
+ "گ" => "g",
109
+ "ل" => "l",
110
+ "م" => "m",
111
+ "ن" => "n",
112
+ "و" => "ū",
113
+ "ﮨ" => "h",
114
+ "ﮩ" => "h",
115
+ "ہ" => "h",
116
+ "ھ" => "h",
117
+ "ء" => "'",
118
+ "ی" => "i",
119
+ "ے" => "e"
120
+ }
57
121
  }
58
122
 
59
123
  class << self
60
- def transliterate(string="")
61
- string.to_s.gsub(Regexp.union(CHARACTER_TABLE.keys.map(&:to_s)), CHARACTER_TABLE)
124
+ def transliterate(string="", lang=:arabic)
125
+ string.to_s.gsub(Regexp.union(CHARACTER_TABLE[lang].keys.map(&:to_s)), CHARACTER_TABLE[lang])
62
126
  end
63
127
  alias_method :t, :transliterate
64
128
  end
@@ -1,3 +1,3 @@
1
1
  module Arabic
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arabic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - rovetz
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-04-04 00:00:00.000000000 Z
11
+ date: 2018-08-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -63,6 +63,7 @@ files:
63
63
  - ".travis.yml"
64
64
  - CODE_OF_CONDUCT.md
65
65
  - Gemfile
66
+ - Gemfile.lock
66
67
  - LICENSE.txt
67
68
  - README.md
68
69
  - Rakefile
@@ -91,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
92
  version: '0'
92
93
  requirements: []
93
94
  rubyforge_project:
94
- rubygems_version: 2.7.6
95
+ rubygems_version: 2.7.7
95
96
  signing_key:
96
97
  specification_version: 4
97
98
  summary: Romanization (transliteration) of Arabic