Index: sitescripts/extensions/pad/language.py |
=================================================================== |
new file mode 100644 |
--- /dev/null |
+++ b/sitescripts/extensions/pad/language.py |
@@ -0,0 +1,175 @@ |
+# This file is part of the Adblock Plus web scripts, |
+# Copyright (C) 2006-2014 Eyeo GmbH |
+# |
+# Adblock Plus is free software: you can redistribute it and/or modify |
+# it under the terms of the GNU General Public License version 3 as |
+# published by the Free Software Foundation. |
+# |
+# Adblock Plus is distributed in the hope that it will be useful, |
+# but WITHOUT ANY WARRANTY; without even the implied warranty of |
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+# GNU General Public License for more details. |
+# |
+# You should have received a copy of the GNU General Public License |
+# along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
+ |
+ISO2PAD = { |
+ 'ab': 'Abkhazian', |
+ 'aa': 'Afar', |
+ 'af': 'Afrikaans', |
+ 'sq': 'Albanian', |
+ 'am': 'Amharic', |
+ 'ar': 'Arabic', |
+ 'hy': 'Armenian', |
+ 'as': 'Assamese', |
+ 'ay': 'Aymara', |
+ 'az': 'Azerbaijani', |
+ 'ba': 'Bashkir', |
+ 'eu': 'Basque', |
+ 'be': 'Byelorussian', |
+ 'bn': 'Bengali', |
+ 'bh': 'Bihari', |
+ 'bi': 'Bislama', |
+ 'br': 'Breton', |
+ 'bg': 'Bulgarian', |
+ 'my': 'Burmese', |
+ 'ca': 'Catalan', |
+ 'zh': 'Chinese', |
+ 'zh-cn': 'ChineseSimplified', |
+ 'zh-tw': 'ChineseTraditional', |
+ 'co': 'Corsican', |
+ 'hr': 'Croatian', |
+ 'cs': 'Czech', |
+ 'da': 'Danish', |
+ 'nl': 'Dutch', |
+ 'en': 'English', |
+ 'eo': 'Esperanto', |
+ 'et': 'Estonian', |
+ 'fo': 'Faeroese', |
+ 'fj': 'Fiji', |
+ 'fi': 'Finnish', |
+ 'fr': 'French', |
+ 'gl': 'Galician', |
+ 'ka': 'Georgian', |
+ 'de': 'German', |
+ 'el': 'Greek', |
+ 'gn': 'Guarani', |
+ 'gu': 'Gujarati', |
+ 'ha': 'Hausa', |
+ 'he': 'Hebrew', |
+ 'hi': 'Hindi', |
+ 'hu': 'Hungarian', |
+ 'ia': 'Interlingua', |
+ 'id': 'Indonesian', |
+ 'ie': 'Interlingue', |
+ 'ga': 'Irish', |
+ 'ik': 'Inupiak', |
+ 'is': 'Icelandic', |
+ 'it': 'Italian', |
+ 'ja': 'Japanese', |
+ 'jv': 'Javanese', |
+ 'kl': 'Greenlandic', |
+ 'kn': 'Kannada', |
+ 'ks': 'Kashmiri', |
+ 'kk': 'Kazakh', |
+ 'km': 'Cambodian', |
+ 'rw': 'Kinyarwanda', |
+ 'ky': 'Kirghiz', |
+ 'ko': 'Korean', |
+ 'ku': 'Kurdish', |
+ 'la': 'Latin', |
+ 'ln': 'Lingala', |
+ 'lo': 'Laothian', |
+ 'lt': 'Lithuanian', |
+ 'lv': 'Latvian', |
+ 'mk': 'Macedonian', |
+ 'mg': 'Malagasy', |
+ 'ms': 'Malay', |
+ 'ml': 'Malayalam', |
+ 'mt': 'Maltese', |
+ 'mi': 'Maori', |
+ 'mr': 'Marathi', |
+ 'mn': 'Mongolian', |
+ 'na': 'Nauru', |
+ 'ne': 'Nepali', |
+ 'no': 'Norwegian', |
+ 'oc': 'Occitan', |
+ 'om': 'Oromo', |
+ 'or': 'Oriya', |
+ 'pa': 'Punjabi', |
+ 'fa': 'Persian', |
+ 'pl': 'Polish', |
+ 'ps': 'Pashto', |
+ 'pt': 'Portuguese', |
+ 'qu': 'Quechua', |
+ 'rm': 'Rhaeto-Romance', |
+ 'rn': 'Kirundi', |
+ 'ro': 'Romanian', |
+ 'ru': 'Russian', |
+ 'sa': 'Sanskrit', |
+ 'sd': 'Sindhi', |
+ 'sm': 'Samoan', |
+ 'sg': 'Sangro', |
+ 'sr': 'Serbian', |
+ 'gd': 'Gaelic', |
+ 'sn': 'Shona', |
+ 'si': 'Singhalese', |
+ 'sk': 'Slovak', |
+ 'sl': 'Slovenian', |
+ 'so': 'Somali', |
+ 'st': 'Sesotho', |
+ 'es': 'Spanish', |
+ 'sw': 'Swahili', |
+ 'ss': 'Siswati', |
+ 'sv': 'Swedish', |
+ 'sh': 'Serbo-Croatian', |
+ 'ta': 'Tamil', |
+ 'te': 'Telugu', |
+ 'tg': 'Tajik', |
+ 'th': 'Thai', |
+ 'ti': 'Tigrinya', |
+ 'bo': 'Tibetan', |
+ 'tk': 'Turkmen', |
+ 'tl': 'Tagalog', |
+ 'tn': 'Setswana', |
+ 'to': 'Tonga', |
+ 'tr': 'Turkish', |
+ 'ts': 'Tsonga', |
+ 'tt': 'Tatar', |
+ 'tw': 'Twi', |
+ 'uk': 'Ukrainian', |
+ 'ur': 'Urdu', |
+ 'uz': 'Uzbek', |
+ 'vi': 'Vietnamese', |
+ 'vo': 'Volapuk', |
+ 'cy': 'Welsh', |
+ 'wo': 'Wolof', |
+ 'fy': 'Frisian', |
+ 'xh': 'Xhosa', |
+ 'yi': 'Yiddish', |
+ 'yo': 'Yoruba', |
+ 'zu': 'Zulu', |
+} |
+ |
+def iso2pad(iso_languages): |
+ pad_languages = [] |
+ has_other = False |
+ |
+ for iso in iso_languages: |
+ iso = iso.replace('_', '-').lower() |
+ |
+ pad = ISO2PAD.get(iso) |
+ if not pad: |
+ pad = ISO2PAD.get(iso.split('-')[0]) |
+ if not pad: |
+ has_other = True |
+ continue |
+ |
+ if pad not in pad_languages: |
+ pad_languages.append(pad) |
+ |
+ pad_languages.sort() |
+ if has_other: |
+ pad_languages.append('Other') |
+ |
+ return pad_languages |