yaqut 0.0.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 +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
|