human_languages 0.6.0 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.reuse/dep5 +1 -1
- data/.rubocop.yml +5 -0
- data/CHANGELOG.md +22 -0
- data/Gemfile +4 -4
- data/Gemfile.lock +28 -21
- data/LICENSE +7 -0
- data/README.adoc +70 -4
- data/data/iso-639-3-macrolanguages.tsv +455 -0
- data/data/iso-639-3.tsv +27 -21
- data/human_languages.gemspec +41 -0
- data/lib/languages/language.rb +1 -1
- data/lib/languages/version.rb +1 -1
- data/lib/languages.rb +31 -16
- data/sig/languages.rbs +2 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 260491578de61743bf549fa59bd87f7052e33e3fdec8758d0ee1a48808cd1526
|
4
|
+
data.tar.gz: 3e8cf139c9615f10d4d7fd782eea3125ce064670359340361b846f19487ac7a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6fa4d32b4f26609d5e855a66f0ed88a30741f9718c7676cb0091d24654d51526a36f197f793b4ee27d4a849584291d4e66a4a91974d50f4d643b5ad5247d7601
|
7
|
+
data.tar.gz: 5d9127db926a09491619fa148603c01edb54666692566109b22e615b41cd0ff8ca5ecca4c96be91a30f6ad1b5a1f8887609f348a8a1fdf4545295a234dd90755
|
data/.reuse/dep5
CHANGED
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -7,6 +7,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
7
7
|
|
8
8
|
## [Unreleased]
|
9
9
|
|
10
|
+
## [0.8.0] - 2024-02-05
|
11
|
+
|
12
|
+
### Added
|
13
|
+
|
14
|
+
- Support / Tests for Ruby 3.3 (thanks to [@sandbergja](https://github.com/sandbergja))
|
15
|
+
|
16
|
+
## [0.7.0] - 2023-03-08
|
17
|
+
|
18
|
+
### Added
|
19
|
+
|
20
|
+
- Add `macrolanguage` reference for languages of scope `individual` that belong to a macrolanguage.
|
21
|
+
- Add overview table in README about related and similar gems.
|
22
|
+
- Add option to search language by name case insensitively.
|
23
|
+
|
24
|
+
### Fixed
|
25
|
+
|
26
|
+
- Installation instruction in README: wrong gem name, correct is `human_languages`
|
27
|
+
|
28
|
+
### Changed
|
29
|
+
|
30
|
+
- Update ISO 639 data incorporating approved [2022 changes](https://iso639-3.sil.org/sites/iso639-3/files/reports/639-3_ChangeRequests_2022_Summary.pdf).
|
31
|
+
|
10
32
|
## [0.6.0] - 2022-06-08
|
11
33
|
|
12
34
|
### Changed
|
data/Gemfile
CHANGED
@@ -5,8 +5,8 @@ source 'https://rubygems.org'
|
|
5
5
|
# Specify your gem's dependencies in languages.gemspec
|
6
6
|
gemspec
|
7
7
|
|
8
|
-
gem 'minitest', '~> 5.
|
9
|
-
gem 'rake', '~> 13.
|
10
|
-
gem 'rubocop', '~> 1.
|
11
|
-
gem 'rubocop-minitest', '~> 0.
|
8
|
+
gem 'minitest', '~> 5.21'
|
9
|
+
gem 'rake', '~> 13.1'
|
10
|
+
gem 'rubocop', '~> 1.60'
|
11
|
+
gem 'rubocop-minitest', '~> 0.34.5'
|
12
12
|
gem 'rubocop-rake', '~> 0.6.0'
|
data/Gemfile.lock
CHANGED
@@ -1,47 +1,54 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
human_languages (0.
|
4
|
+
human_languages (0.8.0)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
9
|
ast (2.4.2)
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
json (2.7.1)
|
11
|
+
language_server-protocol (3.17.0.3)
|
12
|
+
minitest (5.21.2)
|
13
|
+
parallel (1.24.0)
|
14
|
+
parser (3.3.0.5)
|
13
15
|
ast (~> 2.4.1)
|
16
|
+
racc
|
17
|
+
racc (1.7.3)
|
14
18
|
rainbow (3.1.1)
|
15
|
-
rake (13.0
|
16
|
-
regexp_parser (2.
|
17
|
-
rexml (3.2.
|
18
|
-
rubocop (1.
|
19
|
+
rake (13.1.0)
|
20
|
+
regexp_parser (2.9.0)
|
21
|
+
rexml (3.2.6)
|
22
|
+
rubocop (1.60.2)
|
23
|
+
json (~> 2.3)
|
24
|
+
language_server-protocol (>= 3.17.0)
|
19
25
|
parallel (~> 1.10)
|
20
|
-
parser (>= 3.
|
26
|
+
parser (>= 3.3.0.2)
|
21
27
|
rainbow (>= 2.2.2, < 4.0)
|
22
28
|
regexp_parser (>= 1.8, < 3.0)
|
23
29
|
rexml (>= 3.2.5, < 4.0)
|
24
|
-
rubocop-ast (>= 1.
|
30
|
+
rubocop-ast (>= 1.30.0, < 2.0)
|
25
31
|
ruby-progressbar (~> 1.7)
|
26
|
-
unicode-display_width (>=
|
27
|
-
rubocop-ast (1.
|
28
|
-
parser (>= 3.
|
29
|
-
rubocop-minitest (0.
|
30
|
-
rubocop (>=
|
32
|
+
unicode-display_width (>= 2.4.0, < 3.0)
|
33
|
+
rubocop-ast (1.30.0)
|
34
|
+
parser (>= 3.2.1.0)
|
35
|
+
rubocop-minitest (0.34.5)
|
36
|
+
rubocop (>= 1.39, < 2.0)
|
37
|
+
rubocop-ast (>= 1.30.0, < 2.0)
|
31
38
|
rubocop-rake (0.6.0)
|
32
39
|
rubocop (~> 1.0)
|
33
|
-
ruby-progressbar (1.
|
34
|
-
unicode-display_width (2.
|
40
|
+
ruby-progressbar (1.13.0)
|
41
|
+
unicode-display_width (2.5.0)
|
35
42
|
|
36
43
|
PLATFORMS
|
37
44
|
x86_64-linux
|
38
45
|
|
39
46
|
DEPENDENCIES
|
40
47
|
human_languages!
|
41
|
-
minitest (~> 5.
|
42
|
-
rake (~> 13.
|
43
|
-
rubocop (~> 1.
|
44
|
-
rubocop-minitest (~> 0.
|
48
|
+
minitest (~> 5.21)
|
49
|
+
rake (~> 13.1)
|
50
|
+
rubocop (~> 1.60)
|
51
|
+
rubocop-minitest (~> 0.34.5)
|
45
52
|
rubocop-rake (~> 0.6.0)
|
46
53
|
|
47
54
|
BUNDLED WITH
|
data/LICENSE
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
Copyright 2022-2024 Benno Bielmeier
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
4
|
+
|
5
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
6
|
+
|
7
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.adoc
CHANGED
@@ -5,7 +5,7 @@ Benno Bielmeier
|
|
5
5
|
image:https://api.reuse.software/badge/github.com/bbenno/languages[link="https://api.reuse.software/info/github.com/bbenno/languages", alt="REUSE status"]
|
6
6
|
image:https://badge.fury.io/rb/human_languages.svg["Gem Version", link="https://badge.fury.io/rb/human_languages"]
|
7
7
|
|
8
|
-
image:https://img.shields.io/maintenance/yes/
|
8
|
+
image:https://img.shields.io/maintenance/yes/2024[Maintenance]
|
9
9
|
image:https://github.com/bbenno/languages/actions/workflows/main.yml/badge.svg[link="https://github.com/bbenno/languages/actions/workflows/main.yml"]
|
10
10
|
|
11
11
|
Simple, dependency-less gem providing all known human languagesfootnote:[This includes all individual languages already accounted for in ISO 639-2 as well as extinct, ancient, constructed, and historical languages.] defined in ISO 639-3
|
@@ -17,7 +17,7 @@ The ISO code set in link:data/[data/] is taken from the official ISO 639-3 regis
|
|
17
17
|
Add this line to your application’s Gemfile:
|
18
18
|
[source]
|
19
19
|
----
|
20
|
-
gem '
|
20
|
+
gem 'human_languages'
|
21
21
|
----
|
22
22
|
|
23
23
|
And then execute:
|
@@ -27,7 +27,7 @@ $ bundle install
|
|
27
27
|
|
28
28
|
Or install it yourself as:
|
29
29
|
....
|
30
|
-
$ gem install
|
30
|
+
$ gem install human_languages
|
31
31
|
....
|
32
32
|
|
33
33
|
== Usage
|
@@ -65,7 +65,13 @@ Languages.search "^Germ"
|
|
65
65
|
Languages.search /\AJapan/
|
66
66
|
----
|
67
67
|
|
68
|
-
CAUTION
|
68
|
+
[CAUTION]
|
69
|
+
--
|
70
|
+
Passing a string to `Languages.search` results in case-sensitive search.
|
71
|
+
If case-insensitive search is intended, use ignorecase regexp like `/search_pattern/i` or pass optional `case_sensitive` parameter.
|
72
|
+
[source]
|
73
|
+
Languages.search('search_pattern', case_sensitive: false)
|
74
|
+
--
|
69
75
|
|
70
76
|
.Since ISO 639-3 categorizes the languages by scope and type, one can filter by them
|
71
77
|
[source]
|
@@ -109,6 +115,66 @@ language.living? # => true
|
|
109
115
|
language.individual_language? # => true
|
110
116
|
----
|
111
117
|
|
118
|
+
Some languages of scope `individual` have a reference to their macrolanguage (scope `macrolanguage) that they belong to.
|
119
|
+
More information on macrolanguages can be found https://iso639-3.sil.org/about/scope#Macrolanguages[here].
|
120
|
+
|
121
|
+
[source]
|
122
|
+
----
|
123
|
+
language = Language[:wuu]
|
124
|
+
language.individual_language? # => true
|
125
|
+
|
126
|
+
macrolanguage = language.macrolanguage
|
127
|
+
|
128
|
+
macrolanguage.alpha3 # => "zho"
|
129
|
+
macrolanguage.name # => "Chinese"
|
130
|
+
macrolanguage.scope # => :macrolanguage
|
131
|
+
macrolanguage.macrolanguage # => nil
|
132
|
+
----
|
133
|
+
|
134
|
+
== Related Gems and Differences
|
135
|
+
|
136
|
+
Why to build another gem for ISO 639?
|
137
|
+
|
138
|
+
.Overview
|
139
|
+
[%header,cols="2,1,2,2,3"]
|
140
|
+
|===
|
141
|
+
|Gem
|
142
|
+
|ISO 639-1/-2
|
143
|
+
|ISO 639-3
|
144
|
+
|Translations
|
145
|
+
|Data Storage
|
146
|
+
|
147
|
+
|https://rubygems.org/gems/iso639[iso639]
|
148
|
+
|✅
|
149
|
+
|❌
|
150
|
+
|French
|
151
|
+
|Collection of Hashes
|
152
|
+
|
153
|
+
|https://rubygems.org/gems/iso-639[iso-639]
|
154
|
+
|✅
|
155
|
+
|❌
|
156
|
+
|French
|
157
|
+
|Array of Arrays
|
158
|
+
|
159
|
+
|https://rubygems.org/gems/iso-639-data[iso-639-data]
|
160
|
+
|✅
|
161
|
+
|(✅) only scope individual
|
162
|
+
|French for ISO 639-2
|
163
|
+
|Hash of Hashes
|
164
|
+
|
165
|
+
|https://rubygems.org/gems/language_list[language_list]
|
166
|
+
|✅
|
167
|
+
|(✅) only scope individual
|
168
|
+
|-
|
169
|
+
|Array of Language-Objects
|
170
|
+
|
171
|
+
|https://rubygems.org/gems/human_languages[human_languages]
|
172
|
+
|✅
|
173
|
+
|✅
|
174
|
+
|-
|
175
|
+
|Array of Language-Objects
|
176
|
+
|===
|
177
|
+
|
112
178
|
== Development
|
113
179
|
|
114
180
|
After checking out the repo, run `bin/setup` to install dependencies.
|
@@ -0,0 +1,455 @@
|
|
1
|
+
M_Id I_Id I_Status
|
2
|
+
aka fat A
|
3
|
+
aka twi A
|
4
|
+
ara aao A
|
5
|
+
ara abh A
|
6
|
+
ara abv A
|
7
|
+
ara acm A
|
8
|
+
ara acq A
|
9
|
+
ara acw A
|
10
|
+
ara acx A
|
11
|
+
ara acy A
|
12
|
+
ara adf A
|
13
|
+
ara aeb A
|
14
|
+
ara aec A
|
15
|
+
ara afb A
|
16
|
+
ara ajp R
|
17
|
+
ara apc A
|
18
|
+
ara apd A
|
19
|
+
ara arb A
|
20
|
+
ara arq A
|
21
|
+
ara ars A
|
22
|
+
ara ary A
|
23
|
+
ara arz A
|
24
|
+
ara auz A
|
25
|
+
ara avl A
|
26
|
+
ara ayh A
|
27
|
+
ara ayl A
|
28
|
+
ara ayn A
|
29
|
+
ara ayp A
|
30
|
+
ara bbz R
|
31
|
+
ara pga A
|
32
|
+
ara shu A
|
33
|
+
ara ssh A
|
34
|
+
aym ayc A
|
35
|
+
aym ayr A
|
36
|
+
aze azb A
|
37
|
+
aze azj A
|
38
|
+
bal bcc A
|
39
|
+
bal bgn A
|
40
|
+
bal bgp A
|
41
|
+
bik bcl A
|
42
|
+
bik bhk R
|
43
|
+
bik bln A
|
44
|
+
bik bto A
|
45
|
+
bik cts A
|
46
|
+
bik fbl A
|
47
|
+
bik lbl A
|
48
|
+
bik rbl A
|
49
|
+
bik ubl A
|
50
|
+
bnc ebk A
|
51
|
+
bnc lbk A
|
52
|
+
bnc obk A
|
53
|
+
bnc rbk A
|
54
|
+
bnc vbk A
|
55
|
+
bua bxm A
|
56
|
+
bua bxr A
|
57
|
+
bua bxu A
|
58
|
+
chm mhr A
|
59
|
+
chm mrj A
|
60
|
+
cre crj A
|
61
|
+
cre crk A
|
62
|
+
cre crl A
|
63
|
+
cre crm A
|
64
|
+
cre csw A
|
65
|
+
cre cwd A
|
66
|
+
del umu A
|
67
|
+
del unm A
|
68
|
+
den scs A
|
69
|
+
den xsl A
|
70
|
+
din dib A
|
71
|
+
din dik A
|
72
|
+
din dip A
|
73
|
+
din diw A
|
74
|
+
din dks A
|
75
|
+
doi dgo A
|
76
|
+
doi xnr A
|
77
|
+
est ekk A
|
78
|
+
est vro A
|
79
|
+
fas pes A
|
80
|
+
fas prs A
|
81
|
+
ful ffm A
|
82
|
+
ful fub A
|
83
|
+
ful fuc A
|
84
|
+
ful fue A
|
85
|
+
ful fuf A
|
86
|
+
ful fuh A
|
87
|
+
ful fui A
|
88
|
+
ful fuq A
|
89
|
+
ful fuv A
|
90
|
+
gba bdt A
|
91
|
+
gba gbp A
|
92
|
+
gba gbq A
|
93
|
+
gba gmm A
|
94
|
+
gba gso A
|
95
|
+
gba gya A
|
96
|
+
gba mdo R
|
97
|
+
gon esg A
|
98
|
+
gon ggo R
|
99
|
+
gon gno A
|
100
|
+
gon wsg A
|
101
|
+
grb gbo A
|
102
|
+
grb gec A
|
103
|
+
grb grj A
|
104
|
+
grb grv A
|
105
|
+
grb gry A
|
106
|
+
grn gnw A
|
107
|
+
grn gug A
|
108
|
+
grn gui A
|
109
|
+
grn gun A
|
110
|
+
grn nhd A
|
111
|
+
hai hax A
|
112
|
+
hai hdn A
|
113
|
+
hbs bos A
|
114
|
+
hbs cnr A
|
115
|
+
hbs hrv A
|
116
|
+
hbs srp A
|
117
|
+
hmn blu R
|
118
|
+
hmn cqd A
|
119
|
+
hmn hea A
|
120
|
+
hmn hma A
|
121
|
+
hmn hmc A
|
122
|
+
hmn hmd A
|
123
|
+
hmn hme A
|
124
|
+
hmn hmg A
|
125
|
+
hmn hmh A
|
126
|
+
hmn hmi A
|
127
|
+
hmn hmj A
|
128
|
+
hmn hml A
|
129
|
+
hmn hmm A
|
130
|
+
hmn hmp A
|
131
|
+
hmn hmq A
|
132
|
+
hmn hms A
|
133
|
+
hmn hmw A
|
134
|
+
hmn hmy A
|
135
|
+
hmn hmz A
|
136
|
+
hmn hnj A
|
137
|
+
hmn hrm A
|
138
|
+
hmn huj A
|
139
|
+
hmn mmr A
|
140
|
+
hmn muq A
|
141
|
+
hmn mww A
|
142
|
+
hmn sfm A
|
143
|
+
iku ike A
|
144
|
+
iku ikt A
|
145
|
+
ipk esi A
|
146
|
+
ipk esk A
|
147
|
+
jrb ajt R
|
148
|
+
jrb aju A
|
149
|
+
jrb jye A
|
150
|
+
jrb yhd A
|
151
|
+
jrb yud A
|
152
|
+
kau kby A
|
153
|
+
kau knc A
|
154
|
+
kau krt A
|
155
|
+
kln enb A
|
156
|
+
kln eyo A
|
157
|
+
kln niq A
|
158
|
+
kln oki A
|
159
|
+
kln pko A
|
160
|
+
kln sgc A
|
161
|
+
kln spy A
|
162
|
+
kln tec A
|
163
|
+
kln tuy A
|
164
|
+
kok gom A
|
165
|
+
kok knn A
|
166
|
+
kom koi A
|
167
|
+
kom kpv A
|
168
|
+
kon kng A
|
169
|
+
kon kwy A
|
170
|
+
kon ldi A
|
171
|
+
kpe gkp A
|
172
|
+
kpe xpe A
|
173
|
+
kur ckb A
|
174
|
+
kur kmr A
|
175
|
+
kur sdh A
|
176
|
+
lah hnd A
|
177
|
+
lah hno A
|
178
|
+
lah jat A
|
179
|
+
lah phr A
|
180
|
+
lah pmu R
|
181
|
+
lah pnb A
|
182
|
+
lah skr A
|
183
|
+
lah xhe A
|
184
|
+
lav ltg A
|
185
|
+
lav lvs A
|
186
|
+
luy bxk A
|
187
|
+
luy ida A
|
188
|
+
luy lkb A
|
189
|
+
luy lko A
|
190
|
+
luy lks A
|
191
|
+
luy lri A
|
192
|
+
luy lrm A
|
193
|
+
luy lsm A
|
194
|
+
luy lto A
|
195
|
+
luy lts A
|
196
|
+
luy lwg A
|
197
|
+
luy nle A
|
198
|
+
luy nyd A
|
199
|
+
luy rag A
|
200
|
+
man emk A
|
201
|
+
man mku A
|
202
|
+
man mlq A
|
203
|
+
man mnk A
|
204
|
+
man msc A
|
205
|
+
man mwk A
|
206
|
+
man myq R
|
207
|
+
mlg bhr A
|
208
|
+
mlg bjq R
|
209
|
+
mlg bmm A
|
210
|
+
mlg bzc A
|
211
|
+
mlg msh A
|
212
|
+
mlg plt A
|
213
|
+
mlg skg A
|
214
|
+
mlg tdx A
|
215
|
+
mlg tkg A
|
216
|
+
mlg txy A
|
217
|
+
mlg xmv A
|
218
|
+
mlg xmw A
|
219
|
+
mon khk A
|
220
|
+
mon mvf A
|
221
|
+
msa bjn A
|
222
|
+
msa btj A
|
223
|
+
msa bve A
|
224
|
+
msa bvu A
|
225
|
+
msa coa A
|
226
|
+
msa dup A
|
227
|
+
msa hji A
|
228
|
+
msa ind A
|
229
|
+
msa jak A
|
230
|
+
msa jax A
|
231
|
+
msa kvb A
|
232
|
+
msa kvr A
|
233
|
+
msa kxd A
|
234
|
+
msa lce A
|
235
|
+
msa lcf A
|
236
|
+
msa liw A
|
237
|
+
msa max A
|
238
|
+
msa meo A
|
239
|
+
msa mfa A
|
240
|
+
msa mfb A
|
241
|
+
msa min A
|
242
|
+
msa mly R
|
243
|
+
msa mqg A
|
244
|
+
msa msi A
|
245
|
+
msa mui A
|
246
|
+
msa orn A
|
247
|
+
msa ors A
|
248
|
+
msa pel A
|
249
|
+
msa pse A
|
250
|
+
msa tmw A
|
251
|
+
msa urk A
|
252
|
+
msa vkk A
|
253
|
+
msa vkt A
|
254
|
+
msa xmm A
|
255
|
+
msa zlm A
|
256
|
+
msa zmi A
|
257
|
+
msa zsm A
|
258
|
+
mwr dhd A
|
259
|
+
mwr mtr A
|
260
|
+
mwr mve A
|
261
|
+
mwr rwr A
|
262
|
+
mwr swv A
|
263
|
+
mwr wry A
|
264
|
+
nep dty A
|
265
|
+
nep npi A
|
266
|
+
nor nno A
|
267
|
+
nor nob A
|
268
|
+
oji ciw A
|
269
|
+
oji ojb A
|
270
|
+
oji ojc A
|
271
|
+
oji ojg A
|
272
|
+
oji ojs A
|
273
|
+
oji ojw A
|
274
|
+
oji otw A
|
275
|
+
ori ory A
|
276
|
+
ori spv A
|
277
|
+
orm gax A
|
278
|
+
orm gaz A
|
279
|
+
orm hae A
|
280
|
+
orm orc A
|
281
|
+
pus pbt A
|
282
|
+
pus pbu A
|
283
|
+
pus pst A
|
284
|
+
que cqu R
|
285
|
+
que qub A
|
286
|
+
que qud A
|
287
|
+
que quf A
|
288
|
+
que qug A
|
289
|
+
que quh A
|
290
|
+
que quk A
|
291
|
+
que qul A
|
292
|
+
que qup A
|
293
|
+
que qur A
|
294
|
+
que qus A
|
295
|
+
que quw A
|
296
|
+
que qux A
|
297
|
+
que quy A
|
298
|
+
que quz A
|
299
|
+
que qva A
|
300
|
+
que qvc A
|
301
|
+
que qve A
|
302
|
+
que qvh A
|
303
|
+
que qvi A
|
304
|
+
que qvj A
|
305
|
+
que qvl A
|
306
|
+
que qvm A
|
307
|
+
que qvn A
|
308
|
+
que qvo A
|
309
|
+
que qvp A
|
310
|
+
que qvs A
|
311
|
+
que qvw A
|
312
|
+
que qvz A
|
313
|
+
que qwa A
|
314
|
+
que qwc A
|
315
|
+
que qwh A
|
316
|
+
que qws A
|
317
|
+
que qxa A
|
318
|
+
que qxc A
|
319
|
+
que qxh A
|
320
|
+
que qxl A
|
321
|
+
que qxn A
|
322
|
+
que qxo A
|
323
|
+
que qxp A
|
324
|
+
que qxr A
|
325
|
+
que qxt A
|
326
|
+
que qxu A
|
327
|
+
que qxw A
|
328
|
+
raj bgq A
|
329
|
+
raj gda A
|
330
|
+
raj gju A
|
331
|
+
raj hoj A
|
332
|
+
raj mup A
|
333
|
+
raj wbr A
|
334
|
+
rom rmc A
|
335
|
+
rom rmf A
|
336
|
+
rom rml A
|
337
|
+
rom rmn A
|
338
|
+
rom rmo A
|
339
|
+
rom rmw A
|
340
|
+
rom rmy A
|
341
|
+
sqi aae A
|
342
|
+
sqi aat A
|
343
|
+
sqi aln A
|
344
|
+
sqi als A
|
345
|
+
srd sdc A
|
346
|
+
srd sdn A
|
347
|
+
srd src A
|
348
|
+
srd sro A
|
349
|
+
swa swc A
|
350
|
+
swa swh A
|
351
|
+
syr aii A
|
352
|
+
syr cld A
|
353
|
+
tmh taq A
|
354
|
+
tmh thv A
|
355
|
+
tmh thz A
|
356
|
+
tmh ttq A
|
357
|
+
uzb uzn A
|
358
|
+
uzb uzs A
|
359
|
+
yid ydd A
|
360
|
+
yid yih A
|
361
|
+
zap zaa A
|
362
|
+
zap zab A
|
363
|
+
zap zac A
|
364
|
+
zap zad A
|
365
|
+
zap zae A
|
366
|
+
zap zaf A
|
367
|
+
zap zai A
|
368
|
+
zap zam A
|
369
|
+
zap zao A
|
370
|
+
zap zaq A
|
371
|
+
zap zar A
|
372
|
+
zap zas A
|
373
|
+
zap zat A
|
374
|
+
zap zav A
|
375
|
+
zap zaw A
|
376
|
+
zap zax A
|
377
|
+
zap zca A
|
378
|
+
zap zcd A
|
379
|
+
zap zoo A
|
380
|
+
zap zpa A
|
381
|
+
zap zpb A
|
382
|
+
zap zpc A
|
383
|
+
zap zpd A
|
384
|
+
zap zpe A
|
385
|
+
zap zpf A
|
386
|
+
zap zpg A
|
387
|
+
zap zph A
|
388
|
+
zap zpi A
|
389
|
+
zap zpj A
|
390
|
+
zap zpk A
|
391
|
+
zap zpl A
|
392
|
+
zap zpm A
|
393
|
+
zap zpn A
|
394
|
+
zap zpo A
|
395
|
+
zap zpp A
|
396
|
+
zap zpq A
|
397
|
+
zap zpr A
|
398
|
+
zap zps A
|
399
|
+
zap zpt A
|
400
|
+
zap zpu A
|
401
|
+
zap zpv A
|
402
|
+
zap zpw A
|
403
|
+
zap zpx A
|
404
|
+
zap zpy A
|
405
|
+
zap zpz A
|
406
|
+
zap zsr A
|
407
|
+
zap ztc R
|
408
|
+
zap zte A
|
409
|
+
zap ztg A
|
410
|
+
zap ztl A
|
411
|
+
zap ztm A
|
412
|
+
zap ztn A
|
413
|
+
zap ztp A
|
414
|
+
zap ztq A
|
415
|
+
zap zts A
|
416
|
+
zap ztt A
|
417
|
+
zap ztu A
|
418
|
+
zap ztx A
|
419
|
+
zap zty A
|
420
|
+
zha ccx R
|
421
|
+
zha ccy R
|
422
|
+
zha zch A
|
423
|
+
zha zeh A
|
424
|
+
zha zgb A
|
425
|
+
zha zgm A
|
426
|
+
zha zgn A
|
427
|
+
zha zhd A
|
428
|
+
zha zhn A
|
429
|
+
zha zlj A
|
430
|
+
zha zln A
|
431
|
+
zha zlq A
|
432
|
+
zha zqe A
|
433
|
+
zha zyb A
|
434
|
+
zha zyg A
|
435
|
+
zha zyj A
|
436
|
+
zha zyn A
|
437
|
+
zha zzj A
|
438
|
+
zho cdo A
|
439
|
+
zho cjy A
|
440
|
+
zho cmn A
|
441
|
+
zho cnp A
|
442
|
+
zho cpx A
|
443
|
+
zho csp A
|
444
|
+
zho czh A
|
445
|
+
zho czo A
|
446
|
+
zho gan A
|
447
|
+
zho hak A
|
448
|
+
zho hsn A
|
449
|
+
zho lzh A
|
450
|
+
zho mnp A
|
451
|
+
zho nan A
|
452
|
+
zho wuu A
|
453
|
+
zho yue A
|
454
|
+
zza diq A
|
455
|
+
zza kiu A
|
data/data/iso-639-3.tsv
CHANGED
@@ -186,7 +186,6 @@ aja I L Aja (South Sudan)
|
|
186
186
|
ajg I L Aja (Benin)
|
187
187
|
aji I L Ajië
|
188
188
|
ajn I L Andajin
|
189
|
-
ajp I L South Levantine Arabic
|
190
189
|
ajs I L Algerian Jewish Sign Language
|
191
190
|
aju I L Judeo-Moroccan Arabic
|
192
191
|
ajw I E Ajawa
|
@@ -310,7 +309,7 @@ aou I L A'ou
|
|
310
309
|
aox I L Atorada
|
311
310
|
aoz I L Uab Meto
|
312
311
|
apb I L Sa'a
|
313
|
-
apc I L
|
312
|
+
apc I L Levantine Arabic
|
314
313
|
apd I L Sudanese Arabic
|
315
314
|
ape I L Bukiyip
|
316
315
|
apf I L Pahanan Agta
|
@@ -1459,6 +1458,7 @@ cwd I L Woods Cree
|
|
1459
1458
|
cwe I L Kwere
|
1460
1459
|
cwg I L Chewong
|
1461
1460
|
cwt I L Kuwaataay
|
1461
|
+
cxh I L Cha'ari
|
1462
1462
|
cya I L Nopala Chatino
|
1463
1463
|
cyb I E Cayubaba
|
1464
1464
|
cym wel cym cy I L Welsh
|
@@ -1693,6 +1693,7 @@ dsb dsb dsb I L Lower Sorbian
|
|
1693
1693
|
dse I L Dutch Sign Language
|
1694
1694
|
dsh I L Daasanach
|
1695
1695
|
dsi I L Disa
|
1696
|
+
dsk I L Dokshi
|
1696
1697
|
dsl I L Danish Sign Language
|
1697
1698
|
dsn I E Dusner
|
1698
1699
|
dso I L Desiya
|
@@ -1753,9 +1754,11 @@ dyi I L Djimini Senoufo
|
|
1753
1754
|
dym I L Yanda Dom Dogon
|
1754
1755
|
dyn I L Dyangadi
|
1755
1756
|
dyo I L Jola-Fonyi
|
1757
|
+
dyr I L Dyarim
|
1756
1758
|
dyu dyu dyu I L Dyula
|
1757
1759
|
dyy I L Djabugay
|
1758
1760
|
dza I L Tunzu
|
1761
|
+
dzd I L Daza
|
1759
1762
|
dze I E Djiwarli
|
1760
1763
|
dzg I L Dazaga
|
1761
1764
|
dzl I L Dzalakha
|
@@ -1877,6 +1880,7 @@ ett I A Etruscan
|
|
1877
1880
|
etu I L Ejagham
|
1878
1881
|
etx I L Eten
|
1879
1882
|
etz I L Semimi
|
1883
|
+
eud I L Eudeve
|
1880
1884
|
eus baq eus eu I L Basque
|
1881
1885
|
eve I L Even
|
1882
1886
|
evh I L Uvbie
|
@@ -2576,6 +2580,7 @@ ijj I L Ede Ije
|
|
2576
2580
|
ijn I L Kalabari
|
2577
2581
|
ijs I L Southeast Ijo
|
2578
2582
|
ike I L Eastern Canadian Inuktitut
|
2583
|
+
ikh I L Ikhin-Arokho
|
2579
2584
|
iki I L Iko
|
2580
2585
|
ikk I L Ika
|
2581
2586
|
ikl I L Ikulu
|
@@ -2686,6 +2691,7 @@ iya I L Iyayu
|
|
2686
2691
|
iyo I L Mesaka
|
2687
2692
|
iyx I L Yaka (Congo)
|
2688
2693
|
izh I L Ingrian
|
2694
|
+
izm I L Kizamani
|
2689
2695
|
izr I L Izere
|
2690
2696
|
izz I L Izii
|
2691
2697
|
jaa I L Jamamadí
|
@@ -2804,7 +2810,7 @@ jru I L Japrería
|
|
2804
2810
|
jsl I L Japanese Sign Language
|
2805
2811
|
jua I L Júma
|
2806
2812
|
jub I L Wannu
|
2807
|
-
juc I
|
2813
|
+
juc I H Jurchen
|
2808
2814
|
jud I L Worodougou
|
2809
2815
|
juh I L Hõne
|
2810
2816
|
jui I E Ngadjuri
|
@@ -2985,7 +2991,6 @@ kgi I L Selangor Sign Language
|
|
2985
2991
|
kgj I L Gamale Kham
|
2986
2992
|
kgk I L Kaiwá
|
2987
2993
|
kgl I E Kunggari
|
2988
|
-
kgm I E Karipúna
|
2989
2994
|
kgn I L Karingani
|
2990
2995
|
kgo I L Krongo
|
2991
2996
|
kgp I L Kaingang
|
@@ -3262,7 +3267,7 @@ krj I L Kinaray-A
|
|
3262
3267
|
krk I E Kerek
|
3263
3268
|
krl krl krl I L Karelian
|
3264
3269
|
krn I L Sapo
|
3265
|
-
krp I L
|
3270
|
+
krp I L Durop
|
3266
3271
|
krr I L Krung
|
3267
3272
|
krs I L Gbaya (Sudan)
|
3268
3273
|
krt I L Tumari Kanuri
|
@@ -3272,7 +3277,6 @@ krw I L Western Krahn
|
|
3272
3277
|
krx I L Karon
|
3273
3278
|
kry I L Kryts
|
3274
3279
|
krz I L Sota Kanum
|
3275
|
-
ksa I L Shuwa-Zamani
|
3276
3280
|
ksb I L Shambala
|
3277
3281
|
ksc I L Southern Kalinga
|
3278
3282
|
ksd I L Kuanua
|
@@ -3476,7 +3480,7 @@ lac I L Lacandon
|
|
3476
3480
|
lad lad lad I L Ladino
|
3477
3481
|
lae I L Pattani
|
3478
3482
|
laf I L Lafofa
|
3479
|
-
lag I L
|
3483
|
+
lag I L Rangi
|
3480
3484
|
lah lah lah M L Lahnda
|
3481
3485
|
lai I L Lambya
|
3482
3486
|
laj I L Lango (Uganda)
|
@@ -3580,6 +3584,7 @@ lgn I L T'apo
|
|
3580
3584
|
lgo I L Lango (South Sudan)
|
3581
3585
|
lgq I L Logba
|
3582
3586
|
lgr I L Lengo
|
3587
|
+
lgs I L Guinea-Bissau Sign Language
|
3583
3588
|
lgt I L Pahi
|
3584
3589
|
lgu I L Longgu
|
3585
3590
|
lgz I L Ligenza
|
@@ -3703,7 +3708,7 @@ loc I L Inonhan
|
|
3703
3708
|
loe I L Saluan
|
3704
3709
|
lof I L Logol
|
3705
3710
|
log I L Logo
|
3706
|
-
loh I L
|
3711
|
+
loh I L Laarim
|
3707
3712
|
loi I L Loma (Côte d'Ivoire)
|
3708
3713
|
loj I L Lou
|
3709
3714
|
lok I L Loko
|
@@ -3796,6 +3801,7 @@ luz I L Southern Luri
|
|
3796
3801
|
lva I L Maku'a
|
3797
3802
|
lvi I L Lavi
|
3798
3803
|
lvk I L Lavukaleve
|
3804
|
+
lvl I L Lwel
|
3799
3805
|
lvs I L Standard Latvian
|
3800
3806
|
lvu I L Levuka
|
3801
3807
|
lwa I L Lwalu
|
@@ -4766,7 +4772,6 @@ noi I L Noiri
|
|
4766
4772
|
noj I L Nonuya
|
4767
4773
|
nok I E Nooksack
|
4768
4774
|
nol I E Nomlaki
|
4769
|
-
nom I E Nocamán
|
4770
4775
|
non non non I H Old Norse
|
4771
4776
|
nop I L Numanggang
|
4772
4777
|
noq I L Ngongo
|
@@ -4940,6 +4945,7 @@ nzd I L Nzadi
|
|
4940
4945
|
nzi nzi nzi I L Nzima
|
4941
4946
|
nzk I L Nzakara
|
4942
4947
|
nzm I L Zeme Naga
|
4948
|
+
nzr I L Dir-Nyamzak-Mbarimi
|
4943
4949
|
nzs I L New Zealand Sign Language
|
4944
4950
|
nzu I L Teke-Nzikou
|
4945
4951
|
nzy I L Nzakambay
|
@@ -5276,7 +5282,6 @@ ple I L Palu'e
|
|
5276
5282
|
plg I L Pilagá
|
5277
5283
|
plh I L Paulohi
|
5278
5284
|
pli pli pli pi I A Pali
|
5279
|
-
plj I L Polci
|
5280
5285
|
plk I L Kohistani Shina
|
5281
5286
|
pll I L Shwe Palaung
|
5282
5287
|
pln I L Palenquero
|
@@ -5298,7 +5303,6 @@ pmf I L Pamona
|
|
5298
5303
|
pmh I H Māhārāṣṭri Prākrit
|
5299
5304
|
pmi I L Northern Pumi
|
5300
5305
|
pmj I L Southern Pumi
|
5301
|
-
pmk I E Pamlico
|
5302
5306
|
pml I E Lingua Franca
|
5303
5307
|
pmm I L Pomo
|
5304
5308
|
pmn I L Pam
|
@@ -5382,7 +5386,6 @@ prl I L Peruvian Sign Language
|
|
5382
5386
|
prm I L Kibiri
|
5383
5387
|
prn I L Prasuni
|
5384
5388
|
pro pro pro I H Old Provençal (to 1500)
|
5385
|
-
prp I L Parsi
|
5386
5389
|
prq I L Ashéninka Perené
|
5387
5390
|
prr I E Puri
|
5388
5391
|
prs I L Dari
|
@@ -5460,6 +5463,7 @@ pys I L Paraguayan Sign Language
|
|
5460
5463
|
pyu I L Puyuma
|
5461
5464
|
pyx I A Pyu (Myanmar)
|
5462
5465
|
pyy I L Pyen
|
5466
|
+
pze I L Pesse
|
5463
5467
|
pzh I L Pazeh
|
5464
5468
|
pzn I L Jejara Naga
|
5465
5469
|
qua I L Quapaw
|
@@ -5649,6 +5653,7 @@ rsk I L Ruthenian
|
|
5649
5653
|
rsl I L Russian Sign Language
|
5650
5654
|
rsm I L Miriwoong Sign Language
|
5651
5655
|
rsn I L Rwandan Sign Language
|
5656
|
+
rsw I L Rishiwa
|
5652
5657
|
rtc I L Rungtu Chin
|
5653
5658
|
rth I L Ratahan
|
5654
5659
|
rtm I L Rotuman
|
@@ -5920,7 +5925,6 @@ sll I L Salt-Yui
|
|
5920
5925
|
slm I L Pangutaran Sama
|
5921
5926
|
sln I E Salinan
|
5922
5927
|
slp I L Lamaholot
|
5923
|
-
slq I E Salchuq
|
5924
5928
|
slr I L Salar
|
5925
5929
|
sls I L Singapore Sign Language
|
5926
5930
|
slt I L Sila
|
@@ -6189,7 +6193,6 @@ syy I L Al-Sayyid Bedouin Sign Language
|
|
6189
6193
|
sza I L Semelai
|
6190
6194
|
szb I L Ngalum
|
6191
6195
|
szc I L Semaq Beri
|
6192
|
-
szd I E Seru
|
6193
6196
|
sze I L Seze
|
6194
6197
|
szg I L Sengele
|
6195
6198
|
szl I L Silesian
|
@@ -6453,7 +6456,6 @@ tmg I E Ternateño
|
|
6453
6456
|
tmh tmh tmh M L Tamashek
|
6454
6457
|
tmi I L Tutuba
|
6455
6458
|
tmj I L Samarokena
|
6456
|
-
tmk I L Northwestern Tamang
|
6457
6459
|
tml I L Tamnim Citak
|
6458
6460
|
tmm I L Tai Thanh
|
6459
6461
|
tmn I L Taman (Indonesia)
|
@@ -6531,7 +6533,6 @@ tpr I L Tuparí
|
|
6531
6533
|
tpt I L Tlachichilco Tepehua
|
6532
6534
|
tpu I L Tampuan
|
6533
6535
|
tpv I L Tanapag
|
6534
|
-
tpw I E Tupí
|
6535
6536
|
tpx I L Acatepec Me'phaa
|
6536
6537
|
tpy I L Trumai
|
6537
6538
|
tpz I L Tinputz
|
@@ -6647,6 +6648,7 @@ tuz I L Turka
|
|
6647
6648
|
tva I L Vaghua
|
6648
6649
|
tvd I L Tsuvadi
|
6649
6650
|
tve I L Te'un
|
6651
|
+
tvi I L Tulai
|
6650
6652
|
tvk I L Southeast Ambrym
|
6651
6653
|
tvl tvl tvl I L Tuvalu
|
6652
6654
|
tvm I L Tela-Masbuar
|
@@ -6779,6 +6781,7 @@ ulm I L Ulumanda'
|
|
6779
6781
|
uln I L Unserdeutsch
|
6780
6782
|
ulu I L Uma' Lung
|
6781
6783
|
ulw I L Ulwa
|
6784
|
+
uly I L Buli
|
6782
6785
|
uma I L Umatilla
|
6783
6786
|
umb umb umb I L Umbundu
|
6784
6787
|
umc I A Marrucinian
|
@@ -6893,6 +6896,7 @@ vin I L Vinza
|
|
6893
6896
|
vis I L Vishavan
|
6894
6897
|
vit I L Viti
|
6895
6898
|
viv I L Iduna
|
6899
|
+
vjk I L Bajjika
|
6896
6900
|
vka I E Kariyarra
|
6897
6901
|
vkj I L Kujarge
|
6898
6902
|
vkk I L Kaur
|
@@ -7083,7 +7087,7 @@ wms I L Wambon
|
|
7083
7087
|
wmt I L Walmajarri
|
7084
7088
|
wmw I L Mwani
|
7085
7089
|
wmx I L Womo
|
7086
|
-
wnb I L
|
7090
|
+
wnb I L Mokati
|
7087
7091
|
wnc I L Wantoat
|
7088
7092
|
wnd I E Wandarang
|
7089
7093
|
wne I L Waneci
|
@@ -7141,6 +7145,7 @@ wsr I L Owenia
|
|
7141
7145
|
wss I L Wasa
|
7142
7146
|
wsu I E Wasu
|
7143
7147
|
wsv I E Wotapuri-Katarqalai
|
7148
|
+
wtb I L Matambwe
|
7144
7149
|
wtf I L Watiwa
|
7145
7150
|
wth I E Wathawurrung
|
7146
7151
|
wti I L Berta
|
@@ -7418,7 +7423,6 @@ xso I E Solano
|
|
7418
7423
|
xsp I L Silopi
|
7419
7424
|
xsq I L Makhuwa-Saka
|
7420
7425
|
xsr I L Sherpa
|
7421
|
-
xss I E Assan
|
7422
7426
|
xsu I L Sanumá
|
7423
7427
|
xsv I E Sudovian
|
7424
7428
|
xsy I L Saisiyat
|
@@ -7532,6 +7536,7 @@ ych I L Chesu
|
|
7532
7536
|
ycl I L Lolopo
|
7533
7537
|
ycn I L Yucuna
|
7534
7538
|
ycp I L Chepya
|
7539
|
+
ycr I L Yilan Creole
|
7535
7540
|
yda I E Yanda
|
7536
7541
|
ydd I L Eastern Yiddish
|
7537
7542
|
yde I L Yangum Dey
|
@@ -7584,6 +7589,7 @@ yix I L Axi Yi
|
|
7584
7589
|
yiz I L Azhe
|
7585
7590
|
yka I L Yakan
|
7586
7591
|
ykg I L Northern Yukaghir
|
7592
|
+
ykh I L Khamnigan Mongol
|
7587
7593
|
yki I L Yoke
|
7588
7594
|
ykk I L Yakaikeke
|
7589
7595
|
ykl I L Khlula
|
@@ -7758,12 +7764,13 @@ zbt I L Batui
|
|
7758
7764
|
zbu I L Bu (Bauchi State)
|
7759
7765
|
zbw I L West Berawan
|
7760
7766
|
zca I L Coatecas Altas Zapotec
|
7761
|
-
zcd
|
7767
|
+
zcd I L Las Delicias Zapotec
|
7762
7768
|
zch I L Central Hongshuihe Zhuang
|
7763
7769
|
zdj I L Ngazidja Comorian
|
7764
7770
|
zea I L Zeeuws
|
7765
7771
|
zeg I L Zenag
|
7766
7772
|
zeh I L Eastern Hongshuihe Zhuang
|
7773
|
+
zem I L Zeem
|
7767
7774
|
zen zen zen I L Zenaga
|
7768
7775
|
zga I L Kinga
|
7769
7776
|
zgb I L Guibei Zhuang
|
@@ -7787,7 +7794,6 @@ zin I L Zinza
|
|
7787
7794
|
ziw I L Zigula
|
7788
7795
|
ziz I L Zizilivakan
|
7789
7796
|
zka I L Kaimbulawa
|
7790
|
-
zkb I E Koibal
|
7791
7797
|
zkd I L Kadu
|
7792
7798
|
zkg I A Koguryo
|
7793
7799
|
zkh I H Khorezmian
|
@@ -7805,6 +7811,7 @@ zlj I L Liujiang Zhuang
|
|
7805
7811
|
zlm I L Malay (individual language)
|
7806
7812
|
zln I L Lianshan Zhuang
|
7807
7813
|
zlq I L Liuqian Zhuang
|
7814
|
+
zlu I L Zul
|
7808
7815
|
zma I L Manda (Australia)
|
7809
7816
|
zmb I L Zimba
|
7810
7817
|
zmc I E Margany
|
@@ -7894,7 +7901,6 @@ ztt I L Tejalapan Zapotec
|
|
7894
7901
|
ztu I L Güilá Zapotec
|
7895
7902
|
ztx I L Zaachila Zapotec
|
7896
7903
|
zty I L Yatee Zapotec
|
7897
|
-
zua I L Zeem
|
7898
7904
|
zuh I L Tokano
|
7899
7905
|
zul zul zul zu I L Zulu
|
7900
7906
|
zum I L Kumzari
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'lib/languages/version'
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = 'human_languages'
|
7
|
+
spec.version = Languages::VERSION
|
8
|
+
spec.authors = ['Benno Bielmeier']
|
9
|
+
spec.email = ['git@bbenno.com']
|
10
|
+
|
11
|
+
spec.summary = 'ISO 639-3 languages'
|
12
|
+
spec.description = 'ISO 639-3 is a set of codes that defines three-letter identifiers for all known human languages.'
|
13
|
+
spec.homepage = 'https://github.com/bbenno/languages'
|
14
|
+
spec.license = 'MIT'
|
15
|
+
spec.required_ruby_version = '>= 2.7.0'
|
16
|
+
|
17
|
+
# spec.metadata["allowed_push_host"] = "TODO: Set to your gem server 'https://example.com'"
|
18
|
+
|
19
|
+
spec.metadata['homepage_uri'] = spec.homepage
|
20
|
+
spec.metadata['source_code_uri'] = spec.homepage
|
21
|
+
spec.metadata['changelog_uri'] = "#{spec.metadata['source_code_uri']}/blob/HEAD/CHANGELOG.md"
|
22
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
23
|
+
spec.metadata['github_repo'] = 'git@github.com:bbenno/languages.git'
|
24
|
+
|
25
|
+
# Specify which files should be added to the gem when it is released.
|
26
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
27
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
28
|
+
`git ls-files -z`.split("\x0").reject do |f|
|
29
|
+
(f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
|
30
|
+
end
|
31
|
+
end
|
32
|
+
spec.bindir = 'exe'
|
33
|
+
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
34
|
+
spec.require_paths = ['lib']
|
35
|
+
|
36
|
+
# Uncomment to register a new dependency of your gem
|
37
|
+
# spec.add_dependency "example-gem", "~> 1.0"
|
38
|
+
|
39
|
+
# For more information and examples about making a new gem, check out our
|
40
|
+
# guide at: https://bundler.io/guides/creating_gem.html
|
41
|
+
end
|
data/lib/languages/language.rb
CHANGED
@@ -5,7 +5,7 @@ module Languages
|
|
5
5
|
class Language
|
6
6
|
include Comparable
|
7
7
|
|
8
|
-
attr_reader :iso639_1, :iso639_2b, :iso639_2t, :iso639_3, :scope, :type, :name # , :comment
|
8
|
+
attr_reader :iso639_1, :iso639_2b, :iso639_2t, :iso639_3, :scope, :type, :name, :macrolanguage # , :comment
|
9
9
|
|
10
10
|
def initialize(csv_attributes) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity
|
11
11
|
@iso639_3 = csv_attributes.fetch(:id).to_sym
|
data/lib/languages/version.rb
CHANGED
data/lib/languages.rb
CHANGED
@@ -8,15 +8,10 @@ require_relative 'languages/language'
|
|
8
8
|
|
9
9
|
# Provides living, extinct, ancient, historic, and constructed languages, specified in ISO 639-3
|
10
10
|
module Languages
|
11
|
-
@@data = CSV.read(File.join(File.dirname(__FILE__), '../data/iso-639-3.tsv'), headers: true, col_sep: "\t") # rubocop:disable Style/ClassVars
|
12
|
-
.map { |row| row.to_h.transform_keys { |k| k.downcase.to_sym } }
|
13
|
-
.map { |h| Language.new(h) }
|
14
|
-
.freeze
|
15
|
-
|
16
11
|
class << self
|
17
12
|
TYPES.each do |type|
|
18
13
|
define_method type do
|
19
|
-
|
14
|
+
all.select { |l| l.public_send("#{type}?") }
|
20
15
|
end
|
21
16
|
end
|
22
17
|
|
@@ -25,7 +20,7 @@ module Languages
|
|
25
20
|
scope = "#{scope}_language" unless scope.end_with? 'language'
|
26
21
|
|
27
22
|
define_method "#{scope}s" do
|
28
|
-
|
23
|
+
all.select { |l| l.public_send("#{scope}?") }
|
29
24
|
end
|
30
25
|
end
|
31
26
|
|
@@ -38,25 +33,26 @@ module Languages
|
|
38
33
|
end
|
39
34
|
end
|
40
35
|
|
41
|
-
def search(pattern)
|
42
|
-
|
36
|
+
def search(pattern, case_sensitive: true)
|
37
|
+
pattern = Regexp.new(pattern, Regexp::IGNORECASE).freeze unless case_sensitive
|
38
|
+
all.select { |l| l.name.match? pattern }
|
43
39
|
end
|
44
40
|
|
45
41
|
# Returns all human known languages, specified in ISO 639-3
|
46
42
|
def all
|
47
|
-
|
43
|
+
data.values
|
48
44
|
end
|
49
45
|
|
50
46
|
def names
|
51
|
-
|
47
|
+
all.map(&:name)
|
52
48
|
end
|
53
49
|
|
54
50
|
def alpha2_codes
|
55
|
-
|
51
|
+
all.map(&:alpha2).compact
|
56
52
|
end
|
57
53
|
|
58
54
|
def alpha3_codes
|
59
|
-
|
55
|
+
all.map(&:alpha3)
|
60
56
|
end
|
61
57
|
|
62
58
|
private
|
@@ -65,21 +61,40 @@ module Languages
|
|
65
61
|
# @param [Symbol] key ISO 639-1 identifier
|
66
62
|
# @return [Language,NilClass] language with associated with the identifier; otherwise +nil+
|
67
63
|
def get_by_alpha2(key)
|
68
|
-
|
64
|
+
all.detect { |l| l.iso639_1 == key }
|
69
65
|
end
|
70
66
|
|
71
67
|
# Returns language associated with ISO 639-2 or ISO 639-3 identifier
|
72
68
|
# @param [Symbol] key ISO 639-2 or ISO 639-3 identifier
|
73
69
|
# @return [Language,NilClass] language with associated with the identifier; otherwise +nil+
|
74
70
|
def get_by_alpha3(key)
|
75
|
-
|
71
|
+
data[key] || all.detect { |l| l.iso639_2b == key || l.iso639_2t == key }
|
76
72
|
end
|
77
73
|
|
78
74
|
# Returns language associated with ISO 639-3 reference name
|
79
75
|
# @param [String] name reference name (english)
|
80
76
|
# @return [Language,NilClass] language with associated with the name; otherwise +nil+
|
81
77
|
def get_by_name(name)
|
82
|
-
|
78
|
+
all.detect { |l| l.name.downcase == name.downcase }
|
79
|
+
end
|
80
|
+
|
81
|
+
private # rubocop:disable Lint/UselessAccessModifier
|
82
|
+
|
83
|
+
def data
|
84
|
+
@@data
|
85
|
+
end
|
86
|
+
|
87
|
+
def load_tsv_data(filename)
|
88
|
+
CSV.read(File.join(File.dirname(__FILE__), "../data/#{filename}"), headers: true, col_sep: "\t")
|
83
89
|
end
|
84
90
|
end
|
91
|
+
|
92
|
+
@@data = load_tsv_data('iso-639-3.tsv') # rubocop:disable Style/ClassVars
|
93
|
+
.map { |row| row.to_h.transform_keys { |k| k.downcase.to_sym } }
|
94
|
+
.each_with_object({}) { |l, h| h[l[:id].to_sym] = Language.new(l) }
|
95
|
+
.freeze
|
96
|
+
|
97
|
+
load_tsv_data('iso-639-3-macrolanguages.tsv')
|
98
|
+
# Ignore deprecated mappings (i.e. row[2] = 'R')
|
99
|
+
.each { |row| data[row[1].to_sym].instance_variable_set(:@macrolanguage, data[row[0].to_sym]) if row[2] == 'A' }
|
85
100
|
end
|
data/sig/languages.rbs
CHANGED
@@ -8,7 +8,7 @@ module Languages
|
|
8
8
|
@@data: Array[Language]
|
9
9
|
|
10
10
|
def self?.[]: (String | Symbol) -> Language?
|
11
|
-
def self?.search: (String|Regexp) -> Array[Language]
|
11
|
+
def self?.search: (String|Regexp pattern, ?bool case_sensitive) -> Array[Language]
|
12
12
|
|
13
13
|
def self?.all: () -> Array[Language]
|
14
14
|
def self?.names: () -> Array[String]
|
@@ -34,6 +34,7 @@ module Languages
|
|
34
34
|
attr_reader scope: String
|
35
35
|
attr_reader type: String
|
36
36
|
attr_reader name: String
|
37
|
+
attr_reader macrolanguage: Language?
|
37
38
|
|
38
39
|
alias iso639_2 iso639_2t
|
39
40
|
alias iso639_5 iso639_2
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: human_languages
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Benno Bielmeier
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-02-05 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: ISO 639-3 is a set of codes that defines three-letter identifiers for
|
14
14
|
all known human languages.
|
@@ -23,11 +23,14 @@ files:
|
|
23
23
|
- CHANGELOG.md
|
24
24
|
- Gemfile
|
25
25
|
- Gemfile.lock
|
26
|
+
- LICENSE
|
26
27
|
- LICENSES/LicenseRef-ISO639-3ToU.txt
|
27
28
|
- LICENSES/MIT.txt
|
28
29
|
- README.adoc
|
29
30
|
- Rakefile
|
31
|
+
- data/iso-639-3-macrolanguages.tsv
|
30
32
|
- data/iso-639-3.tsv
|
33
|
+
- human_languages.gemspec
|
31
34
|
- lib/languages.rb
|
32
35
|
- lib/languages/constants.rb
|
33
36
|
- lib/languages/language.rb
|
@@ -57,7 +60,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
57
60
|
- !ruby/object:Gem::Version
|
58
61
|
version: '0'
|
59
62
|
requirements: []
|
60
|
-
rubygems_version: 3.
|
63
|
+
rubygems_version: 3.4.19
|
61
64
|
signing_key:
|
62
65
|
specification_version: 4
|
63
66
|
summary: ISO 639-3 languages
|