276 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
			
		
		
	
	
			276 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
| #autoload
 | |
| # ------------------------------------------------------------------------------
 | |
| # Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users
 | |
| # All rights reserved.
 | |
| #
 | |
| # Redistribution and use in source and binary forms, with or without
 | |
| # modification, are permitted provided that the following conditions are met:
 | |
| #     * Redistributions of source code must retain the above copyright
 | |
| #       notice, this list of conditions and the following disclaimer.
 | |
| #     * Redistributions in binary form must reproduce the above copyright
 | |
| #       notice, this list of conditions and the following disclaimer in the
 | |
| #       documentation and/or other materials provided with the distribution.
 | |
| #     * Neither the name of the zsh-users nor the
 | |
| #       names of its contributors may be used to endorse or promote products
 | |
| #       derived from this software without specific prior written permission.
 | |
| #
 | |
| # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 | |
| # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 | |
| # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 | |
| # DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
 | |
| # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 | |
| # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 | |
| # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 | |
| # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 | |
| # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 | |
| # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | |
| # ------------------------------------------------------------------------------
 | |
| # Description
 | |
| # -----------
 | |
| #
 | |
| #  Completer for language codes.
 | |
| #
 | |
| #  Usage: _language_codes ISO-639-1
 | |
| #
 | |
| # ------------------------------------------------------------------------------
 | |
| # Authors
 | |
| # -------
 | |
| #
 | |
| #  * Julien Nicoulaud <julien.nicoulaud@gmail.com>
 | |
| #
 | |
| # ------------------------------------------------------------------------------
 | |
| 
 | |
| 
 | |
| (( $+functions[_language_codes_iso_639_1] )) ||
 | |
| _language_codes_iso_639_1() {
 | |
|   local codes; codes=(
 | |
|     'aa:Afar'
 | |
|     'ab:Abkhazian'
 | |
|     'af:Afrikaans'
 | |
|     'ak:Akan'
 | |
|     'sq:Albanian'
 | |
|     'am:Amharic'
 | |
|     'ar:Arabic'
 | |
|     'an:Aragonese'
 | |
|     'hy:Armenian'
 | |
|     'as:Assamese'
 | |
|     'av:Avaric'
 | |
|     'ae:Avestan'
 | |
|     'ay:Aymara'
 | |
|     'az:Azerbaijani'
 | |
|     'ba:Bashkir'
 | |
|     'bm:Bambara'
 | |
|     'eu:Basque'
 | |
|     'be:Belarusian'
 | |
|     'bn:Bengali'
 | |
|     'bh:Bihari languages'
 | |
|     'bi:Bislama'
 | |
|     'bo:Tibetan'
 | |
|     'bs:Bosnian'
 | |
|     'br:Breton'
 | |
|     'bg:Bulgarian'
 | |
|     'my:Burmese'
 | |
|     'ca:Catalan'
 | |
|     'cs:Czech'
 | |
|     'ch:Chamorro'
 | |
|     'ce:Chechen'
 | |
|     'zh:Chinese'
 | |
|     'cu:Church Slavic'
 | |
|     'cv:Chuvash'
 | |
|     'kw:Cornish'
 | |
|     'co:Corsican'
 | |
|     'cr:Cree'
 | |
|     'cy:Welsh'
 | |
|     'cs:Czech'
 | |
|     'da:Danish'
 | |
|     'de:German'
 | |
|     'dv:Divehi'
 | |
|     'nl:Dutch'
 | |
|     'dz:Dzongkha'
 | |
|     'el:Greek, Modern (1453-)'
 | |
|     'en:English'
 | |
|     'eo:Esperanto'
 | |
|     'et:Estonian'
 | |
|     'eu:Basque'
 | |
|     'ee:Ewe'
 | |
|     'fo:Faroese'
 | |
|     'fa:Persian'
 | |
|     'fj:Fijian'
 | |
|     'fi:Finnish'
 | |
|     'fr:French'
 | |
|     'fy:Western Frisian'
 | |
|     'ff:Fulah'
 | |
|     'ka:Georgian'
 | |
|     'de:German'
 | |
|     'gd:Gaelic'
 | |
|     'ga:Irish'
 | |
|     'gl:Galician'
 | |
|     'gv:Manx'
 | |
|     'gn:Guarani'
 | |
|     'gu:Gujarati'
 | |
|     'ht:Haitian'
 | |
|     'ha:Hausa'
 | |
|     'he:Hebrew'
 | |
|     'hz:Herero'
 | |
|     'hi:Hindi'
 | |
|     'ho:Hiri Motu'
 | |
|     'hr:Croatian'
 | |
|     'hu:Hungarian'
 | |
|     'hy:Armenian'
 | |
|     'ig:Igbo'
 | |
|     'is:Icelandic'
 | |
|     'io:Ido'
 | |
|     'ii:Sichuan Yi'
 | |
|     'iu:Inuktitut'
 | |
|     'ie:Interlingue'
 | |
|     'ia:Interlingua (International Auxiliary Language Association)'
 | |
|     'id:Indonesian'
 | |
|     'ik:Inupiaq'
 | |
|     'is:Icelandic'
 | |
|     'it:Italian'
 | |
|     'jv:Javanese'
 | |
|     'ja:Japanese'
 | |
|     'kl:Kalaallisut'
 | |
|     'kn:Kannada'
 | |
|     'ks:Kashmiri'
 | |
|     'ka:Georgian'
 | |
|     'kr:Kanuri'
 | |
|     'kk:Kazakh'
 | |
|     'km:Central Khmer'
 | |
|     'ki:Kikuyu'
 | |
|     'rw:Kinyarwanda'
 | |
|     'ky:Kirghiz'
 | |
|     'kv:Komi'
 | |
|     'kg:Kongo'
 | |
|     'ko:Korean'
 | |
|     'kj:Kuanyama'
 | |
|     'ku:Kurdish'
 | |
|     'lo:Lao'
 | |
|     'la:Latin'
 | |
|     'lv:Latvian'
 | |
|     'li:Limburgan'
 | |
|     'ln:Lingala'
 | |
|     'lt:Lithuanian'
 | |
|     'lb:Luxembourgish'
 | |
|     'lu:Luba-Katanga'
 | |
|     'lg:Ganda'
 | |
|     'mk:Macedonian'
 | |
|     'mh:Marshallese'
 | |
|     'ml:Malayalam'
 | |
|     'mi:Maori'
 | |
|     'mr:Marathi'
 | |
|     'ms:Malay'
 | |
|     'mk:Macedonian'
 | |
|     'mg:Malagasy'
 | |
|     'mt:Maltese'
 | |
|     'mn:Mongolian'
 | |
|     'mi:Maori'
 | |
|     'ms:Malay'
 | |
|     'my:Burmese'
 | |
|     'na:Nauru'
 | |
|     'nv:Navajo'
 | |
|     'nr:Ndebele, South'
 | |
|     'nd:Ndebele, North'
 | |
|     'ng:Ndonga'
 | |
|     'ne:Nepali'
 | |
|     'nl:Dutch'
 | |
|     'nn:Norwegian Nynorsk'
 | |
|     'nb:Bokmål, Norwegian'
 | |
|     'no:Norwegian'
 | |
|     'ny:Chichewa'
 | |
|     'oc:Occitan (post 1500)'
 | |
|     'oj:Ojibwa'
 | |
|     'or:Oriya'
 | |
|     'om:Oromo'
 | |
|     'os:Ossetian'
 | |
|     'pa:Panjabi'
 | |
|     'fa:Persian'
 | |
|     'pi:Pali'
 | |
|     'pl:Polish'
 | |
|     'pt:Portuguese'
 | |
|     'ps:Pushto'
 | |
|     'qu:Quechua'
 | |
|     'rm:Romansh'
 | |
|     'ro:Romanian'
 | |
|     'ro:Romanian'
 | |
|     'rn:Rundi'
 | |
|     'ru:Russian'
 | |
|     'sg:Sango'
 | |
|     'sa:Sanskrit'
 | |
|     'si:Sinhala'
 | |
|     'sk:Slovak'
 | |
|     'sk:Slovak'
 | |
|     'sl:Slovenian'
 | |
|     'se:Northern Sami'
 | |
|     'sm:Samoan'
 | |
|     'sn:Shona'
 | |
|     'sd:Sindhi'
 | |
|     'so:Somali'
 | |
|     'st:Sotho, Southern'
 | |
|     'es:Spanish'
 | |
|     'sq:Albanian'
 | |
|     'sc:Sardinian'
 | |
|     'sr:Serbian'
 | |
|     'ss:Swati'
 | |
|     'su:Sundanese'
 | |
|     'sw:Swahili'
 | |
|     'sv:Swedish'
 | |
|     'ty:Tahitian'
 | |
|     'ta:Tamil'
 | |
|     'tt:Tatar'
 | |
|     'te:Telugu'
 | |
|     'tg:Tajik'
 | |
|     'tl:Tagalog'
 | |
|     'th:Thai'
 | |
|     'bo:Tibetan'
 | |
|     'ti:Tigrinya'
 | |
|     'to:Tonga (Tonga Islands)'
 | |
|     'tn:Tswana'
 | |
|     'ts:Tsonga'
 | |
|     'tk:Turkmen'
 | |
|     'tr:Turkish'
 | |
|     'tw:Twi'
 | |
|     'ug:Uighur'
 | |
|     'uk:Ukrainian'
 | |
|     'ur:Urdu'
 | |
|     'uz:Uzbek'
 | |
|     've:Venda'
 | |
|     'vi:Vietnamese'
 | |
|     'vietnamien'
 | |
|     'vo:Volapük'
 | |
|     'cy:Welsh'
 | |
|     'wa:Walloon'
 | |
|     'wo:Wolof'
 | |
|     'xh:Xhosa'
 | |
|     'yi:Yiddish'
 | |
|     'yo:Yoruba'
 | |
|     'za:Zhuang'
 | |
|     'zh:Chinese'
 | |
|     'zu:Zulu'
 | |
|   )
 | |
|   _describe -t language-codes 'ISO 639-1 language code' codes "$@"
 | |
| }
 | |
| 
 | |
| _language_codes() {
 | |
|   local command="$argv[$#]" ret=1
 | |
| 
 | |
|   case $command in
 | |
|     ISO-639-1)
 | |
| 	  _language_codes_${${command//-/_}:l} "${@[1,-2]}" && ret=0
 | |
|       ;;
 | |
|     *)
 | |
|       _message "unknown command: $command"
 | |
|       ;;
 | |
|   esac
 | |
| 
 | |
|   return ret    
 | |
| }
 | |
| 
 | |
| # Local Variables:
 | |
| # mode: Shell-Script
 | |
| # sh-indentation: 2
 | |
| # indent-tabs-mode: nil
 | |
| # sh-basic-offset: 2
 | |
| # End:
 | |
| # vim: ft=zsh sw=2 ts=2 et
 |