mirror of https://github.com/CIRCL/AIL-framework
				
				
				
			
		
			
				
	
	
		
			241 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			241 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
| #!/usr/bin/env python3
 | |
| # -*-coding:UTF-8 -*
 | |
| 
 | |
| import os
 | |
| import sys
 | |
| import redis
 | |
| 
 | |
| dict_iso_languages = {
 | |
|     'af': 'Afrikaans',
 | |
|     'am': 'Amharic',
 | |
|     'ar': 'Arabic',
 | |
|     'bg': 'Bulgarian',
 | |
|     'bn': 'Bangla',
 | |
|     'bs': 'Bosnian',
 | |
|     'ca': 'Catalan',
 | |
|     'ceb': 'Cebuano',
 | |
|     'co': 'Corsican',
 | |
|     'cs': 'Czech',
 | |
|     'cy': 'Welsh',
 | |
|     'da': 'Danish',
 | |
|     'de': 'German',
 | |
|     'el': 'Greek',
 | |
|     'en': 'English',
 | |
|     'eo': 'Esperanto',
 | |
|     'es': 'Spanish',
 | |
|     'et': 'Estonian',
 | |
|     'eu': 'Basque',
 | |
|     'fa': 'Persian',
 | |
|     'fi': 'Finnish',
 | |
|     'fil': 'Filipino',
 | |
|     'fr': 'French',
 | |
|     'fy': 'Western Frisian',
 | |
|     'ga': 'Irish',
 | |
|     'gd': 'Scottish Gaelic',
 | |
|     'gl': 'Galician',
 | |
|     'gu': 'Gujarati',
 | |
|     'ha': 'Hausa',
 | |
|     'haw': 'Hawaiian',
 | |
|     'hi': 'Hindi',
 | |
|     'hmn': 'Hmong',
 | |
|     'hr': 'Croatian',
 | |
|     'ht': 'Haitian Creole',
 | |
|     'hu': 'Hungarian',
 | |
|     'hy': 'Armenian',
 | |
|     'id': 'Indonesian',
 | |
|     'ig': 'Igbo',
 | |
|     'is': 'Icelandic',
 | |
|     'it': 'Italian',
 | |
|     'iw': 'Hebrew',
 | |
|     'ja': 'Japanese',
 | |
|     'jv': 'Javanese',
 | |
|     'ka': 'Georgian',
 | |
|     'kk': 'Kazakh',
 | |
|     'km': 'Khmer',
 | |
|     'kn': 'Kannada',
 | |
|     'ko': 'Korean',
 | |
|     'ku': 'Kurdish',
 | |
|     'ky': 'Kyrgyz',
 | |
|     'la': 'Latin',
 | |
|     'lb': 'Luxembourgish',
 | |
|     'lo': 'Lao',
 | |
|     'lt': 'Lithuanian',
 | |
|     'lv': 'Latvian',
 | |
|     'mg': 'Malagasy',
 | |
|     'mi': 'Maori',
 | |
|     'mk': 'Macedonian',
 | |
|     'ml': 'Malayalam',
 | |
|     'mn': 'Mongolian',
 | |
|     'mr': 'Marathi',
 | |
|     'ms': 'Malay',
 | |
|     'mt': 'Maltese',
 | |
|     'my': 'Burmese',
 | |
|     'ne': 'Nepali',
 | |
|     'nl': 'Dutch',
 | |
|     'no': 'Norwegian',
 | |
|     'ny': 'Nyanja',
 | |
|     'pa': 'Punjabi',
 | |
|     'pl': 'Polish',
 | |
|     'ps': 'Pashto',
 | |
|     'pt': 'Portuguese',
 | |
|     'ro': 'Romanian',
 | |
|     'ru': 'Russian',
 | |
|     'sd': 'Sindhi',
 | |
|     'si': 'Sinhala',
 | |
|     'sk': 'Slovak',
 | |
|     'sl': 'Slovenian',
 | |
|     'sm': 'Samoan',
 | |
|     'sn': 'Shona',
 | |
|     'so': 'Somali',
 | |
|     'sq': 'Albanian',
 | |
|     'sr': 'Serbian',
 | |
|     'st': 'Southern Sotho',
 | |
|     'su': 'Sundanese',
 | |
|     'sv': 'Swedish',
 | |
|     'sw': 'Swahili',
 | |
|     'ta': 'Tamil',
 | |
|     'te': 'Telugu',
 | |
|     'tg': 'Tajik',
 | |
|     'th': 'Thai',
 | |
|     'tr': 'Turkish',
 | |
|     'uk': 'Ukrainian',
 | |
|     'ur': 'Urdu',
 | |
|     'uz': 'Uzbek',
 | |
|     'vi': 'Vietnamese',
 | |
|     'xh': 'Xhosa',
 | |
|     'yi': 'Yiddish',
 | |
|     'yo': 'Yoruba',
 | |
|     'zh': 'Chinese',
 | |
|     'zu': 'Zulu'
 | |
| }
 | |
| 
 | |
