yaqut 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +15 -0
- data/Gemfile +7 -0
- data/LICENSE.txt +22 -0
- data/README.md +51 -0
- data/Rakefile +43 -0
- data/config/languages.yml +805 -0
- data/lib/yaqut.rb +24 -0
- data/lib/yaqut/language.rb +7 -0
- data/lib/yaqut/version.rb +3 -0
- data/spec/yaqut_spec.rb +45 -0
- data/unicode-license.txt +50 -0
- data/yaqut.gemspec +23 -0
- metadata +85 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: 9791228219fe9b7ca8509a9ff4e84bf71de90a3f
|
4
|
+
data.tar.gz: 5da42e4e501e065877f8c1eb6117d4f99fa36be3
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 88913d8fd8308df267ad61a7697f1e59fa8c03f5826888daa12e2eb5ea0d5187b7e7cd703711b8a056a37812852a6fccdf6e8c6f30dadc1afe5ad4f63befd6cf
|
7
|
+
data.tar.gz: 8cfcbd9dc0355011f8e45d7a801d6aced1d40fd260f27373210f11ad10dc17e922128875c887f8a692a9f96eb347626bc077e0aa5becddb8307380ff5d6c66a0
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2014 Collin Fair
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
# Yaqut
|
2
|
+
|
3
|
+
Look up language codes & names.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
gem 'yaqut'
|
11
|
+
```
|
12
|
+
|
13
|
+
And then execute:
|
14
|
+
|
15
|
+
$ bundle
|
16
|
+
|
17
|
+
Or install it yourself as:
|
18
|
+
|
19
|
+
$ gem install yaqut
|
20
|
+
|
21
|
+
## Usage
|
22
|
+
|
23
|
+
Searching is case-insensitive, but otherwise requires an exact match.
|
24
|
+
|
25
|
+
```ruby
|
26
|
+
require "yaqut"
|
27
|
+
|
28
|
+
[...]
|
29
|
+
|
30
|
+
# Search all fields
|
31
|
+
Yaqut.search("english")
|
32
|
+
# or, just the language's English name
|
33
|
+
Yaqut.search(english_name: "french")
|
34
|
+
# or, just the language's native name, in native script
|
35
|
+
Yaqut.search(native_name: "العربية")
|
36
|
+
# or, just the language's native name, in ASCII
|
37
|
+
Yaqut.search(transliterated_native_name: "francais")
|
38
|
+
# or, just the ISO 639-1 code
|
39
|
+
Yaqut.search(iso_639_1: "el")
|
40
|
+
|
41
|
+
```
|
42
|
+
|
43
|
+
All calls, if successful, return a `Yaqut::Language` instance from which you can ready any of the search fields (`english_name`, `iso_639_1`, etc.)
|
44
|
+
|
45
|
+
## Contributing
|
46
|
+
|
47
|
+
1. Fork it ( https://github.com/cpfair/yaqut/fork )
|
48
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
49
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
50
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
51
|
+
5. Create a new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
require "bundler"
|
2
|
+
require "bundler/gem_tasks"
|
3
|
+
require "rexml/document"
|
4
|
+
require "yaqut/language"
|
5
|
+
require "yaml"
|
6
|
+
require "unidecoder"
|
7
|
+
|
8
|
+
Bundler.require
|
9
|
+
|
10
|
+
task :default => [:spec]
|
11
|
+
require 'rspec/core/rake_task'
|
12
|
+
desc "Run specs"
|
13
|
+
RSpec::Core::RakeTask.new do |t|
|
14
|
+
t.rspec_opts = %w(-fd --color)
|
15
|
+
end
|
16
|
+
|
17
|
+
desc "Rebuild the language table - supply path to trunk of unicode CLDR as an argument"
|
18
|
+
task :rebuild do
|
19
|
+
Bundler.require(:default, :development)
|
20
|
+
|
21
|
+
cldr_trunk = ARGV.last
|
22
|
+
data_files = Dir["#{cldr_trunk}/common/main/*.xml"].select { |path| !File.basename(path, ".xml").include?("_") }
|
23
|
+
languages = {}
|
24
|
+
data_files.each { |data_file|
|
25
|
+
inspecting_language = File.basename(data_file, ".xml")
|
26
|
+
doc = REXML::Document.new(File.read(data_file))
|
27
|
+
doc.elements.each("ldml/localeDisplayNames/languages/language") do |lang|
|
28
|
+
code_2 = lang.attribute("type").to_s
|
29
|
+
if code_2.length == 2
|
30
|
+
language = languages[code_2] ||= Yaqut::Language.new()
|
31
|
+
language.iso_639_1 = code_2
|
32
|
+
if inspecting_language == 'en'
|
33
|
+
language.english_name = lang.text.downcase
|
34
|
+
end
|
35
|
+
if inspecting_language == code_2
|
36
|
+
language.native_name = lang.text.downcase
|
37
|
+
language.transliterated_native_name = language.native_name.to_ascii
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
}
|
42
|
+
File.open('config/languages.yml', 'w') {|f| f.write languages.values.to_yaml }
|
43
|
+
end
|
@@ -0,0 +1,805 @@
|
|
1
|
+
---
|
2
|
+
- !ruby/object:Yaqut::Language
|
3
|
+
iso_639_1: aa
|
4
|
+
native_name: qafar
|
5
|
+
transliterated_native_name: qafar
|
6
|
+
english_name: afar
|
7
|
+
- !ruby/object:Yaqut::Language
|
8
|
+
iso_639_1: ab
|
9
|
+
english_name: abkhazian
|
10
|
+
- !ruby/object:Yaqut::Language
|
11
|
+
iso_639_1: af
|
12
|
+
native_name: afrikaans
|
13
|
+
transliterated_native_name: afrikaans
|
14
|
+
english_name: afrikaans
|
15
|
+
- !ruby/object:Yaqut::Language
|
16
|
+
iso_639_1: ak
|
17
|
+
native_name: akan
|
18
|
+
transliterated_native_name: akan
|
19
|
+
english_name: akan
|
20
|
+
- !ruby/object:Yaqut::Language
|
21
|
+
iso_639_1: am
|
22
|
+
native_name: "አማርኛ"
|
23
|
+
transliterated_native_name: "'amaarenyaa"
|
24
|
+
english_name: amharic
|
25
|
+
- !ruby/object:Yaqut::Language
|
26
|
+
iso_639_1: ar
|
27
|
+
native_name: "العربية"
|
28
|
+
transliterated_native_name: l`rby@
|
29
|
+
english_name: arabic
|
30
|
+
- !ruby/object:Yaqut::Language
|
31
|
+
iso_639_1: as
|
32
|
+
native_name: "অসমীয়া"
|
33
|
+
transliterated_native_name: asmiiy'aa
|
34
|
+
english_name: assamese
|
35
|
+
- !ruby/object:Yaqut::Language
|
36
|
+
iso_639_1: ay
|
37
|
+
english_name: aymara
|
38
|
+
- !ruby/object:Yaqut::Language
|
39
|
+
iso_639_1: az
|
40
|
+
native_name: azəri
|
41
|
+
transliterated_native_name: az@ri
|
42
|
+
english_name: azeri
|
43
|
+
- !ruby/object:Yaqut::Language
|
44
|
+
iso_639_1: ba
|
45
|
+
english_name: bashkir
|
46
|
+
- !ruby/object:Yaqut::Language
|
47
|
+
iso_639_1: be
|
48
|
+
native_name: "беларуская"
|
49
|
+
transliterated_native_name: bielaruskaia
|
50
|
+
english_name: belarusian
|
51
|
+
- !ruby/object:Yaqut::Language
|
52
|
+
iso_639_1: bg
|
53
|
+
native_name: "български"
|
54
|
+
transliterated_native_name: blgharski
|
55
|
+
english_name: bulgarian
|
56
|
+
- !ruby/object:Yaqut::Language
|
57
|
+
iso_639_1: bm
|
58
|
+
native_name: bamanakan
|
59
|
+
transliterated_native_name: bamanakan
|
60
|
+
english_name: bambara
|
61
|
+
- !ruby/object:Yaqut::Language
|
62
|
+
iso_639_1: bn
|
63
|
+
native_name: "বাংলা"
|
64
|
+
transliterated_native_name: baaNlaa
|
65
|
+
english_name: bengali
|
66
|
+
- !ruby/object:Yaqut::Language
|
67
|
+
iso_639_1: bo
|
68
|
+
native_name: "བོད་སྐད་"
|
69
|
+
transliterated_native_name: bod[nil]skd[nil]
|
70
|
+
english_name: tibetan
|
71
|
+
- !ruby/object:Yaqut::Language
|
72
|
+
iso_639_1: br
|
73
|
+
native_name: brezhoneg
|
74
|
+
transliterated_native_name: brezhoneg
|
75
|
+
english_name: breton
|
76
|
+
- !ruby/object:Yaqut::Language
|
77
|
+
iso_639_1: bs
|
78
|
+
native_name: bosanski
|
79
|
+
transliterated_native_name: bosanski
|
80
|
+
english_name: bosnian
|
81
|
+
- !ruby/object:Yaqut::Language
|
82
|
+
iso_639_1: ca
|
83
|
+
native_name: català
|
84
|
+
transliterated_native_name: catala
|
85
|
+
english_name: catalan
|
86
|
+
- !ruby/object:Yaqut::Language
|
87
|
+
iso_639_1: co
|
88
|
+
english_name: corsican
|
89
|
+
- !ruby/object:Yaqut::Language
|
90
|
+
iso_639_1: cs
|
91
|
+
native_name: "čeština"
|
92
|
+
transliterated_native_name: cestina
|
93
|
+
english_name: czech
|
94
|
+
- !ruby/object:Yaqut::Language
|
95
|
+
iso_639_1: cu
|
96
|
+
english_name: church slavic
|
97
|
+
- !ruby/object:Yaqut::Language
|
98
|
+
iso_639_1: cy
|
99
|
+
native_name: cymraeg
|
100
|
+
transliterated_native_name: cymraeg
|
101
|
+
english_name: welsh
|
102
|
+
- !ruby/object:Yaqut::Language
|
103
|
+
iso_639_1: da
|
104
|
+
native_name: dansk
|
105
|
+
transliterated_native_name: dansk
|
106
|
+
english_name: danish
|
107
|
+
- !ruby/object:Yaqut::Language
|
108
|
+
iso_639_1: de
|
109
|
+
native_name: deutsch
|
110
|
+
transliterated_native_name: deutsch
|
111
|
+
english_name: german
|
112
|
+
- !ruby/object:Yaqut::Language
|
113
|
+
iso_639_1: dv
|
114
|
+
english_name: divehi
|
115
|
+
- !ruby/object:Yaqut::Language
|
116
|
+
iso_639_1: dz
|
117
|
+
native_name: "རྫོང་ཁ"
|
118
|
+
transliterated_native_name: rdzong[nil]kh
|
119
|
+
english_name: dzongkha
|
120
|
+
- !ruby/object:Yaqut::Language
|
121
|
+
iso_639_1: ee
|
122
|
+
native_name: eʋegbe
|
123
|
+
transliterated_native_name: evegbe
|
124
|
+
english_name: ewe
|
125
|
+
- !ruby/object:Yaqut::Language
|
126
|
+
iso_639_1: el
|
127
|
+
native_name: "Ελληνικά"
|
128
|
+
transliterated_native_name: Ellenika
|
129
|
+
english_name: greek
|
130
|
+
- !ruby/object:Yaqut::Language
|
131
|
+
iso_639_1: en
|
132
|
+
native_name: english
|
133
|
+
transliterated_native_name: english
|
134
|
+
english_name: english
|
135
|
+
- !ruby/object:Yaqut::Language
|
136
|
+
iso_639_1: eo
|
137
|
+
native_name: esperanto
|
138
|
+
transliterated_native_name: esperanto
|
139
|
+
english_name: esperanto
|
140
|
+
- !ruby/object:Yaqut::Language
|
141
|
+
iso_639_1: es
|
142
|
+
native_name: español
|
143
|
+
transliterated_native_name: espanol
|
144
|
+
english_name: spanish
|
145
|
+
- !ruby/object:Yaqut::Language
|
146
|
+
iso_639_1: et
|
147
|
+
native_name: eesti
|
148
|
+
transliterated_native_name: eesti
|
149
|
+
english_name: estonian
|
150
|
+
- !ruby/object:Yaqut::Language
|
151
|
+
iso_639_1: eu
|
152
|
+
native_name: euskara
|
153
|
+
transliterated_native_name: euskara
|
154
|
+
english_name: basque
|
155
|
+
- !ruby/object:Yaqut::Language
|
156
|
+
iso_639_1: fa
|
157
|
+
native_name: "فارسی"
|
158
|
+
transliterated_native_name: frsy
|
159
|
+
english_name: persian
|
160
|
+
- !ruby/object:Yaqut::Language
|
161
|
+
iso_639_1: fi
|
162
|
+
native_name: suomi
|
163
|
+
transliterated_native_name: suomi
|
164
|
+
english_name: finnish
|
165
|
+
- !ruby/object:Yaqut::Language
|
166
|
+
iso_639_1: fj
|
167
|
+
english_name: fijian
|
168
|
+
- !ruby/object:Yaqut::Language
|
169
|
+
iso_639_1: fo
|
170
|
+
native_name: føroyskt
|
171
|
+
transliterated_native_name: foroyskt
|
172
|
+
english_name: faroese
|
173
|
+
- !ruby/object:Yaqut::Language
|
174
|
+
iso_639_1: fr
|
175
|
+
native_name: français
|
176
|
+
transliterated_native_name: francais
|
177
|
+
english_name: french
|
178
|
+
- !ruby/object:Yaqut::Language
|
179
|
+
iso_639_1: fy
|
180
|
+
native_name: west-frysk
|
181
|
+
transliterated_native_name: west-frysk
|
182
|
+
english_name: western frisian
|
183
|
+
- !ruby/object:Yaqut::Language
|
184
|
+
iso_639_1: ga
|
185
|
+
native_name: gaeilge
|
186
|
+
transliterated_native_name: gaeilge
|
187
|
+
english_name: irish
|
188
|
+
- !ruby/object:Yaqut::Language
|
189
|
+
iso_639_1: gd
|
190
|
+
native_name: gàidhlig
|
191
|
+
transliterated_native_name: gaidhlig
|
192
|
+
english_name: scottish gaelic
|
193
|
+
- !ruby/object:Yaqut::Language
|
194
|
+
iso_639_1: gl
|
195
|
+
native_name: galego
|
196
|
+
transliterated_native_name: galego
|
197
|
+
english_name: galician
|
198
|
+
- !ruby/object:Yaqut::Language
|
199
|
+
iso_639_1: gn
|
200
|
+
english_name: guarani
|
201
|
+
- !ruby/object:Yaqut::Language
|
202
|
+
iso_639_1: gu
|
203
|
+
native_name: "ગુજરાતી"
|
204
|
+
transliterated_native_name: gujraatii
|
205
|
+
english_name: gujarati
|
206
|
+
- !ruby/object:Yaqut::Language
|
207
|
+
iso_639_1: gv
|
208
|
+
native_name: gaelg
|
209
|
+
transliterated_native_name: gaelg
|
210
|
+
english_name: manx
|
211
|
+
- !ruby/object:Yaqut::Language
|
212
|
+
iso_639_1: ha
|
213
|
+
native_name: hausa
|
214
|
+
transliterated_native_name: hausa
|
215
|
+
english_name: hausa
|
216
|
+
- !ruby/object:Yaqut::Language
|
217
|
+
iso_639_1: he
|
218
|
+
native_name: "עברית"
|
219
|
+
transliterated_native_name: "`bryt"
|
220
|
+
english_name: hebrew
|
221
|
+
- !ruby/object:Yaqut::Language
|
222
|
+
iso_639_1: hi
|
223
|
+
native_name: "हिंदी"
|
224
|
+
transliterated_native_name: hiNdii
|
225
|
+
english_name: hindi
|
226
|
+
- !ruby/object:Yaqut::Language
|
227
|
+
iso_639_1: hr
|
228
|
+
native_name: hrvatski
|
229
|
+
transliterated_native_name: hrvatski
|
230
|
+
english_name: croatian
|
231
|
+
- !ruby/object:Yaqut::Language
|
232
|
+
iso_639_1: ht
|
233
|
+
english_name: haitian
|
234
|
+
- !ruby/object:Yaqut::Language
|
235
|
+
iso_639_1: hu
|
236
|
+
native_name: magyar
|
237
|
+
transliterated_native_name: magyar
|
238
|
+
english_name: hungarian
|
239
|
+
- !ruby/object:Yaqut::Language
|
240
|
+
iso_639_1: hy
|
241
|
+
native_name: "հայերեն"
|
242
|
+
transliterated_native_name: hayeren
|
243
|
+
english_name: armenian
|
244
|
+
- !ruby/object:Yaqut::Language
|
245
|
+
iso_639_1: ia
|
246
|
+
native_name: interlingua
|
247
|
+
transliterated_native_name: interlingua
|
248
|
+
english_name: interlingua
|
249
|
+
- !ruby/object:Yaqut::Language
|
250
|
+
iso_639_1: id
|
251
|
+
native_name: bahasa indonesia
|
252
|
+
transliterated_native_name: bahasa indonesia
|
253
|
+
english_name: indonesian
|
254
|
+
- !ruby/object:Yaqut::Language
|
255
|
+
iso_639_1: ie
|
256
|
+
english_name: interlingue
|
257
|
+
- !ruby/object:Yaqut::Language
|
258
|
+
iso_639_1: ig
|
259
|
+
native_name: igbo
|
260
|
+
transliterated_native_name: igbo
|
261
|
+
english_name: igbo
|
262
|
+
- !ruby/object:Yaqut::Language
|
263
|
+
iso_639_1: ii
|
264
|
+
native_name: "ꆈꌠꉙ"
|
265
|
+
transliterated_native_name: nuosuhxop
|
266
|
+
english_name: sichuan yi
|
267
|
+
- !ruby/object:Yaqut::Language
|
268
|
+
iso_639_1: is
|
269
|
+
native_name: "íslenska"
|
270
|
+
transliterated_native_name: islenska
|
271
|
+
english_name: icelandic
|
272
|
+
- !ruby/object:Yaqut::Language
|
273
|
+
iso_639_1: it
|
274
|
+
native_name: italiano
|
275
|
+
transliterated_native_name: italiano
|
276
|
+
english_name: italian
|
277
|
+
- !ruby/object:Yaqut::Language
|
278
|
+
iso_639_1: iu
|
279
|
+
english_name: inuktitut
|
280
|
+
- !ruby/object:Yaqut::Language
|
281
|
+
iso_639_1: ja
|
282
|
+
native_name: "日本語"
|
283
|
+
transliterated_native_name: 'Ri Ben Yu '
|
284
|
+
english_name: japanese
|
285
|
+
- !ruby/object:Yaqut::Language
|
286
|
+
iso_639_1: jv
|
287
|
+
english_name: javanese
|
288
|
+
- !ruby/object:Yaqut::Language
|
289
|
+
iso_639_1: ka
|
290
|
+
native_name: "ქართული"
|
291
|
+
transliterated_native_name: k`art`uli
|
292
|
+
english_name: georgian
|
293
|
+
- !ruby/object:Yaqut::Language
|
294
|
+
iso_639_1: kg
|
295
|
+
english_name: kongo
|
296
|
+
- !ruby/object:Yaqut::Language
|
297
|
+
iso_639_1: ki
|
298
|
+
native_name: gikuyu
|
299
|
+
transliterated_native_name: gikuyu
|
300
|
+
english_name: kikuyu
|
301
|
+
- !ruby/object:Yaqut::Language
|
302
|
+
iso_639_1: kk
|
303
|
+
native_name: "қазақ тілі"
|
304
|
+
transliterated_native_name: k'azak' tili
|
305
|
+
english_name: kazakh
|
306
|
+
- !ruby/object:Yaqut::Language
|
307
|
+
iso_639_1: kl
|
308
|
+
native_name: kalaallisut
|
309
|
+
transliterated_native_name: kalaallisut
|
310
|
+
english_name: kalaallisut
|
311
|
+
- !ruby/object:Yaqut::Language
|
312
|
+
iso_639_1: km
|
313
|
+
native_name: "ខ្មែរ"
|
314
|
+
transliterated_native_name: khmaer
|
315
|
+
english_name: khmer
|
316
|
+
- !ruby/object:Yaqut::Language
|
317
|
+
iso_639_1: kn
|
318
|
+
native_name: "ಕನ್ನಡ"
|
319
|
+
transliterated_native_name: knndd
|
320
|
+
english_name: kannada
|
321
|
+
- !ruby/object:Yaqut::Language
|
322
|
+
iso_639_1: ko
|
323
|
+
native_name: "한국어"
|
324
|
+
transliterated_native_name: hangugeo
|
325
|
+
english_name: korean
|
326
|
+
- !ruby/object:Yaqut::Language
|
327
|
+
iso_639_1: ks
|
328
|
+
native_name: "کٲشُر"
|
329
|
+
transliterated_native_name: kh'shur
|
330
|
+
english_name: kashmiri
|
331
|
+
- !ruby/object:Yaqut::Language
|
332
|
+
iso_639_1: ku
|
333
|
+
english_name: kurdish
|
334
|
+
- !ruby/object:Yaqut::Language
|
335
|
+
iso_639_1: kw
|
336
|
+
native_name: kernewek
|
337
|
+
transliterated_native_name: kernewek
|
338
|
+
english_name: cornish
|
339
|
+
- !ruby/object:Yaqut::Language
|
340
|
+
iso_639_1: ky
|
341
|
+
native_name: "кыргызча"
|
342
|
+
transliterated_native_name: kyrghyzcha
|
343
|
+
english_name: kirghiz
|
344
|
+
- !ruby/object:Yaqut::Language
|
345
|
+
iso_639_1: la
|
346
|
+
english_name: latin
|
347
|
+
- !ruby/object:Yaqut::Language
|
348
|
+
iso_639_1: lb
|
349
|
+
native_name: lëtzebuergesch
|
350
|
+
transliterated_native_name: letzebuergesch
|
351
|
+
english_name: luxembourgish
|
352
|
+
- !ruby/object:Yaqut::Language
|
353
|
+
iso_639_1: lg
|
354
|
+
native_name: luganda
|
355
|
+
transliterated_native_name: luganda
|
356
|
+
english_name: ganda
|
357
|
+
- !ruby/object:Yaqut::Language
|
358
|
+
iso_639_1: li
|
359
|
+
english_name: limburgish
|
360
|
+
- !ruby/object:Yaqut::Language
|
361
|
+
iso_639_1: ln
|
362
|
+
native_name: lingála
|
363
|
+
transliterated_native_name: lingala
|
364
|
+
english_name: lingala
|
365
|
+
- !ruby/object:Yaqut::Language
|
366
|
+
iso_639_1: lo
|
367
|
+
native_name: "ລາວ"
|
368
|
+
transliterated_native_name: laaw
|
369
|
+
english_name: lao
|
370
|
+
- !ruby/object:Yaqut::Language
|
371
|
+
iso_639_1: lt
|
372
|
+
native_name: lietuvių
|
373
|
+
transliterated_native_name: lietuviu
|
374
|
+
english_name: lithuanian
|
375
|
+
- !ruby/object:Yaqut::Language
|
376
|
+
iso_639_1: lu
|
377
|
+
native_name: tshiluba
|
378
|
+
transliterated_native_name: tshiluba
|
379
|
+
english_name: luba-katanga
|
380
|
+
- !ruby/object:Yaqut::Language
|
381
|
+
iso_639_1: lv
|
382
|
+
native_name: latviešu
|
383
|
+
transliterated_native_name: latviesu
|
384
|
+
english_name: latvian
|
385
|
+
- !ruby/object:Yaqut::Language
|
386
|
+
iso_639_1: mg
|
387
|
+
native_name: malagasy
|
388
|
+
transliterated_native_name: malagasy
|
389
|
+
english_name: malagasy
|
390
|
+
- !ruby/object:Yaqut::Language
|
391
|
+
iso_639_1: mi
|
392
|
+
english_name: maori
|
393
|
+
- !ruby/object:Yaqut::Language
|
394
|
+
iso_639_1: mk
|
395
|
+
native_name: "македонски"
|
396
|
+
transliterated_native_name: makiedonski
|
397
|
+
english_name: macedonian
|
398
|
+
- !ruby/object:Yaqut::Language
|
399
|
+
iso_639_1: ml
|
400
|
+
native_name: "മലയാളം"
|
401
|
+
transliterated_native_name: mlyaallN
|
402
|
+
english_name: malayalam
|
403
|
+
- !ruby/object:Yaqut::Language
|
404
|
+
iso_639_1: mn
|
405
|
+
native_name: "монгол"
|
406
|
+
transliterated_native_name: monghol
|
407
|
+
english_name: mongolian
|
408
|
+
- !ruby/object:Yaqut::Language
|
409
|
+
iso_639_1: mr
|
410
|
+
native_name: "मराठी"
|
411
|
+
transliterated_native_name: mraatthii
|
412
|
+
english_name: marathi
|
413
|
+
- !ruby/object:Yaqut::Language
|
414
|
+
iso_639_1: ms
|
415
|
+
native_name: bahasa melayu
|
416
|
+
transliterated_native_name: bahasa melayu
|
417
|
+
english_name: malay
|
418
|
+
- !ruby/object:Yaqut::Language
|
419
|
+
iso_639_1: mt
|
420
|
+
native_name: malti
|
421
|
+
transliterated_native_name: malti
|
422
|
+
english_name: maltese
|
423
|
+
- !ruby/object:Yaqut::Language
|
424
|
+
iso_639_1: my
|
425
|
+
native_name: "ဗမာ"
|
426
|
+
transliterated_native_name: bmaa
|
427
|
+
english_name: burmese
|
428
|
+
- !ruby/object:Yaqut::Language
|
429
|
+
iso_639_1: nb
|
430
|
+
native_name: norsk bokmål
|
431
|
+
transliterated_native_name: norsk bokmal
|
432
|
+
english_name: norwegian bokmål
|
433
|
+
- !ruby/object:Yaqut::Language
|
434
|
+
iso_639_1: nd
|
435
|
+
native_name: isindebele
|
436
|
+
transliterated_native_name: isindebele
|
437
|
+
english_name: north ndebele
|
438
|
+
- !ruby/object:Yaqut::Language
|
439
|
+
iso_639_1: ne
|
440
|
+
native_name: "नेपाली"
|
441
|
+
transliterated_native_name: nepaalii
|
442
|
+
english_name: nepali
|
443
|
+
- !ruby/object:Yaqut::Language
|
444
|
+
iso_639_1: nl
|
445
|
+
native_name: nederlands
|
446
|
+
transliterated_native_name: nederlands
|
447
|
+
english_name: dutch
|
448
|
+
- !ruby/object:Yaqut::Language
|
449
|
+
iso_639_1: nn
|
450
|
+
native_name: nynorsk
|
451
|
+
transliterated_native_name: nynorsk
|
452
|
+
english_name: norwegian nynorsk
|
453
|
+
- !ruby/object:Yaqut::Language
|
454
|
+
iso_639_1: 'no'
|
455
|
+
english_name: norwegian
|
456
|
+
- !ruby/object:Yaqut::Language
|
457
|
+
iso_639_1: nr
|
458
|
+
native_name: isindebele
|
459
|
+
transliterated_native_name: isindebele
|
460
|
+
english_name: south ndebele
|
461
|
+
- !ruby/object:Yaqut::Language
|
462
|
+
iso_639_1: ny
|
463
|
+
english_name: nyanja
|
464
|
+
- !ruby/object:Yaqut::Language
|
465
|
+
iso_639_1: oc
|
466
|
+
english_name: occitan
|
467
|
+
- !ruby/object:Yaqut::Language
|
468
|
+
iso_639_1: om
|
469
|
+
native_name: oromoo
|
470
|
+
transliterated_native_name: oromoo
|
471
|
+
english_name: oromo
|
472
|
+
- !ruby/object:Yaqut::Language
|
473
|
+
iso_639_1: or
|
474
|
+
native_name: "ଓଡ଼ିଆ"
|
475
|
+
transliterated_native_name: odd'iaa
|
476
|
+
english_name: oriya
|
477
|
+
- !ruby/object:Yaqut::Language
|
478
|
+
iso_639_1: os
|
479
|
+
native_name: "ирон"
|
480
|
+
transliterated_native_name: iron
|
481
|
+
english_name: ossetic
|
482
|
+
- !ruby/object:Yaqut::Language
|
483
|
+
iso_639_1: pa
|
484
|
+
native_name: "ਪੰਜਾਬੀ"
|
485
|
+
transliterated_native_name: pNjaabii
|
486
|
+
english_name: punjabi
|
487
|
+
- !ruby/object:Yaqut::Language
|
488
|
+
iso_639_1: pl
|
489
|
+
native_name: polski
|
490
|
+
transliterated_native_name: polski
|
491
|
+
english_name: polish
|
492
|
+
- !ruby/object:Yaqut::Language
|
493
|
+
iso_639_1: ps
|
494
|
+
native_name: "پښتو"
|
495
|
+
transliterated_native_name: pStw
|
496
|
+
english_name: pushto
|
497
|
+
- !ruby/object:Yaqut::Language
|
498
|
+
iso_639_1: pt
|
499
|
+
native_name: português
|
500
|
+
transliterated_native_name: portugues
|
501
|
+
english_name: portuguese
|
502
|
+
- !ruby/object:Yaqut::Language
|
503
|
+
iso_639_1: qu
|
504
|
+
native_name: runasimi
|
505
|
+
transliterated_native_name: runasimi
|
506
|
+
english_name: quechua
|
507
|
+
- !ruby/object:Yaqut::Language
|
508
|
+
iso_639_1: rm
|
509
|
+
native_name: rumantsch
|
510
|
+
transliterated_native_name: rumantsch
|
511
|
+
english_name: romansh
|
512
|
+
- !ruby/object:Yaqut::Language
|
513
|
+
iso_639_1: rn
|
514
|
+
native_name: ikirundi
|
515
|
+
transliterated_native_name: ikirundi
|
516
|
+
english_name: rundi
|
517
|
+
- !ruby/object:Yaqut::Language
|
518
|
+
iso_639_1: ro
|
519
|
+
native_name: română
|
520
|
+
transliterated_native_name: romana
|
521
|
+
english_name: romanian
|
522
|
+
- !ruby/object:Yaqut::Language
|
523
|
+
iso_639_1: ru
|
524
|
+
native_name: "русский"
|
525
|
+
transliterated_native_name: russkii
|
526
|
+
english_name: russian
|
527
|
+
- !ruby/object:Yaqut::Language
|
528
|
+
iso_639_1: rw
|
529
|
+
native_name: kinyarwanda
|
530
|
+
transliterated_native_name: kinyarwanda
|
531
|
+
english_name: kinyarwanda
|
532
|
+
- !ruby/object:Yaqut::Language
|
533
|
+
iso_639_1: sa
|
534
|
+
english_name: sanskrit
|
535
|
+
- !ruby/object:Yaqut::Language
|
536
|
+
iso_639_1: sd
|
537
|
+
english_name: sindhi
|
538
|
+
- !ruby/object:Yaqut::Language
|
539
|
+
iso_639_1: se
|
540
|
+
native_name: davvisámegiella
|
541
|
+
transliterated_native_name: davvisamegiella
|
542
|
+
english_name: northern sami
|
543
|
+
- !ruby/object:Yaqut::Language
|
544
|
+
iso_639_1: sg
|
545
|
+
native_name: sängö
|
546
|
+
transliterated_native_name: sango
|
547
|
+
english_name: sango
|
548
|
+
- !ruby/object:Yaqut::Language
|
549
|
+
iso_639_1: sh
|
550
|
+
english_name: serbo-croatian
|
551
|
+
- !ruby/object:Yaqut::Language
|
552
|
+
iso_639_1: si
|
553
|
+
native_name: "සිංහල"
|
554
|
+
transliterated_native_name: siNhl
|
555
|
+
english_name: sinhala
|
556
|
+
- !ruby/object:Yaqut::Language
|
557
|
+
iso_639_1: sk
|
558
|
+
native_name: slovenčina
|
559
|
+
transliterated_native_name: slovencina
|
560
|
+
english_name: slovak
|
561
|
+
- !ruby/object:Yaqut::Language
|
562
|
+
iso_639_1: sl
|
563
|
+
native_name: slovenščina
|
564
|
+
transliterated_native_name: slovenscina
|
565
|
+
english_name: slovenian
|
566
|
+
- !ruby/object:Yaqut::Language
|
567
|
+
iso_639_1: sm
|
568
|
+
english_name: samoan
|
569
|
+
- !ruby/object:Yaqut::Language
|
570
|
+
iso_639_1: sn
|
571
|
+
native_name: chishona
|
572
|
+
transliterated_native_name: chishona
|
573
|
+
english_name: shona
|
574
|
+
- !ruby/object:Yaqut::Language
|
575
|
+
iso_639_1: so
|
576
|
+
native_name: soomaali
|
577
|
+
transliterated_native_name: soomaali
|
578
|
+
english_name: somali
|
579
|
+
- !ruby/object:Yaqut::Language
|
580
|
+
iso_639_1: sq
|
581
|
+
native_name: shqip
|
582
|
+
transliterated_native_name: shqip
|
583
|
+
english_name: albanian
|
584
|
+
- !ruby/object:Yaqut::Language
|
585
|
+
iso_639_1: sr
|
586
|
+
native_name: "српски"
|
587
|
+
transliterated_native_name: srpski
|
588
|
+
english_name: serbian
|
589
|
+
- !ruby/object:Yaqut::Language
|
590
|
+
iso_639_1: ss
|
591
|
+
native_name: siswati
|
592
|
+
transliterated_native_name: siswati
|
593
|
+
english_name: swati
|
594
|
+
- !ruby/object:Yaqut::Language
|
595
|
+
iso_639_1: st
|
596
|
+
english_name: southern sotho
|
597
|
+
- !ruby/object:Yaqut::Language
|
598
|
+
iso_639_1: su
|
599
|
+
english_name: sundanese
|
600
|
+
- !ruby/object:Yaqut::Language
|
601
|
+
iso_639_1: sv
|
602
|
+
native_name: svenska
|
603
|
+
transliterated_native_name: svenska
|
604
|
+
english_name: swedish
|
605
|
+
- !ruby/object:Yaqut::Language
|
606
|
+
iso_639_1: sw
|
607
|
+
native_name: kiswahili
|
608
|
+
transliterated_native_name: kiswahili
|
609
|
+
english_name: swahili
|
610
|
+
- !ruby/object:Yaqut::Language
|
611
|
+
iso_639_1: ta
|
612
|
+
native_name: "தமிழ்"
|
613
|
+
transliterated_native_name: tmilll
|
614
|
+
english_name: tamil
|
615
|
+
- !ruby/object:Yaqut::Language
|
616
|
+
iso_639_1: te
|
617
|
+
native_name: "తెలుగు"
|
618
|
+
transliterated_native_name: telugu
|
619
|
+
english_name: telugu
|
620
|
+
- !ruby/object:Yaqut::Language
|
621
|
+
iso_639_1: tg
|
622
|
+
english_name: tajik
|
623
|
+
- !ruby/object:Yaqut::Language
|
624
|
+
iso_639_1: th
|
625
|
+
native_name: "ไทย"
|
626
|
+
transliterated_native_name: aithy
|
627
|
+
english_name: thai
|
628
|
+
- !ruby/object:Yaqut::Language
|
629
|
+
iso_639_1: ti
|
630
|
+
native_name: "ትግርኛ"
|
631
|
+
transliterated_native_name: tegerenyaa
|
632
|
+
english_name: tigrinya
|
633
|
+
- !ruby/object:Yaqut::Language
|
634
|
+
iso_639_1: tk
|
635
|
+
english_name: turkmen
|
636
|
+
- !ruby/object:Yaqut::Language
|
637
|
+
iso_639_1: tn
|
638
|
+
native_name: setswana
|
639
|
+
transliterated_native_name: setswana
|
640
|
+
english_name: tswana
|
641
|
+
- !ruby/object:Yaqut::Language
|
642
|
+
iso_639_1: to
|
643
|
+
native_name: lea fakatonga
|
644
|
+
transliterated_native_name: lea fakatonga
|
645
|
+
english_name: tongan
|
646
|
+
- !ruby/object:Yaqut::Language
|
647
|
+
iso_639_1: tr
|
648
|
+
native_name: türkçe
|
649
|
+
transliterated_native_name: turkce
|
650
|
+
english_name: turkish
|
651
|
+
- !ruby/object:Yaqut::Language
|
652
|
+
iso_639_1: ts
|
653
|
+
native_name: xitsonga
|
654
|
+
transliterated_native_name: xitsonga
|
655
|
+
english_name: tsonga
|
656
|
+
- !ruby/object:Yaqut::Language
|
657
|
+
iso_639_1: tt
|
658
|
+
english_name: tatar
|
659
|
+
- !ruby/object:Yaqut::Language
|
660
|
+
iso_639_1: tw
|
661
|
+
english_name: twi
|
662
|
+
- !ruby/object:Yaqut::Language
|
663
|
+
iso_639_1: ty
|
664
|
+
english_name: tahitian
|
665
|
+
- !ruby/object:Yaqut::Language
|
666
|
+
iso_639_1: ug
|
667
|
+
native_name: "ئۇيغۇرچە"
|
668
|
+
transliterated_native_name: y'uyGurchae
|
669
|
+
english_name: uighur
|
670
|
+
- !ruby/object:Yaqut::Language
|
671
|
+
iso_639_1: uk
|
672
|
+
native_name: "українська"
|
673
|
+
transliterated_native_name: ukrayins'ka
|
674
|
+
english_name: ukrainian
|
675
|
+
- !ruby/object:Yaqut::Language
|
676
|
+
iso_639_1: ur
|
677
|
+
native_name: "اردو"
|
678
|
+
transliterated_native_name: rdw
|
679
|
+
english_name: urdu
|
680
|
+
- !ruby/object:Yaqut::Language
|
681
|
+
iso_639_1: uz
|
682
|
+
native_name: oʻzbekcha
|
683
|
+
transliterated_native_name: o`zbekcha
|
684
|
+
english_name: uzbek
|
685
|
+
- !ruby/object:Yaqut::Language
|
686
|
+
iso_639_1: ve
|
687
|
+
native_name: tshivenḓa
|
688
|
+
transliterated_native_name: tshivenda
|
689
|
+
english_name: venda
|
690
|
+
- !ruby/object:Yaqut::Language
|
691
|
+
iso_639_1: vi
|
692
|
+
native_name: tiếng việt
|
693
|
+
transliterated_native_name: tieng viet
|
694
|
+
english_name: vietnamese
|
695
|
+
- !ruby/object:Yaqut::Language
|
696
|
+
iso_639_1: wo
|
697
|
+
english_name: wolof
|
698
|
+
- !ruby/object:Yaqut::Language
|
699
|
+
iso_639_1: xh
|
700
|
+
english_name: xhosa
|
701
|
+
- !ruby/object:Yaqut::Language
|
702
|
+
iso_639_1: yi
|
703
|
+
native_name: "ייִדיש"
|
704
|
+
transliterated_native_name: yyidysh
|
705
|
+
english_name: yiddish
|
706
|
+
- !ruby/object:Yaqut::Language
|
707
|
+
iso_639_1: yo
|
708
|
+
native_name: "Èdè yorùbá"
|
709
|
+
transliterated_native_name: Ede yoruba
|
710
|
+
english_name: yoruba
|
711
|
+
- !ruby/object:Yaqut::Language
|
712
|
+
iso_639_1: zh
|
713
|
+
native_name: "中文"
|
714
|
+
transliterated_native_name: 'Zhong Wen '
|
715
|
+
english_name: chinese
|
716
|
+
- !ruby/object:Yaqut::Language
|
717
|
+
iso_639_1: zu
|
718
|
+
native_name: isizulu
|
719
|
+
transliterated_native_name: isizulu
|
720
|
+
english_name: zulu
|
721
|
+
- !ruby/object:Yaqut::Language
|
722
|
+
iso_639_1: bi
|
723
|
+
english_name: bislama
|
724
|
+
- !ruby/object:Yaqut::Language
|
725
|
+
iso_639_1: ik
|
726
|
+
english_name: inupiaq
|
727
|
+
- !ruby/object:Yaqut::Language
|
728
|
+
iso_639_1: na
|
729
|
+
english_name: nauru
|
730
|
+
- !ruby/object:Yaqut::Language
|
731
|
+
iso_639_1: tl
|
732
|
+
english_name: tagalog
|
733
|
+
- !ruby/object:Yaqut::Language
|
734
|
+
iso_639_1: vo
|
735
|
+
native_name: volapük
|
736
|
+
transliterated_native_name: volapuk
|
737
|
+
english_name: volapük
|
738
|
+
- !ruby/object:Yaqut::Language
|
739
|
+
iso_639_1: za
|
740
|
+
english_name: zhuang
|
741
|
+
- !ruby/object:Yaqut::Language
|
742
|
+
iso_639_1: ae
|
743
|
+
english_name: avestan
|
744
|
+
- !ruby/object:Yaqut::Language
|
745
|
+
iso_639_1: an
|
746
|
+
english_name: aragonese
|
747
|
+
- !ruby/object:Yaqut::Language
|
748
|
+
iso_639_1: av
|
749
|
+
english_name: avaric
|
750
|
+
- !ruby/object:Yaqut::Language
|
751
|
+
iso_639_1: ce
|
752
|
+
english_name: chechen
|
753
|
+
- !ruby/object:Yaqut::Language
|
754
|
+
iso_639_1: ch
|
755
|
+
english_name: chamorro
|
756
|
+
- !ruby/object:Yaqut::Language
|
757
|
+
iso_639_1: cr
|
758
|
+
english_name: cree
|
759
|
+
- !ruby/object:Yaqut::Language
|
760
|
+
iso_639_1: cv
|
761
|
+
english_name: chuvash
|
762
|
+
- !ruby/object:Yaqut::Language
|
763
|
+
iso_639_1: ff
|
764
|
+
native_name: pulaar
|
765
|
+
transliterated_native_name: pulaar
|
766
|
+
english_name: fulah
|
767
|
+
- !ruby/object:Yaqut::Language
|
768
|
+
iso_639_1: ho
|
769
|
+
english_name: hiri motu
|
770
|
+
- !ruby/object:Yaqut::Language
|
771
|
+
iso_639_1: hz
|
772
|
+
english_name: herero
|
773
|
+
- !ruby/object:Yaqut::Language
|
774
|
+
iso_639_1: io
|
775
|
+
english_name: ido
|
776
|
+
- !ruby/object:Yaqut::Language
|
777
|
+
iso_639_1: kj
|
778
|
+
english_name: kuanyama
|
779
|
+
- !ruby/object:Yaqut::Language
|
780
|
+
iso_639_1: kr
|
781
|
+
english_name: kanuri
|
782
|
+
- !ruby/object:Yaqut::Language
|
783
|
+
iso_639_1: kv
|
784
|
+
english_name: komi
|
785
|
+
- !ruby/object:Yaqut::Language
|
786
|
+
iso_639_1: mh
|
787
|
+
english_name: marshallese
|
788
|
+
- !ruby/object:Yaqut::Language
|
789
|
+
iso_639_1: ng
|
790
|
+
english_name: ndonga
|
791
|
+
- !ruby/object:Yaqut::Language
|
792
|
+
iso_639_1: nv
|
793
|
+
english_name: navajo
|
794
|
+
- !ruby/object:Yaqut::Language
|
795
|
+
iso_639_1: oj
|
796
|
+
english_name: ojibwa
|
797
|
+
- !ruby/object:Yaqut::Language
|
798
|
+
iso_639_1: pi
|
799
|
+
english_name: pali
|
800
|
+
- !ruby/object:Yaqut::Language
|
801
|
+
iso_639_1: sc
|
802
|
+
english_name: sardinian
|
803
|
+
- !ruby/object:Yaqut::Language
|
804
|
+
iso_639_1: wa
|
805
|
+
english_name: walloon
|
data/lib/yaqut.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
require "yaqut/version"
|
2
|
+
require "yaqut/language"
|
3
|
+
require "yaml"
|
4
|
+
|
5
|
+
module Yaqut
|
6
|
+
ALL_FIELDS = [:english_name, :native_name, :transliterated_native_name, :iso_639_1]
|
7
|
+
|
8
|
+
def self.search(any_field=nil, **search_params)
|
9
|
+
raise "Specify at least one search parameter" if any_field.nil? && (search_params.none? || search_params.all? { |param| param.nil? })
|
10
|
+
raise "Cannot specify specific fields and a general search term" if any_field && search_params.any?
|
11
|
+
# Case changes can be expensive, only do them once
|
12
|
+
any_field = any_field.downcase if any_field
|
13
|
+
search_params.each{ |key, str| search_params[key] = str.downcase }
|
14
|
+
# Not particularly efficient, but there are only ~200
|
15
|
+
database.find { |language|
|
16
|
+
(!any_field.nil? && ALL_FIELDS.any? { |field| language.send(field) == any_field }) ||
|
17
|
+
(search_params.any? && search_params.all? { |field, param| language.send(field) == param })
|
18
|
+
}
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.database
|
22
|
+
@database ||= YAML::load_file("config/languages.yml")
|
23
|
+
end
|
24
|
+
end
|
data/spec/yaqut_spec.rb
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'yaqut'
|
2
|
+
|
3
|
+
describe Yaqut do
|
4
|
+
describe "#search" do
|
5
|
+
context "invalid inputs" do
|
6
|
+
context "no parameters" do
|
7
|
+
it "fails" do
|
8
|
+
expect{ Yaqut.search }.to raise_exception
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
context "too many parameters" do
|
13
|
+
it "fails" do
|
14
|
+
expect{ Yaqut.search("test", english_name: "test") }.to raise_exception
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
context "valid inputs" do
|
20
|
+
it "handles multifield search" do
|
21
|
+
expect(Yaqut.search("english").iso_639_1).to eq("en")
|
22
|
+
end
|
23
|
+
|
24
|
+
it "isn't overeager" do
|
25
|
+
expect(Yaqut.search(iso_639_1: "english")).to be_nil
|
26
|
+
end
|
27
|
+
|
28
|
+
it "handles specific search" do
|
29
|
+
expect(Yaqut.search(iso_639_1: "en").iso_639_1).to eq("en")
|
30
|
+
end
|
31
|
+
|
32
|
+
it "handles native-language search" do
|
33
|
+
expect(Yaqut.search("français").iso_639_1).to eq("fr")
|
34
|
+
end
|
35
|
+
|
36
|
+
it "handles transliterated native-language search" do
|
37
|
+
expect(Yaqut.search("francais").iso_639_1).to eq("fr")
|
38
|
+
end
|
39
|
+
|
40
|
+
it "confuses people who thought native_name was already transliterated" do
|
41
|
+
expect(Yaqut.search(native_name: "francais")).to be_nil
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
data/unicode-license.txt
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
|
2
|
+
|
3
|
+
Unicode Data Files include all data files under the directories
|
4
|
+
http://www.unicode.org/Public/, http://www.unicode.org/reports/, and
|
5
|
+
http://www.unicode.org/cldr/data/. Unicode Data Files do not include PDF
|
6
|
+
online code charts under the directory http://www.unicode.org/Public/.
|
7
|
+
Software includes any source code published in the Unicode Standard or under
|
8
|
+
the directories http://www.unicode.org/Public/,
|
9
|
+
http://www.unicode.org/reports/, and http://www.unicode.org/cldr/data/.
|
10
|
+
|
11
|
+
NOTICE TO USER: Carefully read the following legal agreement. BY
|
12
|
+
DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES
|
13
|
+
("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND
|
14
|
+
AGREE TO BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF
|
15
|
+
YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA
|
16
|
+
FILES OR SOFTWARE.
|
17
|
+
|
18
|
+
COPYRIGHT AND PERMISSION NOTICE
|
19
|
+
|
20
|
+
Copyright © 1991-2014 Unicode, Inc. All rights reserved. Distributed under
|
21
|
+
the Terms of Use in http://www.unicode.org/copyright.html.
|
22
|
+
|
23
|
+
Permission is hereby granted, free of charge, to any person obtaining a
|
24
|
+
copy of the Unicode data files and any associated documentation (the "Data
|
25
|
+
Files") or Unicode software and any associated documentation (the "Software")
|
26
|
+
to deal in the Data Files or Software without restriction, including without
|
27
|
+
limitation the rights to use, copy, modify, merge, publish, distribute, and/or
|
28
|
+
sell copies of the Data Files or Software, and to permit persons to whom the
|
29
|
+
Data Files or Software are furnished to do so, provided that (a) the above
|
30
|
+
copyright notice(s) and this permission notice appear with all copies of the
|
31
|
+
Data Files or Software, (b) both the above copyright notice(s) and this
|
32
|
+
permission notice appear in associated documentation, and (c) there is clear
|
33
|
+
notice in each modified Data File or in the Software as well as in the
|
34
|
+
documentation associated with the Data File(s) or Software that the data or
|
35
|
+
software has been modified.
|
36
|
+
|
37
|
+
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
38
|
+
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
39
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD
|
40
|
+
PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN
|
41
|
+
THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
|
42
|
+
DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
43
|
+
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
|
44
|
+
ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE
|
45
|
+
DATA FILES OR SOFTWARE.
|
46
|
+
|
47
|
+
Except as contained in this notice, the name of a copyright holder shall
|
48
|
+
not be used in advertising or otherwise to promote the sale, use or other
|
49
|
+
dealings in these Data Files or Software without prior written authorization
|
50
|
+
of the copyright holder.
|
data/yaqut.gemspec
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'yaqut/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "yaqut"
|
8
|
+
spec.version = Yaqut::VERSION
|
9
|
+
spec.authors = ["Collin"]
|
10
|
+
spec.email = ["collin@remind101.com"]
|
11
|
+
spec.summary = "Look up language names and ISO codes."
|
12
|
+
spec.description = "A lightweight database of language names and ISO codes."
|
13
|
+
spec.homepage = ""
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_development_dependency "bundler", "~> 1.7"
|
22
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
23
|
+
end
|
metadata
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: yaqut
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Collin
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-11-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.7'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.7'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
description: A lightweight database of language names and ISO codes.
|
42
|
+
email:
|
43
|
+
- collin@remind101.com
|
44
|
+
executables: []
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- .gitignore
|
49
|
+
- Gemfile
|
50
|
+
- LICENSE.txt
|
51
|
+
- README.md
|
52
|
+
- Rakefile
|
53
|
+
- config/languages.yml
|
54
|
+
- lib/yaqut.rb
|
55
|
+
- lib/yaqut/language.rb
|
56
|
+
- lib/yaqut/version.rb
|
57
|
+
- spec/yaqut_spec.rb
|
58
|
+
- unicode-license.txt
|
59
|
+
- yaqut.gemspec
|
60
|
+
homepage: ''
|
61
|
+
licenses:
|
62
|
+
- MIT
|
63
|
+
metadata: {}
|
64
|
+
post_install_message:
|
65
|
+
rdoc_options: []
|
66
|
+
require_paths:
|
67
|
+
- lib
|
68
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
69
|
+
requirements:
|
70
|
+
- - ! '>='
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '0'
|
73
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
requirements: []
|
79
|
+
rubyforge_project:
|
80
|
+
rubygems_version: 2.2.2
|
81
|
+
signing_key:
|
82
|
+
specification_version: 4
|
83
|
+
summary: Look up language names and ISO codes.
|
84
|
+
test_files:
|
85
|
+
- spec/yaqut_spec.rb
|