| 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 |