# -*- coding: UTF-8 -*-
from guillotina import configure


_languagelist = {
    'aa': {'native': 'магIарул мацI', 'name': 'Afar'},
    'ab': {'native': 'бызшәа', 'name': 'Abkhazian'},
    'ae': {'native': 'avesta', 'name': 'Avestan'},
    'af': {'native': 'Afrikaans', 'name': 'Afrikaans'},
    'ak': {'native': 'Akan', 'name': 'Akan'},
    'am': {'native': 'አማርኛ', 'name': 'Amharic'},
    'an': {'native': 'aragonés', 'name': 'Aragonese'},
    'ar': {'native': 'العربية', 'name': 'Arabic'},
    'as': {'native': 'অসমিয়া', 'name': 'Assamese'},
    'ay': {'native': 'Aymara', 'name': 'Aymara'},
    'az': {'native': 'Azəri Türkçəsi', 'name': 'Azerbaijani'},
    'ba': {'native': 'Bashkir', 'name': 'Bashkir'},
    'be': {'native': 'Беларускі', 'name': 'Belarussian'},
    'bg': {'native': 'Български', 'name': 'Bulgarian'},
    'bh': {'native': 'Bihari', 'name': 'Bihari'},
    'bi': {'native': 'Bislama', 'name': 'Bislama'},
    'bm': {'native': 'bamanankan', 'name': 'Bambara'},
    'bn': {'native': 'বাংলা', 'name': 'Bengali'},
    'bo': {'native': 'བོད་སྐད་', 'name': 'Tibetan'},
    'br': {'native': 'brezhoneg', 'name': 'Breton'},
    'bs': {'native': 'Bosanski', 'name': 'Bosnian'},
    'ca': {'native': 'Català', 'name': 'Catalan'},
    'ce': {'native': 'нохчийн мотт', 'name': 'Chechen'},
    'ch': {'native': 'Chamor', 'name': 'Chamorro'},
    'co': {'native': 'Cors', 'name': 'Corsican'},
    'cr': {'native': 'ᓀᐦᐃᔭᐍᐏᐣ', 'name': 'Cree'},
    'cs': {'native': 'Čeština', 'name': 'Czech'},
    'c': {'native': 'ѩзыкъ словѣньскъ', 'name': 'Old Church Slavonic'},
    'cv': {'native': 'чӑваш чӗлхи', 'name': 'Chuvash'},
    'cy': {'native': 'Cymraeg', 'name': 'Welsh'},
    'da': {'native': 'Dansk', 'name': 'Danish'},
    'de': {'native': 'Deutsch', 'name': 'German'},
    'dv': {'native': 'Divehi', 'name': 'Maldivian'},
    'dz': {'native': 'Bhutani', 'name': 'Indian Bhutani'},
    'ee': {'native': 'Eʋegbe', 'name': 'Ewe'},
    'el': {'native': 'Ελληνικά', 'name': 'Greek'},
    'en': {'native': 'English', 'name': 'English'},
    'eo': {'native': 'Esperanto', 'name': 'Esperanto'},
    'es': {'native': 'Español', 'name': 'Spanish'},
    'et': {'native': 'Eesti', 'name': 'Estonian'},
    'e': {'native': 'Euskara', 'name': 'Basque'},
    'fa': {'native': 'فارسی', 'name': 'Persian'},
    'ff': {'native': 'Fulfulde', 'name': 'Fula'},
    'fi': {'native': 'Suomi', 'name': 'Finnish'},
    'fj': {'native': 'Fiji', 'name': 'Fiji'},
    'fo': {'native': 'Føroyska', 'name': 'Faroese'},
    'fr': {'native': 'Français', 'name': 'French'},
    'fy': {'native': 'Frysk', 'name': 'Frisian'},
    'ga': {'native': 'Gaeilge', 'name': 'Irish Gaelic'},
    'gd': {'native': 'Gàidhlig', 'name': 'Scottish Gaelic'},
    'gl': {'native': 'Galego', 'name': 'Galician'},
    'gn': {'native': 'Guarani', 'name': 'Guarani'},
    'g': {'native': 'ગુજરાતી', 'name': 'Gujarati'},
    'gv': {'native': 'Gaelg', 'name': 'Manx Gaelic'},
    'ha': {'native': 'هَوُس', 'name': 'Hausa'},
    'he': {'native': 'עברית', 'name': 'Hebrew'},
    'hi': {'native': 'हिंदी', 'name': 'Hindi'},
    'ho': {'native': 'Hiri Mot', 'name': 'Hiri Mot'},
    'hr': {'native': 'Hrvatski', 'name': 'Croatian'},
    'ht': {'native': 'Kreyòl ayisyen', 'name': 'Haitian'},
    'h': {'native': 'Magyar', 'name': 'Hungarian'},
    'hy': {'native': 'Հայերէն', 'name': 'Armenian'},
    'hz': {'native': 'Otjiherero', 'name': 'Herero'},
    'ia': {'native': 'Interlingua', 'name': 'Interlingua'},
    'id': {'native': 'Bahasa Indonesia', 'name': 'Indonesian'},
    'ie': {'native': 'Interlingue', 'name': 'Interlingue'},
    'ig': {'native': 'Asụsụ Igbo', 'name': 'Igbo'},
    'ii': {'native': 'Nuos', 'name': 'Nuos'},
    'ik': {'native': 'Iñupiaq', 'name': 'Inupiak'},
    'io': {'native': 'Ido', 'name': 'Ido'},
    'is': {'native': 'Íslenska', 'name': 'Icelandic'},
    'it': {'native': 'Italiano', 'name': 'Italian'},
    'i': {'native': 'ᐃᓄᒃᑎᑐᑦ', 'name': 'Inuktitut'},
    'ja': {'native': '日本語', 'name': 'Japanese'},
    'jv': {'native': 'Javanese', 'name': 'basa Jawa'},
    'ka': {'native': 'ქართული', 'name': 'Georgian'},
    'kg': {'native': 'KiKongo', 'name': 'Kongo'},
    'ki': {'native': 'Gĩkũyũ', 'name': 'Kikuy'},
    'kj': {'native': 'Kuanyama', 'name': 'Kwanyama'},
    'kk': {'native': 'ﻗﺎﺯﺍﻗﺸﺎ', 'name': 'Kazakh'},
    'kl': {'native': 'Greenlandic', 'name': 'Greenlandic'},
    'km': {'native': 'ខ្មែរ', 'name': 'Cambodian/Khmer'},
    'kn': {'native': 'ಕನ್ನಡ', 'name': 'Kannada'},
    'ko': {'native': '한국어', 'name': 'Korean'},
    'kr': {'native': 'Kanuri', 'name': 'Kanuri'},
    'ks': {'native': 'काऽशुर', 'name': 'Kashmiri'},
    'k': {'native': 'Kurdí', 'name': 'Kurdish'},
    'kv': {'native': 'коми кыв', 'name': 'Komi'},
    'kw': {'native': 'Kernewek', 'name': 'Cornish'},
    'ky': {'native': 'Кыргыз', 'name': 'Kirghiz'},
    'la': {'native': 'Latin', 'name': 'Latin'},
    'lb': {'native': 'Lëtzebuergesch', 'name': 'Luxemburgish'},
    'lg': {'native': 'Luganda', 'name': 'Ganda'},
    'li': {'native': 'Limburgs', 'name': 'Limburgish'},
    'ln': {'native': 'Lingala', 'name': 'Lingala'},
    'lo': {'native': 'ພາສາລາວ', 'name': 'Laotian'},
    'lt': {'native': 'Lietuviskai', 'name': 'Lithuanian'},
    'l': {'native': 'Tshiluba', 'name': 'Luba-Katanga'},
    'lv': {'native': 'Latvieš', 'name': 'Latvian'},
    'mg': {'native': 'Malagasy', 'name': 'Madagascarian'},
    'mh': {'native': 'Kajin M̧ajeļ', 'name': 'Marshallese'},
    'mi': {'native': 'Maori', 'name': 'Maori'},
    'mk': {'native': 'Македонски', 'name': 'Macedonian'},
    'ml': {'native': 'മലയാളം', 'name': 'Malayalam'},
    'mn': {'native': 'Монгол', 'name': 'Mongolian'},
    'mo': {'native': 'Moldavian', 'name': 'Moldavian'},
    'mr': {'native': 'मराठी', 'name': 'Marathi'},
    'ms': {'native': 'Bahasa Melay', 'name': 'Malay'},
    'mt': {'native': 'Malti', 'name': 'Maltese'},
    'my': {'native': 'Burmese', 'name': 'Burmese'},
    'na': {'native': 'Naur', 'name': 'Nauruan'},
    'nb': {'native': 'Norsk bokmål', 'name': 'Norwegian Bokmål'},
    'nd': {'native': 'Ndebele (North)', 'name': 'Ndebele (North)'},
    'ne': {'native': 'नेपाली', 'name': 'Nepali'},
    'ng': {'native': 'Owambo', 'name': 'Ndonga'},
    'nl': {'native': 'Nederlands', 'name': 'Dutch'},
    'nn': {'native': 'Nynorsk', 'name': 'Nynorsk'},
    'no': {'native': 'Norsk', 'name': 'Norwegian'},
    'nr': {'native': 'IsiNdebele', 'name': 'Ndebele (South)'},
    'nv': {'native': 'Diné bizaad', 'name': 'Navajo'},
    'ny': {'native': 'chiCheŵa', 'name': 'Chichewa'},
    'oc': {'native': 'Occitan', 'name': 'Occitan'},
    'oj': {'native': 'ᐊᓂᔑᓈᐯᒧᐎᓐ', 'name': 'Ojibwe'},
    'om': {'native': 'Oromo', 'name': 'Oromo'},
    'or': {'native': 'ଓଡ଼ିଆ', 'name': 'Oriya'},
    'os': {'native': 'ирон æвзаг', 'name': 'Ossetian'},
    'pa': {'native': 'ਪੰਜਾਬੀ', 'name': 'Punjabi'},
    'pi': {'native': 'पाऴि', 'name': 'Pāli'},
    'pl': {'native': 'Polski', 'name': 'Polish'},
    'ps': {'native': 'پښتو', 'name': 'Pashto'},
    'pt': {'native': 'Português', 'name': 'Portuguese'},
    'q': {'native': 'Quechua', 'name': 'Quechua'},
    'rm': {'native': 'Rhaeto-Romance', 'name': 'Rhaeto-Romance'},
    'rn': {'native': 'Kirundi', 'name': 'Kirundi'},
    'ro': {'native': 'Română', 'name': 'Romanian'},
    'r': {'native': 'Русский', 'name': 'Russian'},
    'rw': {'native': 'Kinyarwanda', 'name': 'Kinyarwanda'},
    'sa': {'native': 'संस्कृत', 'name': 'Sanskrit'},
    'sc': {'native': 'sard', 'name': 'Sardinian'},
    'sd': {'native': 'Sindhi', 'name': 'Sindhi'},
    'se': {'native': 'Northern Sámi', 'name': 'Northern Sámi'},
    'sg': {'native': 'Sangho', 'name': 'Sangho'},
    'sh': {'native': 'Serbo-Croatian', 'name': 'Serbo-Croatian'},
    'si': {'native': 'Singhalese', 'name': 'Singhalese'},
    'sk': {'native': 'Slovenčina', 'name': 'Slovak'},
    'sl': {'native': 'Slovenščina', 'name': 'Slovenian'},
    'sm': {'native': 'Samoan', 'name': 'Samoan'},
    'sn': {'native': 'Shona', 'name': 'Shona'},
    'so': {'native': 'Somali', 'name': 'Somali'},
    'sq': {'native': 'Shqip', 'name': 'Albanian'},
    'sr': {'native': 'српски', 'name': 'Serbian'},
    'ss': {'native': 'SiSwati', 'name': 'Swati'},
    'st': {'native': 'Sesotho', 'name': 'Southern Sotho'},
    's': {'native': 'Sudanese', 'name': 'Sudanese'},
    'sv': {'native': 'Svenska', 'name': 'Swedish'},
    'sw': {'native': 'Kiswahili', 'name': 'Swahili'},
    'ta': {'native': 'தமிழ', 'name': 'Tamil'},
    'te': {'native': 'తెలుగు', 'name': 'Telug'},
    'tg': {'native': 'Тоҷики', 'name': 'Tadjik'},
    'th': {'native': 'ไทย', 'name': 'Thai'},
    'ti': {'native': 'ትግርኛ', 'name': 'Tigrinya'},
    'tk': {'native': 'түркmенче', 'name': 'Turkmen'},
    'tl': {'native': 'Tagalog', 'name': 'Tagalog'},
    'tn': {'native': 'Setswana', 'name': 'Tswana'},
    'to': {'native': 'Tonga', 'name': 'Tonga'},
    'tr': {'native': 'Türkçe', 'name': 'Turkish'},
    'ts': {'native': 'Xitsonga', 'name': 'Tsonga'},
    'tt': {'native': 'татарча', 'name': 'Tatar'},
    'tw': {'native': 'Twi', 'name': 'Twi'},
    'ty': {'native': 'Reo Tahiti', 'name': 'Tahitian'},
    'ug': {'native': 'Uigur', 'name': 'Uigur'},
    'uk': {'native': 'Українська', 'name': 'Ukrainian'},
    'ur': {'native': 'اردو', 'name': 'Urd'},
    'uz': {'native': 'Ўзбекча', 'name': 'Uzbek'},
    've': {'native': 'Tshivenḓa', 'name': 'Venda'},
    'vi': {'native': 'Tiếng Việt', 'name': 'Vietnamese'},
    'vk': {'native': 'Ovalingo', 'name': 'Viking'},
    'vo': {'native': 'Volapük', 'name': 'Volapük'},
    'wa': {'native': 'Walon', 'name': 'Walloon'},
    'wo': {'native': 'Wolof', 'name': 'Wolof'},
    'xh': {'native': 'IsiXhosa', 'name': 'Xhosa'},
    'yi': {'native': 'ײִדיש', 'name': 'Yiddish'},
    'yo': {'native': 'Yorùbá', 'name': 'Yorouba'},
    'za': {'native': 'Zhuang', 'name': 'Zhuang'},
    'zh': {'native': '中文', 'name': 'Chinese'},
    'z': {'native': 'IsiZul', 'name': 'Zul'},
}


@configure.vocabulary(
    name="languages")
class LanguagesVocabulary:

    def __init__(self, context):
        self.context = context

    def keys(self):
        return _languagelist.keys()

    def __iter__(self):
        return iter([self.getTerm(x) for x in _languagelist.keys()])

    def __contains__(self, value):
        return value in _languagelist

    def __len__(self):
        return len(_languagelist)

    def getTerm(self, value):
        return _languagelist[value]['native']

# -*- coding: UTF-8 -*-
from guillotina import configure


_languagelist = {
    'aa': {'native': 'магIарул мацI', 'name': 'Afar'},
    'ab': {'native': 'бызшәа', 'name': 'Abkhazian'},
    'ae': {'native': 'avesta', 'name': 'Avestan'},
    'af': {'native': 'Afrikaans', 'name': 'Afrikaans'},
    'ak': {'native': 'Akan', 'name': 'Akan'},
    'am': {'native': 'አማርኛ', 'name': 'Amharic'},
    'an': {'native': 'aragonés', 'name': 'Aragonese'},
    'ar': {'native': 'العربية', 'name': 'Arabic'},
    'as': {'native': 'অসমিয়া', 'name': 'Assamese'},
    'ay': {'native': 'Aymara', 'name': 'Aymara'},
    'az': {'native': 'Azəri Türkçəsi', 'name': 'Azerbaijani'},
    'ba': {'native': 'Bashkir', 'name': 'Bashkir'},
    'be': {'native': 'Беларускі', 'name': 'Belarussian'},
    'bg': {'native': 'Български', 'name': 'Bulgarian'},
    'bh': {'native': 'Bihari', 'name': 'Bihari'},
    'bi': {'native': 'Bislama', 'name': 'Bislama'},
    'bm': {'native': 'bamanankan', 'name': 'Bambara'},
    'bn': {'native': 'বাংলা', 'name': 'Bengali'},
    'bo': {'native': 'བོད་སྐད་', 'name': 'Tibetan'},
    'br': {'native': 'brezhoneg', 'name': 'Breton'},
    'bs': {'native': 'Bosanski', 'name': 'Bosnian'},
    'ca': {'native': 'Català', 'name': 'Catalan'},
    'ce': {'native': 'нохчийн мотт', 'name': 'Chechen'},
    'ch': {'native': 'Chamor', 'name': 'Chamorro'},
    'co': {'native': 'Cors', 'name': 'Corsican'},
    'cr': {'native': 'ᓀᐦᐃᔭᐍᐏᐣ', 'name': 'Cree'},
    'cs': {'native': 'Čeština', 'name': 'Czech'},
    'c': {'native': 'ѩзыкъ словѣньскъ', 'name': 'Old Church Slavonic'},
    'cv': {'native': 'чӑваш чӗлхи', 'name': 'Chuvash'},
    'cy': {'native': 'Cymraeg', 'name': 'Welsh'},
    'da': {'native': 'Dansk', 'name': 'Danish'},
    'de': {'native': 'Deutsch', 'name': 'German'},
    'dv': {'native': 'Divehi', 'name': 'Maldivian'},
    'dz': {'native': 'Bhutani', 'name': 'Indian Bhutani'},
    'ee': {'native': 'Eʋegbe', 'name': 'Ewe'},
    'el': {'native': 'Ελληνικά', 'name': 'Greek'},
    'en': {'native': 'English', 'name': 'English'},
    'eo': {'native': 'Esperanto', 'name': 'Esperanto'},
    'es': {'native': 'Español', 'name': 'Spanish'},
    'et': {'native': 'Eesti', 'name': 'Estonian'},
    'e': {'native': 'Euskara', 'name': 'Basque'},
    'fa': {'native': 'فارسی', 'name': 'Persian'},
    'ff': {'native': 'Fulfulde', 'name': 'Fula'},
    'fi': {'native': 'Suomi', 'name': 'Finnish'},
    'fj': {'native': 'Fiji', 'name': 'Fiji'},
    'fo': {'native': 'Føroyska', 'name': 'Faroese'},
    'fr': {'native': 'Français', 'name': 'French'},
    'fy': {'native': 'Frysk', 'name': 'Frisian'},
    'ga': {'native': 'Gaeilge', 'name': 'Irish Gaelic'},
    'gd': {'native': 'Gàidhlig', 'name': 'Scottish Gaelic'},
    'gl': {'native': 'Galego', 'name': 'Galician'},
    'gn': {'native': 'Guarani', 'name': 'Guarani'},
    'g': {'native': 'ગુજરાતી', 'name': 'Gujarati'},
    'gv': {'native': 'Gaelg', 'name': 'Manx Gaelic'},
    'ha': {'native': 'هَوُس', 'name': 'Hausa'},
    'he': {'native': 'עברית', 'name': 'Hebrew'},
    'hi': {'native': 'हिंदी', 'name': 'Hindi'},
    'ho': {'native': 'Hiri Mot', 'name': 'Hiri Mot'},
    'hr': {'native': 'Hrvatski', 'name': 'Croatian'},
    'ht': {'native': 'Kreyòl ayisyen', 'name': 'Haitian'},
    'h': {'native': 'Magyar', 'name': 'Hungarian'},
    'hy': {'native': 'Հայերէն', 'name': 'Armenian'},
    'hz': {'native': 'Otjiherero', 'name': 'Herero'},
    'ia': {'native': 'Interlingua', 'name': 'Interlingua'},
    'id': {'native': 'Bahasa Indonesia', 'name': 'Indonesian'},
    'ie': {'native': 'Interlingue', 'name': 'Interlingue'},
    'ig': {'native': 'Asụsụ Igbo', 'name': 'Igbo'},
    'ii': {'native': 'Nuos', 'name': 'Nuos'},
    'ik': {'native': 'Iñupiaq', 'name': 'Inupiak'},
    'io': {'native': 'Ido', 'name': 'Ido'},
    'is': {'native': 'Íslenska', 'name': 'Icelandic'},
    'it': {'native': 'Italiano', 'name': 'Italian'},
    'i': {'native': 'ᐃᓄᒃᑎᑐᑦ', 'name': 'Inuktitut'},
    'ja': {'native': '日本語', 'name': 'Japanese'},
    'jv': {'native': 'Javanese', 'name': 'basa Jawa'},
    'ka': {'native': 'ქართული', 'name': 'Georgian'},
    'kg': {'native': 'KiKongo', 'name': 'Kongo'},
    'ki': {'native': 'Gĩkũyũ', 'name': 'Kikuy'},
    'kj': {'native': 'Kuanyama', 'name': 'Kwanyama'},
    'kk': {'native': 'ﻗﺎﺯﺍﻗﺸﺎ', 'name': 'Kazakh'},
    'kl': {'native': 'Greenlandic', 'name': 'Greenlandic'},
    'km': {'native': 'ខ្មែរ', 'name': 'Cambodian/Khmer'},
    'kn': {'native': 'ಕನ್ನಡ', 'name': 'Kannada'},
    'ko': {'native': '한국어', 'name': 'Korean'},
    'kr': {'native': 'Kanuri', 'name': 'Kanuri'},
    'ks': {'native': 'काऽशुर', 'name': 'Kashmiri'},
    'k': {'native': 'Kurdí', 'name': 'Kurdish'},
    'kv': {'native': 'коми кыв', 'name': 'Komi'},
    'kw': {'native': 'Kernewek', 'name': 'Cornish'},
    'ky': {'native': 'Кыргыз', 'name': 'Kirghiz'},
    'la': {'native': 'Latin', 'name': 'Latin'},
    'lb': {'native': 'Lëtzebuergesch', 'name': 'Luxemburgish'},
    'lg': {'native': 'Luganda', 'name': 'Ganda'},
    'li': {'native': 'Limburgs', 'name': 'Limburgish'},
    'ln': {'native': 'Lingala', 'name': 'Lingala'},
    'lo': {'native': 'ພາສາລາວ', 'name': 'Laotian'},
    'lt': {'native': 'Lietuviskai', 'name': 'Lithuanian'},
    'l': {'native': 'Tshiluba', 'name': 'Luba-Katanga'},
    'lv': {'native': 'Latvieš', 'name': 'Latvian'},
    'mg': {'native': 'Malagasy', 'name': 'Madagascarian'},
    'mh': {'native': 'Kajin M̧ajeļ', 'name': 'Marshallese'},
    'mi': {'native': 'Maori', 'name': 'Maori'},
    'mk': {'native': 'Македонски', 'name': 'Macedonian'},
    'ml': {'native': 'മലയാളം', 'name': 'Malayalam'},
    'mn': {'native': 'Монгол', 'name': 'Mongolian'},
    'mo': {'native': 'Moldavian', 'name': 'Moldavian'},
    'mr': {'native': 'मराठी', 'name': 'Marathi'},
    'ms': {'native': 'Bahasa Melay', 'name': 'Malay'},
    'mt': {'native': 'Malti', 'name': 'Maltese'},
    'my': {'native': 'Burmese', 'name': 'Burmese'},
    'na': {'native': 'Naur', 'name': 'Nauruan'},
    'nb': {'native': 'Norsk bokmål', 'name': 'Norwegian Bokmål'},
    'nd': {'native': 'Ndebele (North)', 'name': 'Ndebele (North)'},
    'ne': {'native': 'नेपाली', 'name': 'Nepali'},
    'ng': {'native': 'Owambo', 'name': 'Ndonga'},
    'nl': {'native': 'Nederlands', 'name': 'Dutch'},
    'nn': {'native': 'Nynorsk', 'name': 'Nynorsk'},
    'no': {'native': 'Norsk', 'name': 'Norwegian'},
    'nr': {'native': 'IsiNdebele', 'name': 'Ndebele (South)'},
    'nv': {'native': 'Diné bizaad', 'name': 'Navajo'},
    'ny': {'native': 'chiCheŵa', 'name': 'Chichewa'},
    'oc': {'native': 'Occitan', 'name': 'Occitan'},
    'oj': {'native': 'ᐊᓂᔑᓈᐯᒧᐎᓐ', 'name': 'Ojibwe'},
    'om': {'native': 'Oromo', 'name': 'Oromo'},
    'or': {'native': 'ଓଡ଼ିଆ', 'name': 'Oriya'},
    'os': {'native': 'ирон æвзаг', 'name': 'Ossetian'},
    'pa': {'native': 'ਪੰਜਾਬੀ', 'name': 'Punjabi'},
    'pi': {'native': 'पाऴि', 'name': 'Pāli'},
    'pl': {'native': 'Polski', 'name': 'Polish'},
    'ps': {'native': 'پښتو', 'name': 'Pashto'},
    'pt': {'native': 'Português', 'name': 'Portuguese'},
    'q': {'native': 'Quechua', 'name': 'Quechua'},
    'rm': {'native': 'Rhaeto-Romance', 'name': 'Rhaeto-Romance'},
    'rn': {'native': 'Kirundi', 'name': 'Kirundi'},
    'ro': {'native': 'Română', 'name': 'Romanian'},
    'r': {'native': 'Русский', 'name': 'Russian'},
    'rw': {'native': 'Kinyarwanda', 'name': 'Kinyarwanda'},
    'sa': {'native': 'संस्कृत', 'name': 'Sanskrit'},
    'sc': {'native': 'sard', 'name': 'Sardinian'},
    'sd': {'native': 'Sindhi', 'name': 'Sindhi'},
    'se': {'native': 'Northern Sámi', 'name': 'Northern Sámi'},
    'sg': {'native': 'Sangho', 'name': 'Sangho'},
    'sh': {'native': 'Serbo-Croatian', 'name': 'Serbo-Croatian'},
    'si': {'native': 'Singhalese', 'name': 'Singhalese'},
    'sk': {'native': 'Slovenčina', 'name': 'Slovak'},
    'sl': {'native': 'Slovenščina', 'name': 'Slovenian'},
    'sm': {'native': 'Samoan', 'name': 'Samoan'},
    'sn': {'native': 'Shona', 'name': 'Shona'},
    'so': {'native': 'Somali', 'name': 'Somali'},
    'sq': {'native': 'Shqip', 'name': 'Albanian'},
    'sr': {'native': 'српски', 'name': 'Serbian'},
    'ss': {'native': 'SiSwati', 'name': 'Swati'},
    'st': {'native': 'Sesotho', 'name': 'Southern Sotho'},
    's': {'native': 'Sudanese', 'name': 'Sudanese'},
    'sv': {'native': 'Svenska', 'name': 'Swedish'},
    'sw': {'native': 'Kiswahili', 'name': 'Swahili'},
    'ta': {'native': 'தமிழ', 'name': 'Tamil'},
    'te': {'native': 'తెలుగు', 'name': 'Telug'},
    'tg': {'native': 'Тоҷики', 'name': 'Tadjik'},
    'th': {'native': 'ไทย', 'name': 'Thai'},
    'ti': {'native': 'ትግርኛ', 'name': 'Tigrinya'},
    'tk': {'native': 'түркmенче', 'name': 'Turkmen'},
    'tl': {'native': 'Tagalog', 'name': 'Tagalog'},
    'tn': {'native': 'Setswana', 'name': 'Tswana'},
    'to': {'native': 'Tonga', 'name': 'Tonga'},
    'tr': {'native': 'Türkçe', 'name': 'Turkish'},
    'ts': {'native': 'Xitsonga', 'name': 'Tsonga'},
    'tt': {'native': 'татарча', 'name': 'Tatar'},
    'tw': {'native': 'Twi', 'name': 'Twi'},
    'ty': {'native': 'Reo Tahiti', 'name': 'Tahitian'},
    'ug': {'native': 'Uigur', 'name': 'Uigur'},
    'uk': {'native': 'Українська', 'name': 'Ukrainian'},
    'ur': {'native': 'اردو', 'name': 'Urd'},
    'uz': {'native': 'Ўзбекча', 'name': 'Uzbek'},
    've': {'native': 'Tshivenḓa', 'name': 'Venda'},
    'vi': {'native': 'Tiếng Việt', 'name': 'Vietnamese'},
    'vk': {'native': 'Ovalingo', 'name': 'Viking'},
    'vo': {'native': 'Volapük', 'name': 'Volapük'},
    'wa': {'native': 'Walon', 'name': 'Walloon'},
    'wo': {'native': 'Wolof', 'name': 'Wolof'},
    'xh': {'native': 'IsiXhosa', 'name': 'Xhosa'},
    'yi': {'native': 'ײִדיש', 'name': 'Yiddish'},
    'yo': {'native': 'Yorùbá', 'name': 'Yorouba'},
    'za': {'native': 'Zhuang', 'name': 'Zhuang'},
    'zh': {'native': '中文', 'name': 'Chinese'},
    'z': {'native': 'IsiZul', 'name': 'Zul'},
}


@configure.vocabulary(
    name="languages")
class LanguagesVocabulary:

    def __init__(self, context):
        self.context = context

    def keys(self):
        return _languagelist.keys()

    def __iter__(self):
        return iter([self.getTerm(x) for x in _languagelist.keys()])

    def __contains__(self, value):
        return value in _languagelist

    def __len__(self):
        return len(_languagelist)

    def getTerm(self, value):
        return _languagelist[value]['native']

# -*- coding: UTF-8 -*-