1#autoload
2# ------------------------------------------------------------------------------
3# Description
4# -----------
5#
6#  Completer for language codes.
7#
8#  Usage: _language_codes ISO-639-1
9#
10# ------------------------------------------------------------------------------
11# Authors
12# -------
13#
14#  * Julien Nicoulaud <julien.nicoulaud@gmail.com>
15#
16# ------------------------------------------------------------------------------
17
18
19(( $+functions[_language_codes_iso_639_1] )) ||
20_language_codes_iso_639_1() {
21  local codes; codes=(
22    'aa:Afar'
23    'ab:Abkhazian'
24    'af:Afrikaans'
25    'ak:Akan'
26    'sq:Albanian'
27    'am:Amharic'
28    'ar:Arabic'
29    'an:Aragonese'
30    'hy:Armenian'
31    'as:Assamese'
32    'av:Avaric'
33    'ae:Avestan'
34    'ay:Aymara'
35    'az:Azerbaijani'
36    'ba:Bashkir'
37    'bm:Bambara'
38    'eu:Basque'
39    'be:Belarusian'
40    'bn:Bengali'
41    'bh:Bihari languages'
42    'bi:Bislama'
43    'bo:Tibetan'
44    'bs:Bosnian'
45    'br:Breton'
46    'bg:Bulgarian'
47    'my:Burmese'
48    'ca:Catalan'
49    'cs:Czech'
50    'ch:Chamorro'
51    'ce:Chechen'
52    'zh:Chinese'
53    'cu:Church Slavic'
54    'cv:Chuvash'
55    'kw:Cornish'
56    'co:Corsican'
57    'cr:Cree'
58    'cy:Welsh'
59    'cs:Czech'
60    'da:Danish'
61    'de:German'
62    'dv:Divehi'
63    'nl:Dutch'
64    'dz:Dzongkha'
65    'el:Greek, Modern (1453-)'
66    'en:English'
67    'eo:Esperanto'
68    'et:Estonian'
69    'eu:Basque'
70    'ee:Ewe'
71    'fo:Faroese'
72    'fa:Persian'
73    'fj:Fijian'
74    'fi:Finnish'
75    'fr:French'
76    'fy:Western Frisian'
77    'ff:Fulah'
78    'ka:Georgian'
79    'de:German'
80    'gd:Gaelic'
81    'ga:Irish'
82    'gl:Galician'
83    'gv:Manx'
84    'gn:Guarani'
85    'gu:Gujarati'
86    'ht:Haitian'
87    'ha:Hausa'
88    'he:Hebrew'
89    'hz:Herero'
90    'hi:Hindi'
91    'ho:Hiri Motu'
92    'hr:Croatian'
93    'hu:Hungarian'
94    'hy:Armenian'
95    'ig:Igbo'
96    'is:Icelandic'
97    'io:Ido'
98    'ii:Sichuan Yi'
99    'iu:Inuktitut'
100    'ie:Interlingue'
101    'ia:Interlingua (International Auxiliary Language Association)'
102    'id:Indonesian'
103    'ik:Inupiaq'
104    'is:Icelandic'
105    'it:Italian'
106    'jv:Javanese'
107    'ja:Japanese'
108    'kl:Kalaallisut'
109    'kn:Kannada'
110    'ks:Kashmiri'
111    'ka:Georgian'
112    'kr:Kanuri'
113    'kk:Kazakh'
114    'km:Central Khmer'
115    'ki:Kikuyu'
116    'rw:Kinyarwanda'
117    'ky:Kirghiz'
118    'kv:Komi'
119    'kg:Kongo'
120    'ko:Korean'
121    'kj:Kuanyama'
122    'ku:Kurdish'
123    'lo:Lao'
124    'la:Latin'
125    'lv:Latvian'
126    'li:Limburgan'
127    'ln:Lingala'
128    'lt:Lithuanian'
129    'lb:Luxembourgish'
130    'lu:Luba-Katanga'
131    'lg:Ganda'
132    'mk:Macedonian'
133    'mh:Marshallese'
134    'ml:Malayalam'
135    'mi:Maori'
136    'mr:Marathi'
137    'ms:Malay'
138    'mk:Macedonian'
139    'mg:Malagasy'
140    'mt:Maltese'
141    'mn:Mongolian'
142    'mi:Maori'
143    'ms:Malay'
144    'my:Burmese'
145    'na:Nauru'
146    'nv:Navajo'
147    'nr:Ndebele, South'
148    'nd:Ndebele, North'
149    'ng:Ndonga'
150    'ne:Nepali'
151    'nl:Dutch'
152    'nn:Norwegian Nynorsk'
153    'nb:Bokmål, Norwegian'
154    'no:Norwegian'
155    'ny:Chichewa'
156    'oc:Occitan (post 1500)'
157    'oj:Ojibwa'
158    'or:Oriya'
159    'om:Oromo'
160    'os:Ossetian'
161    'pa:Panjabi'
162    'fa:Persian'
163    'pi:Pali'
164    'pl:Polish'
165    'pt:Portuguese'
166    'ps:Pushto'
167    'qu:Quechua'
168    'rm:Romansh'
169    'ro:Romanian'
170    'ro:Romanian'
171    'rn:Rundi'
172    'ru:Russian'
173    'sg:Sango'
174    'sa:Sanskrit'
175    'si:Sinhala'
176    'sk:Slovak'
177    'sk:Slovak'
178    'sl:Slovenian'
179    'se:Northern Sami'
180    'sm:Samoan'
181    'sn:Shona'
182    'sd:Sindhi'
183    'so:Somali'
184    'st:Sotho, Southern'
185    'es:Spanish'
186    'sq:Albanian'
187    'sc:Sardinian'
188    'sr:Serbian'
189    'ss:Swati'
190    'su:Sundanese'
191    'sw:Swahili'
192    'sv:Swedish'
193    'ty:Tahitian'
194    'ta:Tamil'
195    'tt:Tatar'
196    'te:Telugu'
197    'tg:Tajik'
198    'tl:Tagalog'
199    'th:Thai'
200    'bo:Tibetan'
201    'ti:Tigrinya'
202    'to:Tonga (Tonga Islands)'
203    'tn:Tswana'
204    'ts:Tsonga'
205    'tk:Turkmen'
206    'tr:Turkish'
207    'tw:Twi'
208    'ug:Uighur'
209    'uk:Ukrainian'
210    'ur:Urdu'
211    'uz:Uzbek'
212    've:Venda'
213    'vi:Vietnamese'
214    'vietnamien'
215    'vo:Volapük'
216    'cy:Welsh'
217    'wa:Walloon'
218    'wo:Wolof'
219    'xh:Xhosa'
220    'yi:Yiddish'
221    'yo:Yoruba'
222    'za:Zhuang'
223    'zh:Chinese'
224    'zu:Zulu'
225  )
226  _describe -t language-codes 'ISO 639-1 language code' codes "$@"
227}
228
229_language_codes() {
230  local command="$argv[$#]" ret=1
231
232  case $command in
233    ISO-639-1)
234	  _language_codes_${${command//-/_}:l} "${@[1,-2]}" && ret=0
235      ;;
236    *)
237      _message "unknown command: $command"
238      ;;
239  esac
240
241  return ret
242}
243
244# Local Variables:
245# mode: Shell-Script
246# sh-indentation: 2
247# indent-tabs-mode: nil
248# sh-basic-offset: 2
249# End:
250# vim: ft=zsh sw=2 ts=2 et
251