| dict_languages_iso = {
 | |
|     'Afrikaans': 'af',
 | |
|     'Amharic': 'am',
 | |
|     'Arabic': 'ar',
 | |
|     'Bulgarian': 'bg',
 | |
|     'Bangla': 'bn',
 | |
|     'Bosnian': 'bs',
 | |
|     'Catalan': 'ca',
 | |
|     'Cebuano': 'ceb',
 | |
|     'Corsican': 'co',
 | |
|     'Czech': 'cs',
 | |
|     'Welsh': 'cy',
 | |
|     'Danish': 'da',
 | |
|     'German': 'de',
 | |
|     'Greek': 'el',
 | |
|     'English': 'en',
 | |
|     'Esperanto': 'eo',
 | |
|     'Spanish': 'es',
 | |
|     'Estonian': 'et',
 | |
|     'Basque': 'eu',
 | |
|     'Persian': 'fa',
 | |
|     'Finnish': 'fi',
 | |
|     'Filipino': 'fil',
 | |
|     'French': 'fr',
 | |
|     'Western Frisian': 'fy',
 | |
|     'Irish': 'ga',
 | |
|     'Scottish Gaelic': 'gd',
 | |
|     'Galician': 'gl',
 | |
|     'Gujarati': 'gu',
 | |
|     'Hausa': 'ha',
 | |
|     'Hawaiian': 'haw',
 | |
|     'Hindi': 'hi',
 | |
|     'Hmong': 'hmn',
 | |
|     'Croatian': 'hr',
 | |
|     'Haitian Creole': 'ht',
 | |
|     'Hungarian': 'hu',
 | |
|     'Armenian': 'hy',
 | |
|     'Indonesian': 'id',
 | |
|     'Igbo': 'ig',
 | |
|     'Icelandic': 'is',
 | |
|     'Italian': 'it',
 | |
|     'Hebrew': 'iw',
 | |
|     'Japanese': 'ja',
 | |
|     'Javanese': 'jv',
 | |
|     'Georgian': 'ka',
 | |
|     'Kazakh': 'kk',
 | |
|     'Khmer': 'km',
 | |
|     'Kannada': 'kn',
 | |
|     'Korean': 'ko',
 | |
|     'Kurdish': 'ku',
 | |
|     'Kyrgyz': 'ky',
 | |
|     'Latin': 'la',
 | |
|     'Luxembourgish': 'lb',
 | |
|     'Lao': 'lo',
 | |
|     'Lithuanian': 'lt',
 | |
|     'Latvian': 'lv',
 | |
|     'Malagasy': 'mg',
 | |
|     'Maori': 'mi',
 | |
|     'Macedonian': 'mk',
 | |
|     'Malayalam': 'ml',
 | |
|     'Mongolian': 'mn',
 | |
|     'Marathi': 'mr',
 | |
|     'Malay': 'ms',
 | |
|     'Maltese': 'mt',
 | |
|     'Burmese': 'my',
 | |
|     'Nepali': 'ne',
 | |
|     'Dutch': 'nl',
 | |
|     'Norwegian': 'no',
 | |
|     'Nyanja': 'ny',
 | |
|     'Punjabi': 'pa',
 | |
|     'Polish': 'pl',
 | |
|     'Pashto': 'ps',
 | |
|     'Portuguese': 'pt',
 | |
|     'Romanian': 'ro',
 | |
|     'Russian': 'ru',
 | |
|     'Sindhi': 'sd',
 | |
|     'Sinhala': 'si',
 | |
|     'Slovak': 'sk',
 | |
|     'Slovenian': 'sl',
 | |
|     'Samoan': 'sm',
 | |
|     'Shona': 'sn',
 | |
|     'Somali': 'so',
 | |
|     'Albanian': 'sq',
 | |
|     'Serbian': 'sr',
 | |
|     'Southern Sotho': 'st',
 | |
|     'Sundanese': 'su',
 | |
|     'Swedish': 'sv',
 | |
|     'Swahili': 'sw',
 | |
|     'Tamil': 'ta',
 | |
|     'Telugu': 'te',
 | |
|     'Tajik': 'tg',
 | |
|     'Thai': 'th',
 | |
|     'Turkish': 'tr',
 | |
|     'Ukrainian': 'uk',
 | |
|     'Urdu': 'ur',
 | |
|     'Uzbek': 'uz',
 | |
|     'Vietnamese': 'vi',
 | |
|     'Xhosa': 'xh',
 | |
|     'Yiddish': 'yi',
 | |
|     'Yoruba': 'yo',
 | |
|     'Chinese': 'zh',
 | |
|     'Zulu': 'zu'
 | |
| }
 | |
| 
 | |
| def get_language_from_iso(iso_language):
 | |
|     return dict_iso_languages.get(iso_language, None)
 | |
| 
 | |
| def get_languages_from_iso(l_iso_languages, sort=False):
 | |
|     l_languages = []
 | |
|     for iso_language in l_iso_languages:
 | |
|         language = get_language_from_iso(iso_language)
 | |
|         if language:
 | |
|             l_languages.append(language)
 | |
|     if sort:
 | |
|         l_languages = sorted(l_languages)
 | |
|     return l_languages
 | |
| 
 | |
| def get_iso_from_language(language):
 | |
|     return dict_languages_iso.get(language, None)
 | |
| 
 | |
| def get_iso_from_languages(l_languages, sort=False):
 | |
|     l_iso = []
 | |
|     for language in l_languages:
 | |
|         iso_lang = get_iso_from_language(language)
 | |
|         if iso_lang:
 | |
|             l_iso.append(iso_lang)
 | |
|     if sort:
 | |
|         l_iso = sorted(l_iso)
 | |
|     return l_iso
 |