summaryrefslogtreecommitdiff
path: root/searx
diff options
context:
space:
mode:
Diffstat (limited to 'searx')
-rw-r--r--searx/__init__.py6
-rw-r--r--searx/answerers/random/answerer.py2
-rw-r--r--searx/autocomplete.py4
-rw-r--r--searx/data/engines_languages.json37452
-rw-r--r--searx/data/useragents.json15
-rw-r--r--searx/engines/__init__.py53
-rw-r--r--searx/engines/apkmirror.py61
-rw-r--r--searx/engines/archlinux.py4
-rw-r--r--searx/engines/arxiv.py3
-rw-r--r--searx/engines/asksteem.py44
-rw-r--r--searx/engines/bing.py62
-rw-r--r--searx/engines/bing_images.py71
-rw-r--r--searx/engines/bing_news.py5
-rw-r--r--searx/engines/bing_videos.py52
-rw-r--r--searx/engines/btdigg.py39
-rw-r--r--searx/engines/dailymotion.py11
-rw-r--r--searx/engines/deviantart.py47
-rw-r--r--searx/engines/dictzone.py10
-rw-r--r--searx/engines/digg.py36
-rw-r--r--searx/engines/doku.py15
-rw-r--r--searx/engines/duckduckgo.py47
-rw-r--r--searx/engines/duckduckgo_definitions.py19
-rw-r--r--searx/engines/duckduckgo_images.py19
-rw-r--r--searx/engines/duden.py28
-rw-r--r--searx/engines/faroo.py5
-rw-r--r--searx/engines/fdroid.py29
-rw-r--r--searx/engines/flickr_noapi.py51
-rw-r--r--searx/engines/framalibre.py5
-rw-r--r--searx/engines/gigablast.py21
-rw-r--r--searx/engines/google.py55
-rw-r--r--searx/engines/google_images.py49
-rw-r--r--searx/engines/google_news.py7
-rw-r--r--searx/engines/google_videos.py26
-rw-r--r--searx/engines/invidious.py100
-rw-r--r--searx/engines/mediawiki.py5
-rw-r--r--searx/engines/photon.py7
-rw-r--r--searx/engines/qwant.py5
-rw-r--r--searx/engines/seedpeer.py81
-rw-r--r--searx/engines/soundcloud.py12
-rw-r--r--searx/engines/startpage.py43
-rw-r--r--searx/engines/subtitleseeker.py86
-rw-r--r--searx/engines/swisscows.py121
-rw-r--r--searx/engines/twitter.py7
-rw-r--r--searx/engines/unsplash.py52
-rw-r--r--searx/engines/vimeo.py2
-rw-r--r--searx/engines/wikidata.py245
-rw-r--r--searx/engines/wikipedia.py5
-rw-r--r--searx/engines/wolframalpha_api.py2
-rw-r--r--searx/engines/wolframalpha_noapi.py2
-rw-r--r--searx/engines/www1x.py35
-rw-r--r--searx/engines/xpath.py33
-rw-r--r--searx/engines/yacy.py4
-rw-r--r--searx/engines/yahoo.py35
-rw-r--r--searx/engines/yahoo_news.py5
-rw-r--r--searx/engines/youtube_api.py6
-rw-r--r--searx/engines/youtube_noapi.py75
-rw-r--r--searx/exceptions.py1
-rw-r--r--searx/plugins/https_rewrite.py3
-rw-r--r--searx/plugins/oa_doi_rewrite.py3
-rw-r--r--searx/plugins/open_results_on_new_tab.py1
-rw-r--r--searx/plugins/tracker_url_remover.py27
-rw-r--r--searx/plugins/vim_hotkeys.py1
-rw-r--r--searx/preferences.py6
-rw-r--r--searx/query.py37
-rw-r--r--searx/results.py110
-rw-r--r--searx/search.py189
-rw-r--r--searx/settings.yml174
-rw-r--r--searx/settings_robot.yml10
-rw-r--r--searx/static/css/bootstrap.min.css2
-rw-r--r--searx/static/plugins/js/infinite_scroll.js2
-rw-r--r--searx/static/themes/courgette/css/style-rtl.css2
-rw-r--r--searx/static/themes/courgette/css/style.css2
-rw-r--r--searx/static/themes/courgette/less/style.less4
-rw-r--r--searx/static/themes/legacy/css/style.css2
-rw-r--r--searx/static/themes/legacy/less/autocompleter.less122
-rw-r--r--searx/static/themes/legacy/less/style.less4
-rw-r--r--searx/static/themes/oscar/css/logicodev-dark.css732
-rw-r--r--searx/static/themes/oscar/css/logicodev-dark.min.css2
-rw-r--r--searx/static/themes/oscar/css/logicodev.css931
-rw-r--r--searx/static/themes/oscar/css/logicodev.min.css2
-rw-r--r--searx/static/themes/oscar/css/pointhi.css562
-rw-r--r--searx/static/themes/oscar/gruntfile.js6
-rw-r--r--searx/static/themes/oscar/img/icons/invidious.pngbin0 -> 3427 bytes
-rw-r--r--searx/static/themes/oscar/js/searx.js356
-rw-r--r--searx/static/themes/oscar/js/searx.min.js4
-rw-r--r--searx/static/themes/oscar/js/searx_src/00_requirejs_config.js46
-rw-r--r--searx/static/themes/oscar/js/searx_src/01_init.js30
-rw-r--r--searx/static/themes/oscar/js/searx_src/autocompleter.js74
-rw-r--r--searx/static/themes/oscar/js/searx_src/element_modifiers.js198
-rw-r--r--searx/static/themes/oscar/js/searx_src/leaflet_map.js334
-rw-r--r--searx/static/themes/oscar/less/logicodev-dark/oscar.less6
-rw-r--r--searx/static/themes/oscar/less/logicodev/code.less4
-rw-r--r--searx/static/themes/oscar/less/logicodev/infobox.less2
-rw-r--r--searx/static/themes/oscar/less/logicodev/navbar.less1
-rw-r--r--searx/static/themes/oscar/less/logicodev/results.less12
-rw-r--r--searx/static/themes/oscar/less/pointhi/code.less2
-rw-r--r--searx/static/themes/oscar/less/pointhi/infobox.less2
-rw-r--r--searx/static/themes/oscar/package.json9
-rw-r--r--searx/static/themes/pix-art/css/style.css2
-rw-r--r--searx/static/themes/simple/css/searx-rtl.css2
-rw-r--r--searx/static/themes/simple/css/searx-rtl.min.css2
-rw-r--r--searx/static/themes/simple/css/searx.css2
-rw-r--r--searx/static/themes/simple/css/searx.min.css2
-rw-r--r--searx/static/themes/simple/gruntfile.js49
-rw-r--r--searx/static/themes/simple/js/searx.head.js40
-rw-r--r--searx/static/themes/simple/js/searx.head.min.js4
-rw-r--r--searx/static/themes/simple/js/searx.head.min.js.map1
-rw-r--r--searx/static/themes/simple/js/searx.js12
-rw-r--r--searx/static/themes/simple/js/searx.min.js10
-rw-r--r--searx/static/themes/simple/js/searx.min.js.map2
-rw-r--r--searx/static/themes/simple/js/searx_head/00_init.js40
-rw-r--r--searx/static/themes/simple/js/searx_src/00_searx_toolkit.js10
-rw-r--r--searx/static/themes/simple/js/searx_src/searx_search.js2
-rw-r--r--searx/static/themes/simple/leaflet/leaflet.css1272
-rw-r--r--searx/templates/courgette/preferences.html1
-rw-r--r--searx/templates/courgette/result_templates/key-value.html13
-rw-r--r--searx/templates/courgette/result_templates/torrent.html2
-rw-r--r--searx/templates/courgette/results.html4
-rw-r--r--searx/templates/legacy/preferences.html1
-rw-r--r--searx/templates/legacy/result_templates/key-value.html13
-rw-r--r--searx/templates/legacy/result_templates/torrent.html2
-rw-r--r--searx/templates/legacy/results.html4
-rw-r--r--searx/templates/oscar/advanced.html9
-rw-r--r--searx/templates/oscar/base.html31
-rw-r--r--searx/templates/oscar/categories.html18
-rw-r--r--searx/templates/oscar/infobox.html33
-rw-r--r--searx/templates/oscar/languages.html17
-rw-r--r--searx/templates/oscar/macros.html40
-rw-r--r--searx/templates/oscar/navbar.html16
-rw-r--r--searx/templates/oscar/preferences.html66
-rw-r--r--searx/templates/oscar/result_templates/code.html36
-rw-r--r--searx/templates/oscar/result_templates/default.html62
-rw-r--r--searx/templates/oscar/result_templates/images.html75
-rw-r--r--searx/templates/oscar/result_templates/key-value.html19
-rw-r--r--searx/templates/oscar/result_templates/map.html144
-rw-r--r--searx/templates/oscar/result_templates/torrent.html2
-rw-r--r--searx/templates/oscar/result_templates/videos.html54
-rw-r--r--searx/templates/oscar/results.html311
-rw-r--r--searx/templates/oscar/search.html48
-rw-r--r--searx/templates/oscar/search_full.html36
-rw-r--r--searx/templates/oscar/time-range.html22
-rw-r--r--searx/templates/pix-art/preferences.html1
-rw-r--r--searx/templates/simple/base.html27
-rw-r--r--searx/templates/simple/infobox.html5
-rw-r--r--searx/templates/simple/preferences.html14
-rw-r--r--searx/templates/simple/result_templates/key-value.html11
-rw-r--r--searx/templates/simple/result_templates/torrent.html2
-rw-r--r--searx/templates/simple/results.html20
-rw-r--r--searx/templates/simple/search.html1
-rw-r--r--searx/testing.py18
-rw-r--r--searx/translations/ar/LC_MESSAGES/messages.mobin13866 -> 14049 bytes
-rw-r--r--searx/translations/ar/LC_MESSAGES/messages.po31
-rw-r--r--searx/translations/bg/LC_MESSAGES/messages.mobin13778 -> 13778 bytes
-rw-r--r--searx/translations/ca/LC_MESSAGES/messages.mobin0 -> 12694 bytes
-rw-r--r--searx/translations/ca/LC_MESSAGES/messages.po1014
-rw-r--r--searx/translations/cs/LC_MESSAGES/messages.mobin12034 -> 12146 bytes
-rw-r--r--searx/translations/cs/LC_MESSAGES/messages.po37
-rw-r--r--searx/translations/cy/LC_MESSAGES/messages.mobin0 -> 12014 bytes
-rw-r--r--searx/translations/cy/LC_MESSAGES/messages.po1013
-rw-r--r--searx/translations/da/LC_MESSAGES/messages.mobin12050 -> 12050 bytes
-rw-r--r--searx/translations/de/LC_MESSAGES/messages.mobin12694 -> 12686 bytes
-rw-r--r--searx/translations/de/LC_MESSAGES/messages.po17
-rw-r--r--searx/translations/el_GR/LC_MESSAGES/messages.mobin14021 -> 14021 bytes
-rw-r--r--searx/translations/en/LC_MESSAGES/messages.mobin7565 -> 7565 bytes
-rw-r--r--searx/translations/eo/LC_MESSAGES/messages.mobin11912 -> 12014 bytes
-rw-r--r--searx/translations/eo/LC_MESSAGES/messages.po135
-rw-r--r--searx/translations/es/LC_MESSAGES/messages.mobin12688 -> 12688 bytes
-rw-r--r--searx/translations/eu/LC_MESSAGES/messages.mobin0 -> 12356 bytes
-rw-r--r--searx/translations/eu/LC_MESSAGES/messages.po1015
-rw-r--r--searx/translations/fa_IR/LC_MESSAGES/messages.mobin0 -> 14896 bytes
-rw-r--r--searx/translations/fa_IR/LC_MESSAGES/messages.po1015
-rw-r--r--searx/translations/fi/LC_MESSAGES/messages.mobin12258 -> 12258 bytes
-rw-r--r--searx/translations/fil/LC_MESSAGES/messages.mobin12541 -> 12541 bytes
-rw-r--r--searx/translations/fr/LC_MESSAGES/messages.mobin12850 -> 12868 bytes
-rw-r--r--searx/translations/fr/LC_MESSAGES/messages.po14
-rw-r--r--searx/translations/gl/LC_MESSAGES/messages.mobin0 -> 12353 bytes
-rw-r--r--searx/translations/gl/LC_MESSAGES/messages.po1013
-rw-r--r--searx/translations/he/LC_MESSAGES/messages.mobin13386 -> 13386 bytes
-rw-r--r--searx/translations/hr/LC_MESSAGES/messages.mobin12434 -> 12434 bytes
-rw-r--r--searx/translations/hu/LC_MESSAGES/messages.mobin12063 -> 12063 bytes
-rw-r--r--searx/translations/ia/LC_MESSAGES/messages.mobin0 -> 12068 bytes
-rw-r--r--searx/translations/ia/LC_MESSAGES/messages.po998
-rw-r--r--searx/translations/it/LC_MESSAGES/messages.mobin12220 -> 12276 bytes
-rw-r--r--searx/translations/it/LC_MESSAGES/messages.po28
-rw-r--r--searx/translations/ja/LC_MESSAGES/messages.mobin13301 -> 13555 bytes
-rw-r--r--searx/translations/ja/LC_MESSAGES/messages.po99
-rw-r--r--searx/translations/nl/LC_MESSAGES/messages.mobin12263 -> 12267 bytes
-rw-r--r--searx/translations/nl/LC_MESSAGES/messages.po10
-rw-r--r--searx/translations/nl_BE/LC_MESSAGES/messages.mobin0 -> 12378 bytes
-rw-r--r--searx/translations/nl_BE/LC_MESSAGES/messages.po1013
-rw-r--r--searx/translations/pl/LC_MESSAGES/messages.mobin12768 -> 12768 bytes
-rw-r--r--searx/translations/pt/LC_MESSAGES/messages.mobin12323 -> 12482 bytes
-rw-r--r--searx/translations/pt/LC_MESSAGES/messages.po49
-rw-r--r--searx/translations/pt_BR/LC_MESSAGES/messages.mobin12396 -> 12417 bytes
-rw-r--r--searx/translations/pt_BR/LC_MESSAGES/messages.po9
-rw-r--r--searx/translations/ro/LC_MESSAGES/messages.mobin12122 -> 12819 bytes
-rw-r--r--searx/translations/ro/LC_MESSAGES/messages.po185
-rw-r--r--searx/translations/ru/LC_MESSAGES/messages.mobin16109 -> 15970 bytes
-rw-r--r--searx/translations/ru/LC_MESSAGES/messages.po32
-rw-r--r--searx/translations/sk/LC_MESSAGES/messages.mobin12395 -> 12395 bytes
-rw-r--r--searx/translations/sl/LC_MESSAGES/messages.mobin12079 -> 12146 bytes
-rw-r--r--searx/translations/sl/LC_MESSAGES/messages.po40
-rw-r--r--searx/translations/sr/LC_MESSAGES/messages.mobin15151 -> 15151 bytes
-rw-r--r--searx/translations/sv/LC_MESSAGES/messages.mobin12029 -> 12035 bytes
-rw-r--r--searx/translations/sv/LC_MESSAGES/messages.po13
-rw-r--r--searx/translations/te/LC_MESSAGES/messages.mobin0 -> 13839 bytes
-rw-r--r--searx/translations/te/LC_MESSAGES/messages.po1013
-rw-r--r--searx/translations/tr/LC_MESSAGES/messages.mobin12041 -> 12108 bytes
-rw-r--r--searx/translations/tr/LC_MESSAGES/messages.po35
-rw-r--r--searx/translations/uk/LC_MESSAGES/messages.mobin0 -> 15440 bytes
-rw-r--r--searx/translations/uk/LC_MESSAGES/messages.po1015
-rw-r--r--searx/translations/vi/LC_MESSAGES/messages.mobin0 -> 13433 bytes
-rw-r--r--searx/translations/vi/LC_MESSAGES/messages.po1013
-rw-r--r--searx/translations/zh_CN/LC_MESSAGES/messages.mobin11295 -> 11628 bytes
-rw-r--r--searx/translations/zh_CN/LC_MESSAGES/messages.po119
-rw-r--r--searx/translations/zh_Hant_TW/LC_MESSAGES/messages.mobin11627 -> 11622 bytes
-rw-r--r--searx/translations/zh_TW/LC_MESSAGES/messages.mobin0 -> 11608 bytes
-rw-r--r--searx/translations/zh_TW/LC_MESSAGES/messages.po1015
-rw-r--r--searx/utils.py84
-rw-r--r--searx/version.py2
-rw-r--r--searx/webapp.py110
221 files changed, 36422 insertions, 21732 deletions
diff --git a/searx/__init__.py b/searx/__init__.py
index b1010f25f..d32fe0066 100644
--- a/searx/__init__.py
+++ b/searx/__init__.py
@@ -22,7 +22,7 @@ from os.path import realpath, dirname, join, abspath, isfile
from io import open
from ssl import OPENSSL_VERSION_INFO, OPENSSL_VERSION
try:
- from yaml import load
+ from yaml import safe_load
except:
from sys import exit, stderr
stderr.write('[E] install pyyaml\n')
@@ -52,7 +52,7 @@ if not settings_path:
# load settings
with open(settings_path, 'r', encoding='utf-8') as settings_yaml:
- settings = load(settings_yaml)
+ settings = safe_load(settings_yaml)
'''
enable debug if
@@ -91,3 +91,5 @@ logger.info('Initialisation done')
if 'SEARX_SECRET' in environ:
settings['server']['secret_key'] = environ['SEARX_SECRET']
+if 'SEARX_BIND_ADDRESS' in environ:
+ settings['server']['bind_address'] = environ['SEARX_BIND_ADDRESS']
diff --git a/searx/answerers/random/answerer.py b/searx/answerers/random/answerer.py
index b6e8422ad..2dfb08804 100644
--- a/searx/answerers/random/answerer.py
+++ b/searx/answerers/random/answerer.py
@@ -70,4 +70,4 @@ def answer(query):
def self_info():
return {'name': gettext('Random value generator'),
'description': gettext('Generate different random values'),
- 'examples': [u'random {}'.format(x) for x in random_types]}
+ 'examples': [u'random {}'.format(x.decode('utf-8')) for x in random_types]}
diff --git a/searx/autocomplete.py b/searx/autocomplete.py
index f8a45b3ec..ff8958500 100644
--- a/searx/autocomplete.py
+++ b/searx/autocomplete.py
@@ -16,6 +16,7 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >.
'''
+import sys
from lxml import etree
from json import loads
from searx import settings
@@ -26,6 +27,9 @@ from searx.engines import (
from searx.poolrequests import get as http_get
from searx.url_utils import urlencode
+if sys.version_info[0] == 3:
+ unicode = str
+
def get(*args, **kwargs):
if 'timeout' not in kwargs:
diff --git a/searx/data/engines_languages.json b/searx/data/engines_languages.json
index 2a5eb4ee9..2c9e64e80 100644
--- a/searx/data/engines_languages.json
+++ b/searx/data/engines_languages.json
@@ -1,5 +1,123 @@
{
- "duckduckgo images": [
+ "qwant news": [
+ "bg-BG",
+ "br-FR",
+ "ca-AD",
+ "ca-ES",
+ "ca-FR",
+ "co-FR",
+ "cs-CZ",
+ "cy-GB",
+ "da-DK",
+ "de-AT",
+ "de-CH",
+ "de-DE",
+ "el-GR",
+ "en-AU",
+ "en-CA",
+ "en-GB",
+ "en-IE",
+ "en-IN",
+ "en-MY",
+ "en-NZ",
+ "en-PH",
+ "en-SG",
+ "en-US",
+ "es-AD",
+ "es-AR",
+ "es-CL",
+ "es-ES",
+ "es-MX",
+ "et-EE",
+ "eu-ES",
+ "eu-FR",
+ "fi-FI",
+ "fr-AD",
+ "fr-BE",
+ "fr-CA",
+ "fr-CH",
+ "fr-FR",
+ "gd-GB",
+ "he-IL",
+ "hu-HU",
+ "it-CH",
+ "it-IT",
+ "ja-JP",
+ "ko-KR",
+ "ms-MY",
+ "nl-BE",
+ "nl-NL",
+ "no-NO",
+ "pl-PL",
+ "pt-AD",
+ "pt-BR",
+ "pt-PT",
+ "ro-RO",
+ "ru-RU",
+ "sv-SE",
+ "th-TH",
+ "tr-TR"
+ ],
+ "qwant social": [
+ "bg-BG",
+ "br-FR",
+ "ca-AD",
+ "ca-ES",
+ "ca-FR",
+ "co-FR",
+ "cs-CZ",
+ "cy-GB",
+ "da-DK",
+ "de-AT",
+ "de-CH",
+ "de-DE",
+ "el-GR",
+ "en-AU",
+ "en-CA",
+ "en-GB",
+ "en-IE",
+ "en-IN",
+ "en-MY",
+ "en-NZ",
+ "en-PH",
+ "en-SG",
+ "en-US",
+ "es-AD",
+ "es-AR",
+ "es-CL",
+ "es-ES",
+ "es-MX",
+ "et-EE",
+ "eu-ES",
+ "eu-FR",
+ "fi-FI",
+ "fr-AD",
+ "fr-BE",
+ "fr-CA",
+ "fr-CH",
+ "fr-FR",
+ "gd-GB",
+ "he-IL",
+ "hu-HU",
+ "it-CH",
+ "it-IT",
+ "ja-JP",
+ "ko-KR",
+ "ms-MY",
+ "nl-BE",
+ "nl-NL",
+ "no-NO",
+ "pl-PL",
+ "pt-AD",
+ "pt-BR",
+ "pt-PT",
+ "ro-RO",
+ "ru-RU",
+ "sv-SE",
+ "th-TH",
+ "tr-TR"
+ ],
+ "duckduckgo": [
"ar-XA",
"bg-BG",
"ca-CT",
@@ -66,25310 +184,25613 @@
"wt-WT",
"zh-CN"
],
- "dailymotion": {
- "xtw": {
- "english_name": "Tawandê"
+ "ddg definitions": [
+ "ar-XA",
+ "bg-BG",
+ "ca-CT",
+ "ca-ES",
+ "cs-CZ",
+ "da-DK",
+ "de-AT",
+ "de-CH",
+ "de-DE",
+ "el-GR",
+ "en-AU",
+ "en-CA",
+ "en-ID",
+ "en-IE",
+ "en-IN",
+ "en-MY",
+ "en-NZ",
+ "en-PH",
+ "en-SG",
+ "en-UK",
+ "en-US",
+ "en-ZA",
+ "es-AR",
+ "es-CL",
+ "es-CO",
+ "es-ES",
+ "es-MX",
+ "es-PE",
+ "es-US",
+ "et-EE",
+ "fi-FI",
+ "fr-BE",
+ "fr-CA",
+ "fr-CH",
+ "fr-FR",
+ "he-IL",
+ "hr-HR",
+ "hu-HU",
+ "id-ID",
+ "it-CH",
+ "it-IT",
+ "jp-JP",
+ "kr-KR",
+ "lt-LT",
+ "lv-LV",
+ "ms-MY",
+ "nl-BE",
+ "nl-NL",
+ "no-NO",
+ "pl-PL",
+ "pt-BR",
+ "pt-PT",
+ "ro-RO",
+ "ru-RU",
+ "sk-SK",
+ "sl-SL",
+ "sv-SE",
+ "th-TH",
+ "tl-PH",
+ "tr-TR",
+ "tzh-HK",
+ "tzh-TW",
+ "vi-VN",
+ "wt-WT",
+ "zh-CN"
+ ],
+ "bing": [
+ "ar",
+ "bg",
+ "ca",
+ "cs",
+ "da",
+ "de",
+ "el",
+ "en",
+ "es",
+ "et",
+ "fa",
+ "fi",
+ "fr",
+ "he",
+ "hr",
+ "hu",
+ "id",
+ "is",
+ "it",
+ "ja",
+ "ko",
+ "lt",
+ "lv",
+ "ms",
+ "nl",
+ "no",
+ "pl",
+ "pt-BR",
+ "pt-PT",
+ "ro",
+ "ru",
+ "sk",
+ "sl",
+ "sq",
+ "sr",
+ "sv",
+ "th",
+ "tr",
+ "uk",
+ "vi",
+ "zh-CHS",
+ "zh-CHT"
+ ],
+ "bing videos": [
+ "ar-AE",
+ "ar-EG",
+ "ar-SA",
+ "da-DK",
+ "de-AT",
+ "de-CH",
+ "de-DE",
+ "en-AU",
+ "en-CA",
+ "en-GB",
+ "en-ID",
+ "en-IE",
+ "en-IN",
+ "en-MY",
+ "en-NZ",
+ "en-PH",
+ "en-SG",
+ "en-US",
+ "en-ZA",
+ "es-AR",
+ "es-CL",
+ "es-ES",
+ "es-MX",
+ "es-US",
+ "fi-FI",
+ "fr-BE",
+ "fr-CA",
+ "fr-CH",
+ "fr-FR",
+ "it-IT",
+ "ja-JP",
+ "ko-KR",
+ "nl-BE",
+ "nl-NL",
+ "no-NO",
+ "pl-PL",
+ "pt-BR",
+ "pt-PT",
+ "ru-RU",
+ "sv-SE",
+ "tr-TR",
+ "zh-CN",
+ "zh-HK",
+ "zh-TW"
+ ],
+ "qwant": [
+ "bg-BG",
+ "br-FR",
+ "ca-AD",
+ "ca-ES",
+ "ca-FR",
+ "co-FR",
+ "cs-CZ",
+ "cy-GB",
+ "da-DK",
+ "de-AT",
+ "de-CH",
+ "de-DE",
+ "el-GR",
+ "en-AU",
+ "en-CA",
+ "en-GB",
+ "en-IE",
+ "en-IN",
+ "en-MY",
+ "en-NZ",
+ "en-PH",
+ "en-SG",
+ "en-US",
+ "es-AD",
+ "es-AR",
+ "es-CL",
+ "es-ES",
+ "es-MX",
+ "et-EE",
+ "eu-ES",
+ "eu-FR",
+ "fi-FI",
+ "fr-AD",
+ "fr-BE",
+ "fr-CA",
+ "fr-CH",
+ "fr-FR",
+ "gd-GB",
+ "he-IL",
+ "hu-HU",
+ "it-CH",
+ "it-IT",
+ "ja-JP",
+ "ko-KR",
+ "ms-MY",
+ "nl-BE",
+ "nl-NL",
+ "no-NO",
+ "pl-PL",
+ "pt-AD",
+ "pt-BR",
+ "pt-PT",
+ "ro-RO",
+ "ru-RU",
+ "sv-SE",
+ "th-TH",
+ "tr-TR"
+ ],
+ "gigablast": [],
+ "google news": {
+ "nl": {
+ "name": "Nederlands"
},
- "xtv": {
- "english_name": "Thawa"
+ "eo": {
+ "name": "Esperanto"
},
- "xtu": {
- "english_name": "Mixtec, Cuyamecalco"
+ "ko": {
+ "name": "한국어"
},
- "xtt": {
- "english_name": "Mixtec, Tacahua"
+ "id": {
+ "name": "Indonesia"
},
- "xts": {
- "english_name": "Mixtec, Sindihui"
+ "ca": {
+ "name": "Català"
},
- "xtr": {
- "english_name": "Tripuri, Early"
+ "ar": {
+ "name": "العربية"
},
- "xtq": {
- "english_name": "Tumshuqese"
+ "sl": {
+ "name": "Slovenščina"
},
- "xtp": {
- "english_name": "Mixtec, San Miguel Piedras"
+ "sr": {
+ "name": "Српски"
},
- "xtz": {
- "english_name": "Tasmanian"
+ "sv": {
+ "name": "Svenska"
},
- "xty": {
- "english_name": "Mixtec, Yoloxochitl"
+ "be": {
+ "name": "Беларуская"
},
- "xtg": {
- "english_name": "Gaulish, Transalpine"
+ "et": {
+ "name": "Eesti"
},
- "xte": {
- "english_name": "Ketengban"
+ "sw": {
+ "name": "Kiswahili"
},
- "xtd": {
- "english_name": "Mixtec, Diuxi-Tilantongo"
+ "is": {
+ "name": "Íslenska"
},
- "xtc": {
- "english_name": "Katcha-Kadugli-Miri"
+ "it": {
+ "name": "Italiano"
},
- "xtb": {
- "english_name": "Mixtec, Chazumba"
+ "hi": {
+ "name": "हिन्दी"
},
- "xta": {
- "english_name": "Mixtec, Alcozauca"
+ "pl": {
+ "name": "Polski"
},
- "xto": {
- "english_name": "Tokharian A"
+ "el": {
+ "name": "Ελληνικά"
},
- "xtn": {
- "english_name": "Mixtec, Northern Tlaxiaco"
+ "hu": {
+ "name": "Magyar"
},
- "xtm": {
- "english_name": "Mixtec, Magdalena Peñasco"
+ "fr": {
+ "name": "Français"
},
- "xtl": {
- "english_name": "Mixtec, Tijaltepec"
+ "th": {
+ "name": "ไทย"
},
- "xtj": {
- "english_name": "Mixtec, San Juan Teita"
+ "tl": {
+ "name": "Filipino"
},
- "xti": {
- "english_name": "Mixtec, Sinicahua"
+ "de": {
+ "name": "Deutsch"
},
- "xth": {
- "english_name": "Yitha Yitha"
+ "ru": {
+ "name": "Русский"
},
- "wji": {
- "english_name": "Warji"
+ "sk": {
+ "name": "Slovenčina"
},
- "wja": {
- "english_name": "Waja"
+ "lt": {
+ "name": "Lietuvių"
},
- "tmv": {
- "english_name": "Tembo (Motembo)"
+ "vi": {
+ "name": "Tiếng Việt"
},
- "txo": {
- "english_name": "Toto"
+ "uk": {
+ "name": "Українська"
},
- "txn": {
- "english_name": "Tarangan, West"
+ "pt": {
+ "name": "Português"
},
- "txm": {
- "english_name": "Tomini"
+ "zh-TW": {
+ "name": "中文 (繁體)"
},
- "txi": {
- "english_name": "Ikpeng"
+ "cs": {
+ "name": "Čeština"
},
- "txh": {
- "english_name": "Thracian"
+ "fa": {
+ "name": "فارسی"
},
- "txg": {
- "english_name": "Tangut"
+ "af": {
+ "name": "Afrikaans"
},
- "txe": {
- "english_name": "Totoli"
+ "hy": {
+ "name": "Հայերեն"
},
- "txc": {
- "english_name": "Tsetsaut"
+ "bg": {
+ "name": "Български"
},
- "txb": {
- "english_name": "Tokharian B"
+ "hr": {
+ "name": "Hrvatski"
},
- "txa": {
- "english_name": "Tombonuo"
+ "en": {
+ "name": "English"
},
- "txy": {
- "english_name": "Malagasy, Tanosy"
+ "tr": {
+ "name": "Türkçe"
},
- "txx": {
- "english_name": "Tatana"
+ "lv": {
+ "name": "Latviešu"
},
- "txu": {
- "english_name": "Kayapó"
+ "ro": {
+ "name": "Română"
},
- "txt": {
- "english_name": "Citak"
+ "zh-CN": {
+ "name": "中文 (简体)"
},
- "txs": {
- "english_name": "Tonsea"
+ "ja": {
+ "name": "日本語"
},
- "txr": {
- "english_name": "Tartessian"
+ "iw": {
+ "name": "עברית"
},
- "txq": {
- "english_name": "Tii"
+ "es": {
+ "name": "Español"
},
- "dne": {
- "english_name": "Ndendeule"
+ "fi": {
+ "name": "Suomi"
},
- "dnd": {
- "english_name": "Daonda"
+ "no": {
+ "name": "Norsk"
},
- "dng": {
- "english_name": "Dungan"
+ "da": {
+ "name": "Dansk"
+ }
+ },
+ "duckduckgo images": [
+ "ar-XA",
+ "bg-BG",
+ "ca-CT",
+ "ca-ES",
+ "cs-CZ",
+ "da-DK",
+ "de-AT",
+ "de-CH",
+ "de-DE",
+ "el-GR",
+ "en-AU",
+ "en-CA",
+ "en-ID",
+ "en-IE",
+ "en-IN",
+ "en-MY",
+ "en-NZ",
+ "en-PH",
+ "en-SG",
+ "en-UK",
+ "en-US",
+ "en-ZA",
+ "es-AR",
+ "es-CL",
+ "es-CO",
+ "es-ES",
+ "es-MX",
+ "es-PE",
+ "es-US",
+ "et-EE",
+ "fi-FI",
+ "fr-BE",
+ "fr-CA",
+ "fr-CH",
+ "fr-FR",
+ "he-IL",
+ "hr-HR",
+ "hu-HU",
+ "id-ID",
+ "it-CH",
+ "it-IT",
+ "jp-JP",
+ "kr-KR",
+ "lt-LT",
+ "lv-LV",
+ "ms-MY",
+ "nl-BE",
+ "nl-NL",
+ "no-NO",
+ "pl-PL",
+ "pt-BR",
+ "pt-PT",
+ "ro-RO",
+ "ru-RU",
+ "sk-SK",
+ "sl-SL",
+ "sv-SE",
+ "th-TH",
+ "tl-PH",
+ "tr-TR",
+ "tzh-HK",
+ "tzh-TW",
+ "vi-VN",
+ "wt-WT",
+ "zh-CN"
+ ],
+ "bing images": [
+ "ar-AE",
+ "ar-EG",
+ "ar-SA",
+ "da-DK",
+ "de-AT",
+ "de-CH",
+ "de-DE",
+ "en-AU",
+ "en-CA",
+ "en-GB",
+ "en-ID",
+ "en-IE",
+ "en-IN",
+ "en-MY",
+ "en-NZ",
+ "en-PH",
+ "en-SG",
+ "en-US",
+ "en-ZA",
+ "es-AR",
+ "es-CL",
+ "es-ES",
+ "es-MX",
+ "es-US",
+ "fi-FI",
+ "fr-BE",
+ "fr-CA",
+ "fr-CH",
+ "fr-FR",
+ "it-IT",
+ "ja-JP",
+ "ko-KR",
+ "nl-BE",
+ "nl-NL",
+ "no-NO",
+ "pl-PL",
+ "pt-BR",
+ "pt-PT",
+ "ru-RU",
+ "sv-SE",
+ "tr-TR",
+ "zh-CN",
+ "zh-HK",
+ "zh-TW"
+ ],
+ "bing news": [
+ "ar",
+ "bg",
+ "ca",
+ "cs",
+ "da",
+ "de",
+ "el",
+ "en",
+ "es",
+ "et",
+ "fa",
+ "fi",
+ "fr",
+ "he",
+ "hr",
+ "hu",
+ "id",
+ "is",
+ "it",
+ "ja",
+ "ko",
+ "lt",
+ "lv",
+ "ms",
+ "nl",
+ "no",
+ "pl",
+ "pt-BR",
+ "pt-PT",
+ "ro",
+ "ru",
+ "sk",
+ "sl",
+ "sq",
+ "sr",
+ "sv",
+ "th",
+ "tr",
+ "uk",
+ "vi",
+ "zh-CHS",
+ "zh-CHT"
+ ],
+ "dailymotion": {
+ "fag": {
+ "english_name": "Finongan"
},
- "dna": {
- "english_name": "Dani, Upper Grand Valley"
+ "mpd": {
+ "english_name": "Machinere"
},
- "dnn": {
- "english_name": "Dzùùngoo"
+ "bzx": {
+ "english_name": "Bozo, Kɛlɛngaxo"
},
- "dni": {
- "english_name": "Dani, Lower Grand Valley"
+ "kpc": {
+ "english_name": "Curripaco"
},
- "dnk": {
- "english_name": "Dengka"
+ "sll": {
+ "english_name": "Salt-Yui"
},
- "dnj": {
- "english_name": "Dan"
+ "bop": {
+ "english_name": "Bonkiman"
},
- "dnu": {
- "english_name": "Danau"
+ "mlz": {
+ "english_name": "Malaynon"
},
- "dnt": {
- "english_name": "Dani, Mid Grand Valley"
+ "gnw": {
+ "english_name": "Guaraní, Western Bolivian"
},
- "dnw": {
- "english_name": "Dani, Western"
+ "sbc": {
+ "english_name": "Kele (Papua New Guinea)"
},
- "dnv": {
- "english_name": "Danu"
+ "pbc": {
+ "english_name": "Patamona"
},
- "dnr": {
- "english_name": "Danaru"
+ "xkw": {
+ "english_name": "Kembra"
},
- "dny": {
- "english_name": "Dení"
+ "bec": {
+ "english_name": "Iceve-Maci"
},
- "jmx": {
- "english_name": "Mixtec, Western Juxtlahuaca"
+ "tlg": {
+ "english_name": "Tofanma"
},
- "jmr": {
- "english_name": "Kamara"
+ "ges": {
+ "english_name": "Geser-Gorom"
},
- "jms": {
- "english_name": "Mashi (Nigeria)"
+ "mxh": {
+ "english_name": "Mvuba"
},
- "jmw": {
- "english_name": "Mouwase"
+ "wos": {
+ "english_name": "Hanga Hundi"
},
- "jmi": {
- "english_name": "Jimi (Nigeria)"
+ "mrf": {
+ "english_name": "Elseng"
},
- "jmn": {
- "english_name": "Naga, Makuri"
+ "tdr": {
+ "english_name": "Todrah"
},
- "jml": {
- "english_name": "Jumli"
+ "dos": {
+ "english_name": "Dogosé"
},
- "jmb": {
- "english_name": "Zumbun"
+ "lah": {
+ "english_name": "Lahnda"
},
- "jmc": {
- "english_name": "Machame"
+ "qxa": {
+ "english_name": "Quechua, Chiquián Ancash"
},
- "jma": {
- "english_name": "Dima"
+ "kkv": {
+ "english_name": "Kangean"
},
- "jmd": {
- "english_name": "Yamdena"
+ "ajt": {
+ "english_name": "Arabic, Judeo-Tunisian"
},
- "czt": {
- "english_name": "Chin, Zotung"
+ "dof": {
+ "english_name": "Domu"
},
- "czk": {
- "english_name": "Knaanic"
+ "cll": {
+ "english_name": "Chala"
},
- "czh": {
- "english_name": "Chinese, Huizhou"
+ "dta": {
+ "english_name": "Daur"
},
- "czn": {
- "english_name": "Chatino, Zenzontepec"
+ "gji": {
+ "english_name": "Geji"
},
- "czo": {
- "english_name": "Chinese, Min Zhong"
+ "nmx": {
+ "english_name": "Nama (Papua New Guinea)"
},
- "hod": {
- "english_name": "Holma"
+ "tcl": {
+ "english_name": "Taman (Myanmar)"
},
- "hoe": {
- "english_name": "Horom"
+ "kcc": {
+ "english_name": "Lubila"
},
- "hob": {
- "english_name": "Mari (Madang Province)"
+ "tsl": {
+ "english_name": "Ts'ün-Lao"
},
- "hoc": {
- "english_name": "Ho"
+ "abl": {
+ "english_name": "Lampung Nyo"
},
- "hoa": {
- "english_name": "Hoava"
+ "ply": {
+ "english_name": "Bolyu"
},
- "hoo": {
- "english_name": "Holoholo"
+ "xor": {
+ "english_name": "Korubo"
},
- "hol": {
- "english_name": "Holu"
+ "tpc": {
+ "english_name": "Me'phaa, Azoyú"
},
- "hom": {
- "english_name": "Homa"
+ "ard": {
+ "english_name": "Arabana"
},
- "hoj": {
- "english_name": "Hadothi"
+ "jen": {
+ "english_name": "Dza"
},
- "hoh": {
- "english_name": "Hobyót"
+ "ofs": {
+ "english_name": "Frisian, Old"
},
- "hoi": {
- "english_name": "Holikachuk"
+ "bzz": {
+ "english_name": "Evant"
},
- "hov": {
- "english_name": "Hovongan"
+ "ts": {
+ "english_name": "Tsonga"
},
- "how": {
- "english_name": "Honi"
+ "vin": {
+ "english_name": "Vinza"
},
- "hot": {
- "english_name": "Hote"
+ "blm": {
+ "english_name": "Beli (Sudan)"
},
- "hor": {
- "english_name": "Horo"
+ "mkc": {
+ "english_name": "Siliput"
},
- "hos": {
- "english_name": "Ho Chi Minh City Sign Language"
+ "utu": {
+ "english_name": "Utu"
},
- "hop": {
- "english_name": "Hopi"
+ "xnt": {
+ "english_name": "Narragansett"
},
- "hoz": {
- "english_name": "Hozo"
+ "rue": {
+ "english_name": "Rusyn"
},
- "hoy": {
- "english_name": "Holiya"
+ "kaw": {
+ "english_name": "Kawi"
},
- "tqm": {
- "english_name": "Turumsa"
+ "peo": {
+ "english_name": "Persian, Old (ca. 600-400 B.C.)"
},
- "zal": {
- "english_name": "Zauzou"
+ "gjn": {
+ "english_name": "Gonja"
},
- "fir": {
- "english_name": "Firan"
+ "ecy": {
+ "english_name": "Eteocypriot"
},
- "fip": {
- "english_name": "Fipa"
+ "jdt": {
+ "english_name": "Judeo-Tat"
},
- "fiw": {
- "english_name": "Fiwaga"
+ "esl": {
+ "english_name": "Egypt Sign Language"
},
- "fit": {
- "english_name": "Finnish, Tornedalen"
+ "bti": {
+ "english_name": "Burate"
},
- "fia": {
- "english_name": "Nobiin"
+ "nev": {
+ "english_name": "Nyaheun"
},
- "fie": {
- "english_name": "Fyer"
+ "omb": {
+ "english_name": "Ambae, East"
},
- "fil": {
- "english_name": "Filipino"
+ "ks": {
+ "english_name": "Kashmiri"
},
- "tqq": {
- "english_name": "Tunni"
+ "gbg": {
+ "english_name": "Gbanziri"
},
- "tch": {
- "english_name": "Creole English, Turks And Caicos"
+ "bhp": {
+ "english_name": "Bima"
},
- "mdj": {
- "english_name": "Mangbetu"
+ "kpz": {
+ "english_name": "Kupsabiny"
},
- "mdk": {
- "english_name": "Mangbutu"
+ "zyg": {
+ "english_name": "Zhuang, Yang"
},
- "mdh": {
- "english_name": "Maguindanaon"
+ "dsq": {
+ "english_name": "Tadaksahak"
},
- "mdi": {
- "english_name": "Mamvu"
+ "pck": {
+ "english_name": "Chin, Paite"
},
- "mdn": {
- "english_name": "Mbati"
+ "wim": {
+ "english_name": "Wik-Mungkan"
},
- "mdl": {
- "english_name": "Maltese Sign Language"
+ "tbc": {
+ "english_name": "Takia"
},
- "mdm": {
- "english_name": "Mayogo"
+ "xcr": {
+ "english_name": "Carian"
},
- "mdb": {
- "english_name": "Morigi"
+ "ar": {
+ "english_name": "Arabic",
+ "name": "العربية"
},
- "mdc": {
- "english_name": "Male (Papua New Guinea)"
+ "vai": {
+ "english_name": "Vai"
},
- "mda": {
- "english_name": "Mada (Nigeria)"
+ "gll": {
+ "english_name": "Garlali"
},
- "mdf": {
- "english_name": "Moksha"
+ "bmf": {
+ "english_name": "Bom"
},
- "mdg": {
- "english_name": "Massalat"
+ "abt": {
+ "english_name": "Ambulas"
},
- "mdd": {
- "english_name": "Mbum"
+ "mok": {
+ "english_name": "Morori"
},
- "mde": {
- "english_name": "Maba (Chad)"
+ "buc": {
+ "english_name": "Bushi"
},
- "mdz": {
- "english_name": "Suruí Do Pará"
+ "lbn": {
+ "english_name": "Lamet"
},
- "mdx": {
- "english_name": "Dizin"
+ "aoj": {
+ "english_name": "Mufian"
},
- "mdy": {
- "english_name": "Male (Ethiopia)"
+ "mpl": {
+ "english_name": "Watut, Middle"
},
- "mdr": {
- "english_name": "Mandar"
+ "unz": {
+ "english_name": "Kaili, Unde"
},
- "mds": {
- "english_name": "Maria (Papua New Guinea)"
+ "csl": {
+ "english_name": "Chinese Sign Language"
},
- "mdp": {
- "english_name": "Mbala"
+ "mby": {
+ "english_name": "Memoni"
},
- "mdq": {
- "english_name": "Mbole"
+ "maf": {
+ "english_name": "Mafa"
},
- "mdv": {
- "english_name": "Mixtec, Santa Lucía Monteverde"
+ "shn": {
+ "english_name": "Shan"
},
- "mdw": {
- "english_name": "Mbosi"
+ "teo": {
+ "english_name": "Teso"
},
- "mdt": {
- "english_name": "Mbere"
+ "xts": {
+ "english_name": "Mixtec, Sindihui"
},
- "mdu": {
- "english_name": "Mboko"
+ "sms": {
+ "english_name": "Sami, Skolt"
},
- "ru": {
- "name": "русский",
- "english_name": "Russian"
+ "kln": {
+ "english_name": "Kalenjin"
},
- "rw": {
- "name": "Ikinyarwanda",
- "english_name": "Kinyarwanda"
+ "dij": {
+ "english_name": "Dai"
},
- "smz": {
- "english_name": "Simeku"
+ "msu": {
+ "english_name": "Musom"
},
- "smy": {
- "english_name": "Semnani"
+ "vi": {
+ "english_name": "Vietnamese",
+ "name": "Tiếng Việt"
},
- "smx": {
- "english_name": "Samba"
+ "kyk": {
+ "english_name": "Kamayo"
},
- "smw": {
- "english_name": "Sumbawa"
+ "ngr": {
+ "english_name": "Engdewu"
},
- "smv": {
- "english_name": "Samvedi"
+ "klm": {
+ "english_name": "Migum"
},
- "smu": {
- "english_name": "Somray"
+ "igm": {
+ "english_name": "Kanggape"
},
- "smt": {
- "english_name": "Simte"
+ "bto": {
+ "english_name": "Bikol, Rinconada"
},
- "sms": {
- "english_name": "Sami, Skolt"
+ "krm": {
+ "english_name": "Krim"
},
- "smr": {
- "english_name": "Simeulue"
+ "tii": {
+ "english_name": "Tiene"
},
- "smq": {
- "english_name": "Samo"
+ "dob": {
+ "english_name": "Dobu"
},
- "dsq": {
- "english_name": "Tadaksahak"
+ "ttj": {
+ "english_name": "Tooro"
},
- "dsn": {
- "english_name": "Dusner"
+ "sjk": {
+ "english_name": "Sami, Kemi"
},
- "dso": {
- "english_name": "Desiya"
+ "nrz": {
+ "english_name": "Lala"
},
- "dsl": {
- "english_name": "Danish Sign Language"
+ "zch": {
+ "english_name": "Zhuang, Central Hongshuihe"
},
- "sml": {
- "english_name": "Sama, Central"
+ "aws": {
+ "english_name": "Awyu, South"
+ },
+ "alo": {
+ "english_name": "Larike-Wakasihu"
+ },
+ "plp": {
+ "english_name": "Palpa"
+ },
+ "nwa": {
+ "english_name": "Nawathinehena"
+ },
+ "aon": {
+ "english_name": "Arapesh, Bumbita"
+ },
+ "tag": {
+ "english_name": "Tagoi"
+ },
+ "dei": {
+ "english_name": "Demisa"
},
"smk": {
"english_name": "Bolinao"
},
- "smj": {
- "english_name": "Lule Sami"
+ "ndf": {
+ "english_name": "Nadruvian"
},
- "dsh": {
- "english_name": "Daasanach"
+ "sly": {
+ "english_name": "Selayar"
},
- "dsi": {
- "english_name": "Disa"
+ "twu": {
+ "english_name": "Termanu"
},
- "smg": {
- "english_name": "Simbali"
+ "ags": {
+ "english_name": "Esimbi"
},
- "rm": {
- "english_name": "Romansh"
+ "zyj": {
+ "english_name": "Zhuang, Youjiang"
},
- "rn": {
- "english_name": "Rundi"
+ "xap": {
+ "english_name": "Apalachee"
},
- "ro": {
- "name": "Română",
- "english_name": "Romanian"
+ "imn": {
+ "english_name": "Imonda"
},
- "dsb": {
- "english_name": "Sorbian, Lower"
+ "goj": {
+ "english_name": "Gowlan"
},
- "smb": {
- "english_name": "Simbari"
+ "ikz": {
+ "english_name": "Ikizu"
},
- "sma": {
- "english_name": "Sami, Southern"
+ "miy": {
+ "english_name": "Mixtec, Ayutla"
},
- "syo": {
- "english_name": "Suoy"
+ "iyo": {
+ "english_name": "Mesaka"
},
- "syn": {
- "english_name": "Senaya"
+ "kdl": {
+ "english_name": "Tsikimba"
},
- "sym": {
- "english_name": "Samo, Maya"
+ "ptt": {
+ "english_name": "Enrekang"
},
- "atg": {
- "english_name": "Ivbie North-Okpela-Arhe"
+ "ymq": {
+ "english_name": "Muji, Qila"
},
- "atd": {
- "english_name": "Manobo, Ata"
+ "vaa": {
+ "english_name": "Vaagri Booli"
},
- "ate": {
- "english_name": "Atemble"
+ "xcy": {
+ "english_name": "Cayuse"
},
- "atb": {
- "english_name": "Zaiwa"
+ "pgg": {
+ "english_name": "Pangwali"
},
- "atc": {
- "english_name": "Atsahuaca"
+ "aly": {
+ "english_name": "Alyawarr"
},
- "ata": {
- "english_name": "Pele-Ata"
+ "bdt": {
+ "english_name": "Bokoto"
},
- "atn": {
- "english_name": "Ashtiani"
+ "zkk": {
+ "english_name": "Karankawa"
},
- "ato": {
- "english_name": "Atong"
+ "mkj": {
+ "english_name": "Mokilese"
},
- "atl": {
- "english_name": "Agta, Mt. Iraya"
+ "way": {
+ "english_name": "Wayana"
},
- "atm": {
- "english_name": "Ata"
+ "kxs": {
+ "english_name": "Kangjia"
},
- "atj": {
- "english_name": "Atikamekw"
+ "sdk": {
+ "english_name": "Sos Kundi"
},
- "atk": {
- "english_name": "Ati"
+ "mne": {
+ "english_name": "Naba"
},
- "ati": {
- "english_name": "Attié"
+ "iry": {
+ "english_name": "Iraya"
},
- "atv": {
- "english_name": "Altai, Northern"
+ "ngp": {
+ "english_name": "Ngulu"
},
- "atw": {
- "english_name": "Atsugewi"
+ "eke": {
+ "english_name": "Ekit"
},
- "att": {
- "english_name": "Atta, Pamplona"
+ "mkr": {
+ "english_name": "Malas"
},
- "atu": {
- "english_name": "Reel"
+ "sxo": {
+ "english_name": "Sorothaptic"
},
- "atr": {
- "english_name": "Waimiri-Atroari"
+ "auy": {
+ "english_name": "Awiyaana"
},
- "ats": {
- "english_name": "Gros Ventre"
+ "llc": {
+ "english_name": "Lele (Guinea)"
},
- "atp": {
- "english_name": "Atta, Pudtol"
+ "bcs": {
+ "english_name": "Kohumono"
},
- "atq": {
- "english_name": "Aralle-Tabulahan"
+ "aja": {
+ "english_name": "Aja (Sudan)"
},
- "atz": {
- "english_name": "Arta"
+ "kab": {
+ "english_name": "Kabyle"
},
- "atx": {
- "english_name": "Arutani"
+ "mdv": {
+ "english_name": "Mixtec, Santa Lucía Monteverde"
},
- "aty": {
- "english_name": "Aneityum"
+ "vkj": {
+ "english_name": "Kujarge"
},
- "kfv": {
- "english_name": "Kurmukar"
+ "kad": {
+ "english_name": "Adara"
},
- "kfw": {
- "english_name": "Naga, Kharam"
+ "ymx": {
+ "english_name": "Muji, Northern"
},
- "kft": {
- "english_name": "Kanjari"
+ "aup": {
+ "english_name": "Makayam"
},
- "kfu": {
- "english_name": "Katkari"
+ "swo": {
+ "english_name": "Shanenawa"
},
- "kfr": {
- "english_name": "Kachchi"
+ "plq": {
+ "english_name": "Palaic"
},
- "kfs": {
- "english_name": "Bilaspuri"
+ "mph": {
+ "english_name": "Maung"
},
- "kfp": {
- "english_name": "Korwa"
+ "ksv": {
+ "english_name": "Kusu"
},
- "kfq": {
- "english_name": "Korku"
+ "zkn": {
+ "english_name": "Kanan"
},
- "kfz": {
- "english_name": "Koromfé"
+ "kcy": {
+ "english_name": "Korandje"
},
- "kfx": {
- "english_name": "Pahari, Kullu"
+ "mzu": {
+ "english_name": "Inapang"
},
- "kfy": {
- "english_name": "Kumaoni"
+ "svm": {
+ "english_name": "Slavomolisano"
},
- "kff": {
- "english_name": "Koya"
+ "aos": {
+ "english_name": "Taikat"
},
- "kfg": {
- "english_name": "Kudiya"
+ "cip": {
+ "english_name": "Chiapanec"
},
- "kfd": {
- "english_name": "Koraga, Korra"
+ "nsp": {
+ "english_name": "Nepalese Sign Language"
},
- "kfe": {
- "english_name": "Kota (India)"
+ "akd": {
+ "english_name": "Ukpet-Ehom"
},
- "kfb": {
- "english_name": "Kolami, Northwestern"
+ "wrd": {
+ "english_name": "Warduji"
},
- "kfc": {
- "english_name": "Konda-Dora"
+ "zng": {
+ "english_name": "Mang"
},
- "kfa": {
- "english_name": "Kodava"
+ "obo": {
+ "english_name": "Manobo, Obo"
},
- "kfn": {
- "english_name": "Kuk"
+ "dwa": {
+ "english_name": "Diri"
},
- "kfo": {
- "english_name": "Koro (Côte d'Ivoire)"
+ "vrt": {
+ "english_name": "Burmbar"
},
- "kfl": {
- "english_name": "Kung"
+ "xem": {
+ "english_name": "Kembayan"
},
- "kfm": {
- "english_name": "Khunsari"
+ "cpc": {
+ "english_name": "Ajyíninka Apurucayali"
},
- "kfj": {
- "english_name": "Kemiehua"
+ "sib": {
+ "english_name": "Sebop"
},
- "kfk": {
- "english_name": "Kinnauri"
+ "mff": {
+ "english_name": "Naki"
},
- "kfh": {
- "english_name": "Kurichiya"
+ "yes": {
+ "english_name": "Nyankpa"
},
- "kfi": {
- "english_name": "Kurumba, Kannada"
+ "txc": {
+ "english_name": "Tsetsaut"
},
- "xib": {
- "english_name": "Iberian"
+ "cbl": {
+ "english_name": "Chin, Bualkhaw"
},
- "xii": {
- "english_name": "Xiri"
+ "fi": {
+ "english_name": "Finnish",
+ "name": "suomi"
},
- "xil": {
- "english_name": "Illyrian"
+ "lgl": {
+ "english_name": "Wala"
},
- "xin": {
- "english_name": "Xinca"
+ "etr": {
+ "english_name": "Edolo"
},
- "xip": {
- "english_name": "Xipináwa"
+ "tyz": {
+ "english_name": "Tày"
},
- "xir": {
- "english_name": "Xiriâna"
+ "aqd": {
+ "english_name": "Dogon, Ampari"
},
- "xiv": {
- "english_name": "Indus Valley Language"
+ "tja": {
+ "english_name": "Tajuasohn"
},
- "xiy": {
- "english_name": "Xipaya"
+ "nnb": {
+ "english_name": "Nande"
},
- "nzs": {
- "english_name": "New Zealand Sign Language"
+ "ayo": {
+ "english_name": "Ayoreo"
},
- "nzu": {
- "english_name": "Teke-Nzikou"
+ "ctp": {
+ "english_name": "Chatino, Western Highland"
},
- "nzz": {
- "english_name": "Dogon, Nanga Dama"
+ "knm": {
+ "english_name": "Kanamarí"
},
- "nzy": {
- "english_name": "Nzakambay"
+ "dgr": {
+ "english_name": "Dogrib"
},
- "nzb": {
- "english_name": "Njebi"
+ "bs": {
+ "english_name": "Bosnian",
+ "name": "Bosnian"
},
- "nza": {
- "english_name": "Mbembe, Tigon"
+ "byv": {
+ "english_name": "Medumba"
},
- "nzk": {
- "english_name": "Nzakara"
+ "kts": {
+ "english_name": "Muyu, South"
},
- "nzi": {
- "english_name": "Nzima"
+ "bpu": {
+ "english_name": "Bongu"
},
- "nzm": {
- "english_name": "Naga, Zeme"
+ "nen": {
+ "english_name": "Nengone"
},
- "tnr": {
- "english_name": "Ménik"
+ "sl": {
+ "english_name": "Slovenian",
+ "name": "slovenščina"
},
- "vgr": {
- "english_name": "Vaghri"
+ "tmd": {
+ "english_name": "Haruai"
},
- "lpx": {
- "english_name": "Lopit"
+ "yrb": {
+ "english_name": "Yareba"
},
- "lpo": {
- "english_name": "Lipo"
+ "rie": {
+ "english_name": "Rien"
},
- "lpn": {
- "english_name": "Naga, Long Phuri"
+ "qu": {
+ "english_name": "Quechua"
},
- "lpe": {
- "english_name": "Lepki"
+ "dgh": {
+ "english_name": "Dghwede"
},
- "lpa": {
- "english_name": "Lelepa"
+ "vmw": {
+ "english_name": "Makhuwa"
+ },
+ "grx": {
+ "english_name": "Guriaso"
+ },
+ "sar": {
+ "english_name": "Saraveca"
},
"ztm": {
"english_name": "Zapotec, San Agustín Mixtepec"
},
- "ztl": {
- "english_name": "Zapotec, Lapaguía-Guivini"
+ "boa": {
+ "english_name": "Bora"
},
- "ztn": {
- "english_name": "Zapotec, Santa Catarina Albarradas"
+ "xga": {
+ "english_name": "Galatian"
},
- "zte": {
- "english_name": "Zapotec, Elotepec"
+ "aas": {
+ "english_name": "Aasáx"
},
- "ztg": {
- "english_name": "Zapotec, Xanaguía"
+ "kif": {
+ "english_name": "Kham, Eastern Parbate"
},
- "zty": {
- "english_name": "Zapotec, Yatee"
+ "bsw": {
+ "english_name": "Baiso"
},
- "ztx": {
- "english_name": "Zapotec, Zaachila"
+ "drd": {
+ "english_name": "Darmiya"
},
- "ztu": {
- "english_name": "Zapotec, Güilá"
+ "twe": {
+ "english_name": "Tewa (Indonesia)"
},
- "ztt": {
- "english_name": "Zapotec, Tejalapan"
+ "abx": {
+ "english_name": "Inabaknon"
},
- "ztq": {
- "english_name": "Zapotec, Quioquitani-Quierí"
+ "ntw": {
+ "english_name": "Nottoway"
},
- "ztp": {
- "english_name": "Zapotec, Loxicha"
+ "lse": {
+ "english_name": "Lusengo"
},
- "zts": {
- "english_name": "Zapotec, Tilquiapan"
+ "xby": {
+ "english_name": "Batyala"
},
- "smp": {
- "english_name": "Samaritan"
+ "cjm": {
+ "english_name": "Cham, Eastern"
},
- "irx": {
- "english_name": "Kamberau"
+ "dgi": {
+ "english_name": "Dagara, Northern"
},
- "iry": {
- "english_name": "Iraya"
+ "xps": {
+ "english_name": "Pisidian"
},
- "irr": {
- "english_name": "Ir"
+ "hlb": {
+ "english_name": "Halbi"
},
- "iru": {
- "english_name": "Irula"
+ "dnt": {
+ "english_name": "Dani, Mid Grand Valley"
},
- "irh": {
- "english_name": "Irarutu"
+ "bht": {
+ "english_name": "Bhattiyali"
},
- "iri": {
- "english_name": "Irigwe"
+ "mbz": {
+ "english_name": "Mixtec, Amoltepec"
},
- "irk": {
- "english_name": "Iraqw"
+ "gvp": {
+ "english_name": "Gavião, Pará"
},
- "irn": {
- "english_name": "Irántxe"
+ "cmr": {
+ "english_name": "Chin, Mro-Khimi"
},
- "xvn": {
- "english_name": "Vandalic"
+ "qvl": {
+ "english_name": "Quechua, Cajatambo North Lima"
},
- "xve": {
- "english_name": "Venetic"
+ "moy": {
+ "english_name": "Shekkacho"
},
- "ire": {
- "english_name": "Iresim"
+ "smy": {
+ "english_name": "Semnani"
},
- "wtw": {
- "english_name": "Wotu"
+ "aqn": {
+ "english_name": "Alta, Northern"
},
- "rgr": {
- "english_name": "Resígaro"
+ "syk": {
+ "english_name": "Sukur"
},
- "rgs": {
- "english_name": "Roglai, Southern"
+ "gdl": {
+ "english_name": "Dirasha"
},
- "wtf": {
- "english_name": "Watiwa"
+ "doh": {
+ "english_name": "Dong"
},
- "wth": {
- "english_name": "Wathawurrung"
+ "jda": {
+ "english_name": "Jad"
},
- "smn": {
- "english_name": "Sami, Inari"
+ "mad": {
+ "english_name": "Madurese"
},
- "wtk": {
- "english_name": "Watakataui"
+ "var": {
+ "english_name": "Huarijio"
},
- "wtm": {
- "english_name": "Mewati"
+ "trj": {
+ "english_name": "Toram"
},
- "rgu": {
- "english_name": "Ringgou"
+ "tvy": {
+ "english_name": "Pidgin, Timor"
},
- "smm": {
- "english_name": "Musasa"
+ "luy": {
+ "english_name": "Luyia"
},
- "and": {
- "english_name": "Ansus"
+ "ldi": {
+ "english_name": "Laari"
},
- "prd": {
- "english_name": "Parsi-Dari"
+ "nlu": {
+ "english_name": "Nchumbulu"
},
- "anf": {
- "english_name": "Animere"
+ "klr": {
+ "english_name": "Khaling"
},
- "prf": {
- "english_name": "Paranan"
+ "mfk": {
+ "english_name": "Mofu, North"
},
- "gxx": {
- "english_name": "Wè Southern"
+ "ksr": {
+ "english_name": "Borong"
},
- "frc": {
- "english_name": "French, Cajun"
+ "akt": {
+ "english_name": "Akolet"
},
- "anb": {
- "english_name": "Andoa"
+ "bkt": {
+ "english_name": "Boloki"
},
- "frd": {
- "english_name": "Fordata"
+ "ruf": {
+ "english_name": "Luguru"
},
- "frk": {
- "english_name": "Frankish"
+ "dka": {
+ "english_name": "Dakpakha"
},
- "anc": {
- "english_name": "Ngas"
+ "bdw": {
+ "english_name": "Baham"
},
- "fro": {
- "english_name": "French, Old (842-ca. 1400)"
+ "myl": {
+ "english_name": "Moma"
},
- "frm": {
- "english_name": "French, Middle (ca. 1400-1600)"
+ "bda": {
+ "english_name": "Bayot"
},
- "frs": {
- "english_name": "Frisian, Eastern"
+ "bpr": {
+ "english_name": "Blaan, Koronadal"
},
- "frr": {
- "english_name": "Frisian, Northern"
+ "ugn": {
+ "english_name": "Ugandan Sign Language"
},
- "frq": {
- "english_name": "Forak"
+ "mel": {
+ "english_name": "Melanau, Central"
},
- "frp": {
- "english_name": "Arpitan"
+ "kwo": {
+ "english_name": "Kwomtari"
},
- "frt": {
- "english_name": "Fortsenal"
+ "bmd": {
+ "english_name": "Manduri, Baga"
},
- "pro": {
- "english_name": "Provençal, Old (to 1500)"
+ "rkw": {
+ "english_name": "Arakwal"
},
- "rge": {
- "english_name": "Romano-Greek"
+ "png": {
+ "english_name": "Pongu"
},
- "prn": {
- "english_name": "Prasuni"
+ "bzm": {
+ "english_name": "Bolondo"
},
- "pri": {
- "english_name": "Paicî"
+ "sbw": {
+ "english_name": "Simba"
},
- "ani": {
- "english_name": "Andi"
+ "aqp": {
+ "english_name": "Atakapa"
},
- "prk": {
- "english_name": "Parauk"
+ "sah": {
+ "english_name": "Yakut"
},
- "ant": {
- "english_name": "Antakarinya"
+ "cps": {
+ "english_name": "Capiznon"
},
- "rgk": {
- "english_name": "Rangkas"
+ "dze": {
+ "english_name": "Djiwarli"
},
- "prt": {
- "english_name": "Phai"
+ "srs": {
+ "english_name": "Sarsi"
},
- "prw": {
- "english_name": "Parawen"
+ "anz": {
+ "english_name": "Anem"
},
- "sjr": {
- "english_name": "Siar-Lak"
+ "skw": {
+ "english_name": "Creole Dutch, Skepi"
},
- "rgn": {
- "english_name": "Romagnol"
+ "nut": {
+ "english_name": "Nung (Viet Nam)"
},
- "anp": {
- "english_name": "Angika"
+ "ngc": {
+ "english_name": "Ngombe (Democratic Republic of Congo)"
},
- "sjp": {
- "english_name": "Surjapuri"
+ "xrb": {
+ "english_name": "Karaboro, Eastern"
},
- "prp": {
- "english_name": "Parsi"
+ "btm": {
+ "english_name": "Batak Mandailing"
},
- "anr": {
- "english_name": "Andh"
+ "poo": {
+ "english_name": "Pomo, Central"
},
- "tzx": {
- "english_name": "Tabriak"
+ "tlb": {
+ "english_name": "Tobelo"
},
- "ans": {
- "english_name": "Anserma"
+ "nil": {
+ "english_name": "Nila"
},
- "qwm": {
- "english_name": "Kuman (Russia)"
+ "nns": {
+ "english_name": "Ningye"
},
- "sjw": {
- "english_name": "Shawnee"
+ "skg": {
+ "english_name": "Malagasy, Sakalava"
},
- "tza": {
- "english_name": "Tanzanian Sign Language"
+ "sww": {
+ "english_name": "Sowa"
},
- "tzh": {
- "english_name": "Tzeltal"
+ "kyg": {
+ "english_name": "Keyagana"
},
- "tzj": {
- "english_name": "Tz'utujil"
+ "hah": {
+ "english_name": "Hahon"
},
- "tzm": {
- "english_name": "Tamazight, Central Atlas"
+ "hii": {
+ "english_name": "Hinduri"
},
- "tzl": {
- "english_name": "Talossan"
+ "fui": {
+ "english_name": "Fulfulde, Bagirmi"
},
- "tzo": {
- "english_name": "Tzotzil"
+ "ahh": {
+ "english_name": "Aghu"
},
- "tzn": {
- "english_name": "Tugun"
+ "tec": {
+ "english_name": "Terik"
},
- "dho": {
- "english_name": "Dhodia"
+ "whu": {
+ "english_name": "Kayan, Wahau"
},
- "dhn": {
- "english_name": "Dhanki"
+ "txt": {
+ "english_name": "Citak"
},
- "dhm": {
- "english_name": "Zemba"
+ "qug": {
+ "english_name": "Quichua, Chimborazo Highland"
},
- "dhl": {
- "english_name": "Dhalandji"
+ "bhg": {
+ "english_name": "Binandere"
},
- "dhi": {
- "english_name": "Dhimal"
+ "xsn": {
+ "english_name": "Sanga (Nigeria)"
},
- "dhg": {
- "english_name": "Djangu"
+ "tbu": {
+ "english_name": "Tubar"
},
- "anx": {
- "english_name": "Andra-Hus"
+ "ysl": {
+ "english_name": "Yugoslavian Sign Language"
},
- "dhd": {
- "english_name": "Dhundari"
+ "kfd": {
+ "english_name": "Koraga, Korra"
},
- "any": {
- "english_name": "Anyin"
+ "mt": {
+ "english_name": "Maltese",
+ "name": "Malti"
},
- "dhx": {
- "english_name": "Dhungaloo"
+ "saq": {
+ "english_name": "Samburu"
},
- "dhw": {
- "english_name": "Dhanwar (Nepal)"
+ "stp": {
+ "english_name": "Tepehuan, Southeastern"
},
- "dhv": {
- "english_name": "Dehu"
+ "sbq": {
+ "english_name": "Sileibi"
},
- "dhu": {
- "english_name": "Dhurga"
+ "tnb": {
+ "english_name": "Tunebo, Western"
},
- "dhs": {
- "english_name": "Dhaiso"
+ "aec": {
+ "english_name": "Arabic, Saidi"
},
- "dhr": {
- "english_name": "Dhargari"
+ "tpg": {
+ "english_name": "Kula"
},
- "sjo": {
- "english_name": "Xibe"
+ "kjo": {
+ "english_name": "Kinnauri, Harijan"
},
- "sjl": {
- "english_name": "Sajalong"
+ "leq": {
+ "english_name": "Lembena"
},
- "jku": {
- "english_name": "Labir"
+ "ktd": {
+ "english_name": "Kokata"
},
- "sjm": {
- "english_name": "Mapun"
+ "tad": {
+ "english_name": "Tause"
},
- "jkp": {
- "english_name": "Karen, Paku"
+ "mtq": {
+ "english_name": "Muong"
},
- "jkr": {
- "english_name": "Koro (India)"
+ "tig": {
+ "english_name": "Tigre",
+ "name": "ትግረ"
},
- "jkm": {
- "english_name": "Karen, Mobwa"
+ "ht": {
+ "english_name": "Haitian"
},
- "jko": {
- "english_name": "Kubo"
+ "nkk": {
+ "english_name": "Nokuku"
},
- "sja": {
- "english_name": "Epena"
+ "blj": {
+ "english_name": "Bolongan"
},
- "sjg": {
- "english_name": "Assangori"
+ "tdo": {
+ "english_name": "Teme"
},
- "sjd": {
- "english_name": "Sami, Kildin"
+ "xmc": {
+ "english_name": "Makhuwa-Marrevone"
},
- "smd": {
- "english_name": "Sama"
+ "mbf": {
+ "english_name": "Malay, Baba"
},
- "hah": {
- "english_name": "Hahon"
+ "aty": {
+ "english_name": "Aneityum"
},
- "bnz": {
- "english_name": "Beezen"
+ "grb": {
+ "english_name": "Grebo"
},
- "bny": {
- "english_name": "Bintulu"
+ "cwe": {
+ "english_name": "Kwere"
},
- "bnx": {
- "english_name": "Bangubangu"
+ "cfa": {
+ "english_name": "Dijim-Bwilim"
},
- "hal": {
- "english_name": "Halang"
+ "gig": {
+ "english_name": "Goaria"
},
- "ham": {
- "english_name": "Hewa"
+ "mxn": {
+ "english_name": "Moi (Indonesia)"
},
- "han": {
- "english_name": "Hangaza"
+ "zac": {
+ "english_name": "Zapotec, Ocotlán"
},
- "hao": {
- "english_name": "Hakö"
+ "bny": {
+ "english_name": "Bintulu"
},
- "bns": {
- "english_name": "Bundeli"
+ "jeu": {
+ "english_name": "Jonkor Bourmataguil"
},
- "bnr": {
- "english_name": "Butmas-Tur"
+ "gnk": {
+ "english_name": "//Gana"
},
- "bnq": {
- "english_name": "Bantik"
+ "pfa": {
+ "english_name": "Pááfang"
},
- "hac": {
- "english_name": "Gurani"
+ "bcq": {
+ "english_name": "Bench"
},
- "had": {
- "english_name": "Hatam"
+ "dbv": {
+ "english_name": "Dungu"
},
- "hae": {
- "english_name": "Oromo, Eastern"
+ "zhn": {
+ "english_name": "Zhuang, Nong"
},
- "haf": {
- "english_name": "Haiphong Sign Language"
+ "hba": {
+ "english_name": "Hamba"
},
- "hag": {
- "english_name": "Hanga"
+ "kte": {
+ "english_name": "Nubri"
},
- "hax": {
- "english_name": "Haida, Southern"
+ "fy": {
+ "english_name": "Frisian, Western"
},
- "bnj": {
- "english_name": "Tawbuid, Eastern"
+ "nhi": {
+ "english_name": "Nahuatl, Zacatlán-Ahuacatlán-Tepetzintla"
},
- "bni": {
- "english_name": "Bangi"
+ "okx": {
+ "english_name": "Okpe (Northwestern Edo)"
},
- "bno": {
- "english_name": "Bantoanon"
+ "kwa": {
+ "english_name": "Dâw"
},
- "bnn": {
- "english_name": "Bunun"
+ "kjh": {
+ "english_name": "Khakas"
},
- "bnm": {
- "english_name": "Batanga"
+ "mr": {
+ "english_name": "Marathi",
+ "name": "मराठी"
},
- "bnl": {
- "english_name": "Boon"
+ "ngz": {
+ "english_name": "Ngungwel"
},
- "hap": {
- "english_name": "Hupla"
+ "gbi": {
+ "english_name": "Galela"
},
- "haq": {
- "english_name": "Ha"
+ "ubu": {
+ "english_name": "Umbu-Ungu"
},
- "har": {
- "english_name": "Harari"
+ "bgn": {
+ "english_name": "Balochi, Western"
},
- "has": {
- "english_name": "Haisla"
+ "las": {
+ "english_name": "Lama (Togo)"
},
- "bng": {
- "english_name": "Benga"
+ "ojp": {
+ "english_name": "Japanese, Old"
},
- "bnf": {
- "english_name": "Masiwang"
+ "asd": {
+ "english_name": "Asas"
},
- "bne": {
- "english_name": "Bintauna"
+ "nej": {
+ "english_name": "Neko"
},
- "bnd": {
- "english_name": "Banda (Indonesia)"
+ "ygr": {
+ "english_name": "Yagaria"
},
- "ola": {
- "english_name": "Walungge"
+ "goz": {
+ "english_name": "Gozarkhani"
},
- "old": {
- "english_name": "Mochi"
+ "nat": {
+ "english_name": "Hungworo"
},
- "ole": {
- "english_name": "Olekha"
+ "ymp": {
+ "english_name": "Yamap"
},
- "olk": {
- "english_name": "Olkol"
+ "zaz": {
+ "english_name": "Zari"
},
- "olm": {
- "english_name": "Oloma"
+ "yaz": {
+ "english_name": "Lokaa"
},
- "olo": {
- "english_name": "Livvi"
+ "nd": {
+ "english_name": "Ndebele, North"
},
- "olr": {
- "english_name": "Olrat"
+ "lkm": {
+ "english_name": "Kalaamaya"
},
- "umu": {
- "english_name": "Munsee"
+ "brl": {
+ "english_name": "Birwa"
},
- "ump": {
- "english_name": "Umpila"
+ "lbj": {
+ "english_name": "Ladakhi"
},
- "for": {
- "english_name": "Fore"
+ "chk": {
+ "english_name": "Chuukese"
},
- "fos": {
- "english_name": "Siraya"
+ "mva": {
+ "english_name": "Manam"
},
- "fod": {
- "english_name": "Foodo"
+ "lvk": {
+ "english_name": "Lavukaleve"
},
- "umd": {
- "english_name": "Umbindhamu"
+ "hnj": {
+ "english_name": "Hmong Njua"
},
- "umg": {
- "english_name": "Umbuygamu"
+ "lko": {
+ "english_name": "Khayo"
},
- "uma": {
- "english_name": "Umatilla"
+ "mgi": {
+ "english_name": "Lijili"
},
- "umc": {
- "english_name": "Marrucinian"
+ "cmo": {
+ "english_name": "Mnong, Central"
},
- "umb": {
- "english_name": "Umbundu"
+ "woa": {
+ "english_name": "Tyaraity"
},
- "umm": {
- "english_name": "Umon"
+ "eky": {
+ "english_name": "Kayah, Eastern"
},
- "fom": {
- "english_name": "Foma"
+ "yoy": {
+ "english_name": "Yoy"
},
- "fon": {
- "english_name": "Fon"
+ "bap": {
+ "english_name": "Bantawa"
},
- "umn": {
- "english_name": "Naga, Makyan"
+ "auq": {
+ "english_name": "Anus"
},
- "umi": {
- "english_name": "Ukit"
+ "sam": {
+ "english_name": "Aramaic, Samaritan"
},
- "foi": {
- "english_name": "Foi"
+ "nhm": {
+ "english_name": "Nahuatl, Morelos"
},
- "mbl": {
- "english_name": "Maxakalí"
+ "agb": {
+ "english_name": "Legbo"
},
- "mbm": {
- "english_name": "Ombamba"
+ "dag": {
+ "english_name": "Dagbani"
},
- "mbn": {
- "english_name": "Macaguán"
+ "sep": {
+ "english_name": "Sénoufo, Sìcìté"
},
- "mbo": {
- "english_name": "Mbo (Cameroon)"
+ "kbm": {
+ "english_name": "Iwal"
},
- "mbh": {
- "english_name": "Mangseng"
+ "tqw": {
+ "english_name": "Tonkawa"
},
- "mbi": {
- "english_name": "Manobo, Ilianen"
+ "cwb": {
+ "english_name": "Maindo"
},
- "mbj": {
- "english_name": "Nadëb"
+ "ba": {
+ "english_name": "Bashkir"
},
- "mbk": {
- "english_name": "Malol"
+ "nht": {
+ "english_name": "Nahuatl, Ometepec"
},
- "mbd": {
- "english_name": "Manobo, Dibabawon"
+ "kfo": {
+ "english_name": "Koro (Côte d'Ivoire)"
},
- "mbe": {
- "english_name": "Molale"
+ "hol": {
+ "english_name": "Holu"
},
- "mbf": {
- "english_name": "Malay, Baba"
+ "bqi": {
+ "english_name": "Bakhtiari"
},
- "soj": {
- "english_name": "Soi"
+ "ggn": {
+ "english_name": "Gurung, Eastern"
},
- "mba": {
- "english_name": "Higaonon"
+ "mvm": {
+ "english_name": "Muya"
},
- "mbb": {
- "english_name": "Manobo, Western Bukidnon"
+ "shq": {
+ "english_name": "Sala"
},
- "mbc": {
- "english_name": "Macushi"
+ "tom": {
+ "english_name": "Tombulu"
},
- "soq": {
- "english_name": "Kanasi"
+ "bsp": {
+ "english_name": "Baga Sitemu"
},
- "sop": {
- "english_name": "Songe"
+ "dau": {
+ "english_name": "Daju, Dar Sila"
},
- "sos": {
- "english_name": "Seeku"
+ "trw": {
+ "english_name": "Torwali"
},
- "sor": {
- "english_name": "Somrai"
+ "car": {
+ "english_name": "Carib, Galibi"
},
- "mbx": {
- "english_name": "Mari (East Sepik Province)"
+ "xpr": {
+ "english_name": "Parthian"
},
- "mby": {
- "english_name": "Memoni"
+ "tmp": {
+ "english_name": "Tai Mène"
},
- "mbz": {
- "english_name": "Mixtec, Amoltepec"
+ "bkw": {
+ "english_name": "Bekwel"
},
- "sov": {
- "english_name": "Sonsorol"
+ "wll": {
+ "english_name": "Wali (Sudan)"
},
- "mbt": {
- "english_name": "Manobo, Matigsalug"
+ "kgb": {
+ "english_name": "Kawe"
},
- "mbu": {
- "english_name": "Mbula-Bwazza"
+ "peq": {
+ "english_name": "Pomo, Southern"
},
- "mbv": {
- "english_name": "Mbulungish"
+ "mcb": {
+ "english_name": "Machiguenga"
},
- "mbw": {
- "english_name": "Maring"
+ "pka": {
+ "english_name": "Prākrit, Ardhamāgadhī"
},
- "mbp": {
- "english_name": "Malayo"
+ "lih": {
+ "english_name": "Lihir"
},
- "mbq": {
- "english_name": "Maisin"
+ "ska": {
+ "english_name": "Skagit"
},
- "mbr": {
- "english_name": "Nukak Makú"
+ "mze": {
+ "english_name": "Morawa"
},
- "mbs": {
- "english_name": "Manobo, Sarangani"
+ "tlm": {
+ "english_name": "Tolomako"
},
- "azj": {
- "english_name": "Azerbaijani, North"
+ "ulw": {
+ "english_name": "Ulwa"
},
- "azm": {
- "english_name": "Amuzgo, Ipalapa"
+ "rug": {
+ "english_name": "Roviana"
},
- "azn": {
- "english_name": "Nahuatl, Western Durango"
+ "kpr": {
+ "english_name": "Korafe-Yegha"
},
- "azo": {
- "english_name": "Awing"
+ "ary": {
+ "english_name": "Arabic, Moroccan"
},
- "aza": {
- "english_name": "Azha"
+ "eso": {
+ "english_name": "Estonian Sign Language"
},
- "azb": {
- "english_name": "Azerbaijani, South"
+ "xgl": {
+ "english_name": "Galindan"
},
- "azd": {
- "english_name": "Nahuatl, Eastern Durango"
+ "kvq": {
+ "english_name": "Karen, Geba"
},
- "azg": {
- "english_name": "Amuzgo, San Pedro Amuzgos"
+ "xkd": {
+ "english_name": "Kayan, Mendalam"
},
- "azz": {
- "english_name": "Nahuatl, Highland Puebla"
+ "bwb": {
+ "english_name": "Namosi-Naitasiri-Serua"
},
- "azt": {
- "english_name": "Atta, Faire"
+ "ttv": {
+ "english_name": "Titan"
},
- "khx": {
- "english_name": "Kanu"
+ "nyj": {
+ "english_name": "Nyanga"
},
- "khy": {
- "english_name": "Kele (Democratic Republic of Congo)"
+ "bok": {
+ "english_name": "Bonjo"
},
- "khz": {
- "english_name": "Keapara"
+ "nhc": {
+ "english_name": "Nahuatl, Tabasco"
},
- "khp": {
- "english_name": "Kapori"
+ "wsa": {
+ "english_name": "Warembori"
},
- "khq": {
- "english_name": "Songhay, Koyra Chiini"
+ "bnk": {
+ "english_name": "Bierebo"
},
- "khr": {
- "english_name": "Kharia"
+ "boq": {
+ "english_name": "Bogaya"
},
- "khs": {
- "english_name": "Kasua"
+ "nyh": {
+ "english_name": "Nyigina"
},
- "kht": {
- "english_name": "Khamti"
+ "rog": {
+ "english_name": "Roglai, Northern"
},
- "khu": {
- "english_name": "Nkhumbi"
+ "swf": {
+ "english_name": "Sere"
},
- "khv": {
- "english_name": "Khvarshi"
+ "cpo": {
+ "english_name": "Kpeego"
},
- "khw": {
- "english_name": "Khowar"
+ "krd": {
+ "english_name": "Kairui-Midiki"
},
- "khh": {
- "english_name": "Kehu"
+ "tyj": {
+ "english_name": "Tai Do"
},
- "khj": {
- "english_name": "Kuturmi"
+ "zrg": {
+ "english_name": "Mirgan"
},
- "khk": {
- "english_name": "Mongolian, Halh"
+ "mki": {
+ "english_name": "Dhatki"
},
- "khl": {
- "english_name": "Lusi"
+ "jpa": {
+ "english_name": "Aramaic, Jewish Palestinian"
},
- "khn": {
- "english_name": "Khandesi"
+ "uun": {
+ "english_name": "Kulon-Pazeh"
},
- "kho": {
- "english_name": "Khotanese"
+ "tdt": {
+ "english_name": "Tetun Dili"
},
- "kha": {
- "english_name": "Khasi"
+ "bhc": {
+ "english_name": "Biga"
},
- "khb": {
- "english_name": "Lü"
+ "bnc": {
+ "english_name": "Bontok"
},
- "khc": {
- "english_name": "Tukang Besi North"
+ "ekm": {
+ "english_name": "Elip"
},
- "khd": {
- "english_name": "Kanum, Bädi"
+ "lcl": {
+ "english_name": "Lisela"
},
- "khe": {
- "english_name": "Korowai"
+ "pmy": {
+ "english_name": "Malay, Papuan"
},
- "khf": {
- "english_name": "Khuen"
+ "xeu": {
+ "english_name": "Keoru-Ahia"
},
- "khg": {
- "english_name": "Tibetan, Khams"
+ "nif": {
+ "english_name": "Nek"
},
- "xkj": {
- "english_name": "Kajali"
+ "ilk": {
+ "english_name": "Ilongot"
},
- "xkk": {
- "english_name": "Kaco'"
+ "cof": {
+ "english_name": "Colorado"
},
- "xkh": {
- "english_name": "Karahawyana"
+ "nhy": {
+ "english_name": "Nahuatl, Northern Oaxaca"
},
- "xki": {
- "english_name": "Kenyan Sign Language"
+ "bth": {
+ "english_name": "Bidayuh, Biatah"
},
- "xkn": {
- "english_name": "Kayan, Kayan River"
+ "tla": {
+ "english_name": "Tepehuan, Southwestern"
},
- "xko": {
- "english_name": "Kiorr"
+ "xcm": {
+ "english_name": "Comecrudo"
},
- "xkl": {
- "english_name": "Mainstream Kenyah"
+ "crt": {
+ "english_name": "Chorote, Iyojwa'ja"
},
- "xkb": {
- "english_name": "Nago, Northern"
+ "raf": {
+ "english_name": "Meohang, Western"
},
- "xkc": {
- "english_name": "Kho'ini"
+ "ifu": {
+ "english_name": "Ifugao, Mayoyao"
},
- "xka": {
- "english_name": "Kalkoti"
+ "rau": {
+ "english_name": "Raute"
},
- "xkf": {
- "english_name": "Khengkha"
+ "xbc": {
+ "english_name": "Bactrian"
},
- "xkg": {
- "english_name": "Kagoro"
+ "arn": {
+ "english_name": "Mapudungun"
},
- "xkd": {
- "english_name": "Kayan, Mendalam"
+ "yia": {
+ "english_name": "Yinggarda"
},
- "xke": {
- "english_name": "Kereho"
+ "eip": {
+ "english_name": "Eipomek"
},
- "xkz": {
- "english_name": "Kurtokha"
+ "wro": {
+ "english_name": "Worrorra"
},
- "xkx": {
- "english_name": "Karore"
+ "sif": {
+ "english_name": "Siamou"
},
- "xky": {
- "english_name": "Uma' Lasan"
+ "bjf": {
+ "english_name": "Neo-Aramaic, Barzani Jewish"
},
- "xkr": {
- "english_name": "Xakriabá"
+ "sau": {
+ "english_name": "Saleman"
},
- "xks": {
- "english_name": "Kumbewaha"
+ "zmu": {
+ "english_name": "Muruwari"
},
- "xkp": {
- "english_name": "Kabatei"
+ "bar": {
+ "english_name": "Bavarian"
},
- "xkq": {
- "english_name": "Koroni"
+ "dbt": {
+ "english_name": "Dogon, Ben Tey"
},
- "xkv": {
- "english_name": "Kgalagadi"
+ "ets": {
+ "english_name": "Yekhee"
},
- "xkw": {
- "english_name": "Kembra"
+ "czt": {
+ "english_name": "Chin, Zotung"
},
- "xkt": {
- "english_name": "Kantosi"
+ "dgc": {
+ "english_name": "Agta, Casiguran Dumagat"
},
- "xku": {
- "english_name": "Kaamba"
+ "kgr": {
+ "english_name": "Abun"
},
- "nxu": {
- "english_name": "Narau"
+ "bek": {
+ "english_name": "Bebeli"
},
- "nxq": {
- "english_name": "Naxi"
+ "taz": {
+ "english_name": "Tocho"
},
- "nxr": {
- "english_name": "Ninggerum"
+ "lep": {
+ "english_name": "Lepcha"
},
- "nxx": {
- "english_name": "Nafri"
+ "kmv": {
+ "english_name": "Creole French, Karipúna"
},
- "nxe": {
- "english_name": "Nage"
+ "nim": {
+ "english_name": "Nilamba"
},
- "nxd": {
- "english_name": "Ngando (Democratic Republic of Congo)"
+ "tum": {
+ "english_name": "Tumbuka"
},
- "nxg": {
- "english_name": "Ngad'a"
+ "bsu": {
+ "english_name": "Bahonsuai"
},
- "nxa": {
- "english_name": "Nauete"
+ "tco": {
+ "english_name": "Taungyo"
},
- "nxm": {
- "english_name": "Numidian"
+ "spm": {
+ "english_name": "Akukem"
},
- "nxl": {
- "english_name": "Nuaulu, South"
+ "jv": {
+ "english_name": "Javanese"
},
- "nxn": {
- "english_name": "Ngawun"
+ "isa": {
+ "english_name": "Isabi"
},
- "nxi": {
- "english_name": "Nindi"
+ "fay": {
+ "english_name": "Fars, Southwestern"
},
- "nxk": {
- "english_name": "Naga, Koki"
+ "pln": {
+ "english_name": "Palenquero"
},
- "osx": {
- "english_name": "Saxon, Old"
+ "qvj": {
+ "english_name": "Quichua, Loja Highland"
},
- "osp": {
- "english_name": "Spanish, Old"
+ "xav": {
+ "english_name": "Xavánte"
},
- "osu": {
- "english_name": "One, Southern"
+ "vsv": {
+ "english_name": "Valencian Sign Language"
},
- "ost": {
- "english_name": "Osatu"
+ "tyl": {
+ "english_name": "Thu Lao"
},
- "osi": {
- "english_name": "Osing"
+ "spq": {
+ "english_name": "Spanish, Loreto-Ucayali"
},
- "oso": {
- "english_name": "Ososo"
+ "ak": {
+ "english_name": "Akan"
},
- "osa": {
- "english_name": "Osage"
+ "mug": {
+ "english_name": "Musgu"
},
- "tkb": {
- "english_name": "Buksa"
+ "jum": {
+ "english_name": "Jumjum"
},
- "osc": {
- "english_name": "Oscan"
+ "era": {
+ "english_name": "Eravallan"
},
- "ver": {
- "english_name": "Mom Jango"
+ "kjb": {
+ "english_name": "Q'anjob'al"
},
- "vep": {
- "english_name": "Veps"
+ "irh": {
+ "english_name": "Irarutu"
},
- "tka": {
- "english_name": "Truká"
+ "elx": {
+ "english_name": "Elamite"
},
- "tkn": {
- "english_name": "Toku-No-Shima"
+ "cay": {
+ "english_name": "Cayuga"
},
- "ved": {
- "english_name": "Veddah"
+ "yun": {
+ "english_name": "Bena (Nigeria)"
},
- "vec": {
- "english_name": "Venetian"
+ "god": {
+ "english_name": "Godié"
},
- "veo": {
- "english_name": "Ventureño"
+ "nnp": {
+ "english_name": "Naga, Wancho"
},
- "vel": {
- "english_name": "Veluws"
+ "kem": {
+ "english_name": "Kemak"
},
- "vem": {
- "english_name": "Vemgo-Mabas"
+ "knu": {
+ "english_name": "Kono (Guinea)"
},
- "lra": {
- "english_name": "Rara Bakati'"
+ "grc": {
+ "english_name": "Greek, Ancient (to 1453)"
},
- "lrc": {
- "english_name": "Luri, Northern"
+ "muz": {
+ "english_name": "Mursi"
},
- "tkm": {
- "english_name": "Takelma"
+ "gye": {
+ "english_name": "Gyem"
},
- "lre": {
- "english_name": "Laurentian"
+ "noe": {
+ "english_name": "Nimadi"
},
- "lrg": {
- "english_name": "Laragia"
+ "sgy": {
+ "english_name": "Sanglechi"
},
- "lri": {
- "english_name": "Marachi"
+ "bvu": {
+ "english_name": "Malay, Bukit"
},
- "lrk": {
- "english_name": "Loarki"
+ "fln": {
+ "english_name": "Flinders Island"
},
- "lrm": {
- "english_name": "Marama"
+ "qul": {
+ "english_name": "Quechua, North Bolivian"
},
- "lrl": {
- "english_name": "Lari"
+ "uta": {
+ "english_name": "Otank"
},
- "lro": {
- "english_name": "Laro"
+ "ebu": {
+ "english_name": "Embu"
},
- "lrn": {
- "english_name": "Lorang"
+ "hmi": {
+ "english_name": "Hmong, Northern Huishui"
},
- "lrr": {
- "english_name": "Yamphu, Southern"
+ "tku": {
+ "english_name": "Totonac, Upper Necaxa"
},
- "lrt": {
- "english_name": "Malay, Larantuka"
+ "ppe": {
+ "english_name": "Papi"
},
- "lrv": {
- "english_name": "Larevat"
+ "ril": {
+ "english_name": "Riang (Myanmar)"
},
- "lrz": {
- "english_name": "Lemerig"
+ "iya": {
+ "english_name": "Iyayu"
},
- "tkt": {
- "english_name": "Tharu, Kathoriya"
+ "gwx": {
+ "english_name": "Gua"
},
- "tkr": {
- "english_name": "Tsakhur"
+ "sjw": {
+ "english_name": "Shawnee"
},
- "tkp": {
- "english_name": "Tikopia"
+ "kpo": {
+ "english_name": "Ikposo"
},
- "zrs": {
- "english_name": "Mairasi"
+ "ars": {
+ "english_name": "Arabic, Najdi"
},
- "zrp": {
- "english_name": "Zarphatic"
+ "xru": {
+ "english_name": "Marriammu"
},
- "zrg": {
- "english_name": "Mirgan"
+ "nmg": {
+ "english_name": "Kwasio"
},
- "tkx": {
- "english_name": "Tangko"
+ "slu": {
+ "english_name": "Selaru"
},
- "zra": {
- "english_name": "Kara (Korea)"
+ "lmv": {
+ "english_name": "Lomaiviti"
},
- "zro": {
- "english_name": "Záparo"
+ "ide": {
+ "english_name": "Idere"
},
- "zrn": {
- "english_name": "Zerenkel"
+ "bev": {
+ "english_name": "Bété, Daloa"
},
- "rea": {
- "english_name": "Rerau"
+ "xat": {
+ "english_name": "Katawixi"
},
- "ydg": {
- "english_name": "Yidgha"
+ "wbl": {
+ "english_name": "Wakhi"
},
- "ydd": {
- "english_name": "Yiddish, Eastern"
+ "gno": {
+ "english_name": "Gondi, Northern"
},
- "yde": {
- "english_name": "Yangum Dey"
+ "ngy": {
+ "english_name": "Tibea"
},
- "yda": {
- "english_name": "Yanda"
+ "fie": {
+ "english_name": "Fyer"
},
- "ipi": {
- "english_name": "Ipili"
+ "vau": {
+ "english_name": "Vanuma"
},
- "ipo": {
- "english_name": "Ipiko"
+ "bml": {
+ "english_name": "Bomboli"
},
- "gzn": {
- "english_name": "Gane"
+ "gip": {
+ "english_name": "Gimi (West New Britain)"
},
- "gzi": {
- "english_name": "Gazi"
+ "dia": {
+ "english_name": "Dia"
},
- "gza": {
- "english_name": "Ganza"
+ "ury": {
+ "english_name": "Orya"
},
- "ssx": {
- "english_name": "Samberigi"
+ "kmj": {
+ "english_name": "Kumarbhag Paharia"
},
- "fpe": {
- "english_name": "Creole English, Fernando Po"
+ "ort": {
+ "english_name": "Oriya, Adivasi"
},
- "sst": {
- "english_name": "Sinasina"
+ "ast": {
+ "english_name": "Asturian",
+ "name": "Asturianu"
},
- "ssl": {
- "english_name": "Sisaala, Western"
+ "ptw": {
+ "english_name": "Pentlatch"
},
- "ss": {
- "english_name": "Swati"
+ "vma": {
+ "english_name": "Martuyhunira"
},
- "sr": {
- "name": "српски",
- "english_name": "Serbian"
+ "emu": {
+ "english_name": "Muria, Eastern"
},
- "sq": {
- "english_name": "Albanian"
+ "emg": {
+ "english_name": "Meohang, Eastern"
},
- "sw": {
- "english_name": "Swahili (macrolanguage)"
+ "puj": {
+ "english_name": "Punan Tubu"
},
- "sv": {
- "name": "Svenska",
- "english_name": "Swedish"
+ "bcg": {
+ "english_name": "Baga Binari"
},
- "su": {
- "english_name": "Sundanese"
+ "kkq": {
+ "english_name": "Kaiku"
},
- "st": {
- "english_name": "Sotho, Southern"
+ "gea": {
+ "english_name": "Geruma"
},
- "sk": {
- "name": "Slovenský",
- "english_name": "Slovak"
+ "kdr": {
+ "english_name": "Karaim"
},
- "si": {
- "english_name": "Sinhala"
+ "ima": {
+ "english_name": "Malasar, Mala"
},
- "ssn": {
- "english_name": "Waata"
+ "afk": {
+ "english_name": "Nanubae"
},
- "so": {
- "english_name": "Somali"
+ "auh": {
+ "english_name": "Aushi"
},
- "sn": {
- "english_name": "Shona"
+ "ksx": {
+ "english_name": "Kedang"
},
- "sm": {
- "english_name": "Samoan"
+ "dnr": {
+ "english_name": "Danaru"
},
- "sl": {
- "name": "slovenščina",
- "english_name": "Slovenian"
+ "kku": {
+ "english_name": "Tumi"
+ },
+ "ckl": {
+ "english_name": "Cibak"
+ },
+ "gaj": {
+ "english_name": "Gadsup"
+ },
+ "obm": {
+ "english_name": "Moabite"
},
"sc": {
"english_name": "Sardinian"
},
- "sa": {
- "english_name": "Sanskrit"
+ "lbx": {
+ "english_name": "Lawangan"
},
- "sg": {
- "english_name": "Sango"
+ "pno": {
+ "english_name": "Panobo"
},
- "se": {
- "english_name": "Sami, Northern"
+ "bds": {
+ "english_name": "Burunge"
},
- "sd": {
- "english_name": "Sindhi"
+ "crc": {
+ "english_name": "Lonwolwol"
},
- "ttz": {
- "english_name": "Tsum"
+ "gwn": {
+ "english_name": "Gwandara"
},
- "tty": {
- "english_name": "Sikaritai"
+ "tnd": {
+ "english_name": "Tunebo, Angosturas"
},
- "tts": {
- "english_name": "Thai, Northeastern"
+ "daj": {
+ "english_name": "Daju, Dar Fur"
},
- "ttr": {
- "english_name": "Tera"
+ "iwk": {
+ "english_name": "I-Wak"
},
- "ttq": {
- "english_name": "Tamajaq, Tawallammat"
+ "hsb": {
+ "english_name": "Sorbian, Upper"
},
- "ttp": {
- "english_name": "Tombelala"
+ "kvz": {
+ "english_name": "Tsakwambo"
},
- "ttw": {
- "english_name": "Long Wat"
+ "zen": {
+ "english_name": "Zenaga"
},
- "ttv": {
- "english_name": "Titan"
+ "tgv": {
+ "english_name": "Tingui-Boto"
},
- "ttu": {
- "english_name": "Torau"
+ "yel": {
+ "english_name": "Yela"
},
- "ttt": {
- "english_name": "Tat, Muslim"
+ "av": {
+ "english_name": "Avaric"
},
- "ttk": {
- "english_name": "Totoro"
+ "pin": {
+ "english_name": "Piame"
},
- "sse": {
- "english_name": "Balangingi"
+ "aed": {
+ "english_name": "Argentine Sign Language"
},
- "tti": {
- "english_name": "Tobati"
+ "esk": {
+ "english_name": "Inupiatun, Northwest Alaska"
},
- "tth": {
- "english_name": "Ta'oih, Upper"
+ "jul": {
+ "english_name": "Jirel"
},
- "tto": {
- "english_name": "Ta'oih, Lower"
+ "mkf": {
+ "english_name": "Miya"
},
- "ttn": {
- "english_name": "Towei"
+ "mgo": {
+ "english_name": "Meta'"
},
- "ttm": {
- "english_name": "Tutchone, Northern"
+ "tao": {
+ "english_name": "Yami"
},
- "ttl": {
- "english_name": "Totela"
+ "paw": {
+ "english_name": "Pawnee"
},
- "ttc": {
- "english_name": "Tektiteko"
+ "los": {
+ "english_name": "Loniu"
},
- "ttb": {
- "english_name": "Gaa"
+ "iby": {
+ "english_name": "Ibani"
},
- "tta": {
- "english_name": "Tutelo"
+ "kxm": {
+ "english_name": "Khmer, Northern"
},
- "ttg": {
- "english_name": "Tutong"
+ "bxk": {
+ "english_name": "Bukusu"
},
- "ttf": {
- "english_name": "Tuotomb"
+ "wbk": {
+ "english_name": "Waigali"
},
- "tte": {
- "english_name": "Bwanabwana"
+ "tdq": {
+ "english_name": "Tita"
},
- "ttd": {
- "english_name": "Tauade"
+ "bwy": {
+ "english_name": "Bwamu, Cwi"
},
- "jig": {
- "english_name": "Djingili"
+ "atk": {
+ "english_name": "Ati"
},
- "jid": {
- "english_name": "Bu"
+ "tss": {
+ "english_name": "Taiwan Sign Language"
},
- "djr": {
- "english_name": "Djambarrpuyngu"
+ "jiu": {
+ "english_name": "Jinuo, Youle"
},
- "dju": {
- "english_name": "Kapriman"
+ "ywa": {
+ "english_name": "Kalou"
},
- "jic": {
- "english_name": "Tol"
+ "nxe": {
+ "english_name": "Nage"
},
- "djw": {
- "english_name": "Djawi"
+ "gom": {
+ "english_name": "Konkani, Goan"
},
- "jia": {
- "english_name": "Jina"
+ "ssc": {
+ "english_name": "Suba-Simbiti"
},
- "jio": {
- "english_name": "Jiamao"
+ "pww": {
+ "english_name": "Karen, Pwo Northern"
},
- "jil": {
- "english_name": "Jilim"
+ "aok": {
+ "english_name": "Arhö"
},
- "jim": {
- "english_name": "Jimi (Cameroon)"
+ "qya": {
+ "english_name": "Quenya"
},
- "jih": {
- "english_name": "sTodsde"
+ "ada": {
+ "english_name": "Adangme"
},
- "jii": {
- "english_name": "Jiiddu"
+ "rir": {
+ "english_name": "Ribun"
},
- "dja": {
- "english_name": "Djadjawurrung"
+ "kkh": {
+ "english_name": "Khün"
},
- "djc": {
- "english_name": "Daju, Dar Daju"
+ "prc": {
+ "english_name": "Parachi"
},
- "djb": {
- "english_name": "Djinba"
+ "quf": {
+ "english_name": "Quechua, Lambayeque"
},
- "dje": {
- "english_name": "Zarma"
+ "yav": {
+ "english_name": "Yangben"
},
- "djd": {
- "english_name": "Djamindjung"
+ "wbw": {
+ "english_name": "Woi"
},
- "djf": {
- "english_name": "Djangun"
+ "gei": {
+ "english_name": "Gebe"
},
- "dji": {
- "english_name": "Djinang"
+ "huy": {
+ "english_name": "Hulaulá"
},
- "djk": {
- "english_name": "Eastern Maroon Creole"
+ "nlk": {
+ "english_name": "Yali, Ninia"
},
- "djj": {
- "english_name": "Djeebbana"
+ "njt": {
+ "english_name": "Ndyuka-Trio Pidgin"
},
- "djm": {
- "english_name": "Dogon, Jamsay"
+ "tmu": {
+ "english_name": "Iau"
},
- "djo": {
- "english_name": "Jangkang"
+ "pbl": {
+ "english_name": "Mak (Nigeria)"
},
- "djn": {
- "english_name": "Djauan"
+ "bpj": {
+ "english_name": "Binji"
},
- "bly": {
- "english_name": "Notre"
+ "ppu": {
+ "english_name": "Papora"
},
- "blx": {
- "english_name": "Ayta, Mag-Indi"
+ "tnx": {
+ "english_name": "Tanema"
},
- "blz": {
- "english_name": "Balantak"
+ "cal": {
+ "english_name": "Carolinian"
},
- "blt": {
- "english_name": "Tai Dam"
+ "tdv": {
+ "english_name": "Toro"
},
- "blw": {
- "english_name": "Balangao"
+ "kvw": {
+ "english_name": "Wersing"
},
- "blv": {
- "english_name": "Bolo"
+ "lyn": {
+ "english_name": "Luyana"
},
- "blq": {
- "english_name": "Baluan-Pam"
+ "tlk": {
+ "english_name": "Taloki"
},
- "blp": {
- "english_name": "Blablanga"
+ "dny": {
+ "english_name": "Dení"
},
- "bls": {
- "english_name": "Balaesang"
+ "bbk": {
+ "english_name": "Babanki"
},
- "blr": {
- "english_name": "Blang"
+ "afp": {
+ "english_name": "Tapei"
},
- "blm": {
- "english_name": "Beli (Sudan)"
+ "snj": {
+ "english_name": "Sango, Riverain"
},
- "bll": {
- "english_name": "Biloxi"
+ "lip": {
+ "english_name": "Sekpele"
},
- "blo": {
- "english_name": "Anii"
+ "bja": {
+ "english_name": "Budza"
},
- "hca": {
- "english_name": "Creole Hindi, Andaman"
+ "umo": {
+ "english_name": "Umotína"
},
- "bli": {
- "english_name": "Bolia"
+ "jan": {
+ "english_name": "Jandai"
},
- "blh": {
- "english_name": "Kuwaa"
+ "cur": {
+ "english_name": "Chhulung"
},
- "blk": {
- "english_name": "Karen, Pa'o"
+ "urn": {
+ "english_name": "Uruangnirin"
},
- "blj": {
- "english_name": "Bolongan"
+ "xbb": {
+ "english_name": "Burdekin, Lower"
},
- "ble": {
- "english_name": "Balanta-Kentohe"
+ "bhd": {
+ "english_name": "Bhadrawahi"
},
- "bld": {
- "english_name": "Bolango"
+ "ixc": {
+ "english_name": "Ixcatec"
},
- "hch": {
- "english_name": "Huichol"
+ "sku": {
+ "english_name": "Sakao"
},
- "blf": {
- "english_name": "Buol"
+ "enq": {
+ "english_name": "Enga"
},
- "bla": {
- "english_name": "Siksika"
+ "ncl": {
+ "english_name": "Nahuatl, Michoacán"
},
- "blc": {
- "english_name": "Bella Coola"
+ "nka": {
+ "english_name": "Nkoya"
},
- "blb": {
- "english_name": "Bilua"
+ "xaw": {
+ "english_name": "Kawaiisu"
},
- "onj": {
- "english_name": "Onjob"
+ "bcp": {
+ "english_name": "Bali (Democratic Republic of Congo)"
},
- "onk": {
- "english_name": "One, Kabore"
+ "fit": {
+ "english_name": "Finnish, Tornedalen"
},
- "oni": {
- "english_name": "Onin"
+ "lab": {
+ "english_name": "Linear A"
},
- "onn": {
- "english_name": "Onobasulu"
+ "jor": {
+ "english_name": "Jorá"
},
- "ono": {
- "english_name": "Onondaga"
+ "agd": {
+ "english_name": "Agarabi"
},
- "onb": {
- "english_name": "Lingao"
+ "zsm": {
+ "english_name": "Malay, Standard"
},
- "ona": {
- "english_name": "Ona"
+ "vep": {
+ "english_name": "Veps"
},
- "ong": {
- "english_name": "Olo"
+ "tsd": {
+ "english_name": "Tsakonian"
},
- "one": {
- "english_name": "Oneida"
+ "yre": {
+ "english_name": "Yaouré"
},
- "onx": {
- "english_name": "Onin Based Pidgin"
+ "atl": {
+ "english_name": "Agta, Mt. Iraya"
},
- "onr": {
- "english_name": "One, Northern"
+ "bhm": {
+ "english_name": "Bathari"
},
- "ons": {
- "english_name": "Ono"
+ "bwa": {
+ "english_name": "Bwatoo"
},
- "onp": {
- "english_name": "Sartang"
+ "obl": {
+ "english_name": "Oblo"
},
- "onw": {
- "english_name": "Nubian, Old"
+ "xls": {
+ "english_name": "Lusitanian"
},
- "ont": {
- "english_name": "Ontenu"
+ "kdm": {
+ "english_name": "Kagoma"
},
- "onu": {
- "english_name": "Unua"
+ "crf": {
+ "english_name": "Caramanta"
},
- "uky": {
- "english_name": "Kuuk-Yak"
+ "kkw": {
+ "english_name": "Teke-Kukuya"
},
- "ukw": {
- "english_name": "Ukwuani-Aboh-Ndoni"
+ "tsu": {
+ "english_name": "Tsou"
},
- "uku": {
- "english_name": "Ukue"
+ "lma": {
+ "english_name": "Limba, East"
},
- "fmu": {
- "english_name": "Muria, Far Western"
+ "hut": {
+ "english_name": "Humla"
},
- "uks": {
- "english_name": "Urubú-Kaapor Sign Language"
+ "bqx": {
+ "english_name": "Baangi"
},
- "fmp": {
- "english_name": "Fe'fe'"
+ "mgs": {
+ "english_name": "Manda (Tanzania)"
},
- "ukp": {
- "english_name": "Ukpe-Bayobiri"
+ "sve": {
+ "english_name": "Serili"
},
- "rmz": {
- "english_name": "Marma"
+ "fpe": {
+ "english_name": "Creole English, Fernando Po"
},
- "ukl": {
- "english_name": "Ukrainian Sign Language"
+ "gsl": {
+ "english_name": "Gusilay"
},
- "ukh": {
- "english_name": "Ukhwejo"
+ "xbw": {
+ "english_name": "Kambiwá"
},
- "ukg": {
- "english_name": "Ukuriguma"
+ "csq": {
+ "english_name": "Croatia Sign Language"
},
- "rmx": {
- "english_name": "Romam"
+ "iko": {
+ "english_name": "Olulumo-Ikom"
},
- "uka": {
- "english_name": "Kaburi"
+ "krj": {
+ "english_name": "Kinaray-A"
},
- "rmb": {
- "english_name": "Rembarunga"
+ "mme": {
+ "english_name": "Mae"
},
- "tkf": {
- "english_name": "Tukumanféd"
+ "mmt": {
+ "english_name": "Malalamai"
},
- "rmc": {
- "english_name": "Romani, Carpathian"
+ "tpi": {
+ "english_name": "Tok Pisin"
},
- "rma": {
- "english_name": "Rama"
+ "col": {
+ "english_name": "Columbia-Wenatchi"
},
- "rmf": {
- "english_name": "Romani, Kalo Finnish"
+ "kvo": {
+ "english_name": "Dobel"
},
- "rmg": {
- "english_name": "Norwegian, Traveller"
+ "mfu": {
+ "english_name": "Mbwela"
},
- "sak": {
- "english_name": "Sake"
+ "bdv": {
+ "english_name": "Bodo Parja"
},
- "saj": {
- "english_name": "Sahu"
+ "mvk": {
+ "english_name": "Mekmek"
},
- "sah": {
- "english_name": "Yakut"
+ "cds": {
+ "english_name": "Chadian Sign Language"
},
- "sao": {
- "english_name": "Sause"
+ "yej": {
+ "english_name": "Yevanic"
},
- "sam": {
- "english_name": "Aramaic, Samaritan"
+ "bba": {
+ "english_name": "Baatonum"
},
- "sac": {
- "english_name": "Meskwaki"
+ "ycl": {
+ "english_name": "Lolopo"
},
- "sab": {
- "english_name": "Buglere"
+ "due": {
+ "english_name": "Agta, Umiray Dumaget"
},
- "saa": {
- "english_name": "Saba"
+ "byz": {
+ "english_name": "Banaro"
},
- "rme": {
- "english_name": "Angloromani"
+ "nzz": {
+ "english_name": "Dogon, Nanga Dama"
},
- "saf": {
- "english_name": "Safaliba"
+ "lmf": {
+ "english_name": "Lembata, South"
},
- "sae": {
- "english_name": "Sabanê"
+ "kwl": {
+ "english_name": "Kofyar"
},
- "sad": {
- "english_name": "Sandawe"
+ "ne": {
+ "english_name": "Nepali (macrolanguage)"
},
- "saz": {
- "english_name": "Saurashtra"
+ "lzh": {
+ "english_name": "Chinese, Literary"
},
- "say": {
- "english_name": "Saya"
+ "sse": {
+ "english_name": "Balangingi"
},
- "sax": {
- "english_name": "Sa"
+ "hif": {
+ "english_name": "Hindi, Fiji"
},
- "rmk": {
- "english_name": "Romkun"
+ "btr": {
+ "english_name": "Baetora"
},
- "sas": {
- "english_name": "Sasak"
+ "pru": {
+ "english_name": "Puragi"
},
- "sar": {
- "english_name": "Saraveca"
+ "stg": {
+ "english_name": "Trieng"
},
- "saq": {
- "english_name": "Samburu"
+ "tcg": {
+ "english_name": "Tamagario"
},
- "saw": {
- "english_name": "Sawi"
+ "iin": {
+ "english_name": "Thiin"
},
- "rmh": {
- "english_name": "Murkim"
+ "pux": {
+ "english_name": "Puare"
},
- "sau": {
- "english_name": "Saleman"
+ "xso": {
+ "english_name": "Solano"
},
- "sat": {
- "english_name": "Santali"
+ "ais": {
+ "english_name": "Amis, Nataoran"
},
- "zoc": {
- "english_name": "Zoque, Copainalá"
+ "cok": {
+ "english_name": "Cora, Santa Teresa"
},
- "zoh": {
- "english_name": "Zoque, Chimalapa"
+ "lul": {
+ "english_name": "Olu'bo"
},
- "rmn": {
- "english_name": "Romani, Balkan"
+ "sns": {
+ "english_name": "South West Bay"
},
- "zom": {
- "english_name": "Zou"
+ "phv": {
+ "english_name": "Pahlavani"
},
- "zoo": {
- "english_name": "Zapotec, Asunción Mixtepec"
+ "ack": {
+ "english_name": "Aka-Kora"
},
- "zoq": {
- "english_name": "Zoque, Tabasco"
+ "zau": {
+ "english_name": "Zangskari"
},
- "zor": {
- "english_name": "Zoque, Rayón"
+ "yir": {
+ "english_name": "Awyu, North"
},
- "zos": {
- "english_name": "Zoque, Francisco León"
+ "lya": {
+ "english_name": "Layakha"
},
- "rmm": {
- "english_name": "Roma"
+ "llj": {
+ "english_name": "Ladji Ladji"
},
- "axx": {
- "english_name": "Xârâgurè"
+ "bmw": {
+ "english_name": "Bomwali"
},
- "axb": {
- "english_name": "Abipon"
+ "ull": {
+ "english_name": "Ullatan"
},
- "axg": {
- "english_name": "Arára, Mato Grosso"
+ "tbt": {
+ "english_name": "Tembo (Kitembo)"
},
- "axe": {
- "english_name": "Ayerrerenge"
+ "mxf": {
+ "english_name": "Malgbe"
},
- "axk": {
- "english_name": "Yaka (Central African Republic)"
+ "kko": {
+ "english_name": "Karko"
},
- "axl": {
- "english_name": "Aranda, Lower Southern"
+ "mni": {
+ "english_name": "Manipuri"
},
- "axm": {
- "english_name": "Armenian, Middle"
+ "zpj": {
+ "english_name": "Zapotec, Quiavicuzas"
},
- "xml": {
- "english_name": "Malaysian Sign Language"
+ "jvn": {
+ "english_name": "Javanese, Caribbean"
},
- "xmm": {
- "english_name": "Malay, Manado"
+ "sdp": {
+ "english_name": "Sherdukpen"
},
- "xmn": {
- "english_name": "Persian, Manichaean Middle"
+ "mtx": {
+ "english_name": "Mixtec, Tidaá"
},
- "xmo": {
- "english_name": "Morerebi"
+ "osx": {
+ "english_name": "Saxon, Old"
},
- "xmh": {
- "english_name": "Kuku-Muminh"
+ "gbp": {
+ "english_name": "Gbaya-Bossangoa"
},
- "xmj": {
- "english_name": "Majera"
+ "xbe": {
+ "english_name": "Bigambal"
},
- "xmk": {
- "english_name": "Macedonian, Ancient"
+ "mjy": {
+ "english_name": "Mahican"
},
- "xmd": {
- "english_name": "Mbudum"
+ "aij": {
+ "english_name": "Lishanid Noshan"
},
- "xme": {
- "english_name": "Median"
+ "cbn": {
+ "english_name": "Nyahkur"
},
- "xmf": {
- "english_name": "Mingrelian"
+ "sbo": {
+ "english_name": "Sabüm"
},
- "xmg": {
- "english_name": "Mengaka"
+ "zhd": {
+ "english_name": "Zhuang, Dai"
},
- "xma": {
- "english_name": "Mushungulu"
+ "kgk": {
+ "english_name": "Kaiwá"
},
- "xmb": {
- "english_name": "Mbonga"
+ "nfa": {
+ "english_name": "Dhao"
},
- "xmc": {
- "english_name": "Makhuwa-Marrevone"
+ "bmg": {
+ "english_name": "Bamwe"
},
- "xmx": {
- "english_name": "Maden"
+ "aug": {
+ "english_name": "Aguna"
},
- "xmy": {
- "english_name": "Mayaguduna"
+ "xkr": {
+ "english_name": "Xakriabá"
},
- "xmz": {
- "english_name": "Mori Bawah"
+ "klj": {
+ "english_name": "Khalaj, Turkic"
},
- "xmt": {
- "english_name": "Matbat"
+ "hmh": {
+ "english_name": "Hmong, Southwestern Huishui"
},
- "xmu": {
- "english_name": "Kamu"
+ "yuf": {
+ "english_name": "Havasupai-Walapai-Yavapai"
},
- "xmv": {
- "english_name": "Malagasy, Antankarana"
+ "tzh": {
+ "english_name": "Tzeltal"
},
- "xmw": {
- "english_name": "Malagasy, Tsimihety"
+ "oki": {
+ "english_name": "Okiek"
},
- "xmp": {
- "english_name": "Kuku-Mu'inh"
+ "djk": {
+ "english_name": "Eastern Maroon Creole"
},
- "xmq": {
- "english_name": "Kuku-Mangk"
+ "anv": {
+ "english_name": "Denya"
},
- "xmr": {
- "english_name": "Meroitic"
+ "nss": {
+ "english_name": "Nali"
},
- "xms": {
- "english_name": "Moroccan Sign Language"
+ "hil": {
+ "english_name": "Hiligaynon"
},
- "uz": {
- "english_name": "Uzbek"
+ "dym": {
+ "english_name": "Dogon, Yanda Dom"
},
- "vkp": {
- "english_name": "Creole Portuguese, Korlai"
+ "pmh": {
+ "english_name": "Prākrit, Māhārāṣṭri"
},
- "vkt": {
- "english_name": "Malay, Tenggarong Kutai"
+ "zpi": {
+ "english_name": "Zapotec, Santa María Quiegolani"
},
- "vku": {
- "english_name": "Kurrama"
+ "slh": {
+ "english_name": "Salish, Southern Puget Sound"
},
- "vki": {
- "english_name": "Ija-Zuba"
+ "abj": {
+ "english_name": "Aka-Bea"
},
- "vkj": {
- "english_name": "Kujarge"
+ "bpl": {
+ "english_name": "Broome Pearling Lugger Pidgin"
},
- "vkk": {
- "english_name": "Kaur"
+ "zpp": {
+ "english_name": "Zapotec, El Alto"
},
- "vkl": {
- "english_name": "Kulisusu"
+ "es": {
+ "english_name": "Spanish",
+ "name": "Español"
},
- "vkm": {
- "english_name": "Kamakan"
+ "xpk": {
+ "english_name": "Pano, Kulina"
},
- "vko": {
- "english_name": "Kodeoha"
+ "mxw": {
+ "english_name": "Namo"
},
- "vka": {
- "english_name": "Kariyarra"
+ "cnh": {
+ "english_name": "Chin, Haka"
},
- "ug": {
- "english_name": "Uighur"
+ "jbr": {
+ "english_name": "Jofotek-Bromnya"
},
- "kjb": {
- "english_name": "Q'anjob'al"
+ "ssg": {
+ "english_name": "Seimat"
},
- "kjc": {
- "english_name": "Konjo, Coastal"
+ "lhp": {
+ "english_name": "Lhokpu"
},
- "kja": {
- "english_name": "Mlap"
+ "mip": {
+ "english_name": "Mixtec, Apasco-Apoala"
},
- "kjf": {
- "english_name": "Khalaj"
+ "kjy": {
+ "english_name": "Erave"
},
- "kjg": {
- "english_name": "Khmu"
+ "otb": {
+ "english_name": "Tibetan, Old"
},
- "kjd": {
- "english_name": "Kiwai, Southern"
+ "otm": {
+ "english_name": "Otomi, Eastern Highland"
},
- "kje": {
- "english_name": "Kisar"
+ "yix": {
+ "english_name": "Yi, Axi"
},
- "kjj": {
- "english_name": "Khinalugh"
+ "iwo": {
+ "english_name": "Iwur"
+ },
+ "zmj": {
+ "english_name": "Maridjabin"
+ },
+ "bvq": {
+ "english_name": "Birri"
+ },
+ "tan": {
+ "english_name": "Tangale"
},
"kjk": {
"english_name": "Konjo, Highland"
},
- "kjh": {
- "english_name": "Khakas"
+ "cji": {
+ "english_name": "Chamalal"
},
- "kji": {
- "english_name": "Zabana"
+ "zmb": {
+ "english_name": "Zimba"
},
- "kjn": {
- "english_name": "Kunjen"
+ "suv": {
+ "english_name": "Puroik"
},
- "kjo": {
- "english_name": "Kinnauri, Harijan"
+ "byq": {
+ "english_name": "Basay"
},
- "kjl": {
- "english_name": "Kham, Western Parbate"
+ "phu": {
+ "english_name": "Phuan"
},
- "kjm": {
- "english_name": "Kháng"
+ "kac": {
+ "english_name": "Kachin"
},
- "kjr": {
- "english_name": "Kurudu"
+ "tlu": {
+ "english_name": "Tulehu"
},
- "kjs": {
- "english_name": "Kewa, East"
+ "mht": {
+ "english_name": "Mandahuaca"
},
- "kjp": {
- "english_name": "Karen, Pwo Eastern"
+ "mqr": {
+ "english_name": "Mander"
},
- "kjq": {
- "english_name": "Keres, Western"
+ "axx": {
+ "english_name": "Xârâgurè"
},
- "kjt": {
- "english_name": "Karen, Phrae Pwo"
+ "mjw": {
+ "english_name": "Karbi"
},
- "kju": {
- "english_name": "Kashaya"
+ "dsi": {
+ "english_name": "Disa"
},
- "kjz": {
- "english_name": "Bumthangkha"
+ "etz": {
+ "english_name": "Semimi"
},
- "kjx": {
- "english_name": "Ramopa"
+ "arb": {
+ "english_name": "Arabic, Standard"
},
- "kjy": {
- "english_name": "Erave"
+ "gwr": {
+ "english_name": "Gwere"
},
- "zpy": {
- "english_name": "Zapotec, Mazaltepec"
+ "sae": {
+ "english_name": "Sabanê"
},
- "zpx": {
- "english_name": "Zapotec, San Baltazar Loxicha"
+ "ann": {
+ "english_name": "Obolo"
},
- "zpz": {
- "english_name": "Zapotec, Texmelucan"
+ "jic": {
+ "english_name": "Tol"
},
- "zpq": {
- "english_name": "Zapotec, Zoogocho"
+ "nkz": {
+ "english_name": "Nkari"
},
- "zpp": {
- "english_name": "Zapotec, El Alto"
+ "srl": {
+ "english_name": "Isirawa"
},
- "zps": {
- "english_name": "Zapotec, Coatlán"
+ "nkf": {
+ "english_name": "Naga, Inpui"
},
- "zpr": {
- "english_name": "Zapotec, Santiago Xanica"
+ "hds": {
+ "english_name": "Honduras Sign Language"
},
- "zpu": {
- "english_name": "Zapotec, Yalálag"
+ "khh": {
+ "english_name": "Kehu"
},
- "zpt": {
- "english_name": "Zapotec, San Vicente Coatlán"
+ "dti": {
+ "english_name": "Dogon, Ana Tinga"
},
- "zpw": {
- "english_name": "Zapotec, Zaniza"
+ "bwq": {
+ "english_name": "Bobo Madaré, Southern"
},
- "zpv": {
- "english_name": "Zapotec, Chichicapan"
+ "gek": {
+ "english_name": "Yiwom"
},
- "zpi": {
- "english_name": "Zapotec, Santa María Quiegolani"
+ "dbn": {
+ "english_name": "Duriankere"
},
- "zph": {
- "english_name": "Zapotec, Totomachapan"
+ "kax": {
+ "english_name": "Kao"
},
- "zpk": {
- "english_name": "Zapotec, Tlacolulita"
+ "kwp": {
+ "english_name": "Kodia"
},
- "zpj": {
- "english_name": "Zapotec, Quiavicuzas"
+ "wkb": {
+ "english_name": "Kumbaran"
},
- "zpm": {
- "english_name": "Zapotec, Mixtepec"
+ "qua": {
+ "english_name": "Quapaw"
},
- "zpl": {
- "english_name": "Zapotec, Lachixío"
+ "pee": {
+ "english_name": "Taje"
},
- "zpo": {
- "english_name": "Zapotec, Amatlán"
+ "gne": {
+ "english_name": "Ganang"
},
- "zpn": {
- "english_name": "Zapotec, Santa Inés Yatzechi"
+ "mft": {
+ "english_name": "Mokerang"
},
- "zpa": {
- "english_name": "Zapotec, Lachiguiri"
+ "hoc": {
+ "english_name": "Ho"
},
- "zpc": {
- "english_name": "Zapotec, Choapan"
+ "wym": {
+ "english_name": "Wymysorys"
},
- "zpb": {
- "english_name": "Zapotec, Yautepec"
+ "mdm": {
+ "english_name": "Mayogo"
},
- "zpe": {
- "english_name": "Zapotec, Petapa"
+ "drr": {
+ "english_name": "Dororo"
},
- "zpd": {
- "english_name": "Zapotec, Southeastern Ixtlán"
+ "mkt": {
+ "english_name": "Vamale"
},
- "zpg": {
- "english_name": "Zapotec, Guevea De Humboldt"
+ "psu": {
+ "english_name": "Prākrit, Sauraseni"
},
- "zpf": {
- "english_name": "Zapotec, San Pedro Quiatoni"
+ "oue": {
+ "english_name": "Oune"
},
- "yzg": {
- "english_name": "Buyang, E'ma"
+ "ynk": {
+ "english_name": "Yupik, Naukan"
},
- "yzk": {
- "english_name": "Zokhuo"
+ "sre": {
+ "english_name": "Sara"
},
- "vun": {
- "english_name": "Vunjo"
+ "kfs": {
+ "english_name": "Bilaspuri"
},
- "vum": {
- "english_name": "Vumbu"
+ "dnd": {
+ "english_name": "Daonda"
},
- "ivb": {
- "english_name": "Ibatan"
+ "yyz": {
+ "english_name": "Ayizi"
},
- "ivv": {
- "english_name": "Ivatan"
+ "yob": {
+ "english_name": "Yoba"
},
- "vut": {
- "english_name": "Vute"
+ "glj": {
+ "english_name": "Gula Iro"
},
- "wpc": {
- "english_name": "Maco"
+ "bgg": {
+ "english_name": "Bugun"
},
- "gdq": {
- "english_name": "Mehri"
+ "hle": {
+ "english_name": "Hlersu"
},
- "gdr": {
- "english_name": "Wipi"
+ "soa": {
+ "english_name": "Thai Song"
},
- "gds": {
- "english_name": "Ghandruk Sign Language"
+ "nsx": {
+ "english_name": "Nsongo"
},
- "gdt": {
- "english_name": "Kungardutyi"
+ "lap": {
+ "english_name": "Laka (Chad)"
},
- "gdu": {
- "english_name": "Gudu"
+ "knf": {
+ "english_name": "Mankanya"
},
- "gdx": {
- "english_name": "Godwari"
+ "ite": {
+ "english_name": "Itene"
},
- "gda": {
- "english_name": "Lohar, Gade"
+ "dtb": {
+ "english_name": "Kadazan, Labuk-Kinabatangan"
},
- "gdb": {
- "english_name": "Gadaba, Pottangi Ollar"
+ "ivb": {
+ "english_name": "Ibatan"
},
- "gdc": {
- "english_name": "Gugu Badhun"
+ "waq": {
+ "english_name": "Wageman"
},
- "gdd": {
- "english_name": "Gedaged"
+ "toh": {
+ "english_name": "Gitonga"
},
- "gde": {
- "english_name": "Gude"
+ "zmo": {
+ "english_name": "Molo"
},
- "gdf": {
- "english_name": "Guduf-Gava"
+ "urc": {
+ "english_name": "Urningangg"
},
- "gdg": {
- "english_name": "Ga'dang"
+ "wja": {
+ "english_name": "Waja"
},
- "gdh": {
- "english_name": "Gadjerawang"
+ "pem": {
+ "english_name": "Phende"
},
- "gdi": {
- "english_name": "Gundi"
+ "wlw": {
+ "english_name": "Walak"
},
- "gdj": {
- "english_name": "Gurdjar"
+ "drc": {
+ "english_name": "Minderico"
},
- "gdk": {
- "english_name": "Gadang"
+ "apk": {
+ "english_name": "Apache, Kiowa"
},
- "gdl": {
- "english_name": "Dirasha"
+ "bva": {
+ "english_name": "Barein"
},
- "gdm": {
- "english_name": "Laal"
+ "bjn": {
+ "english_name": "Banjar"
},
- "gdn": {
- "english_name": "Umanakaina"
+ "imo": {
+ "english_name": "Imbongu"
},
- "gdo": {
- "english_name": "Ghodoberi"
+ "bfd": {
+ "english_name": "Bafut"
},
- "fvr": {
- "english_name": "Fur"
+ "tvn": {
+ "english_name": "Tavoyan"
},
- "tvy": {
- "english_name": "Pidgin, Timor"
+ "zax": {
+ "english_name": "Zapotec, Xadani"
},
- "tvu": {
- "english_name": "Tunen"
+ "tme": {
+ "english_name": "Tremembé"
},
- "tvt": {
- "english_name": "Naga, Tutsa"
+ "ncf": {
+ "english_name": "Notsi"
},
- "tvw": {
- "english_name": "Sedoa"
+ "lsi": {
+ "english_name": "Lashi"
},
- "tvs": {
- "english_name": "Taveta"
+ "xmk": {
+ "english_name": "Macedonian, Ancient"
},
- "tvm": {
- "english_name": "Tela-Masbuar"
+ "bou": {
+ "english_name": "Bondei"
},
- "tvl": {
- "english_name": "Tuvalu"
+ "kls": {
+ "english_name": "Kalasha"
},
- "tvo": {
- "english_name": "Tidore"
+ "cjh": {
+ "english_name": "Chehalis, Upper"
},
- "tvn": {
- "english_name": "Tavoyan"
+ "sbz": {
+ "english_name": "Sara Kaba"
},
- "tvk": {
- "english_name": "Ambrym, Southeast"
+ "mvb": {
+ "english_name": "Mattole"
},
- "tve": {
- "english_name": "Te'un"
+ "pel": {
+ "english_name": "Pekal"
},
- "eze": {
- "english_name": "Uzekwe"
+ "gqu": {
+ "english_name": "Qau"
},
- "tva": {
- "english_name": "Vaghua"
+ "pni": {
+ "english_name": "Aoheng"
},
- "eza": {
- "english_name": "Ezaa"
+ "grh": {
+ "english_name": "Gbiri-Niragu"
},
- "jgk": {
- "english_name": "Gwak"
+ "ug": {
+ "english_name": "Uighur"
},
- "jgo": {
- "english_name": "Ngomba"
+ "mmb": {
+ "english_name": "Momina"
},
- "dds": {
- "english_name": "Dogon, Donno So"
+ "zrn": {
+ "english_name": "Zerenkel"
},
- "ddr": {
- "english_name": "Dhudhuroa"
+ "sbn": {
+ "english_name": "Bhil, Sindhi"
},
- "jgb": {
- "english_name": "Ngbee"
+ "tyi": {
+ "english_name": "Teke-Tsaayi"
},
- "ddw": {
- "english_name": "Dawera-Daweloor"
+ "asl": {
+ "english_name": "Asilulu"
},
- "jge": {
- "english_name": "Judeo-Georgian"
+ "quk": {
+ "english_name": "Quechua, Chachapoyas"
},
- "ddj": {
- "english_name": "Jaru"
+ "wog": {
+ "english_name": "Wogamusin"
},
- "ddi": {
- "english_name": "Goodenough, West"
+ "sus": {
+ "english_name": "Susu"
},
- "ddo": {
- "english_name": "Dido"
+ "beq": {
+ "english_name": "Beembe"
},
- "ddn": {
- "english_name": "Dendi (Benin)"
+ "pby": {
+ "english_name": "Pyu"
},
- "dda": {
- "english_name": "Dadi Dadi"
+ "yku": {
+ "english_name": "Kuamasi"
},
- "ddg": {
- "english_name": "Fataluku"
+ "msc": {
+ "english_name": "Maninka, Sankaran"
},
- "dde": {
- "english_name": "Doondo"
+ "buw": {
+ "english_name": "Bubi"
},
- "ddd": {
- "english_name": "Dongotono"
+ "kwg": {
+ "english_name": "Sara Kaba Deme"
},
- "acb": {
- "english_name": "Áncá"
+ "xri": {
+ "english_name": "Krikati-Timbira"
},
- "aca": {
- "english_name": "Achagua"
+ "mgv": {
+ "english_name": "Matengo"
},
- "acf": {
- "english_name": "Creole French, Saint Lucian"
+ "nds": {
+ "english_name": "German, Low"
},
- "ace": {
- "english_name": "Achinese"
+ "ays": {
+ "english_name": "Ayta, Sorsogon"
},
- "acd": {
- "english_name": "Gikyode"
+ "age": {
+ "english_name": "Angal"
},
- "ack": {
- "english_name": "Aka-Kora"
+ "mib": {
+ "english_name": "Mixtec, Atatláhuca"
},
- "aci": {
- "english_name": "Aka-Cari"
+ "xmt": {
+ "english_name": "Matbat"
},
- "ach": {
- "english_name": "Acoli"
+ "tcn": {
+ "english_name": "Tichurong"
},
- "acn": {
- "english_name": "Achang"
+ "ndb": {
+ "english_name": "Kenswei Nsei"
},
- "acm": {
- "english_name": "Arabic, Mesopotamian"
+ "fiw": {
+ "english_name": "Fiwaga"
},
- "acl": {
- "english_name": "Akar-Bale"
+ "gvo": {
+ "english_name": "Gavião Do Jiparaná"
},
- "acs": {
- "english_name": "Acroá"
+ "brg": {
+ "english_name": "Baure"
},
- "acr": {
- "english_name": "Achi"
+ "bnw": {
+ "english_name": "Bisis"
},
- "acq": {
- "english_name": "Arabic, Ta'izzi-Adeni"
+ "idd": {
+ "english_name": "Ede Idaca"
},
- "acp": {
- "english_name": "Acipa, Eastern"
+ "seb": {
+ "english_name": "Senoufo, Shempire"
},
- "acw": {
- "english_name": "Arabic, Hijazi"
+ "ssn": {
+ "english_name": "Waata"
},
- "acv": {
- "english_name": "Achumawi"
+ "bjc": {
+ "english_name": "Bariji"
},
- "acu": {
- "english_name": "Achuar-Shiwiar"
+ "otz": {
+ "english_name": "Otomi, Ixtenco"
},
- "act": {
- "english_name": "Achterhoeks"
+ "bxq": {
+ "english_name": "Beele"
},
- "acz": {
- "english_name": "Acheron"
+ "ncr": {
+ "english_name": "Ncane"
},
- "acy": {
- "english_name": "Arabic, Cypriot"
+ "seu": {
+ "english_name": "Serui-Laut"
},
- "acx": {
- "english_name": "Arabic, Omani"
+ "obu": {
+ "english_name": "Obulom"
},
- "bjg": {
- "english_name": "Bidyogo"
+ "sra": {
+ "english_name": "Saruga"
},
- "bjf": {
- "english_name": "Neo-Aramaic, Barzani Jewish"
+ "dox": {
+ "english_name": "Bussa"
},
- "bje": {
- "english_name": "Mien, Biao-Jiao"
+ "shc": {
+ "english_name": "Sonde"
},
- "bjc": {
- "english_name": "Bariji"
+ "kyc": {
+ "english_name": "Kyaka"
},
- "bjb": {
- "english_name": "Banggarla"
+ "ibr": {
+ "english_name": "Ibuoro"
},
- "bja": {
- "english_name": "Budza"
+ "stt": {
+ "english_name": "Stieng, Budeh"
},
- "bjo": {
- "english_name": "Banda, Mid-Southern"
+ "aor": {
+ "english_name": "Aore"
},
- "bjn": {
- "english_name": "Banjar"
+ "lhu": {
+ "english_name": "Lahu"
},
- "bjm": {
- "english_name": "Bajelani"
+ "keh": {
+ "english_name": "Keak"
},
- "bjl": {
- "english_name": "Bulu (Papua New Guinea)"
+ "saa": {
+ "english_name": "Saba"
},
- "bjk": {
- "english_name": "Barok"
+ "klb": {
+ "english_name": "Kiliwa"
},
- "bjj": {
- "english_name": "Kanauji"
+ "kcw": {
+ "english_name": "Kabwari"
},
- "bji": {
- "english_name": "Burji"
+ "ome": {
+ "english_name": "Omejes"
},
- "bjh": {
- "english_name": "Bahinemo"
+ "kxh": {
+ "english_name": "Karo (Ethiopia)"
},
- "bjw": {
- "english_name": "Bakwé"
+ "rad": {
+ "english_name": "Rade"
},
- "bjv": {
- "english_name": "Bedjond"
+ "tms": {
+ "english_name": "Tima"
},
- "bju": {
- "english_name": "Busuu"
+ "iap": {
+ "english_name": "Iapama"
},
- "bjt": {
- "english_name": "Balanta-Ganja"
+ "na": {
+ "english_name": "Nauru"
},
- "bjs": {
- "english_name": "Bajan"
+ "bfx": {
+ "english_name": "Bantayanon"
},
- "bjr": {
- "english_name": "Binumarien"
+ "lmx": {
+ "english_name": "Laimbue"
},
- "bjp": {
- "english_name": "Fanamaket"
+ "ktc": {
+ "english_name": "Kholok"
},
- "bjz": {
- "english_name": "Baruga"
+ "tsw": {
+ "english_name": "Tsishingini"
},
- "bjy": {
- "english_name": "Bayali"
+ "cbt": {
+ "english_name": "Chayahuita"
},
- "bjx": {
- "english_name": "Itneg, Banao"
+ "okn": {
+ "english_name": "Oki-No-Erabu"
},
- "hed": {
- "english_name": "Herdé"
+ "xmz": {
+ "english_name": "Mori Bawah"
},
- "heg": {
- "english_name": "Helong"
+ "fj": {
+ "english_name": "Fijian"
},
- "hea": {
- "english_name": "Miao, Northern Qiandong"
+ "kpn": {
+ "english_name": "Kepkiriwát"
},
- "hem": {
- "english_name": "Hemba"
+ "wky": {
+ "english_name": "Wangkayutyuru"
},
- "heh": {
- "english_name": "Hehe"
+ "oub": {
+ "english_name": "Glio-Oubi"
},
- "hei": {
- "english_name": "Heiltsuk"
+ "gvm": {
+ "english_name": "Gurmana"
},
- "aa": {
- "english_name": "Afar"
+ "ptr": {
+ "english_name": "Piamatsina"
},
- "ab": {
- "english_name": "Abkhazian"
+ "lhn": {
+ "english_name": "Lahanan"
},
- "ae": {
- "english_name": "Avestan"
+ "bcf": {
+ "english_name": "Bamu"
},
- "af": {
- "name": "Afrikaans",
- "english_name": "Afrikaans"
+ "hia": {
+ "english_name": "Lamang"
},
- "ak": {
- "english_name": "Akan"
+ "dep": {
+ "english_name": "Delaware, Pidgin"
},
- "am": {
- "name": "አማርኛ",
- "english_name": "Amharic"
+ "bsl": {
+ "english_name": "Basa-Gumna"
},
- "an": {
- "english_name": "Aragonese"
+ "ltg": {
+ "english_name": "Latgalian"
},
- "as": {
- "english_name": "Assamese"
+ "mcw": {
+ "english_name": "Mawa (Chad)"
},
- "ar": {
- "name": "العربية",
- "english_name": "Arabic"
+ "twq": {
+ "english_name": "Tasawaq"
},
- "av": {
- "english_name": "Avaric"
+ "co": {
+ "english_name": "Corsican"
},
- "oht": {
- "english_name": "Hittite, Old"
+ "lpn": {
+ "english_name": "Naga, Long Phuri"
},
- "ohu": {
- "english_name": "Hungarian, Old"
+ "zir": {
+ "english_name": "Ziriya"
},
- "az": {
- "name": "Azerbaijani",
- "english_name": "Azerbaijani"
+ "bo": {
+ "english_name": "Tibetan"
},
- "cpi": {
- "english_name": "Pidgin English, Chinese"
+ "xcn": {
+ "english_name": "Cotoname"
},
- "cpn": {
- "english_name": "Cherepon"
+ "xkf": {
+ "english_name": "Khengkha"
},
- "cpo": {
- "english_name": "Kpeego"
+ "sky": {
+ "english_name": "Sikaiana"
},
- "cpa": {
- "english_name": "Chinantec, Palantla"
+ "kyp": {
+ "english_name": "Kang"
},
- "cpb": {
- "english_name": "Ashéninka, Ucayali-Yurúa"
+ "xum": {
+ "english_name": "Umbrian"
},
- "cpc": {
- "english_name": "Ajyíninka Apurucayali"
+ "asj": {
+ "english_name": "Sari"
},
- "rxd": {
- "english_name": "Ngardi"
+ "btc": {
+ "english_name": "Bati (Cameroon)"
},
- "cpg": {
- "english_name": "Greek, Cappadocian"
+ "ggo": {
+ "english_name": "Gondi, Southern"
},
- "cpx": {
- "english_name": "Chinese, Pu-Xian"
+ "igg": {
+ "english_name": "Igana"
},
- "cpy": {
- "english_name": "Ashéninka, South Ucayali"
+ "mue": {
+ "english_name": "Media Lengua"
},
- "cps": {
- "english_name": "Capiznon"
+ "gof": {
+ "english_name": "Gofa"
},
- "cpu": {
- "english_name": "Ashéninka, Pichis"
+ "trr": {
+ "english_name": "Taushiro"
},
- "rxw": {
- "english_name": "Karuwali"
+ "anq": {
+ "english_name": "Jarawa (India)"
},
- "mnx": {
- "english_name": "Manikion"
+ "tgj": {
+ "english_name": "Tagin"
},
- "mny": {
- "english_name": "Manyawa"
+ "bye": {
+ "english_name": "Pouye"
},
- "mnz": {
- "english_name": "Moni"
+ "nwi": {
+ "english_name": "Tanna, Southwest"
},
- "scn": {
- "english_name": "Sicilian"
+ "zpn": {
+ "english_name": "Zapotec, Santa Inés Yatzechi"
},
- "sci": {
- "english_name": "Creole Malay, Sri Lankan"
+ "asy": {
+ "english_name": "Asmat, Yaosakor"
},
- "sch": {
- "english_name": "Sakachep"
+ "wof": {
+ "english_name": "Wolof, Gambian"
},
- "sck": {
- "english_name": "Sadri"
+ "kco": {
+ "english_name": "Kinalakna"
},
- "qvm": {
- "english_name": "Quechua, Margos-Yarowilca-Lauricocha"
+ "mct": {
+ "english_name": "Mengisa"
},
- "mnp": {
- "english_name": "Chinese, Min Bei"
+ "bhu": {
+ "english_name": "Bhunjia"
},
- "mnq": {
- "english_name": "Minriq"
+ "nnu": {
+ "english_name": "Dwang"
},
- "mnr": {
- "english_name": "Mono (USA)"
+ "dhv": {
+ "english_name": "Dehu"
},
- "mns": {
- "english_name": "Mansi"
+ "uan": {
+ "english_name": "Kuan"
},
- "mnu": {
- "english_name": "Mer"
+ "xcg": {
+ "english_name": "Gaulish, Cisalpine"
},
- "mnv": {
- "english_name": "Rennell-Bellona"
+ "xkp": {
+ "english_name": "Kabatei"
},
- "mnw": {
- "english_name": "Mon"
+ "vkl": {
+ "english_name": "Kulisusu"
},
- "mnh": {
- "english_name": "Mono (Democratic Republic of Congo)"
+ "guo": {
+ "english_name": "Guayabero"
},
- "mni": {
- "english_name": "Manipuri"
+ "pmz": {
+ "english_name": "Pame, Southern"
},
- "mnj": {
- "english_name": "Munji"
+ "byr": {
+ "english_name": "Baruya"
},
- "mnk": {
- "english_name": "Mandinka"
+ "dih": {
+ "english_name": "Kumiai"
},
- "mnl": {
- "english_name": "Tiale"
+ "jud": {
+ "english_name": "Worodougou"
},
- "mnm": {
- "english_name": "Mapena"
+ "cpi": {
+ "english_name": "Pidgin English, Chinese"
},
- "mnn": {
- "english_name": "Mnong, Southern"
+ "dok": {
+ "english_name": "Dondo"
},
- "scu": {
- "english_name": "Shumcho"
+ "sas": {
+ "english_name": "Sasak"
},
- "mna": {
- "english_name": "Mbula"
+ "osu": {
+ "english_name": "One, Southern"
},
- "mnb": {
- "english_name": "Muna"
+ "ndv": {
+ "english_name": "Ndut"
},
- "mnc": {
- "english_name": "Manchu"
+ "msd": {
+ "english_name": "Yucatec Maya Sign Language"
},
- "mnd": {
- "english_name": "Mondé"
+ "aba": {
+ "english_name": "Abé"
},
- "mne": {
- "english_name": "Naba"
+ "vil": {
+ "english_name": "Vilela"
},
- "mnf": {
- "english_name": "Mundani"
+ "yab": {
+ "english_name": "Yuhup"
},
- "mng": {
- "english_name": "Mnong, Eastern"
+ "dru": {
+ "english_name": "Rukai"
},
- "zmj": {
- "english_name": "Maridjabin"
+ "yxg": {
+ "english_name": "Yagara"
},
- "zmk": {
- "english_name": "Mandandanyi"
+ "wlr": {
+ "english_name": "Wailapa"
},
- "zmh": {
- "english_name": "Makolkol"
+ "mwy": {
+ "english_name": "Mosiro"
},
- "zmi": {
- "english_name": "Negeri Sembilan Malay"
+ "qva": {
+ "english_name": "Quechua, Ambo-Pasco"
},
- "zmn": {
- "english_name": "Mbangwe"
+ "nbt": {
+ "english_name": "Na"
},
- "qvj": {
- "english_name": "Quichua, Loja Highland"
+ "onn": {
+ "english_name": "Onobasulu"
},
- "zml": {
- "english_name": "Madngele"
+ "ayi": {
+ "english_name": "Leyigha"
},
- "ty": {
- "english_name": "Tahitian"
+ "kqm": {
+ "english_name": "Khisa"
},
- "zmb": {
- "english_name": "Zimba"
+ "yms": {
+ "english_name": "Mysian"
},
- "tw": {
- "english_name": "Twi"
+ "nhk": {
+ "english_name": "Nahuatl, Isthmus-Cosoleacaque"
},
- "tt": {
- "name": "Татарча",
- "english_name": "Tatar"
+ "wng": {
+ "english_name": "Wanggom"
},
- "zma": {
- "english_name": "Manda (Australia)"
+ "ccm": {
+ "english_name": "Creole Malay, Malaccan"
},
- "tr": {
- "name": "Türkçe",
- "english_name": "Turkish"
+ "api": {
+ "english_name": "Apiaká"
},
- "ts": {
- "english_name": "Tsonga"
+ "mxq": {
+ "english_name": "Mixe, Juquila"
},
- "zmd": {
- "english_name": "Maridan"
+ "udj": {
+ "english_name": "Ujir"
},
- "zme": {
- "english_name": "Mangerr"
+ "nij": {
+ "english_name": "Ngaju"
},
- "tn": {
- "english_name": "Tswana"
+ "vls": {
+ "english_name": "Vlaams"
},
- "to": {
- "english_name": "Tonga (Tonga Islands)"
+ "mys": {
+ "english_name": "Mesmes"
},
- "tl": {
- "english_name": "Tagalog"
+ "npn": {
+ "english_name": "Mondropolon"
},
- "zmy": {
- "english_name": "Mariyedi"
+ "xta": {
+ "english_name": "Mixtec, Alcozauca"
},
- "tk": {
- "english_name": "Turkmen"
+ "kec": {
+ "english_name": "Keiga"
},
- "th": {
- "name": "ไทย",
- "english_name": "Thai"
+ "bex": {
+ "english_name": "Jur Modo"
},
- "ti": {
- "name": "ትግርኛ",
- "english_name": "Tigrinya"
+ "kne": {
+ "english_name": "Kankanaey"
},
- "zmr": {
- "english_name": "Maranunggu"
+ "xwo": {
+ "english_name": "Oirat, Written"
},
- "tg": {
- "english_name": "Tajik"
+ "pa": {
+ "english_name": "Panjabi",
+ "name": "ਪੰਜਾਬੀ"
},
- "zmp": {
- "english_name": "Mpuono"
+ "xsc": {
+ "english_name": "Scythian"
},
- "te": {
- "english_name": "Telugu"
+ "wlv": {
+ "english_name": "Wichí Lhamtés Vejoz"
},
- "zmv": {
- "english_name": "Mbariman-Gudhinma"
+ "tri": {
+ "english_name": "Trió"
},
- "zmw": {
- "english_name": "Mbo (Democratic Republic of Congo)"
+ "iai": {
+ "english_name": "Iaai"
},
- "zmt": {
- "english_name": "Maringarr"
+ "cah": {
+ "english_name": "Cahuarano"
},
- "ta": {
- "name": "தமிழ்",
- "english_name": "Tamil"
+ "naw": {
+ "english_name": "Nawuri"
},
- "smh": {
- "english_name": "Samei"
+ "ziw": {
+ "english_name": "Zigula"
},
- "smf": {
- "english_name": "Auwe"
+ "iow": {
+ "english_name": "Iowa-Oto"
},
- "pbu": {
- "english_name": "Pashto, Northern"
+ "mbo": {
+ "english_name": "Mbo (Cameroon)"
},
- "pbt": {
- "english_name": "Pashto, Southern"
+ "nti": {
+ "english_name": "Natioro"
},
- "pbv": {
- "english_name": "Pnar"
+ "ntm": {
+ "english_name": "Nateni"
},
- "pbp": {
- "english_name": "Badyara"
+ "bkc": {
+ "english_name": "Baka (Cameroon)"
},
- "pbs": {
- "english_name": "Pame, Central"
+ "tsg": {
+ "english_name": "Tausug"
},
- "pbr": {
- "english_name": "Pangwa"
+ "xwe": {
+ "english_name": "Gbe, Xwela"
},
- "smc": {
- "english_name": "Som"
+ "aks": {
+ "english_name": "Akaselem"
},
- "pby": {
- "english_name": "Pyu"
+ "woo": {
+ "english_name": "Manombai"
},
- "pbe": {
- "english_name": "Popoloca, Mezontla"
+ "kml": {
+ "english_name": "Kalinga, Tanudan"
},
- "pbg": {
- "english_name": "Paraujano"
+ "des": {
+ "english_name": "Desano"
},
- "pbf": {
- "english_name": "Popoloca, Coyotepec"
+ "txm": {
+ "english_name": "Tomini"
},
- "pbc": {
- "english_name": "Patamona"
+ "khf": {
+ "english_name": "Khuen"
},
- "pbb": {
- "english_name": "Páez"
+ "grr": {
+ "english_name": "Taznatit"
},
- "pbl": {
- "english_name": "Mak (Nigeria)"
+ "esh": {
+ "english_name": "Eshtehardi"
},
- "pbo": {
- "english_name": "Papel"
+ "mxa": {
+ "english_name": "Mixtec, Northwest Oaxaca"
},
- "pbn": {
- "english_name": "Kpasam"
+ "ngi": {
+ "english_name": "Ngizim"
},
- "pbi": {
- "english_name": "Parkwa"
+ "bqs": {
+ "english_name": "Bosngun"
},
- "pbh": {
- "english_name": "E'ñapa Woromaipu"
+ "dup": {
+ "english_name": "Duano"
},
- "qvy": {
- "english_name": "Queyu"
+ "dez": {
+ "english_name": "Dengese"
},
- "qvz": {
- "english_name": "Quichua, Northern Pastaza"
+ "ota": {
+ "english_name": "Turkish, Ottoman (1500-1928)"
},
- "xow": {
- "english_name": "Kowaki"
+ "nmv": {
+ "english_name": "Ngamini"
},
- "qvw": {
- "english_name": "Quechua, Huaylla Wanca"
+ "siq": {
+ "english_name": "Sonia"
},
- "haw": {
- "english_name": "Hawaiian"
+ "tzn": {
+ "english_name": "Tugun"
},
- "xop": {
- "english_name": "Kopar"
+ "mtp": {
+ "english_name": "Wichí Lhamtés Nocten"
},
- "qvp": {
- "english_name": "Quechua, Pacaraos"
+ "avo": {
+ "english_name": "Agavotaguerra"
},
- "xog": {
- "english_name": "Soga"
+ "cdg": {
+ "english_name": "Chamari"
},
- "xod": {
- "english_name": "Kokoda"
+ "zsr": {
+ "english_name": "Zapotec, Southern Rincon"
},
- "xoc": {
- "english_name": "O'chi'chi'"
+ "lro": {
+ "english_name": "Laro"
},
- "xon": {
- "english_name": "Konkomba"
+ "tbl": {
+ "english_name": "Tboli"
},
- "xoo": {
- "english_name": "Xukurú"
+ "yde": {
+ "english_name": "Yangum Dey"
},
- "qvs": {
- "english_name": "Quechua, San Martín"
+ "wmi": {
+ "english_name": "Wamin"
},
- "xok": {
- "english_name": "Xokleng"
+ "hrw": {
+ "english_name": "Warwar Feni"
},
- "xoi": {
- "english_name": "Kominimung"
+ "amq": {
+ "english_name": "Amahai"
},
- "pyn": {
- "english_name": "Poyanáwa"
+ "moj": {
+ "english_name": "Monzombo"
},
- "vic": {
- "english_name": "Creole English, Virgin Islands"
+ "tmy": {
+ "english_name": "Tami"
},
- "vif": {
- "english_name": "Vili"
+ "pes": {
+ "english_name": "Persian, Iranian"
},
- "vig": {
- "english_name": "Viemo"
+ "bgb": {
+ "english_name": "Bobongko"
},
- "vid": {
- "english_name": "Vidunda"
+ "buf": {
+ "english_name": "Bushoong"
},
- "vin": {
- "english_name": "Vinza"
+ "moo": {
+ "english_name": "Monom"
},
- "vil": {
- "english_name": "Vilela"
+ "dev": {
+ "english_name": "Domung"
},
- "vis": {
- "english_name": "Vishavan"
+ "tt": {
+ "english_name": "Tatar",
+ "name": "Татарча"
},
- "viv": {
- "english_name": "Iduna"
+ "xxk": {
+ "english_name": "Ke'o"
},
- "vit": {
- "english_name": "Viti"
+ "yot": {
+ "english_name": "Yotti"
},
- "kld": {
- "english_name": "Gamilaraay"
+ "maq": {
+ "english_name": "Mazatec, Chiquihuitlán"
},
- "kle": {
- "english_name": "Kulung (Nepal)"
+ "csg": {
+ "english_name": "Chilean Sign Language"
},
- "klf": {
- "english_name": "Kendeje"
+ "mat": {
+ "english_name": "Matlatzinca, San Francisco"
},
- "klg": {
- "english_name": "Tagakaulo"
+ "yva": {
+ "english_name": "Yawa"
},
- "kla": {
- "english_name": "Klamath-Modoc"
+ "nnj": {
+ "english_name": "Nyangatom"
},
- "klb": {
- "english_name": "Kiliwa"
+ "wea": {
+ "english_name": "Wewaw"
},
- "klc": {
- "english_name": "Kolbila"
+ "loy": {
+ "english_name": "Loke"
},
- "kll": {
- "english_name": "Kalagan, Kagan"
+ "tna": {
+ "english_name": "Tacana"
},
- "klm": {
- "english_name": "Migum"
+ "ktf": {
+ "english_name": "Kwami"
},
- "kln": {
- "english_name": "Kalenjin"
+ "hoe": {
+ "english_name": "Horom"
},
- "klo": {
- "english_name": "Kapya"
+ "smu": {
+ "english_name": "Somray"
},
- "klh": {
- "english_name": "Weliki"
+ "zph": {
+ "english_name": "Zapotec, Totomachapan"
},
- "kli": {
- "english_name": "Kalumpang"
+ "mbl": {
+ "english_name": "Maxakalí"
},
- "klj": {
- "english_name": "Khalaj, Turkic"
+ "rap": {
+ "english_name": "Rapanui"
},
- "klk": {
- "english_name": "Kono (Nigeria)"
+ "hti": {
+ "english_name": "Hoti"
},
- "klt": {
- "english_name": "Nukna"
+ "bkz": {
+ "english_name": "Bungku"
},
- "klu": {
- "english_name": "Klao"
+ "thk": {
+ "english_name": "Tharaka"
},
- "klv": {
- "english_name": "Maskelynes"
+ "pjt": {
+ "english_name": "Pitjantjatjara"
},
- "klw": {
- "english_name": "Lindu"
+ "mei": {
+ "english_name": "Midob"
},
- "klp": {
- "english_name": "Kamasa"
+ "zia": {
+ "english_name": "Zia"
},
- "klq": {
- "english_name": "Rumu"
+ "llo": {
+ "english_name": "Khlor"
},
- "klr": {
- "english_name": "Khaling"
+ "bxn": {
+ "english_name": "Burduna"
},
- "kls": {
- "english_name": "Kalasha"
+ "hmd": {
+ "english_name": "Miao, Large Flowery"
},
- "klx": {
- "english_name": "Koluwawa"
+ "nsu": {
+ "english_name": "Nahuatl, Sierra Negra"
},
- "kly": {
- "english_name": "Kalao"
+ "sdj": {
+ "english_name": "Suundi"
},
- "klz": {
- "english_name": "Kabola"
+ "amb": {
+ "english_name": "Ambo"
},
- "swh": {
- "english_name": "Swahili (individual language)"
+ "ybi": {
+ "english_name": "Yamphu"
},
- "xud": {
- "english_name": "Umiida"
+ "lak": {
+ "english_name": "Laka (Nigeria)"
},
- "tsi": {
- "english_name": "Tsimshian"
+ "amc": {
+ "english_name": "Amahuaca"
},
- "xug": {
- "english_name": "Kunigami"
+ "lbv": {
+ "english_name": "Lavatbura-Lamusong"
},
- "xua": {
- "english_name": "Kurumba, Alu"
+ "pug": {
+ "english_name": "Phuie"
},
- "yxy": {
- "english_name": "Yabula Yabula"
+ "tzj": {
+ "english_name": "Tz'utujil"
},
- "xub": {
- "english_name": "Kurumba, Betta"
+ "tlh": {
+ "english_name": "Klingon"
},
- "pye": {
- "english_name": "Krumen, Pye"
+ "wal": {
+ "english_name": "Wolaytta"
},
- "yxu": {
- "english_name": "Yuyu"
+ "raa": {
+ "english_name": "Dungmali"
},
- "xul": {
- "english_name": "Ngunawal"
+ "xdc": {
+ "english_name": "Dacian"
},
- "yxl": {
- "english_name": "Yardliyawarra"
+ "aez": {
+ "english_name": "Aeka"
},
- "yxm": {
- "english_name": "Yinwum"
+ "kol": {
+ "english_name": "Kol (Papua New Guinea)"
},
- "yxa": {
- "english_name": "Mayawali"
+ "gdo": {
+ "english_name": "Ghodoberi"
},
- "xun": {
- "english_name": "Unggaranggu"
+ "mcf": {
+ "english_name": "Matsés"
},
- "xuj": {
- "english_name": "Kurumba, Jennu"
+ "tqu": {
+ "english_name": "Touo"
},
- "ito": {
- "english_name": "Itonama"
+ "agn": {
+ "english_name": "Agutaynen"
},
- "itl": {
- "english_name": "Itelmen"
+ "xmh": {
+ "english_name": "Kuku-Muminh"
},
- "itm": {
- "english_name": "Itu Mbon Uzo"
+ "snx": {
+ "english_name": "Sam"
},
- "itk": {
- "english_name": "Judeo-Italian"
+ "lyg": {
+ "english_name": "Lyngngam"
},
- "iti": {
- "english_name": "Itneg, Inlaod"
+ "axe": {
+ "english_name": "Ayerrerenge"
},
- "ite": {
- "english_name": "Itene"
+ "sym": {
+ "english_name": "Samo, Maya"
},
- "itb": {
- "english_name": "Itneg, Binongan"
+ "cna": {
+ "english_name": "Changthang"
},
- "itz": {
- "english_name": "Itzá"
+ "laa": {
+ "english_name": "Subanen, Southern"
},
- "itx": {
- "english_name": "Itik"
+ "mzi": {
+ "english_name": "Mazatec, Ixcatlán"
},
- "ity": {
- "english_name": "Itneg, Moyadan"
+ "gby": {
+ "english_name": "Gbari"
},
- "itv": {
- "english_name": "Itawit"
+ "glc": {
+ "english_name": "Bon Gula"
},
- "itw": {
- "english_name": "Ito"
+ "sef": {
+ "english_name": "Senoufo, Cebaara"
},
- "itt": {
- "english_name": "Itneg, Maeng"
+ "vmg": {
+ "english_name": "Lungalunga"
},
- "itr": {
- "english_name": "Iteri"
+ "byf": {
+ "english_name": "Bete"
},
- "its": {
- "english_name": "Isekiri"
+ "bdh": {
+ "english_name": "Baka (Sudan)"
},
- "wrg": {
- "english_name": "Warungu"
+ "cmn": {
+ "english_name": "Chinese, Mandarin"
},
- "wrd": {
- "english_name": "Warduji"
+ "nud": {
+ "english_name": "Ngala"
},
- "swo": {
- "english_name": "Shanenawa"
+ "mvh": {
+ "english_name": "Mulgi"
},
- "wrb": {
- "english_name": "Warluwara"
+ "tgz": {
+ "english_name": "Tagalaka"
},
- "wra": {
- "english_name": "Warapu"
+ "aml": {
+ "english_name": "War-Jaintia"
},
- "wrn": {
- "english_name": "Warnang"
+ "kaa": {
+ "english_name": "Kara-Kalpak"
},
- "wro": {
- "english_name": "Worrorra"
+ "bef": {
+ "english_name": "Benabena"
},
- "wrl": {
- "english_name": "Warlmanpa"
+ "kei": {
+ "english_name": "Kei"
},
- "wrm": {
- "english_name": "Warumungu"
+ "byc": {
+ "english_name": "Ubaghara"
},
- "wrk": {
- "english_name": "Garrwa"
+ "etu": {
+ "english_name": "Ejagham"
},
- "wrh": {
- "english_name": "Wiradhuri"
+ "zmm": {
+ "english_name": "Marimanindji"
},
- "wri": {
- "english_name": "Wariyangga"
+ "ziz": {
+ "english_name": "Zizilivakan"
},
- "wrv": {
- "english_name": "Waruna"
+ "ifa": {
+ "english_name": "Ifugao, Amganad"
},
- "wrw": {
- "english_name": "Gugu Warra"
+ "dax": {
+ "english_name": "Dayi"
},
- "wru": {
- "english_name": "Waru"
+ "xna": {
+ "english_name": "North Arabian, Ancient"
},
- "wrr": {
- "english_name": "Wardaman"
+ "nma": {
+ "english_name": "Naga, Maram"
},
- "wrs": {
- "english_name": "Waris"
+ "ono": {
+ "english_name": "Onondaga"
},
- "wrp": {
- "english_name": "Waropen"
+ "dub": {
+ "english_name": "Dubli"
},
- "wrz": {
- "english_name": "Waray (Australia)"
+ "ayr": {
+ "english_name": "Aymara, Central"
},
- "wrx": {
- "english_name": "Wae Rana"
+ "xwk": {
+ "english_name": "Wangkumara"
},
- "wry": {
- "english_name": "Merwari"
+ "kvt": {
+ "english_name": "Karen, Lahta"
},
- "tri": {
- "english_name": "Trió"
+ "meo": {
+ "english_name": "Malay, Kedah"
},
- "tro": {
- "english_name": "Naga, Tarao"
+ "nhg": {
+ "english_name": "Nahuatl, Tetelcingo"
},
- "tra": {
- "english_name": "Tirahi"
+ "sgi": {
+ "english_name": "Suga"
},
- "gft": {
- "english_name": "Gafat"
+ "www": {
+ "english_name": "Wawa"
},
- "trd": {
- "english_name": "Turi"
+ "bct": {
+ "english_name": "Bendi"
},
- "gfk": {
- "english_name": "Patpatar"
+ "yng": {
+ "english_name": "Yango"
},
- "jer": {
- "english_name": "Jere"
+ "meh": {
+ "english_name": "Mixtec, Southwestern Tlaxiaco"
},
- "jet": {
- "english_name": "Manem"
+ "gma": {
+ "english_name": "Gambera"
},
- "jeu": {
- "english_name": "Jonkor Bourmataguil"
+ "niv": {
+ "english_name": "Gilyak"
},
- "jeb": {
- "english_name": "Jebero"
+ "lex": {
+ "english_name": "Luang"
},
- "jeg": {
- "english_name": "Jeng"
+ "yul": {
+ "english_name": "Yulu"
},
- "jee": {
- "english_name": "Jerung"
+ "csa": {
+ "english_name": "Chinantec, Chiltepec"
},
- "jek": {
- "english_name": "Jeri Kuo"
+ "nza": {
+ "english_name": "Mbembe, Tigon"
},
- "jeh": {
- "english_name": "Jeh"
+ "dni": {
+ "english_name": "Dani, Lower Grand Valley"
},
- "jei": {
- "english_name": "Yei"
+ "aso": {
+ "english_name": "Dano"
},
- "jen": {
- "english_name": "Dza"
+ "sn": {
+ "english_name": "Shona"
},
- "jel": {
- "english_name": "Yelmek"
+ "kjp": {
+ "english_name": "Karen, Pwo Eastern"
},
- "aae": {
- "english_name": "Albanian, Arbëreshë"
+ "auk": {
+ "english_name": "Heyo"
},
- "aad": {
- "english_name": "Amal"
+ "atn": {
+ "english_name": "Ashtiani"
},
- "aag": {
- "english_name": "Ambrak"
+ "bae": {
+ "english_name": "Baré"
},
- "aaf": {
- "english_name": "Aranadan"
+ "aid": {
+ "english_name": "Alngith"
},
- "aaa": {
- "english_name": "Ghotuo"
+ "kjg": {
+ "english_name": "Khmu"
},
- "aac": {
- "english_name": "Ari"
+ "sax": {
+ "english_name": "Sa"
},
- "aab": {
- "english_name": "Alumu-Tesu"
+ "bxh": {
+ "english_name": "Buhutu"
},
- "aal": {
- "english_name": "Afade"
+ "air": {
+ "english_name": "Airoran"
},
- "aao": {
- "english_name": "Arabic, Algerian Saharan"
+ "fo": {
+ "english_name": "Faroese"
},
- "aan": {
- "english_name": "Anambé"
+ "mev": {
+ "english_name": "Mano"
},
- "aai": {
- "english_name": "Arifama-Miniafia"
+ "zhi": {
+ "english_name": "Zhire"
},
- "aah": {
- "english_name": "Arapesh, Abu'"
+ "acd": {
+ "english_name": "Gikyode"
},
- "aak": {
- "english_name": "Ankave"
+ "leo": {
+ "english_name": "Leti (Cameroon)"
},
- "aau": {
- "english_name": "Abau"
+ "hei": {
+ "english_name": "Heiltsuk"
},
- "aat": {
- "english_name": "Albanian, Arvanitika"
+ "bvn": {
+ "english_name": "Buna"
},
- "aaw": {
- "english_name": "Solong"
+ "mlp": {
+ "english_name": "Bargam"
},
- "aaq": {
- "english_name": "Abnaki, Eastern"
+ "ccj": {
+ "english_name": "Kasanga"
},
- "aap": {
- "english_name": "Arára, Pará"
+ "cnu": {
+ "english_name": "Chenoua"
},
- "aas": {
- "english_name": "Aasáx"
+ "zsl": {
+ "english_name": "Zambian Sign Language"
},
- "aax": {
- "english_name": "Mandobo Atas"
+ "tcq": {
+ "english_name": "Kaiy"
},
- "aaz": {
- "english_name": "Amarasi"
+ "hmz": {
+ "english_name": "Hmong Shua"
},
- "bhi": {
- "english_name": "Bhilali"
+ "mnr": {
+ "english_name": "Mono (USA)"
},
- "bhh": {
- "english_name": "Bukharic"
+ "ske": {
+ "english_name": "Seke (Vanuatu)"
},
- "bhj": {
- "english_name": "Bahing"
+ "khu": {
+ "english_name": "Nkhumbi"
},
- "bhm": {
- "english_name": "Bathari"
+ "nrr": {
+ "english_name": "Norra"
},
- "bhl": {
- "english_name": "Bimin"
+ "zmc": {
+ "english_name": "Margany"
},
- "bho": {
- "english_name": "Bhojpuri"
+ "gab": {
+ "english_name": "Gabri"
},
- "bhn": {
- "english_name": "Neo-Aramaic, Bohtan"
+ "qvo": {
+ "english_name": "Quechua, Napo Lowland"
},
- "bha": {
- "english_name": "Bharia"
+ "zza": {
+ "english_name": "Zaza"
},
- "bhc": {
- "english_name": "Biga"
+ "gbs": {
+ "english_name": "Gbe, Gbesi"
},
- "bhb": {
- "english_name": "Bhili"
+ "yka": {
+ "english_name": "Yakan"
},
- "bhe": {
- "english_name": "Bhaya"
+ "hoj": {
+ "english_name": "Hadothi"
},
- "bhd": {
- "english_name": "Bhadrawahi"
+ "sjb": {
+ "english_name": "Sajau Basap"
},
- "bhg": {
- "english_name": "Binandere"
+ "mhl": {
+ "english_name": "Mauwake"
},
- "bhf": {
- "english_name": "Odiai"
+ "ami": {
+ "english_name": "Amis"
},
- "bhy": {
- "english_name": "Bhele"
+ "mky": {
+ "english_name": "Makian, East"
},
- "bhx": {
- "english_name": "Bhalay"
+ "byd": {
+ "english_name": "Benyadu'"
},
- "bhz": {
- "english_name": "Bada (Indonesia)"
+ "wrp": {
+ "english_name": "Waropen"
},
- "bhq": {
- "english_name": "Tukang Besi South"
+ "axk": {
+ "english_name": "Yaka (Central African Republic)"
},
- "bhp": {
- "english_name": "Bima"
+ "bgv": {
+ "english_name": "Warkay-Bipim"
},
- "bhs": {
- "english_name": "Buwal"
+ "aom": {
+ "english_name": "Ömie"
},
- "bhr": {
- "english_name": "Malagasy, Bara"
+ "pit": {
+ "english_name": "Pitta Pitta"
},
- "bhu": {
- "english_name": "Bhunjia"
+ "nyv": {
+ "english_name": "Nyulnyul"
},
- "bht": {
- "english_name": "Bhattiyali"
+ "shs": {
+ "english_name": "Shuswap"
},
- "bhw": {
- "english_name": "Biak"
+ "spc": {
+ "english_name": "Sapé"
},
- "bhv": {
- "english_name": "Bahau"
+ "chr": {
+ "english_name": "Cherokee"
},
- "hgw": {
- "english_name": "Haigwai"
+ "xcv": {
+ "english_name": "Chuvantsy"
},
- "hgm": {
- "english_name": "Hai//om"
+ "psr": {
+ "english_name": "Portuguese Sign Language"
},
- "tpg": {
- "english_name": "Kula"
+ "jie": {
+ "english_name": "Jilbe"
},
- "tpf": {
- "english_name": "Tarpia"
+ "dhr": {
+ "english_name": "Dhargari"
},
- "tpe": {
- "english_name": "Tippera"
+ "az": {
+ "english_name": "Azerbaijani",
+ "name": "Azerbaijani"
},
- "tpc": {
- "english_name": "Me'phaa, Azoyú"
+ "bax": {
+ "english_name": "Bamun"
},
- "tpa": {
- "english_name": "Taupota"
+ "ppq": {
+ "english_name": "Pei"
},
- "tpo": {
- "english_name": "Tai Pao"
+ "lbt": {
+ "english_name": "Lachi"
},
- "tpn": {
- "english_name": "Tupinambá"
+ "mti": {
+ "english_name": "Maiwa (Papua New Guinea)"
},
- "tpm": {
- "english_name": "Tampulma"
+ "mpw": {
+ "english_name": "Mapidian"
},
- "tpl": {
- "english_name": "Me'phaa, Tlacoapa"
+ "hhi": {
+ "english_name": "Hoia Hoia"
},
- "tpk": {
- "english_name": "Tupinikin"
+ "nkj": {
+ "english_name": "Nakai"
},
- "tpj": {
- "english_name": "Tapieté"
+ "bbl": {
+ "english_name": "Bats"
},
- "tpi": {
- "english_name": "Tok Pisin"
+ "pcd": {
+ "english_name": "Picard"
},
- "tpw": {
- "english_name": "Tupí"
+ "tiy": {
+ "english_name": "Tiruray"
},
- "tpv": {
- "english_name": "Tanapag"
+ "zpm": {
+ "english_name": "Zapotec, Mixtepec"
},
- "ext": {
- "english_name": "Extremaduran"
+ "lsg": {
+ "english_name": "Lyons Sign Language"
},
- "tpt": {
- "english_name": "Tepehua, Tlachichilco"
+ "hmg": {
+ "english_name": "Hmong, Southwestern Guiyang"
},
- "tpr": {
- "english_name": "Tuparí"
+ "kmx": {
+ "english_name": "Waboda"
},
- "tpq": {
- "english_name": "Tukpa"
+ "vae": {
+ "english_name": "Vale"
},
- "tpp": {
- "english_name": "Tepehua, Pisaflores"
+ "deq": {
+ "english_name": "Dendi (Central African Republic)"
},
- "tpz": {
- "english_name": "Tinputz"
+ "mcl": {
+ "english_name": "Macaguaje"
},
- "tpy": {
- "english_name": "Trumai"
+ "bin": {
+ "english_name": "Bini"
},
- "tpx": {
- "english_name": "Me'phaa, Acatepec"
+ "spi": {
+ "english_name": "Saponi"
},
- "ojv": {
- "english_name": "Ontong Java"
+ "yog": {
+ "english_name": "Yogad"
},
- "ojw": {
- "english_name": "Ojibwa, Western"
+ "eri": {
+ "english_name": "Ogea"
},
- "ugo": {
- "english_name": "Ugong"
+ "plv": {
+ "english_name": "Palawano, Southwest"
},
- "ojs": {
- "english_name": "Ojibwa, Severn"
+ "ysg": {
+ "english_name": "Sonaga"
},
- "ojp": {
- "english_name": "Japanese, Old"
+ "dzl": {
+ "english_name": "Dzalakha"
},
- "ugb": {
- "english_name": "Kuku-Ugbanh"
+ "bfy": {
+ "english_name": "Bagheli"
},
- "uga": {
- "english_name": "Ugaritic"
+ "gu": {
+ "english_name": "Gujarati",
+ "name": "ગુજરાતી"
},
- "uge": {
- "english_name": "Ughele"
+ "tos": {
+ "english_name": "Totonac, Highland"
},
- "ojg": {
- "english_name": "Ojibwa, Eastern"
+ "iu": {
+ "english_name": "Inuktitut"
},
- "ugy": {
- "english_name": "Uruguayan Sign Language"
+ "gmz": {
+ "english_name": "Mgbolizhia"
},
- "ojb": {
- "english_name": "Ojibwa, Northwestern"
+ "bnd": {
+ "english_name": "Banda (Indonesia)"
},
- "ojc": {
- "english_name": "Ojibwa, Central"
+ "muq": {
+ "english_name": "Miao, Eastern Xiangxi"
},
- "crr": {
- "english_name": "Algonquian, Carolina"
+ "ncj": {
+ "english_name": "Nahuatl, Northern Puebla"
},
- "crs": {
- "english_name": "Creole French, Seselwa"
+ "aat": {
+ "english_name": "Albanian, Arvanitika"
},
- "crq": {
- "english_name": "Chorote, Iyo'wujwa"
+ "hus": {
+ "english_name": "Huastec"
},
- "crv": {
- "english_name": "Chaura"
+ "zib": {
+ "english_name": "Zimbabwe Sign Language"
},
- "crw": {
- "english_name": "Chrau"
+ "kyz": {
+ "english_name": "Kayabí"
},
- "crt": {
- "english_name": "Chorote, Iyojwa'ja"
+ "tcc": {
+ "english_name": "Datooga"
},
- "crz": {
- "english_name": "Cruzeño"
+ "zar": {
+ "english_name": "Zapotec, Rincón"
},
- "crx": {
- "english_name": "Carrier"
+ "xae": {
+ "english_name": "Aequian"
},
- "cry": {
- "english_name": "Cori"
+ "zpb": {
+ "english_name": "Zapotec, Yautepec"
},
- "crb": {
- "english_name": "Carib, Island"
+ "hos": {
+ "english_name": "Ho Chi Minh City Sign Language"
},
- "crc": {
- "english_name": "Lonwolwol"
+ "rax": {
+ "english_name": "Rang"
},
- "cra": {
- "english_name": "Chara"
+ "zh": {
+ "english_name": "Chinese",
+ "name": "中文"
},
- "crf": {
- "english_name": "Caramanta"
+ "max": {
+ "english_name": "Malay, North Moluccan"
},
- "crg": {
- "english_name": "Michif"
+ "agv": {
+ "english_name": "Dumagat, Remontado"
},
- "crd": {
- "english_name": "Coeur d'Alene"
+ "nrt": {
+ "english_name": "Kalapuya, Northern"
},
- "crj": {
- "english_name": "Cree, Southern East"
+ "ckt": {
+ "english_name": "Chukot"
},
- "crk": {
- "english_name": "Cree, Plains"
+ "jas": {
+ "english_name": "Javanese, New Caledonian"
},
- "crh": {
- "name": "Tatar, Crimean",
- "english_name": "Tatar, Crimean"
+ "ssh": {
+ "english_name": "Arabic, Shihhi"
},
- "cri": {
- "english_name": "Sãotomense"
+ "phd": {
+ "english_name": "Phudagi"
},
- "crn": {
- "english_name": "Cora, El Nayar"
+ "xle": {
+ "english_name": "Lemnian"
},
- "cro": {
- "english_name": "Crow"
+ "adf": {
+ "english_name": "Arabic, Dhofari"
},
- "crl": {
- "english_name": "Cree, Northern East"
+ "tuj": {
+ "english_name": "Tugutil"
},
- "crm": {
- "english_name": "Cree, Moose"
+ "nvh": {
+ "english_name": "Nasarian"
},
- "sew": {
- "english_name": "Sewa Bay"
+ "djr": {
+ "english_name": "Djambarrpuyngu"
},
- "sev": {
- "english_name": "Senoufo, Nyarafolo"
+ "gsp": {
+ "english_name": "Wasembo"
},
- "seu": {
- "english_name": "Serui-Laut"
+ "kiw": {
+ "english_name": "Kiwai, Northeast"
},
- "set": {
- "english_name": "Sentani"
+ "ism": {
+ "english_name": "Masimasi"
},
- "ses": {
- "english_name": "Songhai, Koyraboro Senni"
+ "mox": {
+ "english_name": "Molima"
},
- "ser": {
- "english_name": "Serrano"
+ "nxi": {
+ "english_name": "Nindi"
},
- "seq": {
- "english_name": "Sénoufo, Senara"
+ "rjs": {
+ "english_name": "Rajbanshi"
},
- "sep": {
- "english_name": "Sénoufo, Sìcìté"
+ "cuj": {
+ "english_name": "Mashco Piro"
},
- "sez": {
- "english_name": "Chin, Senthang"
+ "kvk": {
+ "english_name": "Korean Sign Language"
},
- "sey": {
- "english_name": "Secoya"
+ "bxo": {
+ "english_name": "Barikanchi"
},
- "seg": {
- "english_name": "Segeju"
+ "ged": {
+ "english_name": "Gade"
},
- "sef": {
- "english_name": "Senoufo, Cebaara"
+ "nih": {
+ "english_name": "Nyiha (Tanzania)"
},
- "see": {
- "english_name": "Seneca"
+ "hru": {
+ "english_name": "Hruso"
},
- "sed": {
- "english_name": "Sedang"
+ "mlx": {
+ "english_name": "Malfaxal"
},
- "sec": {
- "english_name": "Sechelt"
+ "mpj": {
+ "english_name": "Martu Wangka"
},
- "seb": {
- "english_name": "Senoufo, Shempire"
+ "mdp": {
+ "english_name": "Mbala"
},
- "sea": {
- "english_name": "Semai"
+ "yhl": {
+ "english_name": "Phowa, Hlepho"
},
- "seo": {
- "english_name": "Suarmin"
+ "bgi": {
+ "english_name": "Giangan"
},
- "sen": {
- "english_name": "Sénoufo, Nanerigé"
+ "ldl": {
+ "english_name": "Kaan"
},
- "sel": {
- "english_name": "Selkup"
+ "nrx": {
+ "english_name": "Ngurmbur"
},
- "sek": {
- "english_name": "Sekani"
+ "noq": {
+ "english_name": "Ngongo"
},
- "sej": {
- "english_name": "Sene"
+ "mrc": {
+ "english_name": "Maricopa"
},
- "sei": {
- "english_name": "Seri"
+ "aig": {
+ "english_name": "Creole English, Antigua and Barbuda"
},
- "seh": {
- "english_name": "Sena"
+ "fos": {
+ "english_name": "Siraya"
},
- "zkn": {
- "english_name": "Kanan"
+ "pok": {
+ "english_name": "Pokangá"
},
- "zko": {
- "english_name": "Kott"
+ "pif": {
+ "english_name": "Pingelapese"
},
- "zkh": {
- "english_name": "Khorezmian"
+ "buz": {
+ "english_name": "Bukwen"
},
- "zkk": {
- "english_name": "Karankawa"
+ "kos": {
+ "english_name": "Kosraean"
},
- "zkd": {
- "english_name": "Kadu"
+ "isd": {
+ "english_name": "Isnag"
},
- "zkg": {
- "english_name": "Koguryo"
+ "juk": {
+ "english_name": "Wapan"
},
- "zka": {
- "english_name": "Kaimbulawa"
+ "bwm": {
+ "english_name": "Biwat"
},
- "zkb": {
- "english_name": "Koibal"
+ "muk": {
+ "english_name": "Mugom"
},
- "zkz": {
- "english_name": "Khazar"
+ "btj": {
+ "english_name": "Malay, Bacanese"
},
- "zkt": {
- "english_name": "Kitan"
+ "ldq": {
+ "english_name": "Lufu"
},
- "zku": {
- "english_name": "Kaurna"
+ "kfz": {
+ "english_name": "Koromfé"
},
- "zkv": {
- "english_name": "Krevinian"
+ "xwa": {
+ "english_name": "Kwaza"
},
- "zkp": {
- "english_name": "Kaingáng, São Paulo"
+ "nxl": {
+ "english_name": "Nuaulu, South"
},
- "zkr": {
- "english_name": "Zakhring"
+ "acw": {
+ "english_name": "Arabic, Hijazi"
},
- "swt": {
- "english_name": "Sawila"
+ "xkk": {
+ "english_name": "Kaco'"
},
- "pdu": {
- "english_name": "Kayan"
+ "vap": {
+ "english_name": "Vaiphei"
},
- "pdt": {
- "english_name": "Plautdietsch"
+ "tbn": {
+ "english_name": "Tunebo, Barro Negro"
},
- "pdo": {
- "english_name": "Padoe"
+ "gmv": {
+ "english_name": "Gamo"
},
- "pdn": {
- "english_name": "Podena"
+ "otr": {
+ "english_name": "Otoro"
},
- "sww": {
- "english_name": "Sowa"
+ "yap": {
+ "english_name": "Yapese"
},
- "pdi": {
- "english_name": "Pa Di"
+ "giy": {
+ "english_name": "Giyug"
},
- "pdc": {
- "english_name": "German, Pennsylvania"
+ "roe": {
+ "english_name": "Ronji"
},
- "pda": {
- "english_name": "Anam"
+ "ams": {
+ "english_name": "Amami-Oshima, Southern"
},
- "xay": {
- "english_name": "Kayan Mahakam"
+ "fss": {
+ "english_name": "Finland-Swedish Sign Language"
},
- "xap": {
- "english_name": "Apalachee"
+ "etc": {
+ "english_name": "Etchemin"
},
- "xaq": {
- "english_name": "Aquitanian"
+ "gyf": {
+ "english_name": "Gungabula"
},
- "xar": {
- "english_name": "Karami"
+ "gut": {
+ "english_name": "Maléku Jaíka"
},
- "xas": {
- "english_name": "Kamas"
+ "kdh": {
+ "english_name": "Tem"
},
- "xat": {
- "english_name": "Katawixi"
+ "wyr": {
+ "english_name": "Wayoró"
},
- "xau": {
- "english_name": "Kauwera"
+ "enw": {
+ "english_name": "Enwan (Akwa Ibom State)"
},
- "xav": {
- "english_name": "Xavánte"
+ "bfk": {
+ "english_name": "Ban Khor Sign Language"
},
- "xaw": {
- "english_name": "Kawaiisu"
+ "mfc": {
+ "english_name": "Mba"
},
- "xai": {
- "english_name": "Kaimbé"
+ "sbh": {
+ "english_name": "Sori-Harengan"
},
- "xal": {
- "english_name": "Kalmyk"
+ "mk": {
+ "english_name": "Macedonian",
+ "name": "Македонски"
},
- "xam": {
- "english_name": "/Xam"
+ "mdi": {
+ "english_name": "Mamvu"
},
- "xan": {
- "english_name": "Xamtanga"
+ "qxq": {
+ "english_name": "Qashqa'i"
},
- "xao": {
- "english_name": "Khao"
+ "ayn": {
+ "english_name": "Arabic, Sanaani"
},
- "xaa": {
- "english_name": "Arabic, Andalusian"
+ "ple": {
+ "english_name": "Palu'e"
},
- "xab": {
- "english_name": "Sambe"
+ "bom": {
+ "english_name": "Berom"
},
- "xac": {
- "english_name": "Kachari"
+ "lsr": {
+ "english_name": "Aruop"
},
- "xad": {
- "english_name": "Adai"
+ "now": {
+ "english_name": "Nyambo"
},
- "xae": {
- "english_name": "Aequian"
+ "kbt": {
+ "english_name": "Abadi"
},
- "xag": {
- "english_name": "Aghwan"
+ "zmr": {
+ "english_name": "Maranunggu"
},
- "nrk": {
- "english_name": "Ngarla"
+ "nbi": {
+ "english_name": "Naga, Mao"
},
- "nri": {
- "english_name": "Naga, Chokri"
+ "ssu": {
+ "english_name": "Susuami"
},
- "nrn": {
- "english_name": "Norn"
+ "byn": {
+ "english_name": "Bilin",
+ "name": "Bilin"
},
- "nrm": {
- "english_name": "Narom"
+ "paz": {
+ "english_name": "Pankararú"
},
- "nrl": {
- "english_name": "Ngarluma"
+ "ymm": {
+ "english_name": "Maay"
},
- "nrc": {
- "english_name": "Noric"
+ "ktv": {
+ "english_name": "Katu, Eastern"
},
- "nrb": {
- "english_name": "Nara"
+ "nuz": {
+ "english_name": "Nahuatl, Tlamacazapa"
},
- "nra": {
- "english_name": "Ngom"
+ "afb": {
+ "english_name": "Arabic, Gulf"
},
- "nrg": {
- "english_name": "Narango"
+ "knj": {
+ "english_name": "Kanjobal, Western"
},
- "nre": {
- "english_name": "Naga, Southern Rengma"
+ "kk": {
+ "english_name": "Kazakh"
},
- "nrz": {
- "english_name": "Lala"
+ "kyq": {
+ "english_name": "Kenga"
},
- "nrx": {
- "english_name": "Ngurmbur"
+ "yak": {
+ "english_name": "Yakama"
},
- "nrr": {
- "english_name": "Norra"
+ "cmm": {
+ "english_name": "Michigamea"
},
- "nrp": {
- "english_name": "Picene, North"
+ "bzt": {
+ "english_name": "Brithenig"
},
- "nru": {
- "english_name": "Narua"
+ "suq": {
+ "english_name": "Suri"
},
- "nrt": {
- "english_name": "Kalapuya, Northern"
+ "pda": {
+ "english_name": "Anam"
},
- "mlb": {
- "english_name": "Mbule"
+ "mtn": {
+ "english_name": "Matagalpa"
},
- "mlc": {
- "english_name": "Cao Lan"
+ "kmo": {
+ "english_name": "Kwoma"
},
- "mla": {
- "english_name": "Malo"
+ "nwo": {
+ "english_name": "Nauo"
},
- "mlf": {
- "english_name": "Mal"
+ "nzm": {
+ "english_name": "Naga, Zeme"
},
- "mle": {
- "english_name": "Manambu"
+ "yyr": {
+ "english_name": "Yir Yoront"
},
- "mlj": {
- "english_name": "Miltu"
+ "nib": {
+ "english_name": "Nakame"
},
- "mlk": {
- "english_name": "Ilwana"
+ "nkm": {
+ "english_name": "Namat"
},
- "mlh": {
- "english_name": "Mape"
+ "wji": {
+ "english_name": "Warji"
},
- "mli": {
- "english_name": "Malimpung"
+ "tch": {
+ "english_name": "Creole English, Turks And Caicos"
},
- "mln": {
- "english_name": "Malango"
+ "cce": {
+ "english_name": "Chopi"
},
- "mlo": {
- "english_name": "Mlomp"
+ "yki": {
+ "english_name": "Yoke"
},
- "mll": {
- "english_name": "Malua Bay"
+ "ugb": {
+ "english_name": "Kuku-Ugbanh"
},
- "mlm": {
- "english_name": "Mulam"
+ "avn": {
+ "english_name": "Avatime"
},
- "mlr": {
- "english_name": "Vame"
+ "kmy": {
+ "english_name": "Koma"
},
- "mls": {
- "english_name": "Masalit"
+ "ayc": {
+ "english_name": "Aymara, Southern"
},
- "mlp": {
- "english_name": "Bargam"
+ "mqf": {
+ "english_name": "Momuna"
},
- "mlq": {
- "english_name": "Maninkakan, Western"
+ "sbb": {
+ "english_name": "Simbo"
},
- "mlv": {
- "english_name": "Motlav"
+ "bzb": {
+ "english_name": "Andio"
},
- "mlw": {
- "english_name": "Moloko"
+ "nqm": {
+ "english_name": "Ndom"
},
- "mlu": {
- "english_name": "To'abaita"
+ "bzc": {
+ "english_name": "Malagasy, Southern Betsimisaraka"
},
- "mlz": {
- "english_name": "Malaynon"
+ "pcg": {
+ "english_name": "Paniya"
},
- "mlx": {
- "english_name": "Malfaxal"
+ "am": {
+ "english_name": "Amharic",
+ "name": "አማርኛ"
},
- "psh": {
- "english_name": "Pashayi, Southwest"
+ "bea": {
+ "english_name": "Beaver"
},
- "vot": {
- "english_name": "Votic"
+ "tdk": {
+ "english_name": "Tambas"
},
- "amj": {
- "english_name": "Amdang"
+ "gga": {
+ "english_name": "Gao"
},
- "vor": {
- "english_name": "Voro"
+ "kfe": {
+ "english_name": "Kota (India)"
},
- "amm": {
- "english_name": "Ama (Papua New Guinea)"
+ "nqo": {
+ "english_name": "N'Ko"
},
- "pso": {
- "english_name": "Polish Sign Language"
+ "kfx": {
+ "english_name": "Pahari, Kullu"
},
- "psl": {
- "english_name": "Puerto Rican Sign Language"
+ "tbk": {
+ "english_name": "Tagbanwa, Calamian"
},
- "psm": {
- "english_name": "Pauserna"
+ "kjn": {
+ "english_name": "Kunjen"
},
- "psa": {
- "english_name": "Awyu, Asue"
+ "axb": {
+ "english_name": "Abipon"
},
- "rdb": {
- "english_name": "Rudbari"
+ "ywn": {
+ "english_name": "Yawanawa"
},
- "psd": {
- "english_name": "Plains Indian Sign Language"
+ "sqh": {
+ "english_name": "Shau"
},
- "amf": {
- "english_name": "Hamer-Banna"
+ "xbj": {
+ "english_name": "Birrpayi"
},
- "knn": {
- "english_name": "Konkani (individual language)"
+ "azn": {
+ "english_name": "Nahuatl, Western Durango"
},
- "kno": {
- "english_name": "Kono (Sierra Leone)"
+ "bte": {
+ "english_name": "Gamo-Ningi"
},
- "knl": {
- "english_name": "Keninjal"
+ "abf": {
+ "english_name": "Abai Sungai"
},
- "knm": {
- "english_name": "Kanamarí"
+ "nkt": {
+ "english_name": "Nyika (Tanzania)"
},
- "knj": {
- "english_name": "Kanjobal, Western"
+ "xty": {
+ "english_name": "Mixtec, Yoloxochitl"
},
- "knk": {
- "english_name": "Kuranko"
+ "hmr": {
+ "english_name": "Hmar"
},
- "kni": {
- "english_name": "Kanufi"
+ "ipo": {
+ "english_name": "Ipiko"
},
- "knf": {
- "english_name": "Mankanya"
+ "ydg": {
+ "english_name": "Yidgha"
},
- "kng": {
- "english_name": "Koongo"
+ "ihi": {
+ "english_name": "Ihievbe"
},
- "knd": {
- "english_name": "Konda"
+ "arx": {
+ "english_name": "Aruá (Rodonia State)"
},
- "kne": {
- "english_name": "Kankanaey"
+ "dmm": {
+ "english_name": "Dama"
},
- "knb": {
- "english_name": "Kalinga, Lubuagan"
+ "ka": {
+ "english_name": "Georgian"
},
- "knc": {
- "english_name": "Kanuri, Central"
+ "sbg": {
+ "english_name": "Seget"
},
- "kna": {
- "english_name": "Dera (Nigeria)"
+ "agc": {
+ "english_name": "Agatu"
},
- "psy": {
- "english_name": "Piscataway"
+ "goa": {
+ "english_name": "Guro"
},
- "knz": {
- "english_name": "Kalamsé"
+ "dz": {
+ "english_name": "Dzongkha"
},
- "knx": {
- "english_name": "Kendayan"
+ "aul": {
+ "english_name": "Aulua"
},
- "kny": {
- "english_name": "Kanyok"
+ "trh": {
+ "english_name": "Turaka"
},
- "knv": {
- "english_name": "Tabo"
+ "bor": {
+ "english_name": "Borôro"
},
- "knw": {
- "english_name": "Kung-Ekoka"
+ "asc": {
+ "english_name": "Asmat, Casuarina Coast"
},
- "knt": {
- "english_name": "Katukína, Panoan"
+ "kej": {
+ "english_name": "Kadar"
},
- "knu": {
- "english_name": "Kono (Guinea)"
+ "had": {
+ "english_name": "Hatam"
},
- "knr": {
- "english_name": "Kaningra"
+ "nmp": {
+ "english_name": "Nimanbur"
},
- "kns": {
- "english_name": "Kensiu"
+ "srf": {
+ "english_name": "Nafi"
},
- "knp": {
- "english_name": "Kwanja"
+ "tly": {
+ "english_name": "Talysh"
},
- "knq": {
- "english_name": "Kintaq"
+ "mvt": {
+ "english_name": "Mpotovoro"
},
- "psr": {
- "english_name": "Portuguese Sign Language"
+ "pt": {
+ "english_name": "Portuguese",
+ "name": "Português"
},
- "pss": {
- "english_name": "Kaulong"
+ "mxu": {
+ "english_name": "Mada (Cameroon)"
},
- "ams": {
- "english_name": "Amami-Oshima, Southern"
+ "sq": {
+ "english_name": "Albanian"
},
- "amr": {
- "english_name": "Amarakaeri"
+ "nn": {
+ "english_name": "Norwegian Nynorsk",
+ "name": "Norwegian Nynorsk"
},
- "amt": {
- "english_name": "Amto"
+ "gcl": {
+ "english_name": "Creole English, Grenadian"
},
- "pst": {
- "english_name": "Pashto, Central"
+ "bfe": {
+ "english_name": "Betaf"
},
- "amv": {
- "english_name": "Ambelau"
+ "val": {
+ "english_name": "Vehes"
},
- "vgt": {
- "english_name": "Vlaamse Gebarentaal"
+ "aru": {
+ "english_name": "Aruá (Amazonas State)"
},
- "ijs": {
- "english_name": "Ijo, Southeast"
+ "ght": {
+ "english_name": "Kuke"
},
- "ijc": {
- "english_name": "Izon"
+ "mpo": {
+ "english_name": "Miu"
},
- "ije": {
- "english_name": "Biseni"
+ "hnn": {
+ "english_name": "Hanunoo"
},
- "ijj": {
- "english_name": "Ede Ije"
+ "xni": {
+ "english_name": "Ngarigu"
},
- "ijn": {
- "english_name": "Kalabari"
+ "vid": {
+ "english_name": "Vidunda"
},
- "be": {
- "english_name": "Belarusian"
+ "kgy": {
+ "english_name": "Kyerung"
},
- "bg": {
- "name": "Български",
- "english_name": "Bulgarian"
+ "tas": {
+ "english_name": "Tay Boi"
},
- "ba": {
- "english_name": "Bashkir"
+ "xay": {
+ "english_name": "Kayan Mahakam"
},
- "bm": {
- "english_name": "Bambara"
+ "pak": {
+ "english_name": "Parakanã"
},
- "bn": {
- "name": "বাংলা",
- "english_name": "Bengali"
+ "no": {
+ "english_name": "Norwegian"
},
- "bo": {
- "english_name": "Tibetan"
+ "jye": {
+ "english_name": "Arabic, Judeo-Yemeni"
},
- "bi": {
- "english_name": "Bislama"
+ "bhf": {
+ "english_name": "Odiai"
},
- "chc": {
- "english_name": "Catawba"
+ "biu": {
+ "english_name": "Biete"
},
- "br": {
- "name": "Brezhoneg",
- "english_name": "Breton"
+ "hna": {
+ "english_name": "Mina (Cameroon)"
},
- "bs": {
- "name": "Bosnian",
- "english_name": "Bosnian"
+ "seo": {
+ "english_name": "Suarmin"
},
- "cic": {
- "english_name": "Chickasaw"
+ "moa": {
+ "english_name": "Mwan"
},
- "cib": {
- "english_name": "Gbe, Ci"
+ "ufi": {
+ "english_name": "Ufim"
},
- "cia": {
- "english_name": "Cia-Cia"
+ "bsk": {
+ "english_name": "Burushaski"
},
- "zim": {
- "english_name": "Mesme"
+ "azm": {
+ "english_name": "Amuzgo, Ipalapa"
},
- "cie": {
- "english_name": "Cineni"
+ "qxt": {
+ "english_name": "Quechua, Santa Ana de Tusi Pasco"
},
- "cid": {
- "english_name": "Chimariko"
+ "tqo": {
+ "english_name": "Toaripi"
},
- "cik": {
- "english_name": "Kinnauri, Chitkuli"
+ "qxu": {
+ "english_name": "Quechua, Arequipa-La Unión"
},
- "cih": {
- "english_name": "Chinali"
+ "ark": {
+ "english_name": "Arikapú"
},
- "cin": {
- "english_name": "Cinta Larga"
+ "xno": {
+ "english_name": "Anglo-Norman"
},
- "cim": {
- "english_name": "Cimbrian"
+ "nmw": {
+ "english_name": "Nimoa"
},
- "ur": {
- "english_name": "Urdu"
+ "luz": {
+ "english_name": "Luri, Southern"
},
- "cir": {
- "english_name": "Tiri"
+ "os": {
+ "english_name": "Ossetian"
},
- "cip": {
- "english_name": "Chiapanec"
+ "bem": {
+ "english_name": "Bemba (Zambia)"
},
- "ciw": {
- "english_name": "Chippewa"
+ "tcy": {
+ "english_name": "Tulu"
},
- "uk": {
- "name": "українська",
- "english_name": "Ukrainian"
+ "crq": {
+ "english_name": "Chorote, Iyo'wujwa"
},
- "quc": {
- "english_name": "K'iche'"
+ "dor": {
+ "english_name": "Dori'o"
},
- "ciy": {
- "english_name": "Chaima"
+ "stj": {
+ "english_name": "Samo, Matya"
},
- "sxb": {
- "english_name": "Suba"
+ "cho": {
+ "english_name": "Choctaw"
},
- "sxc": {
- "english_name": "Sicanian"
+ "kr": {
+ "english_name": "Kanuri"
},
- "sxe": {
- "english_name": "Sighu"
+ "hrm": {
+ "english_name": "Miao, Horned"
},
- "sxg": {
- "english_name": "Shixing"
+ "klp": {
+ "english_name": "Kamasa"
},
- "sxk": {
- "english_name": "Kalapuya, Southern"
+ "duw": {
+ "english_name": "Dusun Witu"
},
- "sxl": {
- "english_name": "Selian"
+ "yao": {
+ "english_name": "Yao"
},
- "sxm": {
- "english_name": "Samre"
+ "trf": {
+ "english_name": "Creole English, Trinidadian"
},
- "sxn": {
- "english_name": "Sangir"
+ "tbe": {
+ "english_name": "Tanimbili"
},
- "sxo": {
- "english_name": "Sorothaptic"
+ "tnm": {
+ "english_name": "Tabla"
},
- "sxr": {
- "english_name": "Saaroa"
+ "zty": {
+ "english_name": "Zapotec, Yatee"
},
- "sxs": {
- "english_name": "Sasaru"
+ "ccl": {
+ "english_name": "Cutchi-Swahili"
},
- "sxu": {
- "english_name": "Saxon, Upper"
+ "ost": {
+ "english_name": "Osatu"
},
- "qub": {
- "english_name": "Quechua, Huallaga Huánuco"
+ "gbo": {
+ "english_name": "Grebo, Northern"
},
- "sxw": {
- "english_name": "Gbe, Saxwe"
+ "bnr": {
+ "english_name": "Butmas-Tur"
},
- "jct": {
- "english_name": "Krymchak"
+ "bmv": {
+ "english_name": "Bum"
},
- "jcs": {
- "english_name": "Jamaican Country Sign Language"
+ "njb": {
+ "english_name": "Naga, Nocte"
},
- "qud": {
- "english_name": "Quichua, Calderón Highland"
+ "kii": {
+ "english_name": "Kitsai"
},
- "ago": {
- "english_name": "Tainae"
+ "msp": {
+ "english_name": "Maritsauá"
},
- "agn": {
- "english_name": "Agutaynen"
+ "sdc": {
+ "english_name": "Sardinian, Sassarese"
},
- "agm": {
- "english_name": "Angaataha"
+ "wib": {
+ "english_name": "Toussian, Southern"
},
- "agl": {
- "english_name": "Fembe"
+ "xxr": {
+ "english_name": "Koropó"
},
- "agk": {
- "english_name": "Agta, Isarog"
+ "kbw": {
+ "english_name": "Kaiep"
},
- "agj": {
- "english_name": "Argobba"
+ "ikp": {
+ "english_name": "Ikpeshi"
},
- "agi": {
- "english_name": "Agariya"
+ "gpa": {
+ "english_name": "Gupa-Abawa"
},
- "agh": {
- "english_name": "Ngelima"
+ "dme": {
+ "english_name": "Dugwor"
},
- "agg": {
- "english_name": "Angor"
+ "xcw": {
+ "english_name": "Coahuilteco"
},
- "agf": {
- "english_name": "Arguni"
+ "qwh": {
+ "english_name": "Quechua, Huaylas Ancash"
},
- "age": {
- "english_name": "Angal"
+ "kfk": {
+ "english_name": "Kinnauri"
},
- "agd": {
- "english_name": "Agarabi"
+ "sdl": {
+ "english_name": "Saudi Arabian Sign Language"
},
- "agc": {
- "english_name": "Agatu"
+ "drs": {
+ "english_name": "Gedeo"
},
- "agb": {
- "english_name": "Legbo"
+ "aif": {
+ "english_name": "Agi"
},
- "aga": {
- "english_name": "Aguano"
+ "sjo": {
+ "english_name": "Xibe"
},
- "qug": {
- "english_name": "Quichua, Chimborazo Highland"
+ "aia": {
+ "english_name": "Arosi"
},
- "agz": {
- "english_name": "Agta, Mt. Iriga"
+ "mpr": {
+ "english_name": "Vangunu"
},
- "agy": {
- "english_name": "Alta, Southern"
+ "rbp": {
+ "english_name": "Barababaraba"
},
- "agx": {
- "english_name": "Aghul"
+ "zag": {
+ "english_name": "Zaghawa"
},
- "agw": {
- "english_name": "Kahua"
+ "mta": {
+ "english_name": "Manobo, Cotabato"
},
- "agv": {
- "english_name": "Dumagat, Remontado"
+ "boj": {
+ "english_name": "Anjam"
},
- "agu": {
- "english_name": "Aguacateco"
+ "cdm": {
+ "english_name": "Chepang"
},
- "agt": {
- "english_name": "Agta, Central Cagayan"
+ "kqd": {
+ "english_name": "Koy Sanjaq Surat"
},
- "ags": {
- "english_name": "Esimbi"
+ "inb": {
+ "english_name": "Inga"
},
- "agr": {
- "english_name": "Aguaruna"
+ "xpn": {
+ "english_name": "Kapinawá"
},
- "agq": {
- "english_name": "Aghem"
+ "kuz": {
+ "english_name": "Kunza"
},
- "qvl": {
- "english_name": "Quechua, Cajatambo North Lima"
+ "xmb": {
+ "english_name": "Mbonga"
},
- "bvr": {
- "english_name": "Burarra"
+ "caz": {
+ "english_name": "Canichana"
},
- "bvq": {
- "english_name": "Birri"
+ "ibg": {
+ "english_name": "Ibanag"
},
- "bvp": {
- "english_name": "Bumang"
+ "pea": {
+ "english_name": "Indonesian, Peranakan"
},
- "bvw": {
- "english_name": "Boga"
+ "wdd": {
+ "english_name": "Wandji"
},
- "bvv": {
- "english_name": "Baniva"
+ "bmj": {
+ "english_name": "Bote-Majhi"
},
- "bvu": {
- "english_name": "Malay, Bukit"
+ "nca": {
+ "english_name": "Iyo"
},
- "bvt": {
- "english_name": "Bati (Indonesia)"
+ "sxe": {
+ "english_name": "Sighu"
},
- "bvz": {
- "english_name": "Bauzi"
+ "zns": {
+ "english_name": "Mangas"
},
- "bvy": {
- "english_name": "Baybayanon"
+ "tkx": {
+ "english_name": "Tangko"
},
- "bvx": {
- "english_name": "Dibole"
+ "anj": {
+ "english_name": "Anor"
},
- "qva": {
- "english_name": "Quechua, Ambo-Pasco"
+ "gvc": {
+ "english_name": "Guanano"
},
- "quf": {
- "english_name": "Quechua, Lambayeque"
+ "zmk": {
+ "english_name": "Mandandanyi"
},
- "qvc": {
- "english_name": "Quechua, Cajamarca"
+ "cwd": {
+ "english_name": "Cree, Woods"
},
- "bvc": {
- "english_name": "Baelelea"
+ "fgr": {
+ "english_name": "Fongoro"
},
- "bvb": {
- "english_name": "Bube"
+ "raw": {
+ "english_name": "Rawang"
},
- "bva": {
- "english_name": "Barein"
+ "lgu": {
+ "english_name": "Longgu"
},
- "bvg": {
- "english_name": "Bonkeng"
+ "cax": {
+ "english_name": "Chiquitano"
},
- "bvf": {
- "english_name": "Boor"
+ "mub": {
+ "english_name": "Mubi"
},
- "bve": {
- "english_name": "Malay, Berau"
+ "phg": {
+ "english_name": "Phuong"
},
- "bvd": {
- "english_name": "Baeggu"
+ "rer": {
+ "english_name": "Rer Bare"
},
- "bvk": {
- "english_name": "Bukat"
+ "wuy": {
+ "english_name": "Wauyai"
},
- "bvj": {
- "english_name": "Baan"
+ "wdy": {
+ "english_name": "Wadjabangayi"
},
- "bvi": {
- "english_name": "Belanda Viri"
+ "isn": {
+ "english_name": "Isanzu"
},
- "bvh": {
- "english_name": "Bure"
+ "sxs": {
+ "english_name": "Sasaru"
},
- "bvo": {
- "english_name": "Bolgo"
+ "pbg": {
+ "english_name": "Paraujano"
},
- "bvn": {
- "english_name": "Buna"
+ "xac": {
+ "english_name": "Kachari"
},
- "bvm": {
- "english_name": "Bamunka"
+ "nnk": {
+ "english_name": "Nankina"
},
- "bvl": {
- "english_name": "Bolivian Sign Language"
+ "tka": {
+ "english_name": "Truká"
},
- "qui": {
- "english_name": "Quileute"
+ "alx": {
+ "english_name": "Amol"
},
- "suv": {
- "english_name": "Puroik"
+ "abp": {
+ "english_name": "Ayta, Abellen"
},
- "quh": {
- "english_name": "Quechua, South Bolivian"
+ "uge": {
+ "english_name": "Ughele"
},
- "evh": {
- "english_name": "Uvbie"
+ "ijc": {
+ "english_name": "Izon"
},
- "trh": {
- "english_name": "Turaka"
+ "szw": {
+ "english_name": "Sawai"
},
- "trj": {
- "english_name": "Toram"
+ "pms": {
+ "english_name": "Piemontese"
},
- "trm": {
- "english_name": "Tregami"
+ "wun": {
+ "english_name": "Bungu"
},
- "trl": {
- "english_name": "Scottish, Traveller"
+ "bbo": {
+ "english_name": "Bobo Madaré, Northern"
},
- "evn": {
- "english_name": "Evenki"
+ "syn": {
+ "english_name": "Senaya"
},
- "trn": {
- "english_name": "Trinitario"
+ "wic": {
+ "english_name": "Wichita"
},
- "quk": {
- "english_name": "Quechua, Chachapoyas"
+ "kkl": {
+ "english_name": "Yale, Kosarek"
},
- "trc": {
- "english_name": "Triqui, Copala"
+ "wur": {
+ "english_name": "Wurrugu"
},
- "trb": {
- "english_name": "Terebu"
+ "ter": {
+ "english_name": "Tereno"
},
- "tre": {
- "english_name": "Tarangan, East"
+ "xwd": {
+ "english_name": "Wadi Wadi"
},
- "eve": {
- "english_name": "Even"
+ "zln": {
+ "english_name": "Zhuang, Lianshan"
},
- "trg": {
- "english_name": "Lishán Didán"
+ "kbb": {
+ "english_name": "Kaxuiâna"
},
- "trf": {
- "english_name": "Creole English, Trinidadian"
+ "orz": {
+ "english_name": "Ormu"
},
- "try": {
- "english_name": "Turung"
+ "tsp": {
+ "english_name": "Toussian, Northern"
},
- "trx": {
- "english_name": "Bidayuh, Tringgus-Sembaan"
+ "kfy": {
+ "english_name": "Kumaoni"
},
- "trz": {
- "english_name": "Torá"
+ "ss": {
+ "english_name": "Swati"
},
- "trq": {
- "english_name": "Triqui, San Martín Itunyoso"
+ "dik": {
+ "english_name": "Dinka, Southwestern"
},
- "trp": {
- "english_name": "Kok Borok"
+ "zte": {
+ "english_name": "Zapotec, Elotepec"
},
- "trs": {
- "english_name": "Triqui, Chicahuaxtla"
+ "bri": {
+ "english_name": "Mokpwe"
},
- "trr": {
- "english_name": "Taushiro"
+ "tlj": {
+ "english_name": "Talinga-Bwisi"
},
- "tru": {
- "english_name": "Turoyo"
+ "wbr": {
+ "english_name": "Wagdi"
},
- "trt": {
- "english_name": "Tunggare"
+ "ldo": {
+ "english_name": "Loo"
},
- "trw": {
- "english_name": "Torwali"
+ "kgc": {
+ "english_name": "Kasseng"
},
- "trv": {
- "english_name": "Taroko"
+ "kes": {
+ "english_name": "Kugbo"
},
- "tdk": {
- "english_name": "Tambas"
+ "fng": {
+ "english_name": "Fanagalo"
},
- "tdj": {
- "english_name": "Tajio"
+ "btl": {
+ "english_name": "Bhatola"
},
- "odt": {
- "english_name": "Dutch, Old"
+ "cuh": {
+ "english_name": "Chuka"
},
- "odu": {
- "english_name": "Odual"
+ "pam": {
+ "english_name": "Pampanga"
},
- "odk": {
- "english_name": "Od"
+ "bix": {
+ "english_name": "Bijori"
},
- "oda": {
- "english_name": "Odut"
+ "vmm": {
+ "english_name": "Mixtec, Mitlatongo"
},
- "ues": {
- "english_name": "Kioko"
+ "kap": {
+ "english_name": "Bezhta"
},
- "tdn": {
- "english_name": "Tondano"
+ "or": {
+ "english_name": "Oriya (macrolanguage)",
+ "name": "Oriya (macrolanguage)"
},
- "tdl": {
- "english_name": "Sur"
+ "gwu": {
+ "english_name": "Guwamu"
},
- "lea": {
- "english_name": "Lega-Shabunda"
+ "bkq": {
+ "english_name": "Bakairí"
},
- "leb": {
- "english_name": "Lala-Bisa"
+ "mtv": {
+ "english_name": "Asaro'o"
},
- "lec": {
- "english_name": "Leco"
+ "mgm": {
+ "english_name": "Mambae"
},
- "led": {
- "english_name": "Lendu"
+ "kvh": {
+ "english_name": "Komodo"
},
- "lee": {
- "english_name": "Lyélé"
+ "ymh": {
+ "english_name": "Mili"
},
- "lef": {
- "english_name": "Lelemi"
+ "nzi": {
+ "english_name": "Nzima"
},
- "leh": {
- "english_name": "Lenje"
+ "ldp": {
+ "english_name": "Tso"
},
- "lei": {
- "english_name": "Lemio"
+ "yne": {
+ "english_name": "Lang'e"
},
- "lej": {
- "english_name": "Lengola"
+ "hto": {
+ "english_name": "Huitoto, Minica"
},
- "lek": {
- "english_name": "Leipon"
+ "lsd": {
+ "english_name": "Lishana Deni"
},
- "lel": {
- "english_name": "Lele (Democratic Republic of Congo)"
+ "kqu": {
+ "english_name": "Seroa"
},
- "lem": {
- "english_name": "Nomaande"
+ "bog": {
+ "english_name": "Bamako Sign Language"
},
- "len": {
- "english_name": "Lenca"
+ "arh": {
+ "english_name": "Arhuaco"
},
- "leo": {
- "english_name": "Leti (Cameroon)"
+ "ksn": {
+ "english_name": "Kasiguranin"
},
- "lep": {
- "english_name": "Lepcha"
+ "mzv": {
+ "english_name": "Manza"
},
- "leq": {
- "english_name": "Lembena"
+ "jku": {
+ "english_name": "Labir"
},
- "ler": {
- "english_name": "Lenkau"
+ "jek": {
+ "english_name": "Jeri Kuo"
},
- "les": {
- "english_name": "Lese"
+ "nmz": {
+ "english_name": "Nawdm"
},
- "let": {
- "english_name": "Lesing-Gelimi"
+ "kpk": {
+ "english_name": "Kpan"
},
- "leu": {
- "english_name": "Kara (Papua New Guinea)"
+ "bzi": {
+ "english_name": "Bisu"
},
- "lev": {
- "english_name": "Lamma"
+ "tif": {
+ "english_name": "Tifal"
},
- "lew": {
- "english_name": "Kaili, Ledo"
+ "zmv": {
+ "english_name": "Mbariman-Gudhinma"
},
- "lex": {
- "english_name": "Luang"
+ "ggb": {
+ "english_name": "Gbii"
},
- "ley": {
- "english_name": "Lemolang"
+ "bjm": {
+ "english_name": "Bajelani"
},
- "lez": {
- "english_name": "Lezghian"
+ "jio": {
+ "english_name": "Jiamao"
},
- "tdd": {
- "english_name": "Tai Nüa"
+ "otd": {
+ "english_name": "Ot Danum"
},
- "ctt": {
- "english_name": "Chetti, Wayanad"
+ "nna": {
+ "english_name": "Nyangumarta"
},
- "ctu": {
- "english_name": "Chol"
+ "fal": {
+ "english_name": "Fali, South"
},
- "ctp": {
- "english_name": "Chatino, Western Highland"
+ "mth": {
+ "english_name": "Munggui"
},
- "cts": {
- "english_name": "Bikol, Northern Catanduanes"
+ "mhw": {
+ "english_name": "Mbukushu"
},
- "tdy": {
- "english_name": "Tadyawan"
+ "mvu": {
+ "english_name": "Marfa"
},
- "ctz": {
- "english_name": "Chatino, Zacatepec"
+ "quh": {
+ "english_name": "Quechua, South Bolivian"
},
- "ctd": {
- "english_name": "Chin, Tedim"
+ "nkx": {
+ "english_name": "Nkoroo"
},
- "cte": {
- "english_name": "Chinantec, Tepinapa"
+ "huz": {
+ "english_name": "Hunzib"
},
- "ctg": {
- "english_name": "Chittagonian"
+ "src": {
+ "english_name": "Sardinian, Logudorese"
},
- "cta": {
- "english_name": "Chatino, Tataltepec"
+ "amy": {
+ "english_name": "Ami"
},
- "ctc": {
- "english_name": "Chetco"
+ "caa": {
+ "english_name": "Chortí"
},
- "ctl": {
- "english_name": "Chinantec, Tlacoatzintepec"
+ "wbe": {
+ "english_name": "Waritai"
},
- "ctm": {
- "english_name": "Chitimacha"
+ "gbv": {
+ "english_name": "Gbanu"
},
- "ctn": {
- "english_name": "Chhintange"
+ "fod": {
+ "english_name": "Foodo"
},
- "cto": {
- "english_name": "Emberá-Catío"
+ "och": {
+ "english_name": "Chinese, Old"
},
- "cth": {
- "english_name": "Chin, Thaiphum"
+ "kgq": {
+ "english_name": "Kamoro"
},
- "sgy": {
- "english_name": "Sanglechi"
+ "lgk": {
+ "english_name": "Lingarak"
},
- "sgx": {
- "english_name": "Sierra Leone Sign Language"
+ "kyd": {
+ "english_name": "Karey"
},
- "sgz": {
- "english_name": "Sursurunga"
+ "laz": {
+ "english_name": "Aribwatsa"
},
- "sgp": {
- "english_name": "Singpho"
+ "xtu": {
+ "english_name": "Mixtec, Cuyamecalco"
},
- "sgs": {
- "english_name": "Samogitian"
+ "bjg": {
+ "english_name": "Bidyogo"
},
- "sgr": {
- "english_name": "Sangisari"
+ "rea": {
+ "english_name": "Rerau"
},
- "sgu": {
- "english_name": "Salas"
+ "ltu": {
+ "english_name": "Latu"
},
- "sgt": {
- "english_name": "Brokpake"
+ "noc": {
+ "english_name": "Nuk"
},
- "sgw": {
- "english_name": "Sebat Bet Gurage"
+ "npa": {
+ "english_name": "Nar Phu"
},
- "sgi": {
- "english_name": "Suga"
+ "lhs": {
+ "english_name": "Mlahsö"
},
- "sgh": {
- "english_name": "Shughni"
+ "ydd": {
+ "english_name": "Yiddish, Eastern"
},
- "sgk": {
- "english_name": "Sangkong"
+ "bfm": {
+ "english_name": "Mmen"
},
- "sgj": {
- "english_name": "Surgujia"
+ "bpn": {
+ "english_name": "Dzao Min"
},
- "sgm": {
- "english_name": "Singa"
+ "beu": {
+ "english_name": "Blagar"
},
- "tdr": {
- "english_name": "Todrah"
+ "adr": {
+ "english_name": "Adonara"
},
- "sga": {
- "english_name": "Irish, Old (to 900)"
+ "ajn": {
+ "english_name": "Andajin"
},
- "sgc": {
- "english_name": "Kipsigis"
+ "cov": {
+ "english_name": "Cao Miao"
},
- "sgb": {
- "english_name": "Ayta, Mag-antsi"
+ "spb": {
+ "english_name": "Sepa (Indonesia)"
},
- "sge": {
- "english_name": "Segai"
+ "smr": {
+ "english_name": "Simeulue"
},
- "sgd": {
- "english_name": "Surigaonon"
+ "aad": {
+ "english_name": "Amal"
},
- "sgg": {
- "english_name": "Swiss-German Sign Language"
+ "kkp": {
+ "english_name": "Gugubera"
},
- "ziw": {
- "english_name": "Zigula"
+ "xsq": {
+ "english_name": "Makhuwa-Saka"
},
- "zir": {
- "english_name": "Ziriya"
+ "prh": {
+ "english_name": "Porohanon"
},
- "ziz": {
- "english_name": "Zizilivakan"
+ "ky": {
+ "english_name": "Kirghiz"
},
- "tdv": {
- "english_name": "Toro"
+ "pio": {
+ "english_name": "Piapoco"
},
- "zib": {
- "english_name": "Zimbabwe Sign Language"
+ "rnn": {
+ "english_name": "Roon"
},
- "tdu": {
- "english_name": "Dusun, Tempasuk"
+ "skk": {
+ "english_name": "Sok"
},
- "zia": {
- "english_name": "Zia"
+ "wwo": {
+ "english_name": "Wetamut"
},
- "zin": {
- "english_name": "Zinza"
+ "brm": {
+ "english_name": "Barambu"
},
- "zil": {
- "english_name": "Zialo"
+ "kfl": {
+ "english_name": "Kung"
},
- "tdt": {
- "english_name": "Tetun Dili"
+ "nys": {
+ "english_name": "Nyunga"
},
- "zik": {
- "english_name": "Zimakani"
+ "bdo": {
+ "english_name": "Morom"
},
- "pfa": {
- "english_name": "Pááfang"
+ "bui": {
+ "english_name": "Bongili"
},
- "srb": {
- "english_name": "Sora"
+ "nrc": {
+ "english_name": "Noric"
},
- "pfe": {
- "english_name": "Peere"
+ "mlo": {
+ "english_name": "Mlomp"
},
- "pfl": {
- "english_name": "Pfaelzisch"
+ "mpp": {
+ "english_name": "Migabac"
},
- "srf": {
- "english_name": "Nafi"
+ "pcj": {
+ "english_name": "Parenga"
},
- "xcm": {
- "english_name": "Comecrudo"
+ "abe": {
+ "english_name": "Abnaki, Western"
},
- "pug": {
- "english_name": "Phuie"
+ "cml": {
+ "english_name": "Campalagian"
},
- "xcb": {
- "english_name": "Cumbric"
+ "mww": {
+ "english_name": "Hmong Daw"
},
- "xcc": {
- "english_name": "Camunic"
+ "aai": {
+ "english_name": "Arifama-Miniafia"
},
- "xcg": {
- "english_name": "Gaulish, Cisalpine"
+ "nol": {
+ "english_name": "Nomlaki"
},
- "xce": {
- "english_name": "Celtiberian"
+ "nzb": {
+ "english_name": "Njebi"
},
- "xch": {
- "english_name": "Chemakum"
+ "kmi": {
+ "english_name": "Kami (Nigeria)"
},
- "xcn": {
- "english_name": "Cotoname"
+ "nsw": {
+ "english_name": "Navut"
},
- "xco": {
- "english_name": "Chorasmian"
+ "xlg": {
+ "english_name": "Ligurian (Ancient)"
},
- "xcl": {
- "english_name": "Armenian, Classical"
+ "cnx": {
+ "english_name": "Cornish, Middle"
},
- "sro": {
- "english_name": "Sardinian, Campidanese"
+ "fuv": {
+ "english_name": "Fulfulde, Nigerian"
},
- "xcr": {
- "english_name": "Carian"
+ "deg": {
+ "english_name": "Degema"
},
- "xcv": {
- "english_name": "Chuvantsy"
+ "knr": {
+ "english_name": "Kaningra"
},
- "xcw": {
- "english_name": "Coahuilteco"
+ "elu": {
+ "english_name": "Elu"
},
- "xct": {
- "english_name": "Tibetan, Classical"
+ "mod": {
+ "english_name": "Mobilian"
},
- "xcu": {
- "english_name": "Curonian"
+ "ich": {
+ "english_name": "Etkywan"
},
- "srm": {
- "english_name": "Saramaccan"
+ "pld": {
+ "english_name": "Polari"
},
- "xcy": {
- "english_name": "Cayuse"
+ "ncs": {
+ "english_name": "Nicaraguan Sign Language"
},
- "npl": {
- "english_name": "Nahuatl, Southeastern Puebla"
+ "zbt": {
+ "english_name": "Batui"
},
- "npo": {
- "english_name": "Naga, Pochuri"
+ "mdc": {
+ "english_name": "Male (Papua New Guinea)"
},
- "npn": {
- "english_name": "Mondropolon"
+ "tck": {
+ "english_name": "Tchitchege"
},
- "npi": {
- "english_name": "Nepali (individual language)"
+ "mrb": {
+ "english_name": "Marino"
},
- "nph": {
- "english_name": "Naga, Phom"
+ "kya": {
+ "english_name": "Kwaya"
},
- "npg": {
- "english_name": "Naga, Ponyo-Gongwang"
+ "ytw": {
+ "english_name": "Yout Wam"
},
- "npa": {
- "english_name": "Nar Phu"
+ "hig": {
+ "english_name": "Kamwe"
},
- "gcc": {
- "english_name": "Mali"
+ "bxu": {
+ "english_name": "Buriat, China"
},
- "npb": {
- "english_name": "Nupbikha"
+ "shy": {
+ "english_name": "Tachawit"
},
- "npy": {
- "english_name": "Napu"
+ "see": {
+ "english_name": "Seneca"
},
- "npu": {
- "english_name": "Naga, Puimei"
+ "und": {
+ "english_name": "Undetermined"
},
- "gce": {
- "english_name": "Galice"
+ "kix": {
+ "english_name": "Naga, Khiamniungan"
},
- "nps": {
- "english_name": "Nipsan"
+ "bbt": {
+ "english_name": "Mburku"
},
- "gcd": {
- "english_name": "Ganggalida"
+ "knx": {
+ "english_name": "Kendayan"
},
- "mjd": {
- "english_name": "Maidu, Northwest"
+ "ctl": {
+ "english_name": "Chinantec, Tlacoatzintepec"
},
- "mje": {
- "english_name": "Muskum"
+ "wwb": {
+ "english_name": "Wakabunga"
},
- "mjg": {
- "english_name": "Tu"
+ "fat": {
+ "english_name": "Fanti"
},
- "mjc": {
- "english_name": "Mixtec, San Juan Colorado"
+ "ml": {
+ "english_name": "Malayalam"
},
- "mjl": {
- "english_name": "Mandeali"
+ "jml": {
+ "english_name": "Jumli"
},
- "mjm": {
- "english_name": "Medebur"
+ "trt": {
+ "english_name": "Tunggare"
},
- "mjn": {
- "english_name": "Ma (Papua New Guinea)"
+ "nhq": {
+ "english_name": "Nahuatl, Huaxcaleca"
},
- "gcf": {
- "english_name": "Creole French, Guadeloupean"
+ "sru": {
+ "english_name": "Suruí"
},
- "mjh": {
- "english_name": "Mwera (Nyasa)"
+ "tdu": {
+ "english_name": "Dusun, Tempasuk"
},
- "mji": {
- "english_name": "Kim Mun"
+ "nxg": {
+ "english_name": "Ngad'a"
},
- "mjj": {
- "english_name": "Mawak"
+ "plk": {
+ "english_name": "Shina, Kohistani"
},
- "mjk": {
- "english_name": "Matukar"
+ "mhi": {
+ "english_name": "Ma'di"
},
- "mjt": {
- "english_name": "Sauria Paharia"
+ "sqk": {
+ "english_name": "Albanian Sign Language"
},
- "mju": {
- "english_name": "Manna-Dora"
+ "sfw": {
+ "english_name": "Sehwi"
},
- "mjv": {
- "english_name": "Mannan"
+ "avv": {
+ "english_name": "Avá-Canoeiro"
},
- "mjw": {
- "english_name": "Karbi"
+ "hrx": {
+ "english_name": "Hunsrik"
},
- "mjp": {
- "english_name": "Malapandaram"
+ "mec": {
+ "english_name": "Mara"
},
- "mjq": {
- "english_name": "Malaryan"
+ "pgk": {
+ "english_name": "Rerep"
},
- "mjr": {
- "english_name": "Malavedan"
+ "kiv": {
+ "english_name": "Kimbu"
},
- "mjs": {
- "english_name": "Miship"
+ "omx": {
+ "english_name": "Mon, Old"
},
- "mjx": {
- "english_name": "Mahali"
+ "apf": {
+ "english_name": "Agta, Pahanan"
},
- "mjy": {
- "english_name": "Mahican"
+ "cug": {
+ "english_name": "Cung"
},
- "mjz": {
- "english_name": "Majhi"
+ "gay": {
+ "english_name": "Gayo"
},
- "vml": {
- "english_name": "Malgana"
+ "naa": {
+ "english_name": "Namla"
},
- "vmm": {
- "english_name": "Mixtec, Mitlatongo"
+ "mma": {
+ "english_name": "Mama"
},
- "vmj": {
- "english_name": "Mixtec, Ixtayutla"
+ "tsm": {
+ "english_name": "Turkish Sign Language"
},
- "vmk": {
- "english_name": "Makhuwa-Shirima"
+ "moc": {
+ "english_name": "Mocoví"
},
- "vmh": {
- "english_name": "Maraghei"
+ "ian": {
+ "english_name": "Iatmul"
},
- "vmi": {
- "english_name": "Miwa"
+ "mjn": {
+ "english_name": "Ma (Papua New Guinea)"
},
- "vmf": {
- "english_name": "Mainfränkisch"
+ "has": {
+ "english_name": "Haisla"
},
- "vmg": {
- "english_name": "Lungalunga"
+ "bxg": {
+ "english_name": "Bangala"
},
- "vmd": {
- "english_name": "Koraga, Mudu"
+ "tjw": {
+ "english_name": "Djabwurrung"
},
- "vme": {
- "english_name": "Masela, East"
+ "xld": {
+ "english_name": "Lydian"
},
- "vmb": {
- "english_name": "Barbaram"
+ "kgt": {
+ "english_name": "Somyev"
},
- "vmc": {
- "english_name": "Mixtec, Juxtlahuaca"
+ "twt": {
+ "english_name": "Turiwára"
},
- "vma": {
- "english_name": "Martuyhunira"
+ "drn": {
+ "english_name": "Damar, West"
},
- "vmz": {
- "english_name": "Mazatec, Mazatlán"
+ "akl": {
+ "english_name": "Aklanon"
},
- "vmx": {
- "english_name": "Mixtec, Tamazola"
+ "brf": {
+ "english_name": "Bera"
},
- "vmy": {
- "english_name": "Mazatec, Ayautla"
+ "ads": {
+ "english_name": "Adamorobe Sign Language"
},
- "vmv": {
- "english_name": "Maidu, Valley"
+ "xqt": {
+ "english_name": "Qatabanian"
},
- "vmw": {
- "english_name": "Makhuwa"
+ "kyr": {
+ "english_name": "Kuruáya"
},
- "vmu": {
- "english_name": "Muluridyi"
+ "nhx": {
+ "english_name": "Nahuatl, Isthmus-Mecayapan"
},
- "vmr": {
- "english_name": "Marenje"
+ "hnu": {
+ "english_name": "Hung"
},
- "vms": {
- "english_name": "Moksela"
+ "zga": {
+ "english_name": "Kinga"
},
- "vmp": {
- "english_name": "Mazatec, Soyaltepec"
+ "vro": {
+ "english_name": "Võro"
},
- "vmq": {
- "english_name": "Mixtec, Soyaltepec"
+ "ing": {
+ "english_name": "Degexit'an"
},
- "lzz": {
- "english_name": "Laz"
+ "oym": {
+ "english_name": "Wayampi"
},
- "lzh": {
- "english_name": "Chinese, Literary"
+ "kzz": {
+ "english_name": "Kalabra"
},
- "lzl": {
- "english_name": "Litzlitz"
+ "mwc": {
+ "english_name": "Are"
},
- "lzn": {
- "english_name": "Naga, Leinong"
+ "lee": {
+ "english_name": "Lyélé"
},
- "kpq": {
- "english_name": "Korupun-Sela"
+ "ygi": {
+ "english_name": "Yiningayi"
},
- "kpr": {
- "english_name": "Korafe-Yegha"
+ "puw": {
+ "english_name": "Puluwatese"
},
- "kps": {
- "english_name": "Tehit"
+ "juh": {
+ "english_name": "Hõne"
},
- "kpt": {
- "english_name": "Karata"
+ "koi": {
+ "english_name": "Komi-Permyak"
},
- "kpu": {
- "english_name": "Kafoa"
+ "noa": {
+ "english_name": "Woun Meu"
},
- "kpv": {
- "english_name": "Komi-Zyrian"
+ "hoz": {
+ "english_name": "Hozo"
},
- "kpw": {
- "english_name": "Kobon"
+ "xmw": {
+ "english_name": "Malagasy, Tsimihety"
},
- "kpx": {
- "english_name": "Koiali, Mountain"
+ "ckz": {
+ "english_name": "Cakchiquel-Quiché Mixed Language"
},
- "kpy": {
- "english_name": "Koryak"
+ "gai": {
+ "english_name": "Borei"
},
- "kpz": {
- "english_name": "Kupsabiny"
+ "tlr": {
+ "english_name": "Talise"
},
- "kpa": {
- "english_name": "Kutto"
+ "pho": {
+ "english_name": "Phunoi"
},
- "kpb": {
- "english_name": "Kurumba, Mullu"
+ "rri": {
+ "english_name": "Ririo"
},
- "kpc": {
- "english_name": "Curripaco"
+ "dza": {
+ "english_name": "Tunzu"
},
- "kpd": {
- "english_name": "Koba"
+ "grw": {
+ "english_name": "Gweda"
},
- "kpe": {
- "english_name": "Kpelle"
+ "bjx": {
+ "english_name": "Itneg, Banao"
},
- "kpf": {
- "english_name": "Komba"
+ "sig": {
+ "english_name": "Paasaal"
},
- "kpg": {
- "english_name": "Kapingamarangi"
+ "lso": {
+ "english_name": "Laos Sign Language"
},
- "kph": {
- "english_name": "Kplang"
+ "mcu": {
+ "english_name": "Mambila, Cameroon"
},
- "kpi": {
- "english_name": "Kofei"
+ "bnj": {
+ "english_name": "Tawbuid, Eastern"
},
- "kpj": {
- "english_name": "Karajá"
+ "mpa": {
+ "english_name": "Mpoto"
},
- "kpk": {
- "english_name": "Kpan"
+ "ywt": {
+ "english_name": "Lalo, Xishanba"
},
- "kpl": {
- "english_name": "Kpala"
+ "zps": {
+ "english_name": "Zapotec, Coatlán"
},
- "kpm": {
- "english_name": "Koho"
+ "prq": {
+ "english_name": "Ashéninka Perené"
},
- "kpn": {
- "english_name": "Kepkiriwát"
+ "kgu": {
+ "english_name": "Kobol"
},
- "kpo": {
- "english_name": "Ikposo"
+ "gaw": {
+ "english_name": "Nobonob"
},
- "ihp": {
- "english_name": "Iha"
+ "kxw": {
+ "english_name": "Konai"
},
- "ihw": {
- "english_name": "Bidhawal"
+ "cum": {
+ "english_name": "Cumeral"
},
- "ihi": {
- "english_name": "Ihievbe"
+ "mra": {
+ "english_name": "Mlabri"
},
- "ihb": {
- "english_name": "Iha Based Pidgin"
+ "tjg": {
+ "english_name": "Tunjung"
},
- "mjo": {
- "english_name": "Malankuravan"
+ "dig": {
+ "english_name": "Digo"
},
- "qwc": {
- "english_name": "Quechua, Classical"
+ "nhu": {
+ "english_name": "Noone"
},
- "xor": {
- "english_name": "Korubo"
+ "yln": {
+ "english_name": "Buyang, Langnian"
},
- "ckb": {
- "english_name": "Kurdish, Central"
+ "uvh": {
+ "english_name": "Uri"
},
- "ckl": {
- "english_name": "Cibak"
+ "dar": {
+ "english_name": "Dargwa"
},
- "cko": {
- "english_name": "Anufo"
+ "psa": {
+ "english_name": "Awyu, Asue"
},
- "ckn": {
- "english_name": "Chin, Kaang"
+ "btz": {
+ "english_name": "Batak Alas-Kluet"
},
- "ckh": {
- "english_name": "Chak"
+ "yax": {
+ "english_name": "Yauma"
},
- "cku": {
- "english_name": "Koasati"
+ "ret": {
+ "english_name": "Retta"
},
- "ckt": {
- "english_name": "Chukot"
+ "goi": {
+ "english_name": "Gobasi"
},
- "ckv": {
- "english_name": "Kavalan"
+ "zsa": {
+ "english_name": "Sarasira"
},
- "ckq": {
- "english_name": "Kajakse"
+ "pkh": {
+ "english_name": "Pankhu"
},
- "cks": {
- "english_name": "Tayo"
+ "mng": {
+ "english_name": "Mnong, Eastern"
},
- "ckr": {
- "english_name": "Kairak"
+ "hoa": {
+ "english_name": "Hoava"
},
- "cky": {
- "english_name": "Cakfem-Mushere"
+ "csk": {
+ "english_name": "Jola-Kasa"
},
- "ckx": {
- "english_name": "Caka"
+ "ped": {
+ "english_name": "Mala (Papua New Guinea)"
},
- "ckz": {
- "english_name": "Cakchiquel-Quiché Mixed Language"
+ "yal": {
+ "english_name": "Yalunka"
},
- "dbi": {
- "english_name": "Doka"
+ "bif": {
+ "english_name": "Biafada"
},
- "dbj": {
- "english_name": "Ida'an"
+ "mpv": {
+ "english_name": "Mungkip"
},
- "dbm": {
- "english_name": "Duguri"
+ "rms": {
+ "english_name": "Romanian Sign Language"
},
- "dbl": {
- "english_name": "Dyirbal"
+ "wnu": {
+ "english_name": "Usan"
},
- "dbo": {
- "english_name": "Dulbu"
+ "xab": {
+ "english_name": "Sambe"
},
- "dbn": {
- "english_name": "Duriankere"
+ "pmi": {
+ "english_name": "Pumi, Northern"
},
- "dba": {
- "english_name": "Bangime"
+ "cut": {
+ "english_name": "Cuicatec, Teutila"
},
- "szc": {
- "english_name": "Semaq Beri"
+ "nmr": {
+ "english_name": "Nimbari"
},
- "dbb": {
- "english_name": "Deno"
+ "srx": {
+ "english_name": "Sirmauri"
},
- "dbe": {
- "english_name": "Dabe"
+ "alz": {
+ "english_name": "Alur"
},
- "dbd": {
- "english_name": "Dadiya"
+ "xtg": {
+ "english_name": "Gaulish, Transalpine"
},
- "dbg": {
- "english_name": "Dogon, Dogul Dom"
+ "kcx": {
+ "english_name": "Kachama-Ganjule"
},
- "dbf": {
- "english_name": "Edopi"
+ "skd": {
+ "english_name": "Miwok, Southern Sierra"
},
- "dby": {
- "english_name": "Dibiyaso"
+ "wux": {
+ "english_name": "Wulna"
},
- "dbq": {
- "english_name": "Daba"
+ "dnn": {
+ "english_name": "Dzùùngoo"
},
- "dbp": {
- "english_name": "Duwai"
+ "jbo": {
+ "english_name": "Lojban"
},
- "szp": {
- "english_name": "Suabo"
+ "irr": {
+ "english_name": "Ir"
},
- "dbr": {
- "english_name": "Dabarre"
+ "tix": {
+ "english_name": "Tiwa, Southern"
},
- "dbu": {
- "english_name": "Dogon, Bondum Dom"
+ "tun": {
+ "english_name": "Tunica"
},
- "dbt": {
- "english_name": "Dogon, Ben Tey"
+ "doe": {
+ "english_name": "Doe"
},
- "dbw": {
- "english_name": "Dogon, Bankan Tey"
+ "crv": {
+ "english_name": "Chaura"
},
- "dbv": {
- "english_name": "Dungu"
+ "apb": {
+ "english_name": "Sa'a"
},
- "xvi": {
- "english_name": "Kamviri"
+ "bmk": {
+ "english_name": "Ghayavi"
},
- "jaz": {
- "english_name": "Jawe"
+ "mdx": {
+ "english_name": "Dizin"
},
- "jax": {
- "english_name": "Malay, Jambi"
+ "bcl": {
+ "english_name": "Bikol, Central"
},
- "jay": {
- "english_name": "Yan-nhangu"
+ "kbk": {
+ "english_name": "Koiari, Grass"
},
- "jat": {
- "english_name": "Jakati"
+ "aap": {
+ "english_name": "Arára, Pará"
},
- "jau": {
- "english_name": "Yaur"
+ "bob": {
+ "english_name": "Aweer"
},
- "jas": {
- "english_name": "Javanese, New Caledonian"
+ "kqh": {
+ "english_name": "Kisankasa"
},
- "jaq": {
- "english_name": "Yaqay"
+ "wa": {
+ "english_name": "Walloon",
+ "name": "Walon"
},
- "jan": {
- "english_name": "Jandai"
+ "mwu": {
+ "english_name": "Mittu"
},
- "jao": {
- "english_name": "Yanyuwa"
+ "vgt": {
+ "english_name": "Vlaamse Gebarentaal"
},
- "jal": {
- "english_name": "Yalahatan"
+ "lcs": {
+ "english_name": "Lisabata-Nuniali"
},
- "jam": {
- "english_name": "Creole English, Jamaican"
+ "ngk": {
+ "english_name": "Dalabon"
},
- "jaj": {
- "english_name": "Zazao"
+ "kel": {
+ "english_name": "Kela (Democratic Republic of Congo)"
},
- "jak": {
- "english_name": "Jakun"
+ "cpa": {
+ "english_name": "Chinantec, Palantla"
},
- "jah": {
- "english_name": "Jah Hut"
+ "sfm": {
+ "english_name": "Miao, Small Flowery"
},
- "jaf": {
- "english_name": "Jara"
+ "zmw": {
+ "english_name": "Mbo (Democratic Republic of Congo)"
},
- "jad": {
- "english_name": "Jahanka"
+ "sxn": {
+ "english_name": "Sangir"
},
- "jae": {
- "english_name": "Yabem"
+ "pup": {
+ "english_name": "Pulabu"
},
- "jab": {
- "english_name": "Hyam"
+ "ify": {
+ "english_name": "Kallahan, Keley-I"
},
- "jac": {
- "english_name": "Popti'"
+ "bdy": {
+ "english_name": "Bandjalang"
},
- "jaa": {
- "english_name": "Jamamadí"
+ "ynn": {
+ "english_name": "Yana"
},
- "xvo": {
- "english_name": "Volscian"
+ "ubi": {
+ "english_name": "Ubi"
},
- "gbf": {
- "english_name": "Gaikundi"
+ "hem": {
+ "english_name": "Hemba"
},
- "gbg": {
- "english_name": "Gbanziri"
+ "pdi": {
+ "english_name": "Pa Di"
},
- "gbd": {
- "english_name": "Karadjeri"
+ "nvm": {
+ "english_name": "Namiae"
},
- "gbe": {
- "english_name": "Niksek"
+ "kxb": {
+ "english_name": "Krobu"
},
- "aeu": {
- "english_name": "Akeu"
+ "meq": {
+ "english_name": "Merey"
},
- "aew": {
- "english_name": "Ambakich"
+ "mim": {
+ "english_name": "Mixtec, Alacatlatzala"
},
- "gba": {
- "english_name": "Gbaya (Central African Republic)"
+ "ae": {
+ "english_name": "Avestan"
},
- "gbn": {
- "english_name": "Mo'da"
+ "zpq": {
+ "english_name": "Zapotec, Zoogocho"
},
- "gbo": {
- "english_name": "Grebo, Northern"
+ "mge": {
+ "english_name": "Mango"
},
- "gbl": {
- "english_name": "Gamit"
+ "xaa": {
+ "english_name": "Arabic, Andalusian"
},
- "gbm": {
- "english_name": "Garhwali"
+ "zku": {
+ "english_name": "Kaurna"
},
- "gbj": {
- "english_name": "Gadaba, Bodo"
+ "ore": {
+ "english_name": "Orejón"
},
- "gbk": {
- "english_name": "Gaddi"
+ "ytp": {
+ "english_name": "Thopho"
},
- "gbh": {
- "english_name": "Gbe, Defi"
+ "kbl": {
+ "english_name": "Kanembu"
},
- "gbi": {
- "english_name": "Galela"
+ "cet": {
+ "english_name": "Centúúm"
},
- "gbv": {
- "english_name": "Gbanu"
+ "et": {
+ "english_name": "Estonian",
+ "name": "Eesti"
},
- "gbw": {
- "english_name": "Gabi-Gabi"
+ "tkg": {
+ "english_name": "Malagasy, Tesaka"
},
- "aec": {
- "english_name": "Arabic, Saidi"
+ "kry": {
+ "english_name": "Kryts"
},
- "gbu": {
- "english_name": "Gagadu"
+ "ddw": {
+ "english_name": "Dawera-Daweloor"
},
- "gbr": {
- "english_name": "Gbagyi"
+ "jae": {
+ "english_name": "Yabem"
},
- "gbs": {
- "english_name": "Gbe, Gbesi"
+ "hmy": {
+ "english_name": "Hmong, Southern Guiyang"
},
- "gbp": {
- "english_name": "Gbaya-Bossangoa"
+ "bsg": {
+ "english_name": "Bashkardi"
},
- "gbq": {
- "english_name": "Gbaya-Bozoum"
+ "geh": {
+ "english_name": "German, Hutterite"
},
- "aek": {
- "english_name": "Haeke"
+ "tij": {
+ "english_name": "Tilung"
},
- "gbz": {
- "english_name": "Dari, Zoroastrian"
+ "tic": {
+ "english_name": "Tira"
},
- "ael": {
- "english_name": "Ambele"
+ "iwm": {
+ "english_name": "Iwam"
},
- "gbx": {
- "english_name": "Gbe, Eastern Xwla"
+ "swq": {
+ "english_name": "Sharwa"
},
- "gby": {
- "english_name": "Gbari"
+ "auj": {
+ "english_name": "Awjilah"
},
- "btu": {
- "english_name": "Batu"
+ "la": {
+ "english_name": "Latin"
},
- "btt": {
- "english_name": "Bete-Bendi"
+ "njy": {
+ "english_name": "Njyem"
},
- "btw": {
- "english_name": "Butuanon"
+ "abh": {
+ "english_name": "Arabic, Tajiki"
},
- "btv": {
- "english_name": "Bateri"
+ "lan": {
+ "english_name": "Laru"
},
- "btq": {
- "english_name": "Batek"
+ "aya": {
+ "english_name": "Awar"
},
- "btp": {
- "english_name": "Budibud"
+ "paq": {
+ "english_name": "Parya"
},
- "bts": {
- "english_name": "Batak Simalungun"
+ "yae": {
+ "english_name": "Pumé"
},
- "btr": {
- "english_name": "Baetora"
+ "pur": {
+ "english_name": "Puruborá"
},
- "bty": {
- "english_name": "Bobot"
+ "yml": {
+ "english_name": "Iamalele"
},
- "btx": {
- "english_name": "Batak Karo"
+ "alm": {
+ "english_name": "Amblong"
},
- "btz": {
- "english_name": "Batak Alas-Kluet"
+ "gyi": {
+ "english_name": "Gyele"
},
- "bte": {
- "english_name": "Gamo-Ningi"
+ "zbc": {
+ "english_name": "Berawan, Central"
},
- "btd": {
- "english_name": "Batak Dairi"
+ "itx": {
+ "english_name": "Itik"
},
- "btg": {
- "english_name": "Bété, Gagnoa"
+ "wxw": {
+ "english_name": "Wardandi"
},
- "btf": {
- "english_name": "Birgit"
+ "cs": {
+ "english_name": "Czech",
+ "name": "čeština"
},
- "bta": {
- "english_name": "Bata"
+ "nkq": {
+ "english_name": "Nkami"
},
- "btc": {
- "english_name": "Bati (Cameroon)"
+ "unn": {
+ "english_name": "Kurnai"
},
- "btm": {
- "english_name": "Batak Mandailing"
+ "tql": {
+ "english_name": "Lehali"
},
- "btl": {
- "english_name": "Bhatola"
+ "baa": {
+ "english_name": "Babatana"
},
- "bto": {
- "english_name": "Bikol, Rinconada"
+ "bwo": {
+ "english_name": "Boro (Ethiopia)"
},
- "btn": {
- "english_name": "Ratagnon"
+ "mks": {
+ "english_name": "Mixtec, Silacayoapan"
},
- "bti": {
- "english_name": "Burate"
+ "cwg": {
+ "english_name": "Chewong"
},
- "bth": {
- "english_name": "Bidayuh, Biatah"
+ "ukq": {
+ "english_name": "Ukwa"
},
- "btj": {
- "english_name": "Malay, Bacanese"
+ "shh": {
+ "english_name": "Shoshoni"
},
- "tsj": {
- "english_name": "Tshangla"
+ "tca": {
+ "english_name": "Ticuna"
},
- "etr": {
- "english_name": "Edolo"
+ "mbq": {
+ "english_name": "Maisin"
},
- "ets": {
- "english_name": "Yekhee"
+ "xth": {
+ "english_name": "Yitha Yitha"
},
- "tlq": {
- "english_name": "Tai Loi"
+ "dln": {
+ "english_name": "Darlong"
},
- "tlp": {
- "english_name": "Totonac, Filomena Mata-Coahuitlán"
+ "srh": {
+ "english_name": "Sarikoli"
},
- "tlv": {
- "english_name": "Taliabu"
+ "bol": {
+ "english_name": "Bole"
},
- "ett": {
- "english_name": "Etruscan"
+ "dzn": {
+ "english_name": "Dzando"
},
- "etu": {
- "english_name": "Ejagham"
+ "nr": {
+ "english_name": "Ndebele, South"
},
- "etz": {
- "english_name": "Semimi"
+ "hmm": {
+ "english_name": "Hmong, Central Mashan"
},
- "etx": {
- "english_name": "Eten"
+ "enn": {
+ "english_name": "Engenni"
},
- "tlx": {
- "english_name": "Khehek"
+ "hsn": {
+ "english_name": "Chinese, Xiang"
},
- "etb": {
- "english_name": "Etebi"
+ "aps": {
+ "english_name": "Arop-Sissano"
},
- "etc": {
- "english_name": "Etchemin"
+ "kcn": {
+ "english_name": "Nubi"
},
- "tla": {
- "english_name": "Tepehuan, Southwestern"
+ "tww": {
+ "english_name": "Tuwari"
},
- "tlg": {
- "english_name": "Tofanma"
+ "prf": {
+ "english_name": "Paranan"
},
- "tlf": {
- "english_name": "Telefol"
+ "anm": {
+ "english_name": "Anal"
},
- "tld": {
- "english_name": "Talaud"
+ "yey": {
+ "english_name": "Yeyi"
},
- "tlk": {
- "english_name": "Taloki"
+ "suk": {
+ "english_name": "Sukuma"
},
- "tlj": {
- "english_name": "Talinga-Bwisi"
+ "adl": {
+ "english_name": "Galo"
},
- "eth": {
- "english_name": "Ethiopian Sign Language"
+ "dsn": {
+ "english_name": "Dusner"
},
- "tlh": {
- "english_name": "Klingon"
+ "oc": {
+ "english_name": "Occitan (post 1500)",
+ "name": "Occitan (aprèp 1500)"
},
- "etn": {
- "english_name": "Eton (Vanuatu)"
+ "cpg": {
+ "english_name": "Greek, Cappadocian"
},
- "eto": {
- "english_name": "Eton (Cameroon)"
+ "gez": {
+ "english_name": "Geez",
+ "name": "ግዕዝኛ"
},
- "tlm": {
- "english_name": "Tolomako"
+ "aal": {
+ "english_name": "Afade"
},
- "tll": {
- "english_name": "Tetela"
+ "mll": {
+ "english_name": "Malua Bay"
},
- "ch": {
- "english_name": "Chamorro"
+ "tne": {
+ "english_name": "Kallahan, Tinoc"
},
- "co": {
- "english_name": "Corsican"
+ "ses": {
+ "english_name": "Songhai, Koyraboro Senni"
},
- "ca": {
- "name": "Català",
- "english_name": "Catalan"
+ "kvn": {
+ "english_name": "Kuna, Border"
},
- "ce": {
- "english_name": "Chechen"
+ "bdf": {
+ "english_name": "Biage"
},
- "cy": {
- "name": "Cymraeg",
- "english_name": "Welsh"
+ "ckq": {
+ "english_name": "Kajakse"
},
- "wti": {
- "english_name": "Berta"
+ "bnv": {
+ "english_name": "Bonerif"
},
- "cs": {
- "name": "čeština",
- "english_name": "Czech"
+ "qur": {
+ "english_name": "Quechua, Yanahuanca Pasco"
},
- "cr": {
- "english_name": "Cree"
+ "mzp": {
+ "english_name": "Movima"
},
- "tsa": {
- "english_name": "Tsaangi"
+ "kiz": {
+ "english_name": "Kisi"
},
- "cv": {
- "english_name": "Chuvash"
+ "hkk": {
+ "english_name": "Hunjara-Kaina Ke"
},
- "cu": {
- "english_name": "Slavic, Church"
+ "urw": {
+ "english_name": "Sop"
},
- "lgk": {
- "english_name": "Lingarak"
+ "kis": {
+ "english_name": "Kis"
},
- "lgh": {
- "english_name": "Laghuu"
+ "lel": {
+ "english_name": "Lele (Democratic Republic of Congo)"
},
- "lgi": {
- "english_name": "Lengilu"
+ "xxb": {
+ "english_name": "Boro (Ghana)"
},
- "lgn": {
- "english_name": "Opuuo"
+ "nua": {
+ "english_name": "Yuanga"
},
- "tsx": {
- "english_name": "Mubami"
+ "tuy": {
+ "english_name": "Tugen"
},
- "lgl": {
- "english_name": "Wala"
+ "boo": {
+ "english_name": "Bozo, Tiemacèwè"
},
- "lgm": {
- "english_name": "Lega-Mwenga"
+ "shx": {
+ "english_name": "She"
},
- "lgb": {
- "english_name": "Laghu"
+ "dmo": {
+ "english_name": "Kemedzung"
},
- "lga": {
- "english_name": "Lungga"
+ "vmh": {
+ "english_name": "Maraghei"
},
- "lgg": {
- "english_name": "Lugbara"
+ "xal": {
+ "english_name": "Kalmyk"
},
- "lgz": {
- "english_name": "Ligenza"
+ "sle": {
+ "english_name": "Sholaga"
},
- "lgr": {
- "english_name": "Lengo"
+ "xny": {
+ "english_name": "Nyiyaparli"
},
- "lgq": {
- "english_name": "Logba"
+ "coj": {
+ "english_name": "Cochimi"
},
- "lgt": {
- "english_name": "Pahi"
+ "lva": {
+ "english_name": "Maku'a"
},
- "lgu": {
- "english_name": "Longgu"
+ "ant": {
+ "english_name": "Antakarinya"
},
- "qwt": {
- "english_name": "Kwalhioqua-Tlatskanai"
+ "kti": {
+ "english_name": "Muyu, North"
},
- "rbp": {
- "english_name": "Barababaraba"
+ "ude": {
+ "english_name": "Udihe"
},
- "cvn": {
- "english_name": "Chinantec, Valle Nacional"
+ "dww": {
+ "english_name": "Dawawa"
},
- "rbl": {
- "english_name": "Bikol, Miraya"
+ "aob": {
+ "english_name": "Abom"
},
- "rbk": {
- "english_name": "Bontok, Northern"
+ "gdu": {
+ "english_name": "Gudu"
},
- "cvg": {
- "english_name": "Chug"
+ "ceg": {
+ "english_name": "Chamacoco"
},
- "rbb": {
- "english_name": "Palaung, Rumai"
+ "mrk": {
+ "english_name": "Hmwaveke"
},
- "qws": {
- "english_name": "Quechua, Sihuas Ancash"
+ "nle": {
+ "english_name": "Nyala, East"
},
- "ve": {
- "name": "Venda",
- "english_name": "Venda"
+ "kil": {
+ "english_name": "Kariya"
},
- "vi": {
- "name": "Tiếng Việt",
- "english_name": "Vietnamese"
+ "sdn": {
+ "english_name": "Sardinian, Gallurese"
+ },
+ "cin": {
+ "english_name": "Cinta Larga"
+ },
+ "cop": {
+ "english_name": "Coptic"
+ },
+ "soc": {
+ "english_name": "So (Democratic Republic of Congo)"
+ },
+ "ayk": {
+ "english_name": "Akuku"
+ },
+ "mfb": {
+ "english_name": "Bangka"
+ },
+ "nqy": {
+ "english_name": "Naga, Akyaung Ari"
+ },
+ "cux": {
+ "english_name": "Cuicatec, Tepeuxila"
+ },
+ "zkb": {
+ "english_name": "Koibal"
},
"vo": {
"english_name": "Volapük"
},
- "zgr": {
- "english_name": "Magori"
- },
- "zgh": {
- "english_name": "Tamazight, Standard Moroccan"
+ "das": {
+ "english_name": "Daho-Doo"
},
- "zgm": {
- "english_name": "Zhuang, Minz"
+ "wlk": {
+ "english_name": "Wailaki"
},
- "zgn": {
- "english_name": "Zhuang, Guibian"
+ "reg": {
+ "english_name": "Kara (Tanzania)"
},
- "zga": {
- "english_name": "Kinga"
+ "mlq": {
+ "english_name": "Maninkakan, Western"
},
- "zgb": {
- "english_name": "Zhuang, Guibei"
+ "loi": {
+ "english_name": "Loma (Côte d'Ivoire)"
},
- "phk": {
- "english_name": "Phake"
+ "bna": {
+ "english_name": "Bonerate"
},
- "phh": {
- "english_name": "Phukha"
+ "tht": {
+ "english_name": "Tahltan"
},
- "pho": {
- "english_name": "Phunoi"
+ "szv": {
+ "english_name": "Isu (Fako Division)"
},
- "phn": {
- "english_name": "Phoenician"
+ "pyn": {
+ "english_name": "Poyanáwa"
},
"phm": {
"english_name": "Phimbi"
},
- "phl": {
- "english_name": "Phalura"
+ "lbm": {
+ "english_name": "Lodhi"
},
- "pha": {
- "english_name": "Pa-Hng"
+ "cks": {
+ "english_name": "Tayo"
},
- "phg": {
- "english_name": "Phuong"
+ "zkv": {
+ "english_name": "Krevinian"
},
- "phd": {
- "english_name": "Phudagi"
+ "nlv": {
+ "english_name": "Nahuatl, Orizaba"
},
- "phr": {
- "english_name": "Pahari-Potwari"
+ "isr": {
+ "english_name": "Israeli Sign Language"
},
- "phq": {
- "english_name": "Phana'"
+ "fbl": {
+ "english_name": "Bikol, West Albay"
},
- "phw": {
- "english_name": "Phangduwali"
+ "mmc": {
+ "english_name": "Mazahua, Michoacán"
},
- "phv": {
- "english_name": "Pahlavani"
+ "umi": {
+ "english_name": "Ukit"
},
- "phu": {
- "english_name": "Phuan"
+ "nha": {
+ "english_name": "Nhanda"
},
- "pht": {
- "english_name": "Phu Thai"
+ "ypa": {
+ "english_name": "Phala"
},
- "ofo": {
- "english_name": "Ofo"
+ "cbg": {
+ "english_name": "Chimila"
},
- "ofs": {
- "english_name": "Frisian, Old"
+ "xda": {
+ "english_name": "Darkinyung"
},
- "unn": {
- "english_name": "Kurnai"
+ "pdo": {
+ "english_name": "Padoe"
},
- "ofu": {
- "english_name": "Efutop"
+ "ipi": {
+ "english_name": "Ipili"
},
- "xed": {
- "english_name": "Hdi"
+ "rit": {
+ "english_name": "Ritarungo"
},
- "xeg": {
- "english_name": "//Xegwi"
+ "ekc": {
+ "english_name": "Karnic, Eastern"
},
- "xeb": {
- "english_name": "Eblan"
+ "kav": {
+ "english_name": "Katukína"
},
- "xel": {
- "english_name": "Kelo"
+ "tep": {
+ "english_name": "Tepecano"
},
- "xem": {
- "english_name": "Kembayan"
+ "yox": {
+ "english_name": "Yoron"
},
- "xet": {
- "english_name": "Xetá"
+ "yat": {
+ "english_name": "Yambeta"
},
- "xeu": {
- "english_name": "Keoru-Ahia"
+ "sgp": {
+ "english_name": "Singpho"
},
- "xep": {
- "english_name": "Epi-Olmec"
+ "tnw": {
+ "english_name": "Tonsawang"
},
- "xer": {
- "english_name": "Xerénte"
+ "nuo": {
+ "english_name": "Nguôn"
},
- "xes": {
- "english_name": "Kesawai"
+ "kig": {
+ "english_name": "Kimaama"
},
- "wec": {
- "english_name": "Wè Western"
+ "cpu": {
+ "english_name": "Ashéninka, Pichis"
},
- "wea": {
- "english_name": "Wewaw"
+ "klu": {
+ "english_name": "Klao"
},
- "weg": {
- "english_name": "Wergaia"
+ "mhu": {
+ "english_name": "Digaro-Mishmi"
},
- "wed": {
- "english_name": "Wedau"
+ "mns": {
+ "english_name": "Mansi"
},
- "wei": {
- "english_name": "Kiunum"
+ "sxb": {
+ "english_name": "Suba"
},
- "weh": {
- "english_name": "Weh"
+ "krz": {
+ "english_name": "Kanum, Sota"
},
- "weo": {
- "english_name": "Wemale"
+ "nlx": {
+ "english_name": "Nahali"
},
- "wem": {
- "english_name": "Gbe, Weme"
+ "xsr": {
+ "english_name": "Sherpa"
},
- "wes": {
- "english_name": "Pidgin, Cameroon"
+ "mpz": {
+ "english_name": "Mpi"
},
- "wer": {
- "english_name": "Weri"
+ "tdy": {
+ "english_name": "Tadyawan"
},
- "wep": {
- "english_name": "Westphalien"
+ "sqo": {
+ "english_name": "Sorkhei"
},
- "wew": {
- "english_name": "Wejewa"
+ "gia": {
+ "english_name": "Kitja"
},
- "weu": {
- "english_name": "Chin, Rawngtu"
+ "gnq": {
+ "english_name": "Gana"
},
- "wet": {
- "english_name": "Perai"
+ "nwm": {
+ "english_name": "Nyamusa-Molo"
},
- "nvo": {
- "english_name": "Nyokon"
+ "cbo": {
+ "english_name": "Izora"
},
- "nvm": {
- "english_name": "Namiae"
+ "csh": {
+ "english_name": "Chin, Asho"
},
- "nvh": {
- "english_name": "Nasarian"
+ "txy": {
+ "english_name": "Malagasy, Tanosy"
},
- "mhn": {
- "english_name": "Mócheno"
+ "vut": {
+ "english_name": "Vute"
},
- "mho": {
- "english_name": "Mashi (Zambia)"
+ "yih": {
+ "english_name": "Yiddish, Western"
},
- "mhl": {
- "english_name": "Mauwake"
+ "ynu": {
+ "english_name": "Yahuna"
},
- "mhm": {
- "english_name": "Makhuwa-Moniga"
+ "dum": {
+ "english_name": "Dutch, Middle (ca. 1050-1350)"
},
- "mhj": {
- "english_name": "Mogholi"
+ "fmp": {
+ "english_name": "Fe'fe'"
},
- "mhk": {
- "english_name": "Mungaka"
+ "nup": {
+ "english_name": "Nupe-Nupe-Tako"
},
- "mhi": {
- "english_name": "Ma'di"
+ "kqw": {
+ "english_name": "Kandas"
},
- "mhf": {
- "english_name": "Mamaa"
+ "xup": {
+ "english_name": "Umpqua, Upper"
},
- "mhg": {
- "english_name": "Margu"
+ "nsc": {
+ "english_name": "Nshi"
},
- "mhd": {
- "english_name": "Mbugu"
+ "wnb": {
+ "english_name": "Wanambre"
},
- "mhe": {
- "english_name": "Besisi"
+ "pez": {
+ "english_name": "Penan, Eastern"
},
- "mhb": {
- "english_name": "Mahongwe"
+ "bdn": {
+ "english_name": "Baldemu"
},
- "mhc": {
- "english_name": "Mocho"
+ "ssr": {
+ "english_name": "Swiss-French Sign Language"
},
- "mha": {
- "english_name": "Manda (India)"
+ "wir": {
+ "english_name": "Wiraféd"
},
- "mhz": {
- "english_name": "Mor (Mor Islands)"
+ "tzo": {
+ "english_name": "Tzotzil"
},
- "mhx": {
- "english_name": "Maru"
+ "lrr": {
+ "english_name": "Yamphu, Southern"
},
- "mhy": {
- "english_name": "Ma'anyan"
+ "umu": {
+ "english_name": "Munsee"
},
- "mhw": {
- "english_name": "Mbukushu"
+ "bvo": {
+ "english_name": "Bolgo"
},
- "mht": {
- "english_name": "Mandahuaca"
+ "kep": {
+ "english_name": "Kaikadi"
},
- "mhu": {
- "english_name": "Digaro-Mishmi"
+ "qxs": {
+ "english_name": "Qiang, Southern"
},
- "mhr": {
- "english_name": "Mari, Eastern"
+ "kbs": {
+ "english_name": "Kande"
},
- "mhs": {
- "english_name": "Buru (Indonesia)"
+ "amv": {
+ "english_name": "Ambelau"
},
- "mhp": {
- "english_name": "Malay, Balinese"
+ "zca": {
+ "english_name": "Zapotec, Coatecas Altas"
},
- "mhq": {
- "english_name": "Mandan"
+ "bun": {
+ "english_name": "Sherbro"
},
- "vsv": {
- "english_name": "Valencian Sign Language"
+ "koy": {
+ "english_name": "Koyukon"
},
- "vsi": {
- "english_name": "Moldova Sign Language"
+ "kaj": {
+ "english_name": "Jju"
},
- "vsl": {
- "english_name": "Venezuelan Sign Language"
+ "aky": {
+ "english_name": "Aka-Kol"
},
- "krz": {
- "english_name": "Kanum, Sota"
+ "une": {
+ "english_name": "Uneme"
},
- "krx": {
- "english_name": "Karon"
+ "bgx": {
+ "english_name": "Turkish, Balkan Gagauz"
},
- "kry": {
- "english_name": "Kryts"
+ "apr": {
+ "english_name": "Arop-Lokep"
},
- "krr": {
- "english_name": "Kru'ng 2"
+ "bir": {
+ "english_name": "Bisorio"
},
- "krs": {
- "english_name": "Gbaya (Sudan)"
+ "aes": {
+ "english_name": "Alsea"
},
- "krp": {
- "english_name": "Korop"
+ "pko": {
+ "english_name": "Pökoot"
},
- "krv": {
- "english_name": "Kavet"
+ "lkn": {
+ "english_name": "Lakon"
},
- "krw": {
- "english_name": "Krahn, Western"
+ "mdu": {
+ "english_name": "Mboko"
},
- "krt": {
- "english_name": "Kanuri, Tumari"
+ "sa": {
+ "english_name": "Sanskrit"
},
- "kru": {
- "english_name": "Kurukh"
+ "vmq": {
+ "english_name": "Mixtec, Soyaltepec"
},
- "krj": {
- "english_name": "Kinaray-A"
+ "nei": {
+ "english_name": "Hittite, Neo-"
},
- "krk": {
- "english_name": "Kerek"
+ "moe": {
+ "english_name": "Montagnais"
},
- "krh": {
- "english_name": "Kurama"
+ "huv": {
+ "english_name": "Huave, San Mateo Del Mar"
},
- "kri": {
- "english_name": "Krio"
+ "mgl": {
+ "english_name": "Maleu-Kilenge"
},
- "krn": {
- "english_name": "Sapo"
+ "ssi": {
+ "english_name": "Sansi"
},
- "krl": {
- "english_name": "Karelian"
+ "gvj": {
+ "english_name": "Guajá"
},
- "krm": {
- "english_name": "Krim"
+ "jil": {
+ "english_name": "Jilim"
},
- "krb": {
- "english_name": "Karkin"
+ "dil": {
+ "english_name": "Dilling"
},
- "krc": {
- "english_name": "Karachay-Balkar"
+ "csw": {
+ "english_name": "Cree, Swampy"
},
- "kra": {
- "english_name": "Kumhali"
+ "aud": {
+ "english_name": "Anuta"
},
- "krf": {
- "english_name": "Koro (Vanuatu)"
+ "rkb": {
+ "english_name": "Rikbaktsa"
},
- "krd": {
- "english_name": "Kairui-Midiki"
+ "ggd": {
+ "english_name": "Gugadj"
},
- "kre": {
- "english_name": "Panará"
+ "awk": {
+ "english_name": "Awabakal"
},
- "yri": {
- "english_name": "Yarí"
+ "bvz": {
+ "english_name": "Bauzi"
},
- "yrk": {
- "english_name": "Nenets"
+ "eko": {
+ "english_name": "Koti"
},
- "yrl": {
- "english_name": "Nhengatu"
+ "dyu": {
+ "english_name": "Dyula"
},
- "yrm": {
- "english_name": "Yirrk-Mel"
+ "snb": {
+ "english_name": "Sebuyau"
},
- "yrn": {
- "english_name": "Yerong"
+ "ruu": {
+ "english_name": "Lobu, Lanas"
},
- "yra": {
- "english_name": "Yerakai"
+ "har": {
+ "english_name": "Harari"
},
- "yrb": {
- "english_name": "Yareba"
+ "twn": {
+ "english_name": "Twendi"
},
- "yre": {
- "english_name": "Yaouré"
+ "hne": {
+ "english_name": "Chhattisgarhi"
},
- "yry": {
- "english_name": "Yarluyandi"
+ "rav": {
+ "english_name": "Sampang"
},
- "yrs": {
- "english_name": "Yarsun"
+ "dec": {
+ "english_name": "Dagik"
},
- "yrw": {
- "english_name": "Yarawata"
+ "mqv": {
+ "english_name": "Mosimo"
},
- "inz": {
- "english_name": "Ineseño"
+ "hps": {
+ "english_name": "Hawai'i Pidgin Sign Language"
},
- "int": {
- "english_name": "Intha"
+ "avk": {
+ "english_name": "Kotava"
},
- "inp": {
- "english_name": "Iñapari"
+ "tjl": {
+ "english_name": "Tai Laing"
},
- "ins": {
- "english_name": "Indian Sign Language"
+ "pmc": {
+ "english_name": "Palumata"
},
- "inl": {
- "english_name": "Indonesian Sign Language"
+ "xyy": {
+ "english_name": "Yorta Yorta"
},
- "inm": {
- "english_name": "Minaean"
+ "snl": {
+ "english_name": "Sangil"
},
- "inn": {
- "english_name": "Isinai"
+ "cae": {
+ "english_name": "Lehar"
},
- "ino": {
- "english_name": "Inoke-Yate"
+ "pll": {
+ "english_name": "Palaung, Shwe"
},
- "inh": {
- "english_name": "Ingush"
+ "bxp": {
+ "english_name": "Bebil"
},
- "inj": {
- "english_name": "Inga, Jungle"
+ "mzn": {
+ "english_name": "Mazanderani"
},
- "ing": {
- "english_name": "Degexit'an"
+ "kqv": {
+ "english_name": "Okolod"
},
- "inb": {
- "english_name": "Inga"
+ "nyg": {
+ "english_name": "Nyindu"
},
- "wxw": {
- "english_name": "Wardandi"
+ "pmj": {
+ "english_name": "Pumi, Southern"
},
- "hps": {
- "english_name": "Hawai'i Pidgin Sign Language"
+ "axl": {
+ "english_name": "Aranda, Lower Southern"
},
- "mch": {
- "english_name": "Maquiritari"
+ "enh": {
+ "english_name": "Enets, Tundra"
},
- "hpo": {
- "english_name": "Hpon"
+ "swb": {
+ "english_name": "Comorian, Maore"
},
- "wxa": {
- "english_name": "Waxianghua"
+ "tju": {
+ "english_name": "Tjurruru"
},
- "mcb": {
- "english_name": "Machiguenga"
+ "fwa": {
+ "english_name": "Fwâi"
},
- "tmb": {
- "english_name": "Katbol"
+ "tgc": {
+ "english_name": "Tigak"
},
- "eot": {
- "english_name": "Beti (Côte d'Ivoire)"
+ "aan": {
+ "english_name": "Anambé"
},
- "aln": {
- "english_name": "Albanian, Gheg"
+ "krb": {
+ "english_name": "Karkin"
},
- "tcq": {
- "english_name": "Kaiy"
+ "kww": {
+ "english_name": "Kwinti"
},
- "alo": {
- "english_name": "Larike-Wakasihu"
+ "gwb": {
+ "english_name": "Gwa"
},
- "alh": {
- "english_name": "Alawa"
+ "bql": {
+ "english_name": "Bilakura"
},
- "pth": {
- "english_name": "Pataxó Hã-Ha-Hãe"
+ "igw": {
+ "english_name": "Igwe"
},
- "reb": {
- "english_name": "Rembong"
+ "ukl": {
+ "english_name": "Ukrainian Sign Language"
},
- "cmo": {
- "english_name": "Mnong, Central"
+ "kha": {
+ "english_name": "Khasi"
},
- "cmn": {
- "english_name": "Chinese, Mandarin"
+ "lec": {
+ "english_name": "Leco"
},
- "cmm": {
- "english_name": "Michigamea"
+ "cac": {
+ "english_name": "Chuj"
},
- "cml": {
- "english_name": "Campalagian"
+ "sce": {
+ "english_name": "Dongxiang"
},
- "cmi": {
- "english_name": "Emberá-Chamí"
+ "dgw": {
+ "english_name": "Daungwurrung"
},
- "cmg": {
- "english_name": "Mongolian, Classical"
+ "ana": {
+ "english_name": "Andaqui"
},
- "cme": {
- "english_name": "Cerma"
+ "xyj": {
+ "english_name": "Mayi-Yapi"
},
- "cma": {
- "english_name": "Maa"
+ "cco": {
+ "english_name": "Chinantec, Comaltepec"
},
- "reg": {
- "english_name": "Kara (Tanzania)"
+ "kcz": {
+ "english_name": "Konongo"
},
- "cmt": {
- "english_name": "Camtho"
+ "adx": {
+ "english_name": "Tibetan, Amdo"
},
- "cms": {
- "english_name": "Messapic"
+ "keg": {
+ "english_name": "Tese"
},
- "cmr": {
- "english_name": "Chin, Mro-Khimi"
+ "sbr": {
+ "english_name": "Sembakung Murut"
},
- "quq": {
- "english_name": "Quinqui"
+ "hks": {
+ "english_name": "Hong Kong Sign Language"
},
- "alx": {
- "english_name": "Amol"
+ "xkc": {
+ "english_name": "Kho'ini"
},
- "qup": {
- "english_name": "Quechua, Southern Pastaza"
+ "mew": {
+ "english_name": "Maaka"
},
- "tmh": {
- "english_name": "Tamashek"
+ "kxq": {
+ "english_name": "Kanum, Smärky"
},
- "qus": {
- "english_name": "Quichua, Santiago del Estero"
+ "cfm": {
+ "english_name": "Chin, Falam"
},
- "qur": {
- "english_name": "Quechua, Yanahuanca Pasco"
+ "mud": {
+ "english_name": "Aleut, Mednyj"
},
- "alw": {
- "english_name": "Alaba-K’abeena"
+ "mhk": {
+ "english_name": "Mungaka"
},
- "alt": {
- "english_name": "Altai, Southern"
+ "pci": {
+ "english_name": "Duruwa"
},
- "ptt": {
- "english_name": "Enrekang"
+ "gao": {
+ "english_name": "Gants"
},
- "tmi": {
- "english_name": "Tutuba"
+ "lib": {
+ "english_name": "Likum"
},
- "quv": {
- "english_name": "Sacapulteco"
+ "mym": {
+ "english_name": "Me'en"
},
- "als": {
- "english_name": "Albanian, Tosk"
+ "vif": {
+ "english_name": "Vili"
},
- "quy": {
- "english_name": "Quechua, Ayacucho"
+ "bqv": {
+ "english_name": "Koro Wachi"
},
- "qux": {
- "english_name": "Quechua, Yauyos"
+ "sog": {
+ "english_name": "Sogdian"
},
- "ptp": {
- "english_name": "Patep"
+ "atg": {
+ "english_name": "Ivbie North-Okpela-Arhe"
},
- "tmj": {
- "english_name": "Samarokena"
+ "gyb": {
+ "english_name": "Garus"
},
- "glh": {
- "english_name": "Pashayi, Northwest"
+ "ghr": {
+ "english_name": "Ghera"
},
- "akz": {
- "english_name": "Alabama"
+ "nlj": {
+ "english_name": "Nyali"
},
- "aky": {
- "english_name": "Aka-Kol"
+ "sno": {
+ "english_name": "Snohomish"
},
- "akx": {
- "english_name": "Aka-Kede"
+ "gwm": {
+ "english_name": "Awngthim"
},
- "gll": {
- "english_name": "Garlali"
+ "nbr": {
+ "english_name": "Numana-Nunku-Gbantu-Numbu"
},
- "tmk": {
- "english_name": "Tamang, Northwestern"
+ "duj": {
+ "english_name": "Dhuwal"
},
- "glo": {
- "english_name": "Galambu"
+ "btw": {
+ "english_name": "Butuanon"
},
- "aks": {
- "english_name": "Akaselem"
+ "nfl": {
+ "english_name": "Ayiwo"
},
- "akr": {
- "english_name": "Araki"
+ "pbi": {
+ "english_name": "Parkwa"
},
- "akq": {
- "english_name": "Ak"
+ "mvi": {
+ "english_name": "Miyako"
},
- "akp": {
- "english_name": "Siwu"
+ "sbm": {
+ "english_name": "Sagala"
},
- "akw": {
- "english_name": "Akwa"
+ "onk": {
+ "english_name": "One, Kabore"
},
- "akv": {
- "english_name": "Akhvakh"
+ "cib": {
+ "english_name": "Gbe, Ci"
},
- "aku": {
- "english_name": "Akum"
+ "kxo": {
+ "english_name": "Kanoé"
},
- "akt": {
- "english_name": "Akolet"
+ "uur": {
+ "english_name": "Ura (Vanuatu)"
},
- "akk": {
- "english_name": "Akkadian"
+ "ysr": {
+ "english_name": "Yupik, Sirenik"
},
- "akj": {
- "english_name": "Aka-Jeru"
+ "sbs": {
+ "english_name": "Subiya"
},
- "aki": {
- "english_name": "Aiome"
+ "skf": {
+ "english_name": "Sakirabiá"
},
- "akh": {
- "english_name": "Angal Heneng"
+ "how": {
+ "english_name": "Honi"
},
- "ako": {
- "english_name": "Akurio"
+ "slt": {
+ "english_name": "Sila"
},
- "akm": {
- "english_name": "Aka-Bo"
+ "kjz": {
+ "english_name": "Bumthangkha"
},
- "akl": {
- "english_name": "Aklanon"
+ "gge": {
+ "english_name": "Guragone"
},
- "akc": {
- "english_name": "Mpur"
+ "twg": {
+ "english_name": "Tereweng"
},
- "akb": {
- "english_name": "Batak Angkola"
+ "rmf": {
+ "english_name": "Romani, Kalo Finnish"
},
- "glr": {
- "english_name": "Glaro-Twabo"
+ "yer": {
+ "english_name": "Tarok"
},
- "akg": {
- "english_name": "Anakalangu"
+ "jut": {
+ "english_name": "Jutish"
},
- "akf": {
- "english_name": "Akpa"
+ "tfr": {
+ "english_name": "Teribe"
},
- "ake": {
- "english_name": "Akawaio"
+ "bfq": {
+ "english_name": "Badaga"
},
- "akd": {
- "english_name": "Ukpet-Ehom"
+ "mca": {
+ "english_name": "Maca"
},
- "tml": {
- "english_name": "Citak, Tamnim"
+ "hae": {
+ "english_name": "Oromo, Eastern"
},
- "sso": {
- "english_name": "Sissano"
+ "bce": {
+ "english_name": "Bamenyam"
},
- "brz": {
- "english_name": "Bilbil"
+ "itl": {
+ "english_name": "Itelmen"
},
- "bry": {
- "english_name": "Burui"
+ "ylm": {
+ "english_name": "Limi"
},
- "brx": {
- "english_name": "Bodo (India)"
+ "oso": {
+ "english_name": "Ososo"
},
- "brw": {
- "english_name": "Bellari"
+ "mzl": {
+ "english_name": "Mixe, Mazatlán"
},
- "brv": {
- "english_name": "Bru, Western"
+ "xiv": {
+ "english_name": "Indus Valley Language"
},
- "bru": {
- "english_name": "Bru, Eastern"
+ "kwe": {
+ "english_name": "Kwerba"
},
- "brt": {
- "english_name": "Bitare"
+ "utr": {
+ "english_name": "Etulo"
},
- "brs": {
- "english_name": "Baras"
+ "moi": {
+ "english_name": "Mboi"
},
- "brr": {
- "english_name": "Birao"
+ "kug": {
+ "english_name": "Kupa"
},
- "brq": {
- "english_name": "Breri"
+ "ano": {
+ "english_name": "Andoque"
},
- "brp": {
- "english_name": "Barapasi"
+ "kpl": {
+ "english_name": "Kpala"
},
- "bro": {
- "english_name": "Brokkat"
+ "ndh": {
+ "english_name": "Ndali"
},
- "brn": {
- "english_name": "Boruca"
+ "tve": {
+ "english_name": "Te'un"
},
- "brm": {
- "english_name": "Barambu"
+ "pow": {
+ "english_name": "Popoloca, San Felipe Otlaltepec"
},
- "brl": {
- "english_name": "Birwa"
+ "vlp": {
+ "english_name": "Valpei"
},
- "brk": {
- "english_name": "Birked"
+ "bms": {
+ "english_name": "Kanuri, Bilma"
},
- "brj": {
- "english_name": "Bieria"
+ "was": {
+ "english_name": "Washo"
},
- "bri": {
- "english_name": "Mokpwe"
+ "lmg": {
+ "english_name": "Lamogai"
},
- "brh": {
- "english_name": "Brahui"
+ "ssm": {
+ "english_name": "Semnam"
},
- "brg": {
- "english_name": "Baure"
+ "mbk": {
+ "english_name": "Malol"
},
- "brf": {
- "english_name": "Bera"
+ "lht": {
+ "english_name": "Lo-Toga"
},
- "brd": {
- "english_name": "Baraamu"
+ "jwi": {
+ "english_name": "Jwira-Pepesa"
},
- "brc": {
- "english_name": "Creole Dutch, Berbice"
+ "idi": {
+ "english_name": "Idi"
},
- "brb": {
- "english_name": "Lave"
+ "nxa": {
+ "english_name": "Nauete"
},
- "bra": {
- "english_name": "Braj"
+ "bdc": {
+ "english_name": "Emberá-Baudó"
},
- "qum": {
- "english_name": "Sipacapense"
+ "rji": {
+ "english_name": "Raji"
},
- "qul": {
- "english_name": "Quechua, North Bolivian"
+ "gua": {
+ "english_name": "Shiki"
},
- "qun": {
- "english_name": "Quinault"
+ "bli": {
+ "english_name": "Bolia"
},
- "tmn": {
- "english_name": "Taman (Indonesia)"
+ "rw": {
+ "english_name": "Kinyarwanda",
+ "name": "Ikinyarwanda"
},
- "nka": {
- "english_name": "Nkoya"
+ "niz": {
+ "english_name": "Ningil"
},
- "nkb": {
- "english_name": "Naga, Khoibu"
+ "glw": {
+ "english_name": "Glavda"
},
- "nkc": {
- "english_name": "Nkongho"
+ "kjf": {
+ "english_name": "Khalaj"
},
- "nkd": {
- "english_name": "Koireng"
+ "taf": {
+ "english_name": "Tapirapé"
},
- "nke": {
- "english_name": "Duke"
+ "kvx": {
+ "english_name": "Koli, Parkari"
},
- "nkf": {
- "english_name": "Naga, Inpui"
+ "lgt": {
+ "english_name": "Pahi"
},
- "nkg": {
- "english_name": "Nekgini"
+ "mtw": {
+ "english_name": "Binukidnon, Southern"
},
- "nkh": {
- "english_name": "Naga, Khezha"
+ "dah": {
+ "english_name": "Gwahatike"
},
- "nki": {
- "english_name": "Naga, Thangal"
+ "eya": {
+ "english_name": "Eyak"
},
- "nkj": {
- "english_name": "Nakai"
+ "okl": {
+ "english_name": "Kentish Sign Language, Old"
},
- "nkk": {
- "english_name": "Nokuku"
+ "olo": {
+ "english_name": "Livvi"
},
- "nkm": {
- "english_name": "Namat"
+ "urt": {
+ "english_name": "Urat"
},
- "nkn": {
- "english_name": "Nkangala"
+ "apw": {
+ "english_name": "Apache, Western"
},
- "nko": {
- "english_name": "Nkonya"
+ "cqd": {
+ "english_name": "Miao, Chuanqiandian Cluster"
},
- "nkp": {
- "english_name": "Niuatoputapu"
+ "arl": {
+ "english_name": "Arabela"
},
- "nkq": {
- "english_name": "Nkami"
+ "mku": {
+ "english_name": "Maninka, Konyanka"
},
- "nkr": {
- "english_name": "Nukuoro"
+ "omu": {
+ "english_name": "Omurano"
},
- "nks": {
- "english_name": "Asmat, North"
+ "lle": {
+ "english_name": "Lele (Papua New Guinea)"
},
- "nkt": {
- "english_name": "Nyika (Tanzania)"
+ "hum": {
+ "english_name": "Hungana"
},
- "nku": {
- "english_name": "Kulango, Bouna"
+ "coe": {
+ "english_name": "Koreguaje"
},
- "nkv": {
- "english_name": "Nyika (Malawi and Zambia)"
+ "lpx": {
+ "english_name": "Lopit"
},
- "nkw": {
- "english_name": "Nkutu"
+ "ayz": {
+ "english_name": "Mai Brat"
},
- "nkx": {
- "english_name": "Nkoroo"
+ "xep": {
+ "english_name": "Epi-Olmec"
},
- "nkz": {
- "english_name": "Nkari"
+ "fuy": {
+ "english_name": "Fuyug"
},
- "tmo": {
- "english_name": "Temoq"
+ "klg": {
+ "english_name": "Tagakaulo"
},
- "ssh": {
- "english_name": "Arabic, Shihhi"
+ "qud": {
+ "english_name": "Quichua, Calderón Highland"
},
- "ert": {
- "english_name": "Eritai"
+ "nye": {
+ "english_name": "Nyengo"
},
- "tnt": {
- "english_name": "Tontemboan"
+ "mro": {
+ "english_name": "Mru"
},
- "tnw": {
- "english_name": "Tonsawang"
+ "nsg": {
+ "english_name": "Ngasa"
},
- "erw": {
- "english_name": "Erokwanas"
+ "niy": {
+ "english_name": "Ngiti"
},
- "tnq": {
- "english_name": "Taino"
+ "dri": {
+ "english_name": "C'lela"
},
- "tnp": {
- "english_name": "Whitesands"
+ "bnf": {
+ "english_name": "Masiwang"
},
- "err": {
- "english_name": "Erre"
+ "kou": {
+ "english_name": "Koke"
},
- "ers": {
- "english_name": "Ersu"
+ "rwk": {
+ "english_name": "Rwa"
},
- "tny": {
- "english_name": "Tongwe"
+ "csm": {
+ "english_name": "Miwok, Central Sierra"
},
- "tnx": {
- "english_name": "Tanema"
+ "qvm": {
+ "english_name": "Quechua, Margos-Yarowilca-Lauricocha"
},
- "tnz": {
- "english_name": "Tonga (Thailand)"
+ "tvo": {
+ "english_name": "Tidore"
},
- "tne": {
- "english_name": "Kallahan, Tinoc"
+ "nof": {
+ "english_name": "Nomane"
},
- "tnd": {
- "english_name": "Tunebo, Angosturas"
+ "kle": {
+ "english_name": "Kulung (Nepal)"
},
- "tng": {
- "english_name": "Tobanga"
+ "rro": {
+ "english_name": "Waima"
},
- "erg": {
- "english_name": "Sie"
+ "xkl": {
+ "english_name": "Mainstream Kenyah"
},
- "tna": {
- "english_name": "Tacana"
+ "mlb": {
+ "english_name": "Mbule"
},
- "era": {
- "english_name": "Eravallan"
+ "pnm": {
+ "english_name": "Punan Batu 1"
},
- "tnc": {
- "english_name": "Tanimuca-Retuarã"
+ "ims": {
+ "english_name": "Marsian"
},
- "tnb": {
- "english_name": "Tunebo, Western"
+ "avs": {
+ "english_name": "Aushiri"
},
- "tnm": {
- "english_name": "Tabla"
+ "muy": {
+ "english_name": "Muyang"
},
- "tnl": {
- "english_name": "Lenakel"
+ "adu": {
+ "english_name": "Aduge"
},
- "tno": {
- "english_name": "Toromono"
+ "mto": {
+ "english_name": "Mixe, Totontepec"
},
- "ero": {
- "english_name": "Horpa"
+ "pav": {
+ "english_name": "Pakaásnovos"
},
- "erh": {
- "english_name": "Eruwa"
+ "luc": {
+ "english_name": "Aringa"
},
- "eri": {
- "english_name": "Ogea"
+ "yaf": {
+ "english_name": "Yaka (Democratic Republic of Congo)"
},
- "tnk": {
- "english_name": "Kwamera"
+ "wru": {
+ "english_name": "Waru"
},
- "erk": {
- "english_name": "Efate, South"
+ "kht": {
+ "english_name": "Khamti"
},
- "uar": {
- "english_name": "Tairuma"
+ "mdf": {
+ "english_name": "Moksha"
},
- "uam": {
- "english_name": "Uamué"
+ "zaw": {
+ "english_name": "Zapotec, Mitla"
},
- "uan": {
- "english_name": "Kuan"
+ "zoc": {
+ "english_name": "Zoque, Copainalá"
+ },
+ "nji": {
+ "english_name": "Gudanji"
},
"lal": {
"english_name": "Lalia"
},
- "lam": {
- "english_name": "Lamba"
+ "dyo": {
+ "english_name": "Jola-Fonyi"
},
- "lan": {
- "english_name": "Laru"
+ "tkw": {
+ "english_name": "Teanu"
},
- "lah": {
- "english_name": "Lahnda"
+ "bdb": {
+ "english_name": "Basap"
},
- "lai": {
- "english_name": "Lambya"
+ "gwf": {
+ "english_name": "Gowro"
},
- "laj": {
- "english_name": "Lango (Uganda)"
+ "sxw": {
+ "english_name": "Gbe, Saxwe"
},
- "lak": {
- "english_name": "Laka (Nigeria)"
+ "dbp": {
+ "english_name": "Duwai"
},
- "lad": {
- "english_name": "Ladino"
+ "muu": {
+ "english_name": "Yaaku"
},
- "lae": {
- "english_name": "Pattani"
+ "bbq": {
+ "english_name": "Bamali"
},
- "laf": {
- "english_name": "Lafofa"
+ "gdc": {
+ "english_name": "Gugu Badhun"
},
- "lag": {
- "english_name": "Langi"
+ "kwx": {
+ "english_name": "Khirwar"
},
- "laa": {
- "english_name": "Subanen, Southern"
+ "bdz": {
+ "english_name": "Badeshi"
},
- "lab": {
- "english_name": "Linear A"
+ "duh": {
+ "english_name": "Dungra Bhil"
},
- "lac": {
- "english_name": "Lacandon"
+ "agz": {
+ "english_name": "Agta, Mt. Iriga"
},
- "lax": {
- "english_name": "Tiwa"
+ "klv": {
+ "english_name": "Maskelynes"
},
- "lay": {
- "english_name": "Lama (Myanmar)"
+ "czh": {
+ "english_name": "Chinese, Huizhou"
},
- "laz": {
- "english_name": "Aribwatsa"
+ "pnx": {
+ "english_name": "Phong-Kniang"
},
- "lau": {
- "english_name": "Laba"
+ "hal": {
+ "english_name": "Halang"
},
- "law": {
- "english_name": "Lauje"
+ "gir": {
+ "english_name": "Gelao, Red"
},
- "lap": {
- "english_name": "Laka (Chad)"
+ "buy": {
+ "english_name": "Bullom So"
},
- "laq": {
- "english_name": "Qabiao"
+ "adj": {
+ "english_name": "Adioukrou"
},
- "lar": {
- "english_name": "Larteh"
+ "ils": {
+ "english_name": "International Sign"
},
- "las": {
- "english_name": "Lama (Togo)"
+ "man": {
+ "english_name": "Mandingo"
},
- "zea": {
- "english_name": "Zeeuws"
+ "mkp": {
+ "english_name": "Moikodi"
},
- "zeg": {
- "english_name": "Zenag"
+ "ndi": {
+ "english_name": "Samba Leko"
},
- "zeh": {
- "english_name": "Zhuang, Eastern Hongshuihe"
+ "mga": {
+ "english_name": "Irish, Middle (900-1200)"
},
- "zen": {
- "english_name": "Zenaga"
+ "aaa": {
+ "english_name": "Ghotuo"
},
- "ssf": {
- "english_name": "Thao"
+ "bdq": {
+ "english_name": "Bahnar"
},
- "pjt": {
- "english_name": "Pitjantjatjara"
+ "xar": {
+ "english_name": "Karami"
},
- "ssc": {
- "english_name": "Suba-Simbiti"
+ "bvy": {
+ "english_name": "Baybayanon"
},
- "xgl": {
- "english_name": "Galindan"
+ "kgd": {
+ "english_name": "Kataang"
},
- "xgm": {
- "english_name": "Guwinmal"
+ "rng": {
+ "english_name": "Ronga"
},
- "xgi": {
- "english_name": "Garingbal"
+ "mhj": {
+ "english_name": "Mogholi"
},
- "xgf": {
- "english_name": "Gabrielino-Fernandeño"
+ "xrw": {
+ "english_name": "Karawa"
},
- "xgg": {
- "english_name": "Goreng"
+ "npu": {
+ "english_name": "Naga, Puimei"
},
- "xgd": {
- "english_name": "Gudang"
+ "kri": {
+ "english_name": "Krio"
},
- "xgb": {
- "english_name": "Gbin"
+ "beo": {
+ "english_name": "Beami"
},
- "xga": {
- "english_name": "Galatian"
+ "xct": {
+ "english_name": "Tibetan, Classical"
},
- "xgw": {
- "english_name": "Guwa"
+ "twx": {
+ "english_name": "Tewe"
},
- "xgu": {
- "english_name": "Unggumi"
+ "cnt": {
+ "english_name": "Chinantec, Tepetotutla"
},
- "xgr": {
- "english_name": "Garza"
+ "nsa": {
+ "english_name": "Naga, Sangtam"
},
- "wgg": {
- "english_name": "Wangganguru"
+ "pub": {
+ "english_name": "Purum"
},
- "wga": {
- "english_name": "Wagaya"
+ "cbe": {
+ "english_name": "Chipiajes"
},
- "wgb": {
- "english_name": "Wagawaga"
+ "zgb": {
+ "english_name": "Zhuang, Guibei"
},
- "wgo": {
- "english_name": "Waigeo"
+ "ogo": {
+ "english_name": "Khana"
},
- "wgi": {
- "english_name": "Wahgi"
+ "bbd": {
+ "english_name": "Bau"
},
- "wgu": {
- "english_name": "Wirangu"
+ "tmr": {
+ "english_name": "Aramaic, Jewish Babylonian (ca. 200-1200 CE)"
},
- "wgy": {
- "english_name": "Warrgamay"
+ "ghl": {
+ "english_name": "Ghulfan"
},
- "nty": {
- "english_name": "Mantsi"
+ "tit": {
+ "english_name": "Tinigua"
},
- "ntx": {
- "english_name": "Naga, Tangkhul (Myanmar)"
+ "eme": {
+ "english_name": "Emerillon"
},
- "ntz": {
- "english_name": "Natanzi"
+ "pha": {
+ "english_name": "Pa-Hng"
},
- "ntp": {
- "english_name": "Tepehuan, Northern"
+ "nxr": {
+ "english_name": "Ninggerum"
},
- "nts": {
- "english_name": "Natagaimas"
+ "zas": {
+ "english_name": "Zapotec, Santo Domingo Albarradas"
},
- "ntr": {
- "english_name": "Delo"
+ "kwy": {
+ "english_name": "Kongo, San Salvador"
},
- "ntu": {
- "english_name": "Natügu"
+ "mbd": {
+ "english_name": "Manobo, Dibabawon"
},
- "ntw": {
- "english_name": "Nottoway"
+ "bil": {
+ "english_name": "Bile"
},
- "nti": {
- "english_name": "Natioro"
+ "kcd": {
+ "english_name": "Kanum, Ngkâlmpw"
},
- "ntk": {
- "english_name": "Ikoma-Nata-Isenye"
+ "snr": {
+ "english_name": "Sihan"
},
- "ntj": {
- "english_name": "Ngaanyatjarra"
+ "tce": {
+ "english_name": "Tutchone, Southern"
},
- "ntm": {
- "english_name": "Nateni"
+ "bco": {
+ "english_name": "Kaluli"
},
- "nto": {
- "english_name": "Ntomba"
+ "kjx": {
+ "english_name": "Ramopa"
},
- "nte": {
- "english_name": "Nathembo"
+ "dmc": {
+ "english_name": "Gavak"
},
- "ntg": {
- "english_name": "Ngantangarra"
+ "mez": {
+ "english_name": "Menominee"
},
- "mvp": {
- "english_name": "Duri"
+ "kyf": {
+ "english_name": "Kouya"
},
- "mvq": {
- "english_name": "Moere"
+ "zkz": {
+ "english_name": "Khazar"
},
- "mvr": {
- "english_name": "Marau"
+ "koz": {
+ "english_name": "Korak"
},
- "mvs": {
- "english_name": "Massep"
+ "gac": {
+ "english_name": "Great Andamanese, Mixed"
},
- "mvt": {
- "english_name": "Mpotovoro"
+ "fak": {
+ "english_name": "Fang (Cameroon)"
},
- "mvu": {
- "english_name": "Marfa"
+ "pwn": {
+ "english_name": "Paiwan"
},
- "mvv": {
- "english_name": "Murut, Tagal"
+ "qxo": {
+ "english_name": "Quechua, Southern Conchucos Ancash"
},
- "mvw": {
- "english_name": "Machinga"
+ "nio": {
+ "english_name": "Nganasan"
},
- "mvx": {
- "english_name": "Meoswar"
+ "igs": {
+ "english_name": "Interglossa"
},
- "mvy": {
- "english_name": "Kohistani, Indus"
+ "bzl": {
+ "english_name": "Boano (Sulawesi)"
},
- "mvz": {
- "english_name": "Mesqan"
+ "tis": {
+ "english_name": "Itneg, Masadiit"
},
- "mva": {
- "english_name": "Manam"
+ "itt": {
+ "english_name": "Itneg, Maeng"
},
- "mvb": {
- "english_name": "Mattole"
+ "lka": {
+ "english_name": "Lakalei"
},
- "mvd": {
- "english_name": "Mamboru"
+ "snc": {
+ "english_name": "Sinaugoro"
},
- "mve": {
- "english_name": "Marwari (Pakistan)"
+ "jbu": {
+ "english_name": "Jukun Takum"
},
- "mvf": {
- "english_name": "Mongolian, Peripheral"
+ "hoy": {
+ "english_name": "Holiya"
},
- "mvg": {
- "english_name": "Mixtec, Yucuañe"
+ "aox": {
+ "english_name": "Atorada"
},
- "mvh": {
- "english_name": "Mulgi"
+ "tsx": {
+ "english_name": "Mubami"
},
- "mvi": {
- "english_name": "Miyako"
+ "fab": {
+ "english_name": "Fa d'Ambu"
},
- "mvk": {
- "english_name": "Mekmek"
+ "csi": {
+ "english_name": "Miwok, Coast"
},
- "mvl": {
- "english_name": "Mbara (Australia)"
+ "ccd": {
+ "english_name": "Creole, Cafundo"
},
- "mvm": {
- "english_name": "Muya"
+ "mzs": {
+ "english_name": "Macanese"
},
- "mvn": {
- "english_name": "Minaveha"
+ "gib": {
+ "english_name": "Gibanawa"
},
- "mvo": {
- "english_name": "Marovo"
+ "bbf": {
+ "english_name": "Baibai"
},
- "tea": {
- "english_name": "Temiar"
+ "mju": {
+ "english_name": "Manna-Dora"
},
- "teb": {
- "english_name": "Tetete"
+ "xh": {
+ "english_name": "Xhosa",
+ "name": "Xhosa"
},
- "tec": {
- "english_name": "Terik"
+ "bsm": {
+ "english_name": "Busami"
},
- "ted": {
- "english_name": "Krumen, Tepo"
+ "mrq": {
+ "english_name": "Marquesan, North"
},
- "tee": {
- "english_name": "Tepehua, Huehuetla"
+ "btu": {
+ "english_name": "Batu"
},
- "tef": {
- "english_name": "Teressa"
+ "kxj": {
+ "english_name": "Kulfa"
},
- "teg": {
- "english_name": "Teke-Tege"
+ "mrw": {
+ "english_name": "Maranao"
},
- "tex": {
- "english_name": "Tennet"
+ "brt": {
+ "english_name": "Bitare"
},
- "ktx": {
- "english_name": "Kaxararí"
+ "blz": {
+ "english_name": "Balantak"
},
- "kty": {
- "english_name": "Kango (Bas-Uélé District)"
+ "ttc": {
+ "english_name": "Tektiteko"
},
- "ktz": {
- "english_name": "Ju/'hoan"
+ "lls": {
+ "english_name": "Lithuanian Sign Language"
},
- "tey": {
- "english_name": "Tulishi"
+ "yrm": {
+ "english_name": "Yirrk-Mel"
},
- "ktt": {
- "english_name": "Ketum"
+ "tni": {
+ "english_name": "Tandia"
},
- "ktu": {
- "english_name": "Kituba (Democratic Republic of Congo)"
+ "knn": {
+ "english_name": "Konkani (individual language)"
},
- "ktv": {
- "english_name": "Katu, Eastern"
+ "frr": {
+ "english_name": "Frisian, Northern"
},
- "ktw": {
- "english_name": "Kato"
+ "tmq": {
+ "english_name": "Tumleo"
},
- "ktp": {
- "english_name": "Kaduo"
+ "hdy": {
+ "english_name": "Hadiyya"
},
- "ktq": {
- "english_name": "Katabaga"
+ "sox": {
+ "english_name": "Swo"
},
- "ktr": {
- "english_name": "Kota Marudu Tinagas"
+ "dva": {
+ "english_name": "Duau"
},
- "kts": {
- "english_name": "Muyu, South"
+ "chf": {
+ "english_name": "Chontal, Tabasco"
},
- "ktl": {
- "english_name": "Koroshi"
+ "bsr": {
+ "english_name": "Bassa-Kontagora"
},
- "ktm": {
- "english_name": "Kurti"
+ "ce": {
+ "english_name": "Chechen"
},
- "ktn": {
- "english_name": "Karitiâna"
+ "pnq": {
+ "english_name": "Pana (Burkina Faso)"
},
- "kto": {
- "english_name": "Kuot"
+ "wrg": {
+ "english_name": "Warungu"
},
- "kth": {
- "english_name": "Karanga"
+ "bkn": {
+ "english_name": "Bukitan"
},
- "kti": {
- "english_name": "Muyu, North"
+ "chd": {
+ "english_name": "Chontal, Highland Oaxaca"
},
- "ktj": {
- "english_name": "Krumen, Plapo"
+ "scb": {
+ "english_name": "Chut"
},
- "ktk": {
- "english_name": "Kaniet"
+ "nyo": {
+ "english_name": "Nyoro"
},
- "ktd": {
- "english_name": "Kokata"
+ "ti": {
+ "english_name": "Tigrinya",
+ "name": "ትግርኛ"
},
- "kte": {
- "english_name": "Nubri"
+ "tbf": {
+ "english_name": "Mandara"
},
- "ktf": {
- "english_name": "Kwami"
+ "nnt": {
+ "english_name": "Nanticoke"
},
- "ktg": {
- "english_name": "Kalkutung"
+ "spt": {
+ "english_name": "Bhoti, Spiti"
},
- "kta": {
- "english_name": "Katua"
+ "kbx": {
+ "english_name": "Ap Ma"
},
- "ktb": {
- "english_name": "Kambaata"
+ "cao": {
+ "english_name": "Chácobo"
},
- "ktc": {
- "english_name": "Kholok"
+ "bbb": {
+ "english_name": "Barai"
},
- "tep": {
- "english_name": "Tepecano"
+ "pwa": {
+ "english_name": "Pawaia"
},
- "teq": {
- "english_name": "Temein"
+ "ngq": {
+ "english_name": "Ngurimi"
},
- "ter": {
- "english_name": "Tereno"
+ "woy": {
+ "english_name": "Weyto"
},
- "ypp": {
- "english_name": "Phupa"
+ "txh": {
+ "english_name": "Thracian"
},
- "tsg": {
- "english_name": "Tausug"
+ "lem": {
+ "english_name": "Nomaande"
},
- "ypz": {
- "english_name": "Phuza"
+ "bbv": {
+ "english_name": "Karnai"
},
- "tet": {
- "english_name": "Tetum"
+ "bqr": {
+ "english_name": "Burusu"
},
- "teu": {
- "english_name": "Soo"
+ "spg": {
+ "english_name": "Sian"
},
- "ypb": {
- "english_name": "Phowa, Labo"
+ "bwl": {
+ "english_name": "Bwela"
},
- "ypa": {
- "english_name": "Phala"
+ "guu": {
+ "english_name": "Yanomamö"
},
- "tev": {
- "english_name": "Teor"
+ "skc": {
+ "english_name": "Ma Manda"
},
- "yph": {
- "english_name": "Phupha"
+ "mmh": {
+ "english_name": "Mehináku"
},
- "tew": {
- "english_name": "Tewa (USA)"
+ "mdj": {
+ "english_name": "Mangbetu"
},
- "ypn": {
- "english_name": "Phowa, Ani"
+ "pog": {
+ "english_name": "Potiguára"
},
- "ypo": {
- "english_name": "Phola, Alo"
+ "dzg": {
+ "english_name": "Dazaga"
},
- "ypm": {
- "english_name": "Phuma"
+ "apt": {
+ "english_name": "Apatani"
},
- "udj": {
- "english_name": "Ujir"
+ "skx": {
+ "english_name": "Seko Padang"
},
- "hrx": {
- "english_name": "Hunsrik"
+ "anh": {
+ "english_name": "Nend"
},
- "hrz": {
- "english_name": "Harzani"
+ "dot": {
+ "english_name": "Dass"
},
- "hru": {
- "english_name": "Hruso"
+ "kuq": {
+ "english_name": "Karipuna"
},
- "hrt": {
- "english_name": "Hértevin"
+ "vav": {
+ "english_name": "Varli"
},
- "hrw": {
- "english_name": "Warwar Feni"
+ "cua": {
+ "english_name": "Cua"
},
- "hrp": {
- "english_name": "Nhirrpi"
+ "xtm": {
+ "english_name": "Mixtec, Magdalena Peñasco"
},
- "hrm": {
- "english_name": "Miao, Horned"
+ "ldg": {
+ "english_name": "Lenyima"
},
- "hro": {
- "english_name": "Haroi"
+ "teh": {
+ "english_name": "Tehuelche"
},
- "udl": {
- "english_name": "Wuzlam"
+ "tlp": {
+ "english_name": "Totonac, Filomena Mata-Coahuitlán"
},
- "hrk": {
- "english_name": "Haruku"
+ "tiz": {
+ "english_name": "Tai Hongjin"
},
- "hre": {
- "english_name": "Hre"
+ "abi": {
+ "english_name": "Abidji"
},
- "udm": {
- "english_name": "Udmurt"
+ "hmc": {
+ "english_name": "Hmong, Central Huishui"
},
- "hra": {
- "english_name": "Hrangkhol"
+ "pga": {
+ "english_name": "Creole Arabic, Sudanese"
},
- "hrc": {
- "english_name": "Niwer Mil"
+ "ayt": {
+ "english_name": "Ayta, Magbukun"
},
- "de": {
- "name": "Deutsch",
- "english_name": "German"
+ "peh": {
+ "english_name": "Bonan"
},
- "da": {
- "name": "Dansk",
- "english_name": "Danish"
+ "xuj": {
+ "english_name": "Kurumba, Jennu"
},
- "dz": {
- "english_name": "Dzongkha"
+ "dua": {
+ "english_name": "Duala"
},
- "dv": {
- "english_name": "Dhivehi"
+ "ch": {
+ "english_name": "Chamorro"
},
- "eme": {
- "english_name": "Emerillon"
+ "bwt": {
+ "english_name": "Bafaw-Balong"
},
- "emg": {
- "english_name": "Meohang, Eastern"
+ "cld": {
+ "english_name": "Neo-Aramaic, Chaldean"
},
- "ema": {
- "english_name": "Emai-Iuleha-Ora"
+ "ilu": {
+ "english_name": "Ili'uun"
},
- "emb": {
- "english_name": "Embaloh"
+ "min": {
+ "english_name": "Minangkabau"
},
- "emm": {
- "english_name": "Mamulique"
+ "oaa": {
+ "english_name": "Orok"
},
- "emn": {
- "english_name": "Eman"
+ "nyl": {
+ "english_name": "Nyeu"
},
- "emi": {
- "english_name": "Mussau-Emira"
+ "wgy": {
+ "english_name": "Warrgamay"
},
- "emk": {
- "english_name": "Maninkakan, Eastern"
+ "wai": {
+ "english_name": "Wares"
},
- "suz": {
- "english_name": "Sunwar"
+ "bdk": {
+ "english_name": "Budukh"
},
- "emu": {
- "english_name": "Muria, Eastern"
+ "jee": {
+ "english_name": "Jerung"
},
- "emw": {
- "english_name": "Emplawas"
+ "gdj": {
+ "english_name": "Gurdjar"
},
- "emp": {
- "english_name": "Emberá, Northern"
+ "plh": {
+ "english_name": "Paulohi"
},
- "ems": {
- "english_name": "Yupik, Pacific Gulf"
+ "byh": {
+ "english_name": "Bhujel"
},
- "emy": {
- "english_name": "Mayan, Epigraphic"
+ "rka": {
+ "english_name": "Kraol"
},
- "emx": {
- "english_name": "Erromintxela"
+ "bkd": {
+ "english_name": "Binukid"
},
- "wa": {
- "name": "Walon",
- "english_name": "Walloon"
+ "mmz": {
+ "english_name": "Mabaale"
},
- "hai": {
- "english_name": "Haida"
+ "ljp": {
+ "english_name": "Lampung Api"
},
- "wo": {
- "english_name": "Wolof"
+ "whg": {
+ "english_name": "Wahgi, North"
},
- "haj": {
- "english_name": "Hajong"
+ "vaj": {
+ "english_name": "Vasekela Bushman"
},
- "hak": {
- "english_name": "Chinese, Hakka"
+ "hit": {
+ "english_name": "Hittite"
},
- "coq": {
- "english_name": "Coquille"
+ "aht": {
+ "english_name": "Ahtena"
},
- "cop": {
- "english_name": "Coptic"
+ "cli": {
+ "english_name": "Chakali"
},
- "cou": {
- "english_name": "Wamey"
+ "nuk": {
+ "english_name": "Nuu-chah-nulth"
},
- "cot": {
- "english_name": "Caquinte"
+ "fuf": {
+ "english_name": "Pular"
},
- "cow": {
- "english_name": "Cowlitz"
+ "drb": {
+ "english_name": "Dair"
},
- "cov": {
- "english_name": "Cao Miao"
+ "bbj": {
+ "english_name": "Ghomálá'"
},
- "coy": {
- "english_name": "Coyaima"
+ "pov": {
+ "english_name": "Crioulo, Upper Guinea"
},
- "cox": {
- "english_name": "Nanti"
+ "eli": {
+ "english_name": "Nding"
},
- "ill": {
- "english_name": "Iranun"
+ "pqa": {
+ "english_name": "Pa'a"
},
- "coz": {
- "english_name": "Chochotec"
+ "njz": {
+ "english_name": "Nyishi"
},
- "ilk": {
- "english_name": "Ilongot"
+ "lij": {
+ "english_name": "Ligurian"
},
- "ili": {
- "english_name": "Ili Turki"
+ "sok": {
+ "english_name": "Sokoro"
},
- "ilv": {
- "english_name": "Ilue"
+ "bfn": {
+ "english_name": "Bunak"
},
- "coc": {
- "english_name": "Cocopa"
+ "zim": {
+ "english_name": "Mesme"
},
- "cob": {
- "english_name": "Chicomuceltec"
+ "phw": {
+ "english_name": "Phangduwali"
},
- "coe": {
- "english_name": "Koreguaje"
+ "amk": {
+ "english_name": "Ambai"
},
- "cod": {
- "english_name": "Cocama-Cocamilla"
+ "xya": {
+ "english_name": "Yaygir"
},
- "cog": {
- "english_name": "Chong"
+ "kjt": {
+ "english_name": "Karen, Phrae Pwo"
},
- "cof": {
- "english_name": "Colorado"
+ "ubl": {
+ "english_name": "Bikol, Buhi'non"
},
- "coh": {
- "english_name": "Chonyi-Dzihana-Kauma"
+ "yis": {
+ "english_name": "Yis"
},
- "cok": {
- "english_name": "Cora, Santa Teresa"
+ "aux": {
+ "english_name": "Aurá"
},
- "coj": {
- "english_name": "Cochimi"
+ "bbp": {
+ "english_name": "Banda, West Central"
},
- "com": {
- "english_name": "Comanche"
+ "kbq": {
+ "english_name": "Kamano"
},
- "col": {
- "english_name": "Columbia-Wenatchi"
+ "krc": {
+ "english_name": "Karachay-Balkar"
},
- "coo": {
- "english_name": "Comox"
+ "mej": {
+ "english_name": "Meyah"
},
- "con": {
- "english_name": "Cofán"
+ "dii": {
+ "english_name": "Dimbong"
},
- "bnp": {
- "english_name": "Bola"
+ "okm": {
+ "english_name": "Korean, Middle (10th-16th cent.)"
},
- "bnw": {
- "english_name": "Bisis"
+ "agw": {
+ "english_name": "Kahua"
},
- "bnv": {
- "english_name": "Bonerif"
+ "lar": {
+ "english_name": "Larteh"
},
- "bnu": {
- "english_name": "Bentong"
+ "wkw": {
+ "english_name": "Wakawaka"
},
- "bnk": {
- "english_name": "Bierebo"
+ "mii": {
+ "english_name": "Mixtec, Chigmecatitlán"
},
- "hay": {
- "english_name": "Haya"
+ "ztg": {
+ "english_name": "Zapotec, Xanaguía"
},
- "haz": {
- "english_name": "Hazaragi"
+ "atx": {
+ "english_name": "Arutani"
},
- "bnc": {
- "english_name": "Bontok"
+ "nam": {
+ "english_name": "Ngan'gityemerri"
},
- "bnb": {
- "english_name": "Bookan"
+ "pna": {
+ "english_name": "Punan Bah-Biau"
},
- "bna": {
- "english_name": "Bonerate"
+ "kdx": {
+ "english_name": "Kam"
},
- "gnr": {
- "english_name": "Gureng Gureng"
+ "ggu": {
+ "english_name": "Gagu"
},
- "gnq": {
- "english_name": "Gana"
+ "jbt": {
+ "english_name": "Jabutí"
},
- "aiy": {
- "english_name": "Ali"
+ "rgn": {
+ "english_name": "Romagnol"
},
- "gnw": {
- "english_name": "Guaraní, Western Bolivian"
+ "nue": {
+ "english_name": "Ngundu"
},
- "gnt": {
- "english_name": "Guntai"
+ "xvn": {
+ "english_name": "Vandalic"
},
- "gnu": {
- "english_name": "Gnau"
+ "ksb": {
+ "english_name": "Shambala"
},
- "gnz": {
- "english_name": "Ganzi"
+ "pey": {
+ "english_name": "Petjo"
},
- "ait": {
- "english_name": "Arikem"
+ "srk": {
+ "english_name": "Serudung Murut"
},
- "aiw": {
- "english_name": "Aari"
+ "psd": {
+ "english_name": "Plains Indian Sign Language"
},
- "aiq": {
- "english_name": "Aimaq"
+ "tgd": {
+ "english_name": "Ciwogai"
},
- "aip": {
- "english_name": "Burumakok"
+ "pse": {
+ "english_name": "Malay, Central"
},
- "ais": {
- "english_name": "Amis, Nataoran"
+ "bmo": {
+ "english_name": "Bambalang"
},
- "air": {
- "english_name": "Airoran"
+ "grj": {
+ "english_name": "Grebo, Southern"
},
- "gnb": {
- "english_name": "Gangte"
+ "vmv": {
+ "english_name": "Maidu, Valley"
},
- "gnc": {
- "english_name": "Guanche"
+ "xnr": {
+ "english_name": "Kangri"
},
- "aio": {
- "english_name": "Aiton"
+ "lob": {
+ "english_name": "Lobi"
},
- "gna": {
- "english_name": "Kaansa"
+ "mws": {
+ "english_name": "Mwimbi-Muthambi"
},
- "aii": {
- "english_name": "Neo-Aramaic, Assyrian"
+ "nhz": {
+ "english_name": "Nahuatl, Santa María La Alta"
},
- "gng": {
- "english_name": "Ngangam"
+ "klw": {
+ "english_name": "Lindu"
},
- "gnd": {
- "english_name": "Zulgo-Gemzek"
+ "nbw": {
+ "english_name": "Ngbandi, Southern"
},
- "gne": {
- "english_name": "Ganang"
+ "waz": {
+ "english_name": "Wampur"
},
- "aie": {
- "english_name": "Amara"
+ "tmf": {
+ "english_name": "Toba-Maskoy"
},
- "gnk": {
- "english_name": "//Gana"
+ "its": {
+ "english_name": "Isekiri"
},
- "aig": {
- "english_name": "Creole English, Antigua and Barbuda"
+ "dim": {
+ "english_name": "Dime"
},
- "aif": {
- "english_name": "Agi"
+ "opt": {
+ "english_name": "Opata"
},
- "gnn": {
- "english_name": "Gumatj"
+ "tvw": {
+ "english_name": "Sedoa"
},
- "gno": {
- "english_name": "Gondi, Northern"
+ "npy": {
+ "english_name": "Napu"
},
- "aic": {
- "english_name": "Ainbai"
+ "evn": {
+ "english_name": "Evenki"
},
- "aib": {
- "english_name": "Ainu (China)"
+ "lkl": {
+ "english_name": "Laeko-Libuat"
},
- "nij": {
- "english_name": "Ngaju"
+ "nuh": {
+ "english_name": "Ndunda"
},
- "nik": {
- "english_name": "Nicobarese, Southern"
+ "nsi": {
+ "english_name": "Nigerian Sign Language"
},
- "nih": {
- "english_name": "Nyiha (Tanzania)"
+ "osa": {
+ "english_name": "Osage"
},
- "nii": {
- "english_name": "Nii"
+ "tty": {
+ "english_name": "Sikaritai"
},
- "nin": {
- "english_name": "Ninzo"
+ "pii": {
+ "english_name": "Pini"
},
- "nio": {
- "english_name": "Nganasan"
+ "kqg": {
+ "english_name": "Khe"
},
- "nil": {
- "english_name": "Nila"
+ "mul": {
+ "english_name": "Multiple languages"
},
- "nim": {
- "english_name": "Nilamba"
+ "mbx": {
+ "english_name": "Mari (East Sepik Province)"
},
- "nib": {
- "english_name": "Nakame"
+ "kff": {
+ "english_name": "Koya"
},
- "nia": {
- "english_name": "Nias"
+ "nmk": {
+ "english_name": "Namakura"
},
- "nif": {
- "english_name": "Nek"
+ "spu": {
+ "english_name": "Sapuan"
},
- "nig": {
- "english_name": "Ngalakan"
+ "pwr": {
+ "english_name": "Powari"
},
- "nid": {
- "english_name": "Ngandi"
+ "bhn": {
+ "english_name": "Neo-Aramaic, Bohtan"
},
- "nie": {
- "english_name": "Niellim"
+ "bxi": {
+ "english_name": "Pirlatapa"
},
- "niz": {
- "english_name": "Ningil"
+ "mhf": {
+ "english_name": "Mamaa"
},
- "nix": {
- "english_name": "Hema"
+ "grm": {
+ "english_name": "Kota Marudu Talantang"
},
- "niy": {
- "english_name": "Ngiti"
+ "mil": {
+ "english_name": "Mixtec, Peñoles"
},
- "nir": {
- "english_name": "Nimboran"
+ "mnj": {
+ "english_name": "Munji"
},
- "nis": {
- "english_name": "Nimi"
+ "crd": {
+ "english_name": "Coeur d'Alene"
},
- "niq": {
- "english_name": "Nandi"
+ "chz": {
+ "english_name": "Chinantec, Ozumacín"
},
- "niv": {
- "english_name": "Gilyak"
+ "sab": {
+ "english_name": "Buglere"
},
- "niw": {
- "english_name": "Nimo"
+ "kgf": {
+ "english_name": "Kube"
},
- "nit": {
- "english_name": "Kolami, Southeastern"
+ "mnv": {
+ "english_name": "Rennell-Bellona"
},
- "niu": {
- "english_name": "Niuean"
+ "kqk": {
+ "english_name": "Gbe, Kotafon"
},
- "thz": {
- "english_name": "Tamajeq, Tayart"
+ "kdz": {
+ "english_name": "Kwaja"
},
- "thy": {
- "english_name": "Tha"
+ "mnx": {
+ "english_name": "Manikion"
},
- "thw": {
- "english_name": "Thudam"
+ "lzz": {
+ "english_name": "Laz"
},
- "thv": {
- "english_name": "Tamahaq, Tahaggart"
+ "tti": {
+ "english_name": "Tobati"
},
- "thu": {
- "english_name": "Thuri"
+ "nlq": {
+ "english_name": "Naga, Lao"
},
- "tht": {
- "english_name": "Tahltan"
+ "wrh": {
+ "english_name": "Wiradhuri"
},
- "ths": {
- "english_name": "Thakali"
+ "xky": {
+ "english_name": "Uma' Lasan"
},
- "thr": {
- "english_name": "Tharu, Rana"
+ "tdg": {
+ "english_name": "Tamang, Western"
},
- "thq": {
- "english_name": "Tharu, Kochila"
+ "nex": {
+ "english_name": "Neme"
},
- "thp": {
- "english_name": "Thompson"
+ "gwe": {
+ "english_name": "Gweno"
},
- "thn": {
- "english_name": "Thachanadan"
+ "rut": {
+ "english_name": "Rutul"
},
- "thm": {
- "english_name": "Aheu"
+ "eki": {
+ "english_name": "Eki"
},
- "thl": {
- "english_name": "Tharu, Dangaura"
+ "tik": {
+ "english_name": "Tikar"
},
- "thk": {
- "english_name": "Tharaka"
+ "dmb": {
+ "english_name": "Dogon, Mombo"
},
- "thi": {
- "english_name": "Tai Long"
+ "rab": {
+ "english_name": "Camling"
},
- "epi": {
- "english_name": "Epie"
+ "izh": {
+ "english_name": "Ingrian"
},
- "thf": {
- "english_name": "Thangmi"
+ "ckh": {
+ "english_name": "Chak"
},
- "the": {
- "english_name": "Tharu, Chitwania"
+ "bgc": {
+ "english_name": "Haryanvi"
},
- "thd": {
- "english_name": "Thayore"
+ "set": {
+ "english_name": "Sentani"
},
- "thc": {
- "english_name": "Tai Hang Tong"
+ "gdn": {
+ "english_name": "Umanakaina"
},
- "dse": {
- "english_name": "Dutch Sign Language"
+ "ext": {
+ "english_name": "Extremaduran"
},
- "lcs": {
- "english_name": "Lisabata-Nuniali"
+ "aew": {
+ "english_name": "Ambakich"
},
- "lcp": {
- "english_name": "Lawa, Western"
+ "sgm": {
+ "english_name": "Singa"
},
- "lcq": {
- "english_name": "Luhu"
+ "dif": {
+ "english_name": "Dieri"
},
- "rna": {
- "english_name": "Runa"
+ "tct": {
+ "english_name": "T'en"
},
- "rng": {
- "english_name": "Ronga"
+ "tgi": {
+ "english_name": "Lawunuia"
},
- "rnd": {
- "english_name": "Ruund"
+ "pei": {
+ "english_name": "Chichimeca-Jonaz"
},
- "lcf": {
- "english_name": "Lubu"
+ "sge": {
+ "english_name": "Segai"
},
- "lcd": {
- "english_name": "Lola"
+ "mql": {
+ "english_name": "Mbelime"
},
- "lce": {
- "english_name": "Loncong"
+ "sei": {
+ "english_name": "Seri"
},
- "lcc": {
- "english_name": "Legenyem"
+ "kcs": {
+ "english_name": "Koenoem"
},
- "rnr": {
- "english_name": "Nari Nari"
+ "ade": {
+ "english_name": "Adele"
},
- "lcl": {
- "english_name": "Lisela"
+ "ijj": {
+ "english_name": "Ede Ije"
},
- "lcm": {
- "english_name": "Tungag"
+ "zyn": {
+ "english_name": "Zhuang, Yongnan"
},
- "rnw": {
- "english_name": "Rungwa"
+ "te": {
+ "english_name": "Telugu"
},
- "lch": {
- "english_name": "Luchazi"
+ "xun": {
+ "english_name": "Unggaranggu"
},
- "bpa": {
- "english_name": "Daakaka"
+ "sva": {
+ "english_name": "Svan"
},
- "qxc": {
- "english_name": "Quechua, Chincha"
+ "itr": {
+ "english_name": "Iteri"
},
- "bpb": {
- "english_name": "Barbacoas"
+ "lup": {
+ "english_name": "Lumbu"
},
- "bpd": {
- "english_name": "Banda-Banda"
+ "phr": {
+ "english_name": "Pahari-Potwari"
},
- "bpg": {
- "english_name": "Bonggo"
+ "kex": {
+ "english_name": "Kukna"
},
- "bpi": {
- "english_name": "Bagupi"
+ "pbr": {
+ "english_name": "Pangwa"
},
- "bph": {
- "english_name": "Botlikh"
+ "ras": {
+ "english_name": "Tegali"
},
- "bpk": {
- "english_name": "Orowe"
+ "mgp": {
+ "english_name": "Magar, Eastern"
},
- "bpj": {
- "english_name": "Binji"
+ "mia": {
+ "english_name": "Miami"
},
- "bpm": {
- "english_name": "Biyom"
+ "brn": {
+ "english_name": "Boruca"
},
- "bpl": {
- "english_name": "Broome Pearling Lugger Pidgin"
+ "sim": {
+ "english_name": "Mende (Papua New Guinea)"
},
- "bpo": {
- "english_name": "Anasi"
+ "lsy": {
+ "english_name": "Mauritian Sign Language"
},
- "bpn": {
- "english_name": "Dzao Min"
+ "tmb": {
+ "english_name": "Katbol"
},
- "bpq": {
- "english_name": "Malay, Banda"
+ "xco": {
+ "english_name": "Chorasmian"
},
- "bpp": {
- "english_name": "Kaure"
+ "ape": {
+ "english_name": "Bukiyip"
},
- "bps": {
- "english_name": "Blaan, Sarangani"
+ "dee": {
+ "english_name": "Dewoin"
},
- "bpr": {
- "english_name": "Blaan, Koronadal"
+ "non": {
+ "english_name": "Norse, Old"
},
- "bpu": {
- "english_name": "Bongu"
+ "ids": {
+ "english_name": "Idesa"
},
- "bpt": {
- "english_name": "Barrow Point"
+ "khx": {
+ "english_name": "Kanu"
},
- "bpw": {
- "english_name": "Bo (Papua New Guinea)"
+ "let": {
+ "english_name": "Lesing-Gelimi"
},
- "bpv": {
- "english_name": "Marind, Bian"
+ "nig": {
+ "english_name": "Ngalakan"
},
- "bpy": {
- "english_name": "Bishnupriya"
+ "aey": {
+ "english_name": "Amele"
},
- "bpx": {
- "english_name": "Bareli, Palya"
+ "ojc": {
+ "english_name": "Ojibwa, Central"
},
- "bpz": {
- "english_name": "Bilba"
+ "geg": {
+ "english_name": "Gengle"
},
- "zca": {
- "english_name": "Zapotec, Coatecas Altas"
+ "rxd": {
+ "english_name": "Ngardi"
},
- "zch": {
- "english_name": "Zhuang, Central Hongshuihe"
+ "cie": {
+ "english_name": "Cineni"
},
- "yka": {
- "english_name": "Yakan"
+ "zhw": {
+ "english_name": "Zhoa"
},
- "ykg": {
- "english_name": "Yukaghir, Northern"
+ "wuv": {
+ "english_name": "Wuvulu-Aua"
},
- "ykk": {
- "english_name": "Yakaikeke"
+ "lku": {
+ "english_name": "Kungkari"
},
- "yki": {
- "english_name": "Yoke"
+ "biv": {
+ "english_name": "Birifor, Southern"
},
- "yko": {
- "english_name": "Yasa"
+ "uks": {
+ "english_name": "Urubú-Kaapor Sign Language"
},
- "ykn": {
- "english_name": "Kua-nsi"
+ "xpo": {
+ "english_name": "Pochutec"
},
- "ykm": {
- "english_name": "Kap"
+ "icl": {
+ "english_name": "Icelandic Sign Language"
},
- "ykl": {
- "english_name": "Khlula"
+ "nbm": {
+ "english_name": "Ngbaka Ma'bo"
},
- "ykr": {
- "english_name": "Yekora"
+ "gnc": {
+ "english_name": "Guanche"
},
- "yku": {
- "english_name": "Kuamasi"
+ "gri": {
+ "english_name": "Ghari"
},
- "ykt": {
- "english_name": "Kathu"
+ "sju": {
+ "english_name": "Sami, Ume"
},
- "yky": {
- "english_name": "Yakoma"
+ "auw": {
+ "english_name": "Awyi"
},
- "plw": {
- "english_name": "Palawano, Brooke's Point"
+ "pnt": {
+ "english_name": "Pontic"
},
- "plv": {
- "english_name": "Palawano, Southwest"
+ "bbx": {
+ "english_name": "Bubia"
},
- "plu": {
- "english_name": "Palikúr"
+ "szc": {
+ "english_name": "Semaq Beri"
},
- "plt": {
- "english_name": "Malagasy, Plateau"
+ "lkc": {
+ "english_name": "Kucong"
},
- "pls": {
- "english_name": "Popoloca, San Marcos Tlalcoyalco"
+ "yle": {
+ "english_name": "Yele"
},
- "plr": {
- "english_name": "Senoufo, Palaka"
+ "ay": {
+ "english_name": "Aymara"
},
- "plq": {
- "english_name": "Palaic"
+ "tta": {
+ "english_name": "Tutelo"
},
- "plp": {
- "english_name": "Palpa"
+ "cul": {
+ "english_name": "Culina"
},
- "plz": {
- "english_name": "Paluan"
+ "byo": {
+ "english_name": "Biyo"
},
- "ply": {
- "english_name": "Bolyu"
+ "pex": {
+ "english_name": "Petats"
},
- "plg": {
- "english_name": "Pilagá"
+ "fom": {
+ "english_name": "Foma"
},
- "ple": {
- "english_name": "Palu'e"
+ "xtb": {
+ "english_name": "Mixtec, Chazumba"
},
- "pld": {
- "english_name": "Polari"
+ "sga": {
+ "english_name": "Irish, Old (to 900)"
},
- "plc": {
- "english_name": "Palawano, Central"
+ "mmm": {
+ "english_name": "Maii"
},
- "plb": {
- "english_name": "Polonombauk"
+ "twp": {
+ "english_name": "Ere"
},
- "pla": {
- "english_name": "Miani"
+ "kga": {
+ "english_name": "Koyaga"
},
- "plo": {
- "english_name": "Popoluca, Oluta"
+ "men": {
+ "english_name": "Mende (Sierra Leone)"
},
- "pln": {
- "english_name": "Palenquero"
+ "dal": {
+ "english_name": "Dahalo"
},
- "pll": {
- "english_name": "Palaung, Shwe"
+ "psi": {
+ "english_name": "Pashayi, Southeast"
},
- "plk": {
- "english_name": "Shina, Kohistani"
+ "rmd": {
+ "english_name": "Danish, Traveller"
},
- "plj": {
- "english_name": "Polci"
+ "svs": {
+ "english_name": "Savosavo"
},
- "plh": {
- "english_name": "Paulohi"
+ "snk": {
+ "english_name": "Soninke"
},
- "obo": {
- "english_name": "Manobo, Obo"
+ "amp": {
+ "english_name": "Alamblak"
},
- "obl": {
- "english_name": "Oblo"
+ "xce": {
+ "english_name": "Celtiberian"
},
- "obm": {
- "english_name": "Moabite"
+ "wmo": {
+ "english_name": "Wom (Papua New Guinea)"
},
- "obk": {
- "english_name": "Bontok, Southern"
+ "zpo": {
+ "english_name": "Zapotec, Amatlán"
},
- "obi": {
- "english_name": "Obispeño"
+ "heh": {
+ "english_name": "Hehe"
},
- "obt": {
- "english_name": "Breton, Old"
+ "dem": {
+ "english_name": "Dem"
},
- "obu": {
- "english_name": "Obulom"
+ "vko": {
+ "english_name": "Kodeoha"
},
- "obr": {
- "english_name": "Burmese, Old"
+ "mvx": {
+ "english_name": "Meoswar"
},
- "xyt": {
- "english_name": "Mayi-Thakurti"
+ "bne": {
+ "english_name": "Bintauna"
},
- "xyy": {
- "english_name": "Yorta Yorta"
+ "ckv": {
+ "english_name": "Kavalan"
},
- "xya": {
- "english_name": "Yaygir"
+ "ikv": {
+ "english_name": "Iku-Gora-Ankwa"
},
- "xyb": {
- "english_name": "Yandjibara"
+ "mbm": {
+ "english_name": "Ombamba"
},
- "xyj": {
- "english_name": "Mayi-Yapi"
+ "lum": {
+ "english_name": "Luimbi"
},
- "xyk": {
- "english_name": "Mayi-Kulan"
+ "ins": {
+ "english_name": "Indian Sign Language"
},
- "xyl": {
- "english_name": "Yalakalore"
+ "err": {
+ "english_name": "Erre"
},
- "wao": {
- "english_name": "Wappo"
+ "peb": {
+ "english_name": "Pomo, Eastern"
},
- "wan": {
- "english_name": "Wan"
+ "bhw": {
+ "english_name": "Biak"
},
- "wam": {
- "english_name": "Wampanoag"
+ "bjt": {
+ "english_name": "Balanta-Ganja"
},
- "wal": {
- "english_name": "Wolaytta"
+ "dmw": {
+ "english_name": "Mudburra"
},
- "waj": {
- "english_name": "Waffa"
+ "kkd": {
+ "english_name": "Kinuku"
},
- "wai": {
- "english_name": "Wares"
+ "stu": {
+ "english_name": "Samtao"
},
- "wah": {
- "english_name": "Watubela"
+ "leh": {
+ "english_name": "Lenje"
},
- "wag": {
- "english_name": "Wa'ema"
+ "scf": {
+ "english_name": "Creole French, San Miguel"
},
- "waf": {
- "english_name": "Wakoná"
+ "xsl": {
+ "english_name": "Slavey, South"
},
- "wae": {
- "english_name": "Walser"
+ "khl": {
+ "english_name": "Lusi"
},
- "wad": {
- "english_name": "Wandamen"
+ "bff": {
+ "english_name": "Bofi"
},
- "wac": {
- "english_name": "Wasco-Wishram"
+ "zom": {
+ "english_name": "Zou"
},
- "wab": {
- "english_name": "Wab"
+ "agr": {
+ "english_name": "Aguaruna"
},
- "waa": {
- "english_name": "Walla Walla"
+ "suy": {
+ "english_name": "Suyá"
},
- "waz": {
- "english_name": "Wampur"
+ "ndc": {
+ "english_name": "Ndau"
},
- "way": {
- "english_name": "Wayana"
+ "hme": {
+ "english_name": "Hmong, Eastern Huishui"
},
- "wax": {
- "english_name": "Watam"
+ "mkm": {
+ "english_name": "Moklen"
},
- "waw": {
- "english_name": "Waiwai"
+ "kyy": {
+ "english_name": "Kambaira"
},
- "wav": {
- "english_name": "Waka"
+ "mck": {
+ "english_name": "Mbunda"
},
- "wau": {
- "english_name": "Waurá"
+ "tvs": {
+ "english_name": "Taveta"
},
- "wat": {
- "english_name": "Kaninuwa"
+ "avi": {
+ "english_name": "Avikam"
},
- "was": {
- "english_name": "Washo"
+ "pcf": {
+ "english_name": "Paliyan"
},
- "war": {
- "english_name": "Waray (Philippines)"
+ "urz": {
+ "english_name": "Uru-Eu-Wau-Wau"
},
- "waq": {
- "english_name": "Wageman"
+ "npb": {
+ "english_name": "Nupbikha"
},
- "wap": {
- "english_name": "Wapishana"
+ "etx": {
+ "english_name": "Eten"
},
- "mtx": {
- "english_name": "Mixtec, Tidaá"
+ "djf": {
+ "english_name": "Djangun"
},
- "mty": {
- "english_name": "Nabi"
+ "cns": {
+ "english_name": "Asmat, Central"
},
- "mtr": {
- "english_name": "Mewari"
+ "wkd": {
+ "english_name": "Wakde"
},
- "mts": {
- "english_name": "Yora"
+ "wyi": {
+ "english_name": "Woiwurrung"
},
- "mtp": {
- "english_name": "Wichí Lhamtés Nocten"
+ "yiu": {
+ "english_name": "Awu"
},
- "mtq": {
- "english_name": "Muong"
+ "omp": {
+ "english_name": "Manipuri, Old"
},
- "mtv": {
- "english_name": "Asaro'o"
+ "prl": {
+ "english_name": "Peruvian Sign Language"
},
- "mtw": {
- "english_name": "Binukidnon, Southern"
+ "dgn": {
+ "english_name": "Dagoman"
},
- "mtt": {
- "english_name": "Mota"
+ "xve": {
+ "english_name": "Venetic"
},
- "mtu": {
- "english_name": "Mixtec, Tututepec"
+ "vku": {
+ "english_name": "Kurrama"
},
- "mtj": {
- "english_name": "Moskona"
+ "qum": {
+ "english_name": "Sipacapense"
},
- "mtk": {
- "english_name": "Mbe'"
+ "lio": {
+ "english_name": "Liki"
},
- "mth": {
- "english_name": "Munggui"
+ "soq": {
+ "english_name": "Kanasi"
},
- "mti": {
- "english_name": "Maiwa (Papua New Guinea)"
+ "abn": {
+ "english_name": "Abua"
},
- "mtn": {
- "english_name": "Matagalpa"
+ "mnq": {
+ "english_name": "Minriq"
},
- "mto": {
- "english_name": "Mixe, Totontepec"
+ "kns": {
+ "english_name": "Kensiu"
},
- "mtl": {
- "english_name": "Montol"
+ "ssk": {
+ "english_name": "Sunam"
},
- "mtm": {
- "english_name": "Mator"
+ "ln": {
+ "english_name": "Lingala"
},
- "mtb": {
- "english_name": "Anyin Morofo"
+ "be": {
+ "english_name": "Belarusian"
},
- "mtc": {
- "english_name": "Munit"
+ "cpb": {
+ "english_name": "Ashéninka, Ucayali-Yurúa"
},
- "mta": {
- "english_name": "Manobo, Cotabato"
+ "kmm": {
+ "english_name": "Kom (India)"
},
- "mtf": {
- "english_name": "Murik (Papua New Guinea)"
+ "soi": {
+ "english_name": "Sonha"
},
- "mtg": {
- "english_name": "Una"
+ "nmy": {
+ "english_name": "Namuyi"
},
- "mtd": {
- "english_name": "Mualang"
+ "nrk": {
+ "english_name": "Ngarla"
},
- "mte": {
- "english_name": "Mono (Solomon Islands)"
+ "bik": {
+ "english_name": "Bikol"
},
- "vwa": {
- "english_name": "Awa (China)"
+ "zsk": {
+ "english_name": "Kaskean"
},
- "kvf": {
- "english_name": "Kabalai"
+ "bqh": {
+ "english_name": "Baima"
},
- "kvg": {
- "english_name": "Kuni-Boazi"
+ "ymb": {
+ "english_name": "Yambes"
},
- "kvd": {
- "english_name": "Kui (Indonesia)"
+ "nis": {
+ "english_name": "Nimi"
},
- "kve": {
- "english_name": "Kalabakan"
+ "hom": {
+ "english_name": "Homa"
},
- "kvb": {
- "english_name": "Kubu"
+ "vmc": {
+ "english_name": "Mixtec, Juxtlahuaca"
},
- "kvc": {
- "english_name": "Kove"
+ "arp": {
+ "english_name": "Arapaho"
},
- "kva": {
- "english_name": "Bagvalal"
+ "kgj": {
+ "english_name": "Kham, Gamale"
},
- "kvn": {
- "english_name": "Kuna, Border"
+ "rmz": {
+ "english_name": "Marma"
},
- "kvo": {
- "english_name": "Dobel"
+ "kcl": {
+ "english_name": "Kela (Papua New Guinea)"
},
- "kvl": {
- "english_name": "Kayaw"
+ "sdm": {
+ "english_name": "Semandang"
},
- "kvm": {
- "english_name": "Kendem"
+ "mnm": {
+ "english_name": "Mapena"
},
- "kvj": {
- "english_name": "Psikye"
+ "pdt": {
+ "english_name": "Plautdietsch"
},
- "kvk": {
- "english_name": "Korean Sign Language"
+ "nwy": {
+ "english_name": "Nottoway-Meherrin"
},
- "kvh": {
- "english_name": "Komodo"
+ "ewo": {
+ "english_name": "Ewondo"
},
- "kvi": {
- "english_name": "Kwang"
+ "rah": {
+ "english_name": "Rabha"
},
- "kvv": {
- "english_name": "Kola"
+ "lmd": {
+ "english_name": "Lumun"
},
- "kvw": {
- "english_name": "Wersing"
+ "kto": {
+ "english_name": "Kuot"
},
- "kvt": {
- "english_name": "Karen, Lahta"
+ "hmt": {
+ "english_name": "Hamtai"
},
- "kvu": {
- "english_name": "Karen, Yinbaw"
+ "kpb": {
+ "english_name": "Kurumba, Mullu"
},
- "kvr": {
- "english_name": "Kerinci"
+ "mvr": {
+ "english_name": "Marau"
},
- "kvs": {
- "english_name": "Kunggara"
+ "iar": {
+ "english_name": "Purari"
},
- "kvp": {
- "english_name": "Kompane"
+ "cdj": {
+ "english_name": "Churahi"
},
- "kvq": {
- "english_name": "Karen, Geba"
+ "nsl": {
+ "english_name": "Norwegian Sign Language"
},
- "kvz": {
- "english_name": "Tsakwambo"
+ "wrb": {
+ "english_name": "Warluwara"
},
- "kvx": {
- "english_name": "Koli, Parkari"
+ "wuu": {
+ "english_name": "Chinese, Wu"
},
- "kvy": {
- "english_name": "Karen, Yintale"
+ "piv": {
+ "english_name": "Pileni"
},
- "ums": {
- "english_name": "Pendau"
+ "maz": {
+ "english_name": "Mazahua, Central"
},
- "umr": {
- "english_name": "Umbugarla"
+ "rmy": {
+ "english_name": "Romani, Vlax"
},
- "szn": {
- "english_name": "Sula"
+ "mke": {
+ "english_name": "Mawchi"
},
- "yvt": {
- "english_name": "Yavitero"
+ "wig": {
+ "english_name": "Wik-Ngathana"
},
- "szl": {
- "english_name": "Silesian"
+ "tkz": {
+ "english_name": "Takua"
},
- "szb": {
- "english_name": "Ngalum"
+ "pgn": {
+ "english_name": "Paelignian"
},
- "jvn": {
- "english_name": "Javanese, Caribbean"
+ "zaa": {
+ "english_name": "Zapotec, Sierra de Juárez"
},
- "jvd": {
- "english_name": "Javindo"
+ "gra": {
+ "english_name": "Garasia, Rajput"
},
- "sza": {
- "english_name": "Semelai"
+ "pys": {
+ "english_name": "Paraguayan Sign Language"
},
- "szg": {
- "english_name": "Sengele"
+ "fip": {
+ "english_name": "Fipa"
},
- "szd": {
- "english_name": "Seru"
+ "aph": {
+ "english_name": "Athpariya"
},
- "sze": {
- "english_name": "Seze"
+ "lmi": {
+ "english_name": "Lombi"
},
- "umo": {
- "english_name": "Umotína"
+ "two": {
+ "english_name": "Tswapong"
},
- "guc": {
- "english_name": "Wayuu"
+ "mov": {
+ "english_name": "Mohave"
},
- "gub": {
- "english_name": "Guajajára"
+ "dmk": {
+ "english_name": "Domaaki"
},
- "gua": {
- "english_name": "Shiki"
+ "hya": {
+ "english_name": "Hya"
},
- "gug": {
- "english_name": "Guaraní, Paraguayan"
+ "kgg": {
+ "english_name": "Kusunda"
},
- "guf": {
- "english_name": "Gupapuyngu"
+ "pic": {
+ "english_name": "Pinji"
},
- "gue": {
- "english_name": "Gurinji"
+ "igo": {
+ "english_name": "Isebe"
},
- "gud": {
- "english_name": "Dida, Yocoboué"
+ "nzk": {
+ "english_name": "Nzakara"
},
- "guk": {
- "english_name": "Gumuz"
+ "kdc": {
+ "english_name": "Kutu"
},
- "gui": {
- "english_name": "Guaraní, Eastern Bolivian"
+ "mba": {
+ "english_name": "Higaonon"
},
- "guh": {
- "english_name": "Guahibo"
+ "zmx": {
+ "english_name": "Bomitaba"
},
- "guo": {
- "english_name": "Guayabero"
+ "wif": {
+ "english_name": "Wik-Keyangan"
},
- "gun": {
- "english_name": "Guaraní, Mbyá"
+ "psm": {
+ "english_name": "Pauserna"
},
- "gum": {
- "english_name": "Guambiano"
+ "uli": {
+ "english_name": "Ulithian"
},
- "gul": {
- "english_name": "Creole English, Sea Island"
+ "hux": {
+ "english_name": "Huitoto, Nüpode"
},
- "gus": {
- "english_name": "Guinean Sign Language"
+ "sli": {
+ "english_name": "Silesian, Lower"
},
- "gur": {
- "english_name": "Farefare"
+ "ess": {
+ "english_name": "Yupik, Central Siberian"
},
- "guq": {
- "english_name": "Aché"
+ "ytl": {
+ "english_name": "Tanglang"
},
- "gup": {
- "english_name": "Gunwinggu"
+ "xki": {
+ "english_name": "Kenyan Sign Language"
},
- "guw": {
- "english_name": "Gun"
+ "nrp": {
+ "english_name": "Picene, North"
},
- "guv": {
- "english_name": "Gey"
+ "pas": {
+ "english_name": "Papasena"
},
- "guu": {
- "english_name": "Yanomamö"
+ "hup": {
+ "english_name": "Hupa"
},
- "gut": {
- "english_name": "Maléku Jaíka"
+ "mny": {
+ "english_name": "Manyawa"
},
- "guz": {
- "english_name": "Gusii"
+ "srz": {
+ "english_name": "Shahmirzadi"
},
- "gux": {
- "english_name": "Gourmanchéma"
+ "bwr": {
+ "english_name": "Bura-Pabir"
},
- "hto": {
- "english_name": "Huitoto, Minica"
+ "xug": {
+ "english_name": "Kunigami"
},
- "hti": {
- "english_name": "Hoti"
+ "ty": {
+ "english_name": "Tahitian"
},
- "htu": {
- "english_name": "Hitu"
+ "knp": {
+ "english_name": "Kwanja"
},
- "hts": {
- "english_name": "Hadza"
+ "xhe": {
+ "english_name": "Khetrani"
},
- "htx": {
- "english_name": "Hittite, Middle"
+ "plb": {
+ "english_name": "Polonombauk"
},
- "szv": {
- "english_name": "Isu (Fako Division)"
+ "pae": {
+ "english_name": "Pagibete"
},
- "szw": {
- "english_name": "Sawai"
+ "pst": {
+ "english_name": "Pashto, Central"
},
- "eko": {
- "english_name": "Koti"
+ "dbu": {
+ "english_name": "Dogon, Bondum Dom"
},
- "ekm": {
- "english_name": "Elip"
+ "pnu": {
+ "english_name": "Bunu, Jiongnai"
},
- "ekl": {
- "english_name": "Kol (Bangladesh)"
+ "don": {
+ "english_name": "Toura (Papua New Guinea)"
},
- "ekk": {
- "english_name": "Estonian, Standard"
+ "ppp": {
+ "english_name": "Pelende"
},
- "eki": {
- "english_name": "Eki"
+ "obr": {
+ "english_name": "Burmese, Old"
},
- "ekg": {
- "english_name": "Ekari"
+ "msg": {
+ "english_name": "Moraid"
},
- "eke": {
- "english_name": "Ekit"
+ "ley": {
+ "english_name": "Lemolang"
},
- "ekc": {
- "english_name": "Karnic, Eastern"
+ "nsm": {
+ "english_name": "Naga, Sumi"
},
- "eka": {
- "english_name": "Ekajuk"
+ "cih": {
+ "english_name": "Chinali"
},
- "eky": {
- "english_name": "Kayah, Eastern"
+ "vis": {
+ "english_name": "Vishavan"
},
- "ekr": {
- "english_name": "Yace"
+ "grs": {
+ "english_name": "Gresi"
},
- "ekp": {
- "english_name": "Ekpeye"
+ "zin": {
+ "english_name": "Zinza"
},
- "uzn": {
- "english_name": "Uzbek, Northern"
+ "bzu": {
+ "english_name": "Burmeso"
},
- "fbl": {
- "english_name": "Bikol, West Albay"
+ "zmi": {
+ "english_name": "Negeri Sembilan Malay"
},
- "caz": {
- "english_name": "Canichana"
+ "yiv": {
+ "english_name": "Nisu, Northern"
},
- "cay": {
- "english_name": "Cayuga"
+ "bqz": {
+ "english_name": "Bakaka"
},
- "cax": {
- "english_name": "Chiquitano"
+ "llg": {
+ "english_name": "Lole"
},
- "ibl": {
- "english_name": "Ibaloi"
+ "mus": {
+ "english_name": "Creek"
},
- "ibm": {
- "english_name": "Agoi"
+ "ttw": {
+ "english_name": "Long Wat"
},
- "ibn": {
- "english_name": "Ibino"
+ "ura": {
+ "english_name": "Urarina"
},
- "cas": {
- "english_name": "Tsimané"
+ "pnp": {
+ "english_name": "Pancana"
},
- "car": {
- "english_name": "Carib, Galibi"
+ "efe": {
+ "english_name": "Efe"
},
- "caq": {
- "english_name": "Nicobarese, Car"
+ "scq": {
+ "english_name": "Sa'och"
},
- "cap": {
- "english_name": "Chipaya"
+ "mhx": {
+ "english_name": "Maru"
},
- "caw": {
- "english_name": "Callawalla"
+ "mfv": {
+ "english_name": "Mandjak"
},
- "cav": {
- "english_name": "Cavineña"
+ "she": {
+ "english_name": "Sheko"
},
- "ibg": {
- "english_name": "Ibanag"
+ "opo": {
+ "english_name": "Opao"
},
- "cak": {
- "english_name": "Kaqchikel"
+ "ken": {
+ "english_name": "Kenyang"
},
- "iby": {
- "english_name": "Ibani"
+ "ryn": {
+ "english_name": "Amami-Oshima, Northern"
},
- "cah": {
- "english_name": "Cahuarano"
+ "krp": {
+ "english_name": "Korop"
},
- "cao": {
- "english_name": "Chácobo"
+ "tts": {
+ "english_name": "Thai, Northeastern"
},
- "can": {
- "english_name": "Chambri"
+ "bks": {
+ "english_name": "Sorsoganon, Northern"
},
- "cam": {
- "english_name": "Cemuhî"
+ "ahi": {
+ "english_name": "Aizi, Tiagbamrin"
},
- "cal": {
- "english_name": "Carolinian"
+ "bip": {
+ "english_name": "Bila"
},
- "cac": {
- "english_name": "Chuj"
+ "wmx": {
+ "english_name": "Womo"
},
- "cab": {
- "english_name": "Garifuna"
+ "pmb": {
+ "english_name": "Pambia"
},
- "caa": {
- "english_name": "Chortí"
+ "ksl": {
+ "english_name": "Kumalu"
},
- "cag": {
- "english_name": "Nivaclé"
+ "sby": {
+ "english_name": "Soli"
},
- "caf": {
- "english_name": "Carrier, Southern"
+ "pri": {
+ "english_name": "Paicî"
},
- "cae": {
- "english_name": "Lehar"
+ "tuq": {
+ "english_name": "Tedaga"
},
- "cad": {
- "english_name": "Caddo"
+ "avt": {
+ "english_name": "Au"
},
- "spx": {
- "english_name": "Picene, South"
+ "hao": {
+ "english_name": "Hakö"
},
- "spy": {
- "english_name": "Sabaot"
+ "asx": {
+ "english_name": "Muratayak"
},
- "spp": {
- "english_name": "Senoufo, Supyire"
+ "mbt": {
+ "english_name": "Manobo, Matigsalug"
},
- "spq": {
- "english_name": "Spanish, Loreto-Ucayali"
+ "pl": {
+ "english_name": "Polish",
+ "name": "polski"
},
- "spr": {
- "english_name": "Saparua"
+ "kct": {
+ "english_name": "Kaian"
},
- "sps": {
- "english_name": "Saposa"
+ "bws": {
+ "english_name": "Bomboma"
},
- "spt": {
- "english_name": "Bhoti, Spiti"
+ "ntg": {
+ "english_name": "Ngantangarra"
},
- "spu": {
- "english_name": "Sapuan"
+ "bqu": {
+ "english_name": "Boguru"
},
- "spv": {
- "english_name": "Sambalpuri"
+ "xmo": {
+ "english_name": "Morerebi"
},
- "spi": {
- "english_name": "Saponi"
+ "ybn": {
+ "english_name": "Yabaâna"
},
- "spk": {
- "english_name": "Sengo"
+ "liw": {
+ "english_name": "Col"
},
- "spl": {
- "english_name": "Selepet"
+ "pue": {
+ "english_name": "Puelche"
},
- "spm": {
- "english_name": "Akukem"
+ "dya": {
+ "english_name": "Dyan"
},
- "spo": {
- "english_name": "Spokane"
+ "gkp": {
+ "english_name": "Kpelle, Guinea"
},
- "spb": {
- "english_name": "Sepa (Indonesia)"
+ "ssb": {
+ "english_name": "Sama, Southern"
},
- "spc": {
- "english_name": "Sapé"
+ "nuv": {
+ "english_name": "Nuni, Northern"
},
- "spd": {
- "english_name": "Saep"
+ "lnm": {
+ "english_name": "Langam"
},
- "spe": {
- "english_name": "Sepa (Papua New Guinea)"
+ "aju": {
+ "english_name": "Arabic, Judeo-Moroccan"
},
- "spg": {
- "english_name": "Sian"
+ "lmu": {
+ "english_name": "Lamenu"
},
- "aog": {
- "english_name": "Angoram"
+ "tyn": {
+ "english_name": "Kombai"
},
- "aof": {
- "english_name": "Bragat"
+ "foi": {
+ "english_name": "Foi"
},
- "aoe": {
- "english_name": "Angal Enen"
+ "pah": {
+ "english_name": "Tenharim"
},
- "aod": {
- "english_name": "Andarum"
+ "bby": {
+ "english_name": "Befang"
},
- "aoc": {
- "english_name": "Pemon"
+ "kev": {
+ "english_name": "Kanikkaran"
},
- "aob": {
- "english_name": "Abom"
+ "bus": {
+ "english_name": "Bokobaru"
},
- "aoa": {
- "english_name": "Angolar"
+ "gad": {
+ "english_name": "Gaddang"
},
- "aon": {
- "english_name": "Arapesh, Bumbita"
+ "jmi": {
+ "english_name": "Jimi (Nigeria)"
},
- "aom": {
- "english_name": "Ömie"
+ "din": {
+ "english_name": "Dinka"
},
- "aol": {
- "english_name": "Alor"
+ "ego": {
+ "english_name": "Eggon"
},
- "aok": {
- "english_name": "Arhö"
+ "tbw": {
+ "english_name": "Tagbanwa"
},
- "aoj": {
- "english_name": "Mufian"
+ "kvm": {
+ "english_name": "Kendem"
},
- "aoi": {
- "english_name": "Anindilyakwa"
+ "twh": {
+ "english_name": "Tai Dón"
},
- "aoh": {
- "english_name": "Arma"
+ "mmy": {
+ "english_name": "Migaama"
},
- "aou": {
- "english_name": "A'ou"
+ "opk": {
+ "english_name": "Kopkaka"
},
- "aot": {
- "english_name": "A'tong"
+ "cro": {
+ "english_name": "Crow"
},
- "aos": {
- "english_name": "Taikat"
+ "wpc": {
+ "english_name": "Maco"
},
- "aor": {
- "english_name": "Aore"
+ "xsd": {
+ "english_name": "Sidetic"
},
- "aoz": {
- "english_name": "Uab Meto"
+ "cbw": {
+ "english_name": "Kinabalian"
},
- "aox": {
- "english_name": "Atorada"
+ "ta": {
+ "english_name": "Tamil",
+ "name": "தமிழ்"
},
- "ght": {
- "english_name": "Kuke"
+ "mjx": {
+ "english_name": "Mahali"
},
- "ghr": {
- "english_name": "Ghera"
+ "xib": {
+ "english_name": "Iberian"
},
- "ghs": {
- "english_name": "Guhu-Samane"
+ "xxm": {
+ "english_name": "Minkin"
},
- "ghe": {
- "english_name": "Ghale, Southern"
+ "jos": {
+ "english_name": "Jordanian Sign Language"
},
- "gha": {
- "english_name": "Ghadamès"
+ "mg": {
+ "english_name": "Malagasy"
},
- "ghc": {
- "english_name": "Gaelic, Hiberno-Scottish"
+ "gbz": {
+ "english_name": "Dari, Zoroastrian"
},
- "ghl": {
- "english_name": "Ghulfan"
+ "sds": {
+ "english_name": "Sened"
},
- "ghn": {
- "english_name": "Ghanongga"
+ "ldb": {
+ "english_name": "Dũya"
},
- "gho": {
- "english_name": "Ghomara"
+ "kfg": {
+ "english_name": "Kudiya"
},
- "ghh": {
- "english_name": "Ghale, Northern"
+ "slp": {
+ "english_name": "Lamaholot"
},
- "ghk": {
- "english_name": "Karen, Geko"
+ "aiy": {
+ "english_name": "Ali"
},
- "soa": {
- "english_name": "Thai Song"
+ "mfs": {
+ "english_name": "Mexican Sign Language"
},
- "soc": {
- "english_name": "So (Democratic Republic of Congo)"
+ "kcj": {
+ "english_name": "Kobiana"
},
- "sob": {
- "english_name": "Sobei"
+ "ykk": {
+ "english_name": "Yakaikeke"
},
- "soe": {
- "english_name": "Songomeno"
+ "kof": {
+ "english_name": "Kubi"
},
- "sod": {
- "english_name": "Songoora"
+ "rhp": {
+ "english_name": "Yahang"
},
- "sog": {
- "english_name": "Sogdian"
+ "klf": {
+ "english_name": "Kendeje"
},
- "soi": {
- "english_name": "Sonha"
+ "lif": {
+ "english_name": "Limbu"
},
- "soh": {
- "english_name": "Aka"
+ "fla": {
+ "english_name": "Kalispel-Pend d'Oreille"
},
- "sok": {
- "english_name": "Sokoro"
+ "ues": {
+ "english_name": "Kioko"
},
- "nol": {
- "english_name": "Nomlaki"
+ "dnj": {
+ "english_name": "Dan"
},
- "aeq": {
- "english_name": "Aer"
+ "nxu": {
+ "english_name": "Narau"
},
- "non": {
- "english_name": "Norse, Old"
+ "tkd": {
+ "english_name": "Tukudede"
},
- "noh": {
- "english_name": "Nomu"
+ "aao": {
+ "english_name": "Arabic, Algerian Saharan"
},
- "noi": {
- "english_name": "Noiri"
+ "piw": {
+ "english_name": "Pimbwe"
},
- "noj": {
- "english_name": "Nonuya"
+ "knw": {
+ "english_name": "Kung-Ekoka"
},
- "nok": {
- "english_name": "Nooksack"
+ "myv": {
+ "english_name": "Erzya"
},
- "nod": {
- "english_name": "Thai, Northern"
+ "rxw": {
+ "english_name": "Karuwali"
},
- "noe": {
- "english_name": "Nimadi"
+ "ccc": {
+ "english_name": "Chamicuro"
},
- "nof": {
- "english_name": "Nomane"
+ "xtq": {
+ "english_name": "Tumshuqese"
},
- "nog": {
- "english_name": "Nogai"
+ "nku": {
+ "english_name": "Kulango, Bouna"
},
- "tjm": {
- "english_name": "Timucua"
+ "wme": {
+ "english_name": "Wambule"
},
- "noa": {
- "english_name": "Woun Meu"
+ "gnz": {
+ "english_name": "Ganzi"
},
- "tjo": {
- "english_name": "Tamazight, Temacine"
+ "rao": {
+ "english_name": "Rao"
},
- "noc": {
- "english_name": "Nuk"
+ "aix": {
+ "english_name": "Aighon"
},
- "tjs": {
- "english_name": "Tujia, Southern"
+ "rkt": {
+ "english_name": "Rangpuri"
},
- "aer": {
- "english_name": "Arrernte, Eastern"
+ "ory": {
+ "english_name": "Oriya (individual language)"
},
- "tju": {
- "english_name": "Tjurruru"
+ "rmm": {
+ "english_name": "Roma"
},
- "noy": {
- "english_name": "Noy"
+ "tnv": {
+ "english_name": "Tangchangya"
},
- "noz": {
- "english_name": "Nayi"
+ "kmw": {
+ "english_name": "Komo (Democratic Republic of Congo)"
},
- "not": {
- "english_name": "Nomatsiguenga"
+ "nzu": {
+ "english_name": "Teke-Nzikou"
},
- "nou": {
- "english_name": "Ewage-Notu"
+ "xin": {
+ "english_name": "Xinca"
},
- "nov": {
- "english_name": "Novial"
+ "kss": {
+ "english_name": "Kisi, Southern"
},
- "now": {
- "english_name": "Nyambo"
+ "cwa": {
+ "english_name": "Kabwa"
},
- "nop": {
- "english_name": "Numanggang"
+ "kjq": {
+ "english_name": "Keres, Western"
},
- "noq": {
- "english_name": "Ngongo"
+ "smb": {
+ "english_name": "Simbari"
},
- "nos": {
- "english_name": "Nisu, Eastern"
+ "cdf": {
+ "english_name": "Chiru"
},
- "aey": {
- "english_name": "Amele"
+ "lns": {
+ "english_name": "Lamnso'"
},
- "sou": {
- "english_name": "Thai, Southern"
+ "bjw": {
+ "english_name": "Bakwé"
},
- "el": {
- "name": "Ελληνικά",
- "english_name": "Greek, Modern (1453-)"
+ "tcm": {
+ "english_name": "Tanahmerah"
},
- "eo": {
- "name": "Esperanto",
- "english_name": "Esperanto"
+ "ssp": {
+ "english_name": "Spanish Sign Language"
},
- "en": {
- "english_name": "English"
+ "lmh": {
+ "english_name": "Lambichhong"
},
- "sow": {
- "english_name": "Sowanda"
+ "idr": {
+ "english_name": "Indri"
},
- "ee": {
- "english_name": "Ewe"
+ "qwt": {
+ "english_name": "Kwalhioqua-Tlatskanai"
},
- "soy": {
- "english_name": "Miyobe"
+ "bfz": {
+ "english_name": "Pahari, Mahasu"
},
- "sox": {
- "english_name": "Swo"
+ "uar": {
+ "english_name": "Tairuma"
},
- "eu": {
- "name": "Euskara",
- "english_name": "Basque"
+ "kvj": {
+ "english_name": "Psikye"
},
- "et": {
- "name": "Eesti",
- "english_name": "Estonian"
+ "tny": {
+ "english_name": "Tongwe"
},
- "es": {
- "name": "Español",
- "english_name": "Spanish"
+ "aum": {
+ "english_name": "Asu (Nigeria)"
},
- "aea": {
- "english_name": "Areba"
+ "asi": {
+ "english_name": "Buruwai"
},
- "soz": {
- "english_name": "Temi"
+ "glu": {
+ "english_name": "Gula (Chad)"
},
- "aeb": {
- "english_name": "Arabic, Tunisian"
+ "zkt": {
+ "english_name": "Kitan"
},
- "aee": {
- "english_name": "Pashayi, Northeast"
+ "giq": {
+ "english_name": "Gelao, Green"
},
- "aed": {
- "english_name": "Argentine Sign Language"
+ "naz": {
+ "english_name": "Nahuatl, Coatepec"
},
- "lmx": {
- "english_name": "Laimbue"
+ "ybb": {
+ "english_name": "Yemba"
},
- "lmy": {
- "english_name": "Lamboya"
+ "gim": {
+ "english_name": "Gimi (Eastern Highlands)"
},
- "lmz": {
- "english_name": "Lumbee"
+ "unk": {
+ "english_name": "Enawené-Nawé"
},
- "lmp": {
- "english_name": "Limbum"
+ "giz": {
+ "english_name": "Giziga, South"
},
- "lmq": {
- "english_name": "Lamatuka"
+ "fuc": {
+ "english_name": "Pulaar"
},
- "lmr": {
- "english_name": "Lamalera"
+ "mup": {
+ "english_name": "Malvi"
},
- "lmu": {
- "english_name": "Lamenu"
+ "yuy": {
+ "english_name": "Yugur, East"
},
- "lmv": {
- "english_name": "Lomaiviti"
+ "wii": {
+ "english_name": "Minidien"
},
- "lmw": {
- "english_name": "Miwok, Lake"
+ "buu": {
+ "english_name": "Budu"
},
- "lmh": {
- "english_name": "Lambichhong"
+ "omn": {
+ "english_name": "Minoan"
},
- "lmi": {
- "english_name": "Lombi"
+ "kcu": {
+ "english_name": "Kami (Tanzania)"
},
- "lmj": {
- "english_name": "Lembata, West"
+ "xpj": {
+ "english_name": "Mpalitjanh"
},
- "lmk": {
- "english_name": "Lamkang"
+ "mrg": {
+ "english_name": "Mising"
},
- "lml": {
- "english_name": "Hano"
+ "gct": {
+ "english_name": "German, Colonia Tovar"
},
- "lmn": {
- "english_name": "Lambadi"
+ "kzr": {
+ "english_name": "Karang"
},
- "lmo": {
- "english_name": "Lombard"
+ "ruo": {
+ "english_name": "Romanian, Istro"
},
- "lma": {
- "english_name": "Limba, East"
+ "swu": {
+ "english_name": "Suwawa"
},
- "lmb": {
- "english_name": "Merei"
+ "kj": {
+ "english_name": "Kuanyama"
},
- "lmc": {
- "english_name": "Limilngan"
+ "cdh": {
+ "english_name": "Chambeali"
},
- "lmd": {
- "english_name": "Lumun"
+ "mzk": {
+ "english_name": "Mambila, Nigeria"
},
- "lme": {
- "english_name": "Pévé"
+ "mre": {
+ "english_name": "Martha's Vineyard Sign Language"
},
- "lmf": {
- "english_name": "Lembata, South"
+ "gdf": {
+ "english_name": "Guduf-Gava"
},
- "lmg": {
- "english_name": "Lamogai"
+ "pil": {
+ "english_name": "Yom"
},
- "aem": {
- "english_name": "Arem"
+ "nhp": {
+ "english_name": "Nahuatl, Isthmus-Pajapan"
},
- "aen": {
- "english_name": "Armenian Sign Language"
+ "miq": {
+ "english_name": "Mískito"
},
- "zao": {
- "english_name": "Zapotec, Ozolotepec"
+ "kjl": {
+ "english_name": "Kham, Western Parbate"
},
- "xh": {
- "name": "Xhosa",
- "english_name": "Xhosa"
+ "kbr": {
+ "english_name": "Kafa"
},
- "zam": {
- "english_name": "Zapotec, Miahuatlán"
+ "bfp": {
+ "english_name": "Beba"
},
- "zaj": {
- "english_name": "Zaramo"
+ "duy": {
+ "english_name": "Agta, Dicamay"
},
- "zak": {
- "english_name": "Zanaki"
+ "vaf": {
+ "english_name": "Vafsi"
},
- "zah": {
- "english_name": "Zangwal"
+ "jer": {
+ "english_name": "Jere"
},
- "zai": {
- "english_name": "Zapotec, Isthmus"
+ "tsv": {
+ "english_name": "Tsogo"
},
- "zaf": {
- "english_name": "Zapotec, Ayoquesco"
+ "txg": {
+ "english_name": "Tangut"
},
- "zag": {
- "english_name": "Zaghawa"
+ "osi": {
+ "english_name": "Osing"
},
- "zad": {
- "english_name": "Zapotec, Cajonos"
+ "tue": {
+ "english_name": "Tuyuca"
},
- "zae": {
- "english_name": "Zapotec, Yareni"
+ "pmm": {
+ "english_name": "Pomo"
},
- "zab": {
- "english_name": "Zapotec, San Juan Guelavía"
+ "sid": {
+ "english_name": "Sidamo"
},
- "zac": {
- "english_name": "Zapotec, Ocotlán"
+ "cap": {
+ "english_name": "Chipaya"
},
- "zaa": {
- "english_name": "Zapotec, Sierra de Juárez"
+ "htu": {
+ "english_name": "Hitu"
},
- "zaz": {
- "english_name": "Zari"
+ "mzg": {
+ "english_name": "Monastic Sign Language"
},
- "zax": {
- "english_name": "Zapotec, Xadani"
+ "kqc": {
+ "english_name": "Doromu-Koki"
},
- "zay": {
- "english_name": "Zayse-Zergulla"
+ "yif": {
+ "english_name": "Ache"
},
- "zav": {
- "english_name": "Zapotec, Yatzachi"
+ "cbj": {
+ "english_name": "Ede Cabe"
},
- "zaw": {
- "english_name": "Zapotec, Mitla"
+ "nzy": {
+ "english_name": "Nzakambay"
},
- "zat": {
- "english_name": "Zapotec, Tabaa"
+ "trm": {
+ "english_name": "Tregami"
},
- "zau": {
- "english_name": "Zangskari"
+ "ncp": {
+ "english_name": "Ndaktup"
},
- "zar": {
- "english_name": "Zapotec, Rincón"
+ "loo": {
+ "english_name": "Lombo"
},
- "zas": {
- "english_name": "Zapotec, Santo Domingo Albarradas"
+ "khe": {
+ "english_name": "Korowai"
},
- "zap": {
- "english_name": "Zapotec"
+ "mqc": {
+ "english_name": "Mangole"
},
- "zaq": {
- "english_name": "Zapotec, Aloápam"
+ "xko": {
+ "english_name": "Kiorr"
},
- "yig": {
- "english_name": "Nasu, Wusa"
+ "brh": {
+ "english_name": "Brahui"
},
- "yif": {
- "english_name": "Ache"
+ "bbi": {
+ "english_name": "Barombi"
},
- "yia": {
- "english_name": "Yinggarda"
+ "wom": {
+ "english_name": "Wom (Nigeria)"
},
- "yim": {
- "english_name": "Naga, Yimchungru"
+ "sxm": {
+ "english_name": "Samre"
},
- "yil": {
- "english_name": "Yindjilandji"
+ "gor": {
+ "english_name": "Gorontalo"
},
- "yin": {
- "english_name": "Yinchia"
+ "lmn": {
+ "english_name": "Lambadi"
},
- "yii": {
- "english_name": "Yidiny"
+ "nay": {
+ "english_name": "Narrinyeri"
},
- "yih": {
- "english_name": "Yiddish, Western"
+ "wls": {
+ "english_name": "Wallisian"
},
- "yik": {
- "english_name": "Lalo, Dongshanba"
+ "stq": {
+ "english_name": "Saterfriesisch"
},
- "yij": {
- "english_name": "Yindjibarndi"
+ "bxf": {
+ "english_name": "Bilur"
},
- "yiu": {
- "english_name": "Awu"
+ "mbc": {
+ "english_name": "Macushi"
},
- "yit": {
- "english_name": "Lalu, Eastern"
+ "usa": {
+ "english_name": "Usarufa"
},
- "yiv": {
- "english_name": "Nisu, Northern"
+ "sg": {
+ "english_name": "Sango"
},
- "yiq": {
- "english_name": "Miqie"
+ "zpx": {
+ "english_name": "Zapotec, San Baltazar Loxicha"
},
- "yip": {
- "english_name": "Pholo"
+ "nsy": {
+ "english_name": "Nasal"
},
- "yis": {
- "english_name": "Yis"
+ "kvs": {
+ "english_name": "Kunggara"
},
- "yir": {
- "english_name": "Awyu, North"
+ "atv": {
+ "english_name": "Altai, Northern"
},
- "yix": {
- "english_name": "Yi, Axi"
+ "xzp": {
+ "english_name": "Zapotec, Ancient"
},
- "yiz": {
- "english_name": "Azhe"
+ "mmo": {
+ "english_name": "Buang, Mangga"
},
- "pny": {
- "english_name": "Pinyin"
+ "gdi": {
+ "english_name": "Gundi"
},
- "pnx": {
- "english_name": "Phong-Kniang"
+ "urm": {
+ "english_name": "Urapmin"
},
- "pnz": {
- "english_name": "Pana (Central African Republic)"
+ "wrs": {
+ "english_name": "Waris"
},
- "pnq": {
- "english_name": "Pana (Burkina Faso)"
+ "adn": {
+ "english_name": "Adang"
},
- "pnp": {
- "english_name": "Pancana"
+ "net": {
+ "english_name": "Nete"
},
- "pns": {
- "english_name": "Ponosakan"
+ "ito": {
+ "english_name": "Itonama"
},
- "pnr": {
- "english_name": "Panim"
+ "bgl": {
+ "english_name": "Bo (Laos)"
},
- "pnu": {
- "english_name": "Bunu, Jiongnai"
+ "nax": {
+ "english_name": "Nakwi"
},
- "pnt": {
- "english_name": "Pontic"
+ "nbe": {
+ "english_name": "Naga, Konyak"
},
- "pnw": {
- "english_name": "Panytyima"
+ "liz": {
+ "english_name": "Libinza"
},
- "pnv": {
- "english_name": "Pinigura"
+ "kwz": {
+ "english_name": "Kwadi"
},
- "pni": {
- "english_name": "Aoheng"
+ "tey": {
+ "english_name": "Tulishi"
},
- "pnh": {
- "english_name": "Penrhyn"
+ "sbu": {
+ "english_name": "Bhoti, Stod"
},
- "pnk": {
- "english_name": "Paunaka"
+ "yll": {
+ "english_name": "Yil"
},
- "pnj": {
- "english_name": "Pinjarup"
+ "bxz": {
+ "english_name": "Binahari"
},
- "pnm": {
- "english_name": "Punan Batu 1"
+ "nyt": {
+ "english_name": "Nyawaygi"
},
- "pnl": {
- "english_name": "Paleni"
+ "rem": {
+ "english_name": "Remo"
},
- "pno": {
- "english_name": "Panobo"
+ "lti": {
+ "english_name": "Leti (Indonesia)"
},
- "pnn": {
- "english_name": "Pinai-Hagahai"
+ "ntr": {
+ "english_name": "Delo"
},
- "pna": {
- "english_name": "Punan Bah-Biau"
+ "wbt": {
+ "english_name": "Wanman"
},
- "pnc": {
- "english_name": "Pannei"
+ "aoh": {
+ "english_name": "Arma"
},
- "pnb": {
- "english_name": "Panjabi, Western"
+ "ndg": {
+ "english_name": "Ndengereko"
},
- "pne": {
- "english_name": "Penan, Western"
+ "nem": {
+ "english_name": "Nemi"
},
- "png": {
- "english_name": "Pongu"
+ "lwo": {
+ "english_name": "Luwo"
},
- "wca": {
- "english_name": "Yanomámi"
+ "zaq": {
+ "english_name": "Zapotec, Aloápam"
},
- "wci": {
- "english_name": "Gbe, Waci"
+ "kdk": {
+ "english_name": "Numèè"
},
- "mrx": {
- "english_name": "Maremgi"
+ "bpm": {
+ "english_name": "Biyom"
},
- "mry": {
- "english_name": "Mandaya"
+ "ble": {
+ "english_name": "Balanta-Kentohe"
},
- "mrz": {
- "english_name": "Marind"
+ "nnl": {
+ "english_name": "Naga, Northern Rengma"
},
- "mrt": {
- "english_name": "Marghi Central"
+ "qvh": {
+ "english_name": "Quechua, Huamalíes-Dos de Mayo Huánuco"
},
- "mru": {
- "english_name": "Mono (Cameroon)"
+ "vmp": {
+ "english_name": "Mazatec, Soyaltepec"
},
- "mrv": {
- "english_name": "Mangareva"
+ "jeb": {
+ "english_name": "Jebero"
},
- "mrw": {
- "english_name": "Maranao"
+ "hay": {
+ "english_name": "Haya"
},
- "mrp": {
- "english_name": "Morouas"
+ "shg": {
+ "english_name": "Shua"
},
- "mrq": {
- "english_name": "Marquesan, North"
+ "ybm": {
+ "english_name": "Yaben"
},
- "mrr": {
- "english_name": "Maria (India)"
+ "mih": {
+ "english_name": "Mixtec, Chayuco"
},
- "mrs": {
- "english_name": "Maragus"
+ "pkt": {
+ "english_name": "Maleng"
},
- "mrl": {
- "english_name": "Mortlockese"
+ "ndu": {
+ "english_name": "Dugun"
},
- "mrm": {
- "english_name": "Merlav"
+ "toe": {
+ "english_name": "Tomedes"
},
- "mrn": {
- "english_name": "Cheke Holo"
+ "mbr": {
+ "english_name": "Nukak Makú"
},
- "mro": {
- "english_name": "Mru"
+ "hov": {
+ "english_name": "Hovongan"
},
- "mrh": {
- "english_name": "Chin, Mara"
+ "spp": {
+ "english_name": "Senoufo, Supyire"
},
- "mrj": {
- "english_name": "Mari, Western"
+ "bfr": {
+ "english_name": "Bazigar"
},
- "mrk": {
- "english_name": "Hmwaveke"
+ "kqe": {
+ "english_name": "Kalagan"
},
- "mrd": {
- "english_name": "Magar, Western"
+ "coc": {
+ "english_name": "Cocopa"
},
- "mre": {
- "english_name": "Martha's Vineyard Sign Language"
+ "yta": {
+ "english_name": "Talu"
},
- "mrf": {
- "english_name": "Elseng"
+ "mgr": {
+ "english_name": "Mambwe-Lungu"
},
- "mrg": {
- "english_name": "Mising"
+ "kmu": {
+ "english_name": "Kanite"
},
- "mra": {
- "english_name": "Mlabri"
+ "nmb": {
+ "english_name": "Nambas, Big"
},
- "mrb": {
- "english_name": "Marino"
+ "hgw": {
+ "english_name": "Haigwai"
},
- "mrc": {
- "english_name": "Maricopa"
+ "sgw": {
+ "english_name": "Sebat Bet Gurage"
},
- "xvs": {
- "english_name": "Vestinian"
+ "gyl": {
+ "english_name": "Gayil"
},
- "kxh": {
- "english_name": "Karo (Ethiopia)"
+ "lss": {
+ "english_name": "Lasi"
},
- "kxi": {
- "english_name": "Murut, Keningau"
+ "sdg": {
+ "english_name": "Savi"
},
- "kxj": {
- "english_name": "Kulfa"
+ "thu": {
+ "english_name": "Thuri"
},
- "kxk": {
- "english_name": "Karen, Zayein"
+ "sls": {
+ "english_name": "Singapore Sign Language"
},
- "kxl": {
- "english_name": "Kurux, Nepali"
+ "gpn": {
+ "english_name": "Taiap"
},
- "kxm": {
- "english_name": "Khmer, Northern"
+ "nyb": {
+ "english_name": "Nyangbo"
},
- "kxn": {
- "english_name": "Melanau, Kanowit-Tanjong"
+ "opy": {
+ "english_name": "Ofayé"
},
- "kxo": {
- "english_name": "Kanoé"
+ "lau": {
+ "english_name": "Laba"
},
- "kxa": {
- "english_name": "Kairiru"
+ "mrn": {
+ "english_name": "Cheke Holo"
},
- "kxb": {
- "english_name": "Krobu"
+ "tpq": {
+ "english_name": "Tukpa"
},
- "kxc": {
- "english_name": "Konso"
+ "zml": {
+ "english_name": "Madngele"
},
- "kxd": {
- "english_name": "Brunei"
+ "mnk": {
+ "english_name": "Mandinka"
},
- "kxf": {
- "english_name": "Karen, Manumanaw"
+ "poe": {
+ "english_name": "Popoloca, San Juan Atzingo"
},
- "kxx": {
- "english_name": "Likuba"
+ "mnn": {
+ "english_name": "Mnong, Southern"
},
- "kxy": {
- "english_name": "Kayong"
+ "gdk": {
+ "english_name": "Gadang"
},
- "kxz": {
- "english_name": "Kerewo"
+ "mtl": {
+ "english_name": "Montol"
},
- "kxp": {
- "english_name": "Koli, Wadiyara"
+ "mgb": {
+ "english_name": "Mararit"
},
- "kxq": {
- "english_name": "Kanum, Smärky"
+ "iti": {
+ "english_name": "Itneg, Inlaod"
},
- "kxr": {
- "english_name": "Koro (Papua New Guinea)"
+ "bxb": {
+ "english_name": "Bor, Belanda"
},
- "kxs": {
- "english_name": "Kangjia"
+ "nl": {
+ "english_name": "Dutch",
+ "name": "Nederlands"
},
- "kxt": {
- "english_name": "Koiwat"
+ "gow": {
+ "english_name": "Gorowa"
},
- "kxu": {
- "english_name": "Kui (India)"
+ "zab": {
+ "english_name": "Zapotec, San Juan Guelavía"
},
- "kxv": {
- "english_name": "Kuvi"
+ "bkh": {
+ "english_name": "Bakoko"
},
- "kxw": {
- "english_name": "Konai"
+ "puo": {
+ "english_name": "Puoc"
},
- "xwt": {
- "english_name": "Wotjobaluk"
+ "lo": {
+ "english_name": "Lao"
},
- "gbb": {
- "english_name": "Kaytetye"
+ "bmb": {
+ "english_name": "Bembe"
},
- "yty": {
- "english_name": "Yatay"
+ "kox": {
+ "english_name": "Coxima"
},
- "ytw": {
- "english_name": "Yout Wam"
+ "shl": {
+ "english_name": "Shendu"
},
- "ytp": {
- "english_name": "Thopho"
+ "kvv": {
+ "english_name": "Kola"
},
- "ytl": {
- "english_name": "Tanglang"
+ "dgs": {
+ "english_name": "Dogoso"
},
- "yta": {
- "english_name": "Talu"
+ "aae": {
+ "english_name": "Albanian, Arbëreshë"
},
- "jib": {
- "english_name": "Jibu"
+ "haj": {
+ "english_name": "Hajong"
},
- "gwe": {
- "english_name": "Gweno"
+ "siz": {
+ "english_name": "Siwi"
},
- "gwd": {
- "english_name": "Gawwada"
+ "lcp": {
+ "english_name": "Lawa, Western"
},
- "gwg": {
- "english_name": "Moo"
+ "orx": {
+ "english_name": "Oro"
},
- "gwf": {
- "english_name": "Gowro"
+ "gur": {
+ "english_name": "Farefare"
},
- "gwa": {
- "english_name": "Mbato"
+ "mkq": {
+ "english_name": "Miwok, Bay"
},
- "gwc": {
- "english_name": "Kalami"
+ "urk": {
+ "english_name": "Urak Lawoi'"
},
- "gwb": {
- "english_name": "Gwa"
+ "mcz": {
+ "english_name": "Mawan"
},
- "gwm": {
- "english_name": "Awngthim"
+ "kut": {
+ "english_name": "Kutenai"
},
- "gwn": {
- "english_name": "Gwandara"
+ "knk": {
+ "english_name": "Kuranko"
},
- "gwi": {
- "english_name": "Gwichʼin"
+ "aim": {
+ "english_name": "Aimol"
},
- "gwj": {
- "english_name": "/Gwi"
+ "ykg": {
+ "english_name": "Yukaghir, Northern"
},
- "gwu": {
- "english_name": "Guwamu"
+ "tuu": {
+ "english_name": "Tututni"
},
- "gwt": {
- "english_name": "Gawar-Bati"
+ "cst": {
+ "english_name": "Ohlone, Northern"
},
- "gww": {
- "english_name": "Kwini"
+ "tip": {
+ "english_name": "Trimuris"
},
- "gwr": {
- "english_name": "Gwere"
+ "hak": {
+ "english_name": "Chinese, Hakka"
},
- "gwx": {
- "english_name": "Gua"
+ "tab": {
+ "english_name": "Tabassaran"
},
- "hvk": {
- "english_name": "Haveke"
+ "kyt": {
+ "english_name": "Kayagar"
},
- "hvn": {
- "english_name": "Sabu"
+ "pne": {
+ "english_name": "Penan, Western"
},
- "hvc": {
- "english_name": "Haitian Vodoun Culture Language"
+ "xme": {
+ "english_name": "Median"
},
- "hve": {
- "english_name": "Huave, San Dionisio Del Mar"
+ "swr": {
+ "english_name": "Saweru"
},
- "hvv": {
- "english_name": "Huave, Santa María Del Mar"
+ "hoo": {
+ "english_name": "Holoholo"
},
- "tls": {
- "english_name": "Tambotalo"
+ "fr": {
+ "english_name": "French",
+ "name": "français"
},
- "tlr": {
- "english_name": "Talise"
+ "skh": {
+ "english_name": "Sikule"
},
- "eip": {
- "english_name": "Eipomek"
+ "ca": {
+ "english_name": "Catalan",
+ "name": "Català"
},
- "eit": {
- "english_name": "Eitiep"
+ "zpu": {
+ "english_name": "Zapotec, Yalálag"
},
- "eiv": {
- "english_name": "Askopan"
+ "tyt": {
+ "english_name": "Tày Tac"
},
- "tlt": {
- "english_name": "Teluti"
+ "bes": {
+ "english_name": "Besme"
},
- "tly": {
- "english_name": "Talysh"
+ "hla": {
+ "english_name": "Halia"
},
- "yi": {
- "english_name": "Yiddish"
+ "dhd": {
+ "english_name": "Dhundari"
},
- "tlc": {
- "english_name": "Totonac, Yecuatla"
+ "kfp": {
+ "english_name": "Korwa"
},
- "yo": {
- "english_name": "Yoruba"
+ "bup": {
+ "english_name": "Busoa"
},
- "tlb": {
- "english_name": "Tobelo"
+ "kpm": {
+ "english_name": "Koho"
},
- "tli": {
- "english_name": "Tlingit"
+ "lbu": {
+ "english_name": "Labu"
},
- "tlo": {
- "english_name": "Talodi"
+ "frt": {
+ "english_name": "Fortsenal"
},
- "ccp": {
- "english_name": "Chakma"
+ "iff": {
+ "english_name": "Ifo"
},
- "ccr": {
- "english_name": "Cacaopera"
+ "mjr": {
+ "english_name": "Malavedan"
},
- "ccm": {
- "english_name": "Creole Malay, Malaccan"
+ "kxc": {
+ "english_name": "Konso"
},
- "ccl": {
- "english_name": "Cutchi-Swahili"
+ "ygm": {
+ "english_name": "Yagomi"
},
- "cco": {
- "english_name": "Chinantec, Comaltepec"
+ "kxr": {
+ "english_name": "Koro (Papua New Guinea)"
},
- "cch": {
- "english_name": "Atsam"
+ "mxi": {
+ "english_name": "Mozarabic"
},
- "ccj": {
- "english_name": "Kasanga"
+ "mkz": {
+ "english_name": "Makasae"
},
- "cce": {
- "english_name": "Chopi"
+ "dhl": {
+ "english_name": "Dhalandji"
},
- "ccd": {
- "english_name": "Creole, Cafundo"
+ "mqn": {
+ "english_name": "Moronene"
},
- "ccg": {
- "english_name": "Daka, Samba"
+ "dcc": {
+ "english_name": "Deccan"
},
- "cca": {
- "english_name": "Cauca"
+ "pnk": {
+ "english_name": "Paunaka"
},
- "ccc": {
- "english_name": "Chamicuro"
+ "nqn": {
+ "english_name": "Nen"
},
- "ami": {
- "english_name": "Amis"
+ "bzk": {
+ "english_name": "Creole English, Nicaragua"
},
- "amk": {
- "english_name": "Ambai"
+ "sqr": {
+ "english_name": "Arabic, Siculo"
},
- "psi": {
- "english_name": "Pashayi, Southeast"
+ "ran": {
+ "english_name": "Riantana"
},
- "psn": {
- "english_name": "Panasuan"
+ "okj": {
+ "english_name": "Oko-Juwoi"
},
- "aml": {
- "english_name": "War-Jaintia"
+ "mam": {
+ "english_name": "Mam"
},
- "amo": {
- "english_name": "Amo"
+ "tgw": {
+ "english_name": "Senoufo, Tagwana"
},
- "amn": {
- "english_name": "Amanab"
+ "mmq": {
+ "english_name": "Musak"
},
- "ama": {
- "english_name": "Amanayé"
+ "bni": {
+ "english_name": "Bangi"
},
- "psc": {
- "english_name": "Persian Sign Language"
+ "hed": {
+ "english_name": "Herdé"
},
- "amc": {
- "english_name": "Amahuaca"
+ "nbj": {
+ "english_name": "Ngarinman"
},
- "amb": {
- "english_name": "Ambo"
+ "bcm": {
+ "english_name": "Bannoni"
},
- "ame": {
- "english_name": "Yanesha'"
+ "bdp": {
+ "english_name": "Bende"
},
- "psg": {
- "english_name": "Penang Sign Language"
+ "skv": {
+ "english_name": "Skou"
},
- "amg": {
- "english_name": "Amurdak"
+ "gyr": {
+ "english_name": "Guarayu"
},
- "pse": {
- "english_name": "Malay, Central"
+ "kgn": {
+ "english_name": "Karingani"
},
- "amy": {
- "english_name": "Ami"
+ "mwq": {
+ "english_name": "Chin, Mün"
},
- "amx": {
- "english_name": "Anmatyerre"
+ "mix": {
+ "english_name": "Mixtec, Mixtepec"
},
- "amz": {
- "english_name": "Atampaya"
+ "smm": {
+ "english_name": "Musasa"
},
- "amq": {
- "english_name": "Amahai"
+ "tld": {
+ "english_name": "Talaud"
},
- "amp": {
- "english_name": "Alamblak"
+ "kzt": {
+ "english_name": "Dusun, Tambunan"
},
- "psp": {
- "english_name": "Philippine Sign Language"
+ "rtc": {
+ "english_name": "Chin, Rungtu"
},
- "psq": {
- "english_name": "Pasi"
+ "awu": {
+ "english_name": "Awyu, Central"
},
- "amu": {
- "english_name": "Amuzgo, Guerrero"
+ "asf": {
+ "english_name": "Australian Sign Language"
},
- "psw": {
- "english_name": "Port Sandwich"
+ "sko": {
+ "english_name": "Seko Tengah"
},
- "amw": {
- "english_name": "Neo-Aramaic, Western"
+ "ker": {
+ "english_name": "Kera"
},
- "psu": {
- "english_name": "Prākrit, Sauraseni"
+ "lgr": {
+ "english_name": "Lengo"
},
- "gju": {
- "english_name": "Gujari"
+ "dmd": {
+ "english_name": "Madhi Madhi"
},
- "gjn": {
- "english_name": "Gonja"
+ "tqt": {
+ "english_name": "Totonac, Western"
},
- "gjm": {
- "english_name": "Gunditjmara"
+ "tgt": {
+ "english_name": "Tagbanwa, Central"
},
- "gjk": {
- "english_name": "Koli, Kachi"
+ "bqc": {
+ "english_name": "Boko (Benin)"
},
- "gji": {
- "english_name": "Geji"
+ "dai": {
+ "english_name": "Day"
},
- "nmv": {
- "english_name": "Ngamini"
+ "qvn": {
+ "english_name": "Quechua, North Junín"
},
- "nmw": {
- "english_name": "Nimoa"
+ "pai": {
+ "english_name": "Pe"
},
- "nmt": {
- "english_name": "Namonuito"
+ "bab": {
+ "english_name": "Bainouk-Gunyuño"
},
- "nmu": {
- "english_name": "Maidu, Northeast"
+ "amj": {
+ "english_name": "Amdang"
},
- "nmr": {
- "english_name": "Nimbari"
+ "wik": {
+ "english_name": "Wikalkan"
},
- "nms": {
- "english_name": "Letemboi"
+ "nir": {
+ "english_name": "Nimboran"
},
- "nmp": {
- "english_name": "Nimanbur"
+ "siw": {
+ "english_name": "Siwai"
},
- "nmq": {
- "english_name": "Nambya"
+ "osp": {
+ "english_name": "Spanish, Old"
},
- "tdc": {
- "english_name": "Emberá-Tadó"
+ "bag": {
+ "english_name": "Tuki"
},
- "tdb": {
- "english_name": "Panchpargania"
+ "xms": {
+ "english_name": "Moroccan Sign Language"
},
- "tda": {
- "english_name": "Tagdal"
+ "bfs": {
+ "english_name": "Bai, Southern"
},
- "nmz": {
- "english_name": "Nawdm"
+ "wbj": {
+ "english_name": "Alagwa"
},
- "tdf": {
- "english_name": "Talieng"
+ "bwe": {
+ "english_name": "Karen, Bwe"
},
- "nmx": {
- "english_name": "Nama (Papua New Guinea)"
+ "shj": {
+ "english_name": "Shatt"
},
- "nmy": {
- "english_name": "Namuyi"
+ "pkg": {
+ "english_name": "Pak-Tong"
},
- "nmf": {
- "english_name": "Naga, Tangkhul (India)"
+ "ssz": {
+ "english_name": "Sengseng"
},
- "nmg": {
- "english_name": "Kwasio"
+ "ilo": {
+ "english_name": "Iloko"
},
- "nmd": {
- "english_name": "Ndumu"
+ "nog": {
+ "english_name": "Nogai"
},
- "nme": {
- "english_name": "Naga, Mzieme"
+ "okd": {
+ "english_name": "Okodia"
},
- "nmb": {
- "english_name": "Nambas, Big"
+ "mwr": {
+ "english_name": "Marwari"
},
- "nmc": {
- "english_name": "Ngam"
+ "yga": {
+ "english_name": "Malyangapa"
},
- "nma": {
- "english_name": "Naga, Maram"
+ "daa": {
+ "english_name": "Dangaléat"
},
- "nmn": {
- "english_name": "!Xóõ"
+ "wti": {
+ "english_name": "Berta"
},
- "nmo": {
- "english_name": "Naga, Moyon"
+ "vkk": {
+ "english_name": "Kaur"
},
- "nml": {
- "english_name": "Ndemli"
+ "cbk": {
+ "english_name": "Chavacano"
},
- "nmm": {
- "english_name": "Manangba"
+ "mpu": {
+ "english_name": "Makuráp"
},
- "nmj": {
- "english_name": "Ngombe (Central African Republic)"
+ "xkz": {
+ "english_name": "Kurtokha"
},
- "nmk": {
- "english_name": "Namakura"
+ "xgm": {
+ "english_name": "Guwinmal"
},
- "nmh": {
- "english_name": "Naga, Monsang"
+ "cow": {
+ "english_name": "Cowlitz"
},
- "nmi": {
- "english_name": "Nyam"
+ "swv": {
+ "english_name": "Shekhawati"
},
- "dza": {
- "english_name": "Tunzu"
+ "slg": {
+ "english_name": "Selungai Murut"
},
- "src": {
- "english_name": "Sardinian, Logudorese"
+ "mek": {
+ "english_name": "Mekeo"
},
- "sra": {
- "english_name": "Saruga"
+ "dga": {
+ "english_name": "Dagaare, Southern"
},
- "dze": {
- "english_name": "Djiwarli"
+ "uga": {
+ "english_name": "Ugaritic"
},
- "srg": {
- "english_name": "Sulod"
+ "zos": {
+ "english_name": "Zoque, Francisco León"
},
- "dzg": {
- "english_name": "Dazaga"
+ "xam": {
+ "english_name": "/Xam"
},
- "sre": {
- "english_name": "Sara"
+ "ych": {
+ "english_name": "Chesu"
},
- "srk": {
- "english_name": "Serudung Murut"
+ "ccp": {
+ "english_name": "Chakma"
},
- "srh": {
- "english_name": "Sarikoli"
+ "mur": {
+ "english_name": "Murle"
},
- "sri": {
- "english_name": "Siriano"
+ "bwf": {
+ "english_name": "Boselewa"
},
- "srn": {
- "english_name": "Sranan Tongo"
+ "sho": {
+ "english_name": "Shanga"
},
- "dzl": {
- "english_name": "Dzalakha"
+ "pbt": {
+ "english_name": "Pashto, Southern"
},
- "srl": {
- "english_name": "Isirawa"
+ "ajg": {
+ "english_name": "Aja (Benin)"
},
- "dzn": {
- "english_name": "Dzando"
+ "elm": {
+ "english_name": "Eleme"
},
- "srr": {
- "english_name": "Serer"
+ "jhi": {
+ "english_name": "Jehai"
},
- "srs": {
- "english_name": "Sarsi"
+ "kqf": {
+ "english_name": "Kakabai"
},
- "srq": {
- "english_name": "Sirionó"
+ "num": {
+ "english_name": "Niuafo'ou"
},
- "srv": {
- "english_name": "Sorsoganon, Southern"
+ "xmf": {
+ "english_name": "Mingrelian"
},
- "srw": {
- "english_name": "Serua"
+ "nko": {
+ "english_name": "Nkonya"
},
- "srt": {
- "english_name": "Sauri"
+ "mfm": {
+ "english_name": "Marghi South"
},
- "sru": {
- "english_name": "Suruí"
+ "esm": {
+ "english_name": "Esuma"
},
- "srz": {
- "english_name": "Shahmirzadi"
+ "plo": {
+ "english_name": "Popoluca, Oluta"
},
- "srx": {
- "english_name": "Sirmauri"
+ "zbe": {
+ "english_name": "Berawan, East"
},
- "sry": {
- "english_name": "Sera"
+ "tbs": {
+ "english_name": "Tanguat"
},
- "lob": {
- "english_name": "Lobi"
+ "khs": {
+ "english_name": "Kasua"
},
- "loc": {
- "english_name": "Inonhan"
+ "jct": {
+ "english_name": "Krymchak"
},
- "loa": {
- "english_name": "Loloda"
+ "rkh": {
+ "english_name": "Rakahanga-Manihiki"
},
- "lof": {
- "english_name": "Logol"
+ "yug": {
+ "english_name": "Yug"
},
- "log": {
- "english_name": "Logo"
+ "haz": {
+ "english_name": "Hazaragi"
},
- "loe": {
- "english_name": "Saluan"
+ "qub": {
+ "english_name": "Quechua, Huallaga Huánuco"
},
- "loj": {
- "english_name": "Lou"
+ "ram": {
+ "english_name": "Canela"
},
- "lok": {
- "english_name": "Loko"
+ "wfg": {
+ "english_name": "Yafi"
},
- "loh": {
- "english_name": "Narim"
+ "ola": {
+ "english_name": "Walungge"
},
- "loi": {
- "english_name": "Loma (Côte d'Ivoire)"
+ "pss": {
+ "english_name": "Kaulong"
},
- "lon": {
- "english_name": "Lomwe, Malawi"
+ "gbx": {
+ "english_name": "Gbe, Eastern Xwla"
},
- "loo": {
- "english_name": "Lombo"
+ "bvt": {
+ "english_name": "Bati (Indonesia)"
},
- "lol": {
- "english_name": "Mongo"
+ "mwo": {
+ "english_name": "Maewo, Central"
},
- "lom": {
- "english_name": "Loma (Liberia)"
+ "hlu": {
+ "english_name": "Luwian, Hieroglyphic"
},
- "lor": {
- "english_name": "Téén"
+ "wac": {
+ "english_name": "Wasco-Wishram"
},
- "los": {
- "english_name": "Loniu"
+ "goh": {
+ "english_name": "German, Old High (ca. 750-1050)"
},
- "lop": {
- "english_name": "Lopa"
+ "ner": {
+ "english_name": "Yahadian"
},
- "loq": {
- "english_name": "Lobala"
+ "bwk": {
+ "english_name": "Bauwaki"
},
- "lov": {
- "english_name": "Lopi"
+ "ofu": {
+ "english_name": "Efutop"
},
- "low": {
- "english_name": "Lobu, Tampias"
+ "mvd": {
+ "english_name": "Mamboru"
},
- "lot": {
- "english_name": "Otuho"
+ "arj": {
+ "english_name": "Arapaso"
},
- "lou": {
- "english_name": "Creole French, Louisiana"
+ "zme": {
+ "english_name": "Mangerr"
},
- "loz": {
- "english_name": "Lozi"
+ "tux": {
+ "english_name": "Tuxináwa"
},
- "lox": {
- "english_name": "Loun"
+ "wiu": {
+ "english_name": "Wiru"
},
- "loy": {
- "english_name": "Loke"
+ "mgt": {
+ "english_name": "Mongol"
},
- "rjs": {
- "english_name": "Rajbanshi"
+ "tlq": {
+ "english_name": "Tai Loi"
},
- "rjg": {
- "english_name": "Rajong"
+ "irn": {
+ "english_name": "Irántxe"
},
- "rji": {
- "english_name": "Raji"
+ "lsh": {
+ "english_name": "Lish"
},
- "yon": {
- "english_name": "Yongkom"
+ "yrl": {
+ "english_name": "Nhengatu"
},
- "yom": {
- "english_name": "Yombe"
+ "syr": {
+ "english_name": "Syriac"
},
- "yol": {
- "english_name": "Yola"
+ "nbp": {
+ "english_name": "Nnam"
},
- "yok": {
- "english_name": "Yokuts"
+ "gso": {
+ "english_name": "Gbaya, Southwest"
},
- "yoi": {
- "english_name": "Yonaguni"
+ "uky": {
+ "english_name": "Kuuk-Yak"
},
- "yog": {
- "english_name": "Yogad"
+ "ppt": {
+ "english_name": "Pare"
},
- "yob": {
- "english_name": "Yoba"
+ "toy": {
+ "english_name": "Topoiyo"
},
- "yoy": {
- "english_name": "Yoy"
+ "wlx": {
+ "english_name": "Wali (Ghana)"
},
- "yox": {
- "english_name": "Yoron"
+ "mfd": {
+ "english_name": "Mendankwe-Nkwen"
},
- "yot": {
- "english_name": "Yotti"
+ "ikk": {
+ "english_name": "Ika"
},
- "wmx": {
- "english_name": "Womo"
+ "pce": {
+ "english_name": "Palaung, Ruching"
},
- "wms": {
- "english_name": "Wambon"
+ "vnk": {
+ "english_name": "Vano"
},
- "wmw": {
- "english_name": "Mwani"
+ "wrx": {
+ "english_name": "Wae Rana"
},
- "wmt": {
- "english_name": "Walmajarri"
+ "nlo": {
+ "english_name": "Ngul"
},
- "wmi": {
- "english_name": "Wamin"
+ "rui": {
+ "english_name": "Rufiji"
},
- "wmh": {
- "english_name": "Waima'a"
+ "soy": {
+ "english_name": "Miyobe"
},
- "wmo": {
- "english_name": "Wom (Papua New Guinea)"
+ "inj": {
+ "english_name": "Inga, Jungle"
},
- "wmn": {
- "english_name": "Waamwang"
+ "dgo": {
+ "english_name": "Dogri (individual language)"
},
- "wmm": {
- "english_name": "Maiwa (Indonesia)"
+ "afu": {
+ "english_name": "Awutu"
},
- "wmc": {
- "english_name": "Wamas"
+ "kvd": {
+ "english_name": "Kui (Indonesia)"
},
- "wmb": {
- "english_name": "Wambaya"
+ "nyd": {
+ "english_name": "Nyore"
},
- "wma": {
- "english_name": "Mawa (Nigeria)"
+ "mqx": {
+ "english_name": "Mamuju"
},
- "wme": {
- "english_name": "Wambule"
+ "ngm": {
+ "english_name": "Ngatik Men's Creole"
},
- "wmd": {
- "english_name": "Mamaindé"
+ "cmi": {
+ "english_name": "Emberá-Chamí"
},
- "mpg": {
- "english_name": "Marba"
+ "bve": {
+ "english_name": "Malay, Berau"
},
- "mpd": {
- "english_name": "Machinere"
+ "nia": {
+ "english_name": "Nias"
},
- "mpe": {
- "english_name": "Majang"
+ "ige": {
+ "english_name": "Igede"
},
- "mpb": {
- "english_name": "Mullukmulluk"
+ "rgk": {
+ "english_name": "Rangkas"
},
- "mpc": {
- "english_name": "Mangarayi"
+ "urh": {
+ "english_name": "Urhobo"
},
- "mpa": {
- "english_name": "Mpoto"
+ "dmr": {
+ "english_name": "Damar, East"
},
- "mpn": {
- "english_name": "Mindiri"
+ "drl": {
+ "english_name": "Paakantyi"
},
- "mpo": {
- "english_name": "Miu"
+ "dow": {
+ "english_name": "Doyayo"
},
- "mpl": {
- "english_name": "Watut, Middle"
+ "kwu": {
+ "english_name": "Kwakum"
},
- "mpm": {
- "english_name": "Mixtec, Yosondúa"
+ "jub": {
+ "english_name": "Wannu"
},
- "mpj": {
- "english_name": "Martu Wangka"
+ "wrr": {
+ "english_name": "Wardaman"
},
- "mpk": {
- "english_name": "Mbara (Chad)"
+ "lvu": {
+ "english_name": "Levuka"
},
- "mph": {
- "english_name": "Maung"
+ "lom": {
+ "english_name": "Loma (Liberia)"
},
- "mpi": {
- "english_name": "Mpade"
+ "kgm": {
+ "english_name": "Karipúna"
},
- "mpv": {
- "english_name": "Mungkip"
+ "kkj": {
+ "english_name": "Kako"
},
- "mpw": {
- "english_name": "Mapidian"
+ "gyn": {
+ "english_name": "Creole English, Guyanese"
},
- "mpt": {
- "english_name": "Mian"
+ "tde": {
+ "english_name": "Dogon, Tiranige Diga"
},
- "mpu": {
- "english_name": "Makuráp"
+ "bvr": {
+ "english_name": "Burarra"
},
- "mpr": {
- "english_name": "Vangunu"
+ "kqi": {
+ "english_name": "Koitabu"
},
- "mps": {
- "english_name": "Dadibi"
+ "dhs": {
+ "english_name": "Dhaiso"
},
- "mpp": {
- "english_name": "Migabac"
+ "mbe": {
+ "english_name": "Molale"
},
- "mpq": {
- "english_name": "Matís"
+ "myc": {
+ "english_name": "Mayeka"
},
- "mpz": {
- "english_name": "Mpi"
+ "pof": {
+ "english_name": "Poke"
+ },
+ "gnm": {
+ "english_name": "Ginuman"
},
"mpx": {
"english_name": "Misima-Panaeati"
},
- "mpy": {
- "english_name": "Mapia"
- },
- "asr": {
- "english_name": "Asuri"
+ "tod": {
+ "english_name": "Toma"
},
- "puo": {
- "english_name": "Puoc"
+ "gan": {
+ "english_name": "Chinese, Gan"
},
- "pui": {
- "english_name": "Puinave"
+ "cgc": {
+ "english_name": "Kagayanen"
},
- "asu": {
- "english_name": "Asurini, Tocantins"
+ "udl": {
+ "english_name": "Wuzlam"
},
- "puk": {
- "english_name": "Pu Ko"
+ "twm": {
+ "english_name": "Monpa, Tawang"
},
- "pue": {
- "english_name": "Puelche"
+ "tke": {
+ "english_name": "Takwane"
},
- "puf": {
- "english_name": "Punan Merah"
+ "mvq": {
+ "english_name": "Moere"
},
- "kzr": {
- "english_name": "Karang"
+ "byj": {
+ "english_name": "Bina (Nigeria)"
},
- "kzs": {
- "english_name": "Dusun, Sugut"
+ "qxw": {
+ "english_name": "Quechua, Jauja Wanca"
},
- "kzp": {
- "english_name": "Kaidipang"
+ "ocu": {
+ "english_name": "Matlatzinca, Atzingo"
},
- "kzq": {
- "english_name": "Kaike"
+ "bqf": {
+ "english_name": "Baga Kaloum"
},
- "kzv": {
- "english_name": "Komyandaret"
+ "gmb": {
+ "english_name": "Gula'alaa"
},
- "kzw": {
- "english_name": "Karirí-Xocó"
+ "usk": {
+ "english_name": "Usaghade"
},
- "kzt": {
- "english_name": "Dusun, Tambunan"
+ "nwc": {
+ "english_name": "Newari, Classical"
},
- "kzu": {
- "english_name": "Kayupulau"
+ "thp": {
+ "english_name": "Thompson"
},
- "kzz": {
- "english_name": "Kalabra"
+ "mch": {
+ "english_name": "Maquiritari"
},
- "kzx": {
- "english_name": "Kamarian"
+ "hiw": {
+ "english_name": "Hiw"
},
- "kzy": {
- "english_name": "Kango (Tshopo District)"
+ "nan": {
+ "english_name": "Chinese, Min Nan"
},
- "kzb": {
- "english_name": "Kaibobo"
+ "yuk": {
+ "english_name": "Yuki"
},
- "kzc": {
- "english_name": "Kulango, Bondoukou"
+ "yad": {
+ "english_name": "Yagua"
},
- "kza": {
- "english_name": "Karaboro, Western"
+ "wri": {
+ "english_name": "Wariyangga"
},
- "kzf": {
- "english_name": "Kaili, Da'a"
+ "awi": {
+ "english_name": "Aekyom"
},
- "kzg": {
- "english_name": "Kikai"
+ "siy": {
+ "english_name": "Sivandi"
},
- "kzd": {
- "english_name": "Kadai"
+ "nhr": {
+ "english_name": "Naro"
},
- "kze": {
- "english_name": "Kosena"
+ "pbe": {
+ "english_name": "Popoloca, Mezontla"
},
- "kzj": {
- "english_name": "Kadazan, Coastal"
+ "tkm": {
+ "english_name": "Takelma"
},
- "kzk": {
- "english_name": "Kazukuru"
+ "xpq": {
+ "english_name": "Mohegan-Pequot"
},
- "kzi": {
- "english_name": "Kelabit"
+ "ybx": {
+ "english_name": "Yawiyo"
},
- "kzn": {
- "english_name": "Kokola"
+ "bcw": {
+ "english_name": "Bana"
},
- "kzo": {
- "english_name": "Kaningi"
+ "mcj": {
+ "english_name": "Mvanip"
},
- "kzl": {
- "english_name": "Kayeli"
+ "aih": {
+ "english_name": "Ai-Cham"
},
- "kzm": {
- "english_name": "Kais"
+ "bqk": {
+ "english_name": "Banda-Mbrès"
},
- "pux": {
- "english_name": "Puare"
+ "abq": {
+ "english_name": "Abaza"
},
- "puy": {
- "english_name": "Purisimeño"
+ "tnk": {
+ "english_name": "Kwamera"
},
- "jrb": {
- "english_name": "Judeo-Arabic"
+ "asw": {
+ "english_name": "Australian Aborigines Sign Language"
},
- "jra": {
- "english_name": "Jarai"
+ "fai": {
+ "english_name": "Faiwol"
},
- "put": {
- "english_name": "Putoh"
+ "grv": {
+ "english_name": "Grebo, Central"
},
- "jru": {
- "english_name": "Japrería"
+ "egy": {
+ "english_name": "Egyptian (Ancient)"
},
- "jrt": {
- "english_name": "Jorto"
+ "zil": {
+ "english_name": "Zialo"
},
- "jrr": {
- "english_name": "Jiru"
+ "sro": {
+ "english_name": "Sardinian, Campidanese"
},
- "puu": {
- "english_name": "Punu"
+ "ese": {
+ "english_name": "Ese Ejja"
},
- "puw": {
- "english_name": "Puluwatese"
+ "duq": {
+ "english_name": "Dusun Malang"
},
- "pup": {
- "english_name": "Pulabu"
+ "ekg": {
+ "english_name": "Ekari"
},
- "asn": {
- "english_name": "Asuriní, Xingú"
+ "prk": {
+ "english_name": "Parauk"
},
- "gqn": {
- "english_name": "Guana (Brazil)"
+ "tex": {
+ "english_name": "Tennet"
},
- "gqi": {
- "english_name": "Guiqiong"
+ "nja": {
+ "english_name": "Nzanyi"
},
- "gqa": {
- "english_name": "Ga'anda"
+ "nmm": {
+ "english_name": "Manangba"
},
- "gqu": {
- "english_name": "Qau"
+ "kod": {
+ "english_name": "Kodi"
},
- "gqr": {
- "english_name": "Gor"
+ "pab": {
+ "english_name": "Parecís"
},
- "hhr": {
- "english_name": "Kerak"
+ "wul": {
+ "english_name": "Silimo"
},
- "hhy": {
- "english_name": "Hoyahoya"
+ "usp": {
+ "english_name": "Uspanteco"
},
- "hhi": {
- "english_name": "Hoia Hoia"
+ "vka": {
+ "english_name": "Kariyarra"
},
- "fr": {
- "name": "français",
- "english_name": "French"
+ "trn": {
+ "english_name": "Trinitario"
},
- "cjk": {
- "english_name": "Chokwe"
+ "xel": {
+ "english_name": "Kelo"
},
- "fy": {
- "english_name": "Frisian, Western"
+ "tau": {
+ "english_name": "Tanana, Upper"
},
- "fa": {
- "name": "فارسی",
- "english_name": "Persian"
+ "ubr": {
+ "english_name": "Ubir"
},
- "ff": {
- "english_name": "Fulah"
+ "qxh": {
+ "english_name": "Quechua, Panao Huánuco"
},
- "fi": {
- "name": "suomi",
- "english_name": "Finnish"
+ "bah": {
+ "english_name": "Creole English, Bahamas"
},
- "fj": {
- "english_name": "Fijian"
+ "lea": {
+ "english_name": "Lega-Shabunda"
},
- "fo": {
- "english_name": "Faroese"
+ "aof": {
+ "english_name": "Bragat"
},
- "egy": {
- "english_name": "Egyptian (Ancient)"
+ "xnn": {
+ "english_name": "Kankanay, Northern"
},
- "ego": {
- "english_name": "Eggon"
+ "mhc": {
+ "english_name": "Mocho"
},
- "egl": {
- "english_name": "Emilian"
+ "aek": {
+ "english_name": "Haeke"
},
- "ega": {
- "english_name": "Ega"
+ "rel": {
+ "english_name": "Rendille"
},
- "uvh": {
- "english_name": "Uri"
+ "gnn": {
+ "english_name": "Gumatj"
},
- "ffm": {
- "english_name": "Fulfulde, Maasina"
+ "okk": {
+ "english_name": "One, Kwamtim"
},
- "uvl": {
- "english_name": "Lote"
+ "thq": {
+ "english_name": "Tharu, Kochila"
},
- "ffi": {
- "english_name": "Foia Foia"
+ "aqm": {
+ "english_name": "Atohwaim"
},
- "uve": {
- "english_name": "Uvean, West"
+ "mqo": {
+ "english_name": "Modole"
},
- "cjy": {
- "english_name": "Chinese, Jinyu"
+ "toc": {
+ "english_name": "Totonac, Coyutla"
},
- "ceg": {
- "english_name": "Chamacoco"
+ "kqr": {
+ "english_name": "Kimaragang"
},
- "rwa": {
- "english_name": "Rawo"
+ "ado": {
+ "english_name": "Abu"
},
- "ceb": {
- "english_name": "Cebuano"
+ "nbn": {
+ "english_name": "Kuri"
},
- "cea": {
- "english_name": "Chehalis, Lower"
+ "ksk": {
+ "english_name": "Kansa"
},
- "cen": {
- "english_name": "Cen"
+ "ztq": {
+ "english_name": "Zapotec, Quioquitani-Quierí"
},
- "rwk": {
- "english_name": "Rwa"
+ "vam": {
+ "english_name": "Vanimo"
},
- "cek": {
- "english_name": "Chin, Eastern Khumi"
+ "bdi": {
+ "english_name": "Burun"
},
- "rwm": {
- "english_name": "Amba (Uganda)"
+ "guw": {
+ "english_name": "Gun"
},
- "rwo": {
- "english_name": "Rawa"
+ "pej": {
+ "english_name": "Pomo, Northern"
},
- "rwr": {
- "english_name": "Marwari (India)"
+ "jbe": {
+ "english_name": "Judeo-Berber"
},
- "cet": {
- "english_name": "Centúúm"
+ "ogc": {
+ "english_name": "Ogbah"
},
- "ifu": {
- "english_name": "Ifugao, Mayoyao"
+ "bvv": {
+ "english_name": "Baniva"
},
- "ify": {
- "english_name": "Kallahan, Keley-I"
+ "gah": {
+ "english_name": "Alekano"
},
- "ife": {
- "english_name": "Ifè"
+ "adt": {
+ "english_name": "Adnyamathanha"
},
- "iff": {
- "english_name": "Ifo"
+ "dud": {
+ "english_name": "Hun-Saare"
},
- "ifa": {
- "english_name": "Ifugao, Amganad"
+ "ckb": {
+ "english_name": "Kurdish, Central"
},
- "ifb": {
- "english_name": "Ifugao, Batad"
+ "luw": {
+ "english_name": "Luo (Cameroon)"
},
- "ifm": {
- "english_name": "Teke-Fuumu"
+ "mtc": {
+ "english_name": "Munit"
},
- "ifk": {
- "english_name": "Ifugao, Tuwali"
+ "kzn": {
+ "english_name": "Kokola"
},
- "ass": {
- "english_name": "Ipulo"
+ "pmx": {
+ "english_name": "Naga, Poumei"
},
- "pum": {
- "english_name": "Puma"
+ "huq": {
+ "english_name": "Tsat"
},
- "asq": {
- "english_name": "Austrian Sign Language"
+ "cyo": {
+ "english_name": "Cuyonon"
},
- "asp": {
- "english_name": "Algerian Sign Language"
+ "srr": {
+ "english_name": "Serer"
},
- "asw": {
- "english_name": "Australian Aborigines Sign Language"
+ "ldm": {
+ "english_name": "Landoma"
},
- "asv": {
- "english_name": "Asoa"
+ "gld": {
+ "english_name": "Nanai"
},
- "puj": {
- "english_name": "Punan Tubu"
+ "acz": {
+ "english_name": "Acheron"
},
- "ast": {
- "name": "Asturianu",
- "english_name": "Asturian"
+ "ymk": {
+ "english_name": "Makwe"
},
- "pud": {
- "english_name": "Punan Aput"
+ "mzy": {
+ "english_name": "Mozambican Sign Language"
},
- "asz": {
- "english_name": "As"
+ "ysd": {
+ "english_name": "Samatao"
},
- "asy": {
- "english_name": "Asmat, Yaosakor"
+ "jdg": {
+ "english_name": "Jadgali"
},
- "asx": {
- "english_name": "Muratayak"
+ "bgy": {
+ "english_name": "Benggoi"
},
- "pua": {
- "english_name": "Purepecha, Western Highland"
+ "bwh": {
+ "english_name": "Bishuo"
},
- "pub": {
- "english_name": "Purum"
+ "tgq": {
+ "english_name": "Tring"
},
- "puc": {
- "english_name": "Punan Merap"
+ "afz": {
+ "english_name": "Obokuitai"
},
- "asc": {
- "english_name": "Asmat, Casuarina Coast"
+ "bln": {
+ "english_name": "Bikol, Southern Catanduanes"
},
- "asb": {
- "english_name": "Assiniboine"
+ "tng": {
+ "english_name": "Tobanga"
},
- "asa": {
- "english_name": "Asu (Tanzania)"
+ "nhe": {
+ "english_name": "Nahuatl, Eastern Huasteca"
},
- "asg": {
- "english_name": "Cishingini"
+ "ulk": {
+ "english_name": "Meriam"
},
- "asf": {
- "english_name": "Australian Sign Language"
+ "it": {
+ "english_name": "Italian",
+ "name": "Italiano"
},
- "ase": {
- "english_name": "American Sign Language"
+ "lef": {
+ "english_name": "Lelemi"
},
- "asd": {
- "english_name": "Asas"
+ "uiv": {
+ "english_name": "Iyive"
},
- "ask": {
- "english_name": "Ashkun"
+ "nps": {
+ "english_name": "Nipsan"
},
- "asj": {
- "english_name": "Sari"
+ "mop": {
+ "english_name": "Mopán Maya"
},
- "asi": {
- "english_name": "Buruwai"
+ "njo": {
+ "english_name": "Naga, Ao"
},
- "ash": {
- "english_name": "Abishira"
+ "lll": {
+ "english_name": "Lilau"
},
- "aso": {
- "english_name": "Dano"
+ "nec": {
+ "english_name": "Nedebang"
},
- "puq": {
- "english_name": "Puquina"
+ "mmi": {
+ "english_name": "Musar"
},
- "pur": {
- "english_name": "Puruborá"
+ "vki": {
+ "english_name": "Ija-Zuba"
},
- "asl": {
- "english_name": "Asilulu"
+ "blp": {
+ "english_name": "Blablanga"
},
- "ncx": {
- "english_name": "Nahuatl, Central Puebla"
+ "ga": {
+ "english_name": "Irish",
+ "name": "Gaeilge"
},
- "ncz": {
- "english_name": "Natchez"
+ "tol": {
+ "english_name": "Tolowa"
},
- "tfn": {
- "english_name": "Tanaina"
+ "bmr": {
+ "english_name": "Muinane"
},
- "tfi": {
- "english_name": "Gbe, Tofin"
+ "yzg": {
+ "english_name": "Buyang, E'ma"
},
- "ncp": {
- "english_name": "Ndaktup"
+ "gog": {
+ "english_name": "Gogo"
},
- "ncr": {
- "english_name": "Ncane"
+ "bmx": {
+ "english_name": "Baimak"
},
- "ncs": {
- "english_name": "Nicaraguan Sign Language"
+ "lis": {
+ "english_name": "Lisu"
},
- "nct": {
- "english_name": "Naga, Chothe"
+ "mwg": {
+ "english_name": "Aiklep"
},
- "ncu": {
- "english_name": "Chumburung"
+ "acl": {
+ "english_name": "Akar-Bale"
},
- "nch": {
- "english_name": "Nahuatl, Central Huasteca"
+ "gak": {
+ "english_name": "Gamkonora"
},
- "nci": {
- "english_name": "Nahuatl, Classical"
+ "ilg": {
+ "english_name": "Garig-Ilgar"
},
- "ncj": {
- "english_name": "Nahuatl, Northern Puebla"
+ "mbh": {
+ "english_name": "Mangseng"
},
- "nck": {
- "english_name": "Nakara"
+ "ykr": {
+ "english_name": "Yekora"
},
- "ncl": {
- "english_name": "Nahuatl, Michoacán"
+ "tdl": {
+ "english_name": "Sur"
},
- "ncm": {
- "english_name": "Nambo"
+ "wep": {
+ "english_name": "Westphalien"
},
- "ncn": {
- "english_name": "Nauna"
+ "ogb": {
+ "english_name": "Ogbia"
},
- "nco": {
- "english_name": "Sibe"
+ "omt": {
+ "english_name": "Omotik"
},
- "nca": {
- "english_name": "Iyo"
+ "pso": {
+ "english_name": "Polish Sign Language"
},
- "ncb": {
- "english_name": "Nicobarese, Central"
+ "kcp": {
+ "english_name": "Kanga"
},
- "ncc": {
- "english_name": "Ponam"
+ "pnb": {
+ "english_name": "Panjabi, Western"
},
- "ncd": {
- "english_name": "Nachering"
+ "uln": {
+ "english_name": "Unserdeutsch"
},
- "nce": {
- "english_name": "Yale"
+ "nbb": {
+ "english_name": "Ndoe"
},
- "ncf": {
- "english_name": "Notsi"
+ "swy": {
+ "english_name": "Sarua"
},
- "ncg": {
- "english_name": "Nisga'a"
+ "wet": {
+ "english_name": "Perai"
},
- "dtk": {
- "english_name": "Dogon, Tene Kan"
+ "mje": {
+ "english_name": "Muskum"
},
- "ste": {
- "english_name": "Liana-Seti"
+ "miw": {
+ "english_name": "Akoye"
},
- "dti": {
- "english_name": "Dogon, Ana Tinga"
+ "dty": {
+ "english_name": "Dotyali"
},
- "dth": {
- "english_name": "Adithinngithigh"
+ "cak": {
+ "english_name": "Kaqchikel"
},
- "dto": {
- "english_name": "Dogon, Tommo So"
+ "bmm": {
+ "english_name": "Malagasy, Northern Betsimisaraka"
},
- "sta": {
- "english_name": "Settla"
+ "khz": {
+ "english_name": "Keapara"
},
- "dtm": {
- "english_name": "Dogon, Tomo Kan"
+ "bbz": {
+ "english_name": "Creole Arabic, Babalia"
},
- "stl": {
- "english_name": "Stellingwerfs"
+ "lje": {
+ "english_name": "Rampi"
},
- "dtb": {
- "english_name": "Kadazan, Labuk-Kinabatangan"
+ "plr": {
+ "english_name": "Senoufo, Palaka"
},
- "dta": {
- "english_name": "Daur"
+ "gud": {
+ "english_name": "Dida, Yocoboué"
},
- "sto": {
- "english_name": "Stoney"
+ "ksf": {
+ "english_name": "Bafia"
},
- "sth": {
- "english_name": "Shelta"
+ "mnh": {
+ "english_name": "Mono (Democratic Republic of Congo)"
},
- "sti": {
- "english_name": "Stieng, Bulo"
+ "pgs": {
+ "english_name": "Pangseng"
},
- "stj": {
- "english_name": "Samo, Matya"
+ "yin": {
+ "english_name": "Yinchia"
},
- "dtd": {
- "english_name": "Ditidaht"
+ "kke": {
+ "english_name": "Kakabe"
},
- "stt": {
- "english_name": "Stieng, Budeh"
+ "yoi": {
+ "english_name": "Yonaguni"
},
- "stu": {
- "english_name": "Samtao"
+ "zpy": {
+ "english_name": "Zapotec, Mazaltepec"
},
- "dty": {
- "english_name": "Dotyali"
+ "anp": {
+ "english_name": "Angika"
},
- "stw": {
- "english_name": "Satawalese"
+ "sub": {
+ "english_name": "Suku"
},
- "stp": {
- "english_name": "Tepehuan, Southeastern"
+ "brq": {
+ "english_name": "Breri"
},
- "stq": {
- "english_name": "Saterfriesisch"
+ "utp": {
+ "english_name": "Amba (Solomon Islands)"
},
- "str": {
- "english_name": "Salish, Straits"
+ "nv": {
+ "english_name": "Navajo"
},
- "sts": {
- "english_name": "Shumashti"
+ "gmn": {
+ "english_name": "Gimnime"
},
- "dts": {
- "english_name": "Dogon, Toro So"
+ "nmn": {
+ "english_name": "!Xóõ"
},
- "dtr": {
- "english_name": "Lotud"
+ "ndr": {
+ "english_name": "Ndoola"
},
- "dtp": {
- "english_name": "Dusun, Central"
+ "nae": {
+ "english_name": "Naka'ela"
},
- "sty": {
- "english_name": "Tatar, Siberian"
+ "ang": {
+ "english_name": "English, Old (ca. 450-1100)"
},
- "dtu": {
- "english_name": "Dogon, Tebul Ure"
+ "bzy": {
+ "english_name": "Obanliku"
},
- "dtt": {
- "english_name": "Dogon, Toro Tegu"
+ "azt": {
+ "english_name": "Atta, Faire"
},
- "tfo": {
- "english_name": "Tefaro"
+ "atc": {
+ "english_name": "Atsahuaca"
},
- "lid": {
- "english_name": "Nyindrou"
+ "ndm": {
+ "english_name": "Ndam"
},
- "lie": {
- "english_name": "Likila"
+ "bjv": {
+ "english_name": "Bedjond"
},
- "lif": {
- "english_name": "Limbu"
+ "lb": {
+ "english_name": "Luxembourgish"
},
- "lig": {
- "english_name": "Ligbi"
+ "kzw": {
+ "english_name": "Karirí-Xocó"
},
- "lia": {
- "english_name": "Limba, West-Central"
+ "rou": {
+ "english_name": "Runga"
},
- "lib": {
- "english_name": "Likum"
+ "gnu": {
+ "english_name": "Gnau"
},
- "lic": {
- "english_name": "Hlai"
+ "sgd": {
+ "english_name": "Surigaonon"
},
- "lil": {
- "english_name": "Lillooet"
+ "mjv": {
+ "english_name": "Mannan"
},
- "lio": {
- "english_name": "Liki"
+ "dic": {
+ "english_name": "Dida, Lakota"
},
- "lih": {
- "english_name": "Lihir"
+ "wry": {
+ "english_name": "Merwari"
},
- "lij": {
- "english_name": "Ligurian"
+ "lkr": {
+ "english_name": "Päri"
},
- "lik": {
- "english_name": "Lika"
+ "gdt": {
+ "english_name": "Kungardutyi"
},
- "liu": {
- "english_name": "Logorik"
+ "lky": {
+ "english_name": "Lokoya"
},
- "liv": {
- "english_name": "Liv"
+ "gni": {
+ "english_name": "Gooniyandi"
},
- "liw": {
- "english_name": "Col"
+ "ood": {
+ "english_name": "Tohono O'odham"
},
- "lip": {
- "english_name": "Sekpele"
+ "bbw": {
+ "english_name": "Baba"
},
- "liq": {
- "english_name": "Libido"
+ "dui": {
+ "english_name": "Dumun"
},
- "lir": {
- "english_name": "English, Liberian"
+ "kzl": {
+ "english_name": "Kayeli"
},
- "lis": {
- "english_name": "Lisu"
+ "ksh": {
+ "english_name": "Kölsch"
},
- "lix": {
- "english_name": "Liabuku"
+ "xiy": {
+ "english_name": "Xipaya"
},
- "liy": {
- "english_name": "Banda-Bambari"
+ "yww": {
+ "english_name": "Yawarawarga"
},
- "liz": {
- "english_name": "Libinza"
+ "spk": {
+ "english_name": "Sengo"
},
- "kac": {
- "english_name": "Kachin"
+ "bnb": {
+ "english_name": "Bookan"
},
- "kab": {
- "english_name": "Kabyle"
+ "lui": {
+ "english_name": "Luiseno"
},
- "kaa": {
- "english_name": "Kara-Kalpak"
+ "xpm": {
+ "english_name": "Pumpokol"
},
- "kag": {
- "english_name": "Kajaman"
+ "ngg": {
+ "english_name": "Ngbaka Manza"
},
- "kaf": {
- "english_name": "Katso"
+ "ghn": {
+ "english_name": "Ghanongga"
},
- "kae": {
- "english_name": "Ketangalan"
+ "swj": {
+ "english_name": "Sira"
},
- "kad": {
- "english_name": "Adara"
+ "mtg": {
+ "english_name": "Una"
},
- "kak": {
- "english_name": "Kallahan, Kayapa"
+ "ngu": {
+ "english_name": "Nahuatl, Guerrero"
},
- "kaj": {
- "english_name": "Jju"
+ "nju": {
+ "english_name": "Ngadjunmaya"
},
- "kai": {
- "english_name": "Karekare"
+ "vgr": {
+ "english_name": "Vaghri"
},
- "kah": {
- "english_name": "Kara (Central African Republic)"
+ "wlm": {
+ "english_name": "Welsh, Middle"
},
- "kao": {
- "english_name": "Xaasongaxango"
+ "rag": {
+ "english_name": "Logooli"
},
- "kam": {
- "english_name": "Kamba (Kenya)"
+ "pth": {
+ "english_name": "Pataxó Hã-Ha-Hãe"
},
- "kaq": {
- "english_name": "Capanahua"
+ "sdz": {
+ "english_name": "Sallands"
},
- "kap": {
- "english_name": "Bezhta"
+ "tul": {
+ "english_name": "Tula"
},
- "kaw": {
- "english_name": "Kawi"
+ "xre": {
+ "english_name": "Kreye"
},
- "kav": {
- "english_name": "Katukína"
+ "mxx": {
+ "english_name": "Mahou"
},
- "kay": {
- "english_name": "Kamayurá"
+ "mdl": {
+ "english_name": "Maltese Sign Language"
},
- "kax": {
- "english_name": "Kao"
+ "dsb": {
+ "english_name": "Sorbian, Lower"
},
- "rhg": {
- "english_name": "Rohingya"
+ "ake": {
+ "english_name": "Akawaio"
},
- "bzw": {
- "english_name": "Basa (Nigeria)"
+ "bxs": {
+ "english_name": "Busam"
},
- "bzv": {
- "english_name": "Naami"
+ "sjn": {
+ "english_name": "Sindarin"
},
- "bzu": {
- "english_name": "Burmeso"
+ "bpw": {
+ "english_name": "Bo (Papua New Guinea)"
},
- "bzt": {
- "english_name": "Brithenig"
+ "cbd": {
+ "english_name": "Carijona"
},
- "bzs": {
- "english_name": "Brazilian Sign Language"
+ "gce": {
+ "english_name": "Galice"
},
- "bzr": {
- "english_name": "Biri"
+ "nez": {
+ "english_name": "Nez Perce"
},
- "bzq": {
- "english_name": "Buli (Indonesia)"
+ "djm": {
+ "english_name": "Dogon, Jamsay"
},
- "bzp": {
- "english_name": "Kemberano"
+ "aku": {
+ "english_name": "Akum"
},
- "bzz": {
- "english_name": "Evant"
+ "vel": {
+ "english_name": "Veluws"
},
- "bzy": {
- "english_name": "Obanliku"
+ "ndj": {
+ "english_name": "Ndamba"
},
- "bzx": {
- "english_name": "Bozo, Kɛlɛngaxo"
+ "vmz": {
+ "english_name": "Mazatec, Mazatlán"
},
- "bzg": {
- "english_name": "Babuza"
+ "gru": {
+ "english_name": "Kistane"
},
- "bzf": {
- "english_name": "Boikin"
+ "bey": {
+ "english_name": "Beli (Papua New Guinea)"
},
- "bze": {
- "english_name": "Bozo, Jenaama"
+ "dyy": {
+ "english_name": "Dyaabugay"
},
- "bzd": {
- "english_name": "Bribri"
+ "piz": {
+ "english_name": "Pije"
},
- "bzc": {
- "english_name": "Malagasy, Southern Betsimisaraka"
+ "bbs": {
+ "english_name": "Bakpinka"
},
- "bzb": {
- "english_name": "Andio"
+ "ykl": {
+ "english_name": "Khlula"
},
- "bza": {
- "english_name": "Bandi"
+ "plc": {
+ "english_name": "Palawano, Central"
},
- "bzo": {
- "english_name": "Bozaba"
+ "met": {
+ "english_name": "Mato"
},
- "bzn": {
- "english_name": "Boano (Maluku)"
+ "tus": {
+ "english_name": "Tuscarora"
},
- "bzm": {
- "english_name": "Bolondo"
+ "xjt": {
+ "english_name": "Jaitmatang"
},
- "bzl": {
- "english_name": "Boano (Sulawesi)"
+ "ktt": {
+ "english_name": "Ketum"
},
- "bzk": {
- "english_name": "Creole English, Nicaragua"
+ "aqg": {
+ "english_name": "Arigidi"
},
- "bzj": {
- "english_name": "Kriol English, Belize"
+ "mhp": {
+ "english_name": "Malay, Balinese"
},
- "bzi": {
- "english_name": "Bisu"
+ "neq": {
+ "english_name": "Mixe, North Central"
},
- "bzh": {
- "english_name": "Buang, Mapos"
+ "umb": {
+ "english_name": "Umbundu"
},
- "tft": {
- "english_name": "Ternate"
+ "dnw": {
+ "english_name": "Dani, Western"
},
- "ymq": {
- "english_name": "Muji, Qila"
+ "fly": {
+ "english_name": "Tsotsitaal"
},
- "ymp": {
- "english_name": "Yamap"
+ "zbl": {
+ "english_name": "Blissymbols"
},
- "yms": {
- "english_name": "Mysian"
+ "tub": {
+ "english_name": "Tübatulabal"
},
- "ymr": {
- "english_name": "Malasar"
+ "oma": {
+ "english_name": "Omaha-Ponca"
},
- "ymx": {
- "english_name": "Muji, Northern"
+ "gbn": {
+ "english_name": "Mo'da"
},
- "ymz": {
- "english_name": "Muzi"
+ "hch": {
+ "english_name": "Huichol"
},
- "ymc": {
- "english_name": "Muji, Southern"
+ "bib": {
+ "english_name": "Bissa"
},
- "ymb": {
- "english_name": "Yambes"
+ "agt": {
+ "english_name": "Agta, Central Cagayan"
},
- "yme": {
- "english_name": "Yameo"
+ "kvg": {
+ "english_name": "Kuni-Boazi"
},
- "ymd": {
- "english_name": "Muda"
+ "crg": {
+ "english_name": "Michif"
},
- "ymg": {
- "english_name": "Yamongeri"
+ "cjn": {
+ "english_name": "Chenapian"
},
- "ymi": {
- "english_name": "Moji"
+ "yrk": {
+ "english_name": "Nenets"
},
- "ymh": {
- "english_name": "Mili"
+ "xse": {
+ "english_name": "Sempan"
},
- "ymk": {
- "english_name": "Makwe"
+ "gux": {
+ "english_name": "Gourmanchéma"
},
- "tfr": {
- "english_name": "Teribe"
+ "xvi": {
+ "english_name": "Kamviri"
},
- "ymm": {
- "english_name": "Maay"
+ "kbo": {
+ "english_name": "Keliko"
},
- "yml": {
- "english_name": "Iamalele"
+ "gat": {
+ "english_name": "Kenati"
},
- "ymo": {
- "english_name": "Yangum Mon"
+ "liv": {
+ "english_name": "Liv"
},
- "ymn": {
- "english_name": "Yamna"
+ "kqn": {
+ "english_name": "Kaonde"
},
- "std": {
- "english_name": "Sentinel"
+ "cvn": {
+ "english_name": "Chinantec, Valle Nacional"
},
- "stf": {
- "english_name": "Seta"
+ "sdh": {
+ "english_name": "Kurdish, Southern"
},
- "stg": {
- "english_name": "Trieng"
+ "xma": {
+ "english_name": "Mushungulu"
},
- "ypg": {
- "english_name": "Phola"
+ "tmt": {
+ "english_name": "Tasmate"
},
- "stb": {
- "english_name": "Subanen, Northern"
+ "tpk": {
+ "english_name": "Tupinikin"
},
- "stm": {
- "english_name": "Setaman"
+ "pcl": {
+ "english_name": "Pardhi"
},
- "stn": {
- "english_name": "Owa"
+ "ztn": {
+ "english_name": "Zapotec, Santa Catarina Albarradas"
},
- "stk": {
- "english_name": "Arammba"
+ "ttk": {
+ "english_name": "Totoro"
},
"ydk": {
"english_name": "Yoidik"
},
- "woy": {
- "english_name": "Weyto"
+ "xua": {
+ "english_name": "Kurumba, Alu"
},
- "wow": {
- "english_name": "Wawonii"
+ "keo": {
+ "english_name": "Kakwa"
},
- "stv": {
- "english_name": "Silt'e"
+ "otk": {
+ "english_name": "Turkish, Old"
},
- "wos": {
- "english_name": "Hanga Hundi"
+ "njd": {
+ "english_name": "Ndonde Hamba"
},
- "wor": {
- "english_name": "Woria"
+ "nxx": {
+ "english_name": "Nafri"
},
- "wom": {
- "english_name": "Wom (Nigeria)"
+ "xly": {
+ "english_name": "Elymian"
},
- "woo": {
- "english_name": "Manombai"
+ "lbz": {
+ "english_name": "Lardil"
},
- "won": {
- "english_name": "Wongo"
+ "sie": {
+ "english_name": "Simaa"
},
- "woi": {
- "english_name": "Kamang"
+ "yam": {
+ "english_name": "Yamba"
},
- "wok": {
- "english_name": "Longto"
+ "wba": {
+ "english_name": "Warao"
},
- "woe": {
- "english_name": "Woleaian"
+ "scp": {
+ "english_name": "Helambu Sherpa"
},
- "wod": {
- "english_name": "Wolani"
+ "is": {
+ "english_name": "Icelandic",
+ "name": "Íslenska"
},
- "wog": {
- "english_name": "Wogamusin"
+ "daz": {
+ "english_name": "Dao"
},
- "wof": {
- "english_name": "Wolof, Gambian"
+ "bym": {
+ "english_name": "Bidyara"
},
- "woa": {
- "english_name": "Tyaraity"
+ "tnc": {
+ "english_name": "Tanimuca-Retuarã"
},
- "woc": {
- "english_name": "Wogeo"
+ "oon": {
+ "english_name": "Önge"
},
- "wob": {
- "english_name": "Wè Northern"
+ "biz": {
+ "english_name": "Baloi"
},
- "adu": {
- "english_name": "Aduge"
+ "bia": {
+ "english_name": "Badimaya"
},
- "ads": {
- "english_name": "Adamorobe Sign Language"
+ "smf": {
+ "english_name": "Auwe"
},
- "adq": {
- "english_name": "Adangbe"
+ "wrz": {
+ "english_name": "Waray (Australia)"
},
- "ady": {
- "english_name": "Adyghe"
+ "emn": {
+ "english_name": "Eman"
},
- "adg": {
- "english_name": "Andegerebinha"
+ "tva": {
+ "english_name": "Vaghua"
},
- "add": {
- "english_name": "Dzodinka"
+ "tpm": {
+ "english_name": "Tampulma"
},
- "ade": {
- "english_name": "Adele"
+ "klo": {
+ "english_name": "Kapya"
},
- "boz": {
- "english_name": "Bozo, Tiéyaxo"
+ "kib": {
+ "english_name": "Koalib"
},
- "iya": {
- "english_name": "Iyayu"
+ "ibn": {
+ "english_name": "Ibino"
},
- "iyo": {
- "english_name": "Mesaka"
+ "but": {
+ "english_name": "Bungain"
},
- "adh": {
- "english_name": "Adhola"
+ "xtz": {
+ "english_name": "Tasmanian"
},
- "iyx": {
- "english_name": "Yaka (Congo)"
+ "ttz": {
+ "english_name": "Tsum"
},
- "jpa": {
- "english_name": "Aramaic, Jewish Palestinian"
+ "nrg": {
+ "english_name": "Narango"
},
- "hba": {
- "english_name": "Hamba"
+ "ibu": {
+ "english_name": "Ibu"
},
- "hbb": {
- "english_name": "Huba"
+ "sux": {
+ "english_name": "Sumerian"
},
- "tdq": {
- "english_name": "Tita"
+ "snq": {
+ "english_name": "Sangu (Gabon)"
},
- "gsp": {
- "english_name": "Wasembo"
+ "tkb": {
+ "english_name": "Buksa"
},
- "gss": {
- "english_name": "Greek Sign Language"
+ "akr": {
+ "english_name": "Araki"
},
- "gsw": {
- "english_name": "German, Swiss"
+ "tdj": {
+ "english_name": "Tajio"
},
- "gse": {
- "english_name": "Ghanaian Sign Language"
+ "mle": {
+ "english_name": "Manambu"
},
- "hbs": {
- "english_name": "Serbo-Croatian"
+ "bgk": {
+ "english_name": "Bit"
},
- "gsg": {
- "english_name": "German Sign Language"
+ "mwz": {
+ "english_name": "Moingi"
},
- "gsm": {
- "english_name": "Guatemalan Sign Language"
+ "hmj": {
+ "english_name": "Ge"
},
- "gsl": {
- "english_name": "Gusilay"
+ "kgs": {
+ "english_name": "Kumbainggar"
},
- "gso": {
- "english_name": "Gbaya, Southwest"
+ "mjz": {
+ "english_name": "Majhi"
},
- "gsn": {
- "english_name": "Gusan"
+ "arz": {
+ "english_name": "Arabic, Egyptian"
},
- "hji": {
- "english_name": "Haji"
+ "tbv": {
+ "english_name": "Tobo"
},
- "qxr": {
- "english_name": "Quichua, Cañar Highland"
+ "wbf": {
+ "english_name": "Wara"
},
- "eee": {
- "english_name": "E"
+ "acx": {
+ "english_name": "Arabic, Omani"
},
- "kux": {
- "english_name": "Kukatja"
+ "bst": {
+ "english_name": "Basketo"
},
- "rhp": {
- "english_name": "Yahang"
+ "jad": {
+ "english_name": "Jahanka"
},
- "ruk": {
- "english_name": "Che"
+ "xgg": {
+ "english_name": "Goreng"
},
- "cgk": {
- "english_name": "Chocangacakha"
+ "mgy": {
+ "english_name": "Mbunga"
},
- "rui": {
- "english_name": "Rufiji"
+ "tax": {
+ "english_name": "Tamki"
},
- "ruo": {
- "english_name": "Romanian, Istro"
+ "vag": {
+ "english_name": "Vagla"
},
- "cga": {
- "english_name": "Changriwa"
+ "trv": {
+ "english_name": "Taroko"
},
- "ruc": {
- "english_name": "Ruuli"
+ "uba": {
+ "english_name": "Ubang"
},
- "cgc": {
- "english_name": "Kagayanen"
+ "jna": {
+ "english_name": "Jangshung"
},
- "ruf": {
- "english_name": "Luguru"
+ "quq": {
+ "english_name": "Quinqui"
},
- "rug": {
- "english_name": "Roviana"
+ "jko": {
+ "english_name": "Kubo"
},
- "cgg": {
- "english_name": "Chiga"
+ "mfi": {
+ "english_name": "Wandala"
},
- "rue": {
- "english_name": "Rusyn"
+ "zpa": {
+ "english_name": "Zapotec, Lachiguiri"
},
- "ruz": {
- "english_name": "Ruma"
+ "mcv": {
+ "english_name": "Minanibai"
},
- "ruy": {
- "english_name": "Mala (Nigeria)"
+ "mwf": {
+ "english_name": "Murrinh-Patha"
},
- "rup": {
- "english_name": "Romanian, Macedo-"
+ "kgi": {
+ "english_name": "Selangor Sign Language"
},
- "ruq": {
- "english_name": "Romanian, Megleno"
+ "del": {
+ "english_name": "Delaware"
},
- "rut": {
- "english_name": "Rutul"
+ "bhb": {
+ "english_name": "Bhili"
},
- "ruu": {
- "english_name": "Lobu, Lanas"
+ "juy": {
+ "english_name": "Juray"
},
- "bga": {
- "english_name": "Gwamhi-Wuri"
+ "gng": {
+ "english_name": "Ngangam"
},
- "bgb": {
- "english_name": "Bobongko"
+ "nlc": {
+ "english_name": "Nalca"
},
- "bgc": {
- "english_name": "Haryanvi"
+ "bsv": {
+ "english_name": "Baga Sobané"
},
- "bgd": {
- "english_name": "Bareli, Rathwi"
+ "lut": {
+ "english_name": "Lushootseed"
},
- "bge": {
- "english_name": "Bauria"
+ "lng": {
+ "english_name": "Langobardic"
},
- "bgf": {
- "english_name": "Bangandu"
+ "ahg": {
+ "english_name": "Qimant"
},
- "bgg": {
- "english_name": "Bugun"
+ "ngt": {
+ "english_name": "Ngeq"
},
- "bgi": {
- "english_name": "Giangan"
+ "nsz": {
+ "english_name": "Nisenan"
},
- "idt": {
- "english_name": "Idaté"
+ "si": {
+ "english_name": "Sinhala"
},
- "idu": {
- "english_name": "Idoma"
+ "seq": {
+ "english_name": "Sénoufo, Senara"
},
- "idr": {
- "english_name": "Indri"
+ "xmy": {
+ "english_name": "Mayaguduna"
},
- "ids": {
- "english_name": "Idesa"
+ "tlt": {
+ "english_name": "Teluti"
},
- "bgn": {
- "english_name": "Balochi, Western"
+ "arr": {
+ "english_name": "Karo (Brazil)"
},
- "bgo": {
- "english_name": "Baga Koga"
+ "bfi": {
+ "english_name": "British Sign Language"
},
- "bgp": {
- "english_name": "Balochi, Eastern"
+ "fir": {
+ "english_name": "Firan"
},
- "bgq": {
- "english_name": "Bagri"
+ "jih": {
+ "english_name": "sTodsde"
},
- "bgr": {
- "english_name": "Chin, Bawm"
+ "pos": {
+ "english_name": "Popoluca, Sayula"
},
- "bgs": {
- "english_name": "Tagabawa"
+ "tnt": {
+ "english_name": "Tontemboan"
},
- "bgt": {
- "english_name": "Bughotu"
+ "kqx": {
+ "english_name": "Mser"
},
- "bgu": {
- "english_name": "Mbongno"
+ "myx": {
+ "english_name": "Masaaba"
},
- "bgv": {
- "english_name": "Warkay-Bipim"
+ "gbw": {
+ "english_name": "Gabi-Gabi"
},
- "idi": {
- "english_name": "Idi"
+ "wsi": {
+ "english_name": "Wusi"
},
- "bgx": {
- "english_name": "Turkish, Balkan Gagauz"
+ "guz": {
+ "english_name": "Gusii"
},
- "bgy": {
- "english_name": "Benggoi"
+ "rnr": {
+ "english_name": "Nari Nari"
},
- "idd": {
- "english_name": "Ede Idaca"
+ "azg": {
+ "english_name": "Amuzgo, San Pedro Amuzgos"
},
- "ide": {
- "english_name": "Idere"
+ "apq": {
+ "english_name": "A-Pucikwar"
},
- "idb": {
- "english_name": "Indo-Portuguese"
+ "lra": {
+ "english_name": "Rara Bakati'"
},
- "idc": {
- "english_name": "Idon"
+ "zzj": {
+ "english_name": "Zhuang, Zuojiang"
},
- "ida": {
- "english_name": "Idakho-Isukha-Tiriki"
+ "syo": {
+ "english_name": "Suoy"
},
- "syc": {
- "english_name": "Syriac, Classical"
+ "lez": {
+ "english_name": "Lezghian"
},
- "pww": {
- "english_name": "Karen, Pwo Northern"
+ "ntz": {
+ "english_name": "Natanzi"
},
- "pwr": {
- "english_name": "Powari"
+ "tto": {
+ "english_name": "Ta'oih, Lower"
},
- "aqp": {
- "english_name": "Atakapa"
+ "nee": {
+ "english_name": "Nêlêmwa-Nixumwak"
},
- "aqr": {
- "english_name": "Arhâ"
+ "fur": {
+ "english_name": "Friulian"
},
- "aqz": {
- "english_name": "Akuntsu"
+ "jiq": {
+ "english_name": "Guanyinqiao"
},
- "aqd": {
- "english_name": "Dogon, Ampari"
+ "bgs": {
+ "english_name": "Tagabawa"
},
- "aqg": {
- "english_name": "Arigidi"
+ "lnn": {
+ "english_name": "Lorediakarkar"
},
- "pwb": {
- "english_name": "Panawa"
+ "krw": {
+ "english_name": "Krahn, Western"
},
- "aqc": {
- "english_name": "Archi"
+ "pnw": {
+ "english_name": "Panytyima"
},
- "pwa": {
- "english_name": "Pawaia"
+ "zeh": {
+ "english_name": "Zhuang, Eastern Hongshuihe"
},
- "aqm": {
- "english_name": "Atohwaim"
+ "ptp": {
+ "english_name": "Patep"
},
- "pwo": {
- "english_name": "Karen, Pwo Western"
+ "wbi": {
+ "english_name": "Vwanji"
},
- "aqn": {
- "english_name": "Alta, Northern"
+ "mee": {
+ "english_name": "Mengen"
},
- "pwi": {
- "english_name": "Patwin"
+ "viv": {
+ "english_name": "Iduna"
},
- "uta": {
- "english_name": "Otank"
+ "bua": {
+ "english_name": "Buriat"
},
- "ute": {
- "english_name": "Ute-Southern Paiute"
+ "sgx": {
+ "english_name": "Sierra Leone Sign Language"
},
- "utr": {
- "english_name": "Etulo"
+ "fuq": {
+ "english_name": "Fulfulde, Central-Eastern Niger"
},
- "utp": {
- "english_name": "Amba (Solomon Islands)"
+ "snp": {
+ "english_name": "Siane"
},
- "utu": {
- "english_name": "Utu"
+ "kjd": {
+ "english_name": "Kiwai, Southern"
},
- "nab": {
- "english_name": "Nambikuára, Southern"
+ "rar": {
+ "english_name": "Rarotongan"
},
- "nac": {
- "english_name": "Narak"
+ "vao": {
+ "english_name": "Vao"
},
- "naa": {
- "english_name": "Namla"
+ "myd": {
+ "english_name": "Maramba"
},
- "naf": {
- "english_name": "Nabak"
+ "mef": {
+ "english_name": "Megam"
},
- "nag": {
- "english_name": "Naga Pidgin"
+ "yso": {
+ "english_name": "Nisi (China)"
},
- "nad": {
- "english_name": "Nijadali"
+ "kfa": {
+ "english_name": "Kodava"
},
- "nae": {
- "english_name": "Naka'ela"
+ "qxr": {
+ "english_name": "Quichua, Cañar Highland"
},
- "naj": {
- "english_name": "Nalu"
+ "nac": {
+ "english_name": "Narak"
},
- "nak": {
- "english_name": "Nakanai"
+ "jgo": {
+ "english_name": "Ngomba"
},
- "nan": {
- "english_name": "Chinese, Min Nan"
+ "bha": {
+ "english_name": "Bharia"
},
- "nao": {
- "english_name": "Naaba"
+ "obk": {
+ "english_name": "Bontok, Southern"
},
- "nal": {
- "english_name": "Nalik"
+ "koh": {
+ "english_name": "Koyo"
},
- "nam": {
- "english_name": "Ngan'gityemerri"
+ "cik": {
+ "english_name": "Kinnauri, Chitkuli"
},
- "nar": {
- "english_name": "Iguta"
+ "prm": {
+ "english_name": "Kibiri"
},
- "nas": {
- "english_name": "Naasioi"
+ "ksp": {
+ "english_name": "Kaba"
},
- "nap": {
- "english_name": "Neapolitan"
+ "wsv": {
+ "english_name": "Wotapuri-Katarqalai"
},
- "naq": {
- "english_name": "Nama (Namibia)"
+ "jkp": {
+ "english_name": "Karen, Paku"
},
- "naw": {
- "english_name": "Nawuri"
+ "dbo": {
+ "english_name": "Dulbu"
},
- "nat": {
- "english_name": "Hungworo"
+ "kg": {
+ "english_name": "Kongo"
},
- "naz": {
- "english_name": "Nahuatl, Coatepec"
+ "mxy": {
+ "english_name": "Mixtec, Southeastern Nochixtlán"
},
- "nax": {
- "english_name": "Nakwi"
+ "hmb": {
+ "english_name": "Songhay, Humburi Senni"
},
- "nay": {
- "english_name": "Narrinyeri"
+ "yss": {
+ "english_name": "Yessan-Mayo"
},
- "tmr": {
- "english_name": "Aramaic, Jewish Babylonian (ca. 200-1200 CE)"
+ "bmh": {
+ "english_name": "Kein"
},
- "tmt": {
- "english_name": "Tasmate"
+ "tak": {
+ "english_name": "Tala"
},
- "svm": {
- "english_name": "Slavomolisano"
+ "oos": {
+ "english_name": "Ossetic, Old"
},
- "svk": {
- "english_name": "Slovakian Sign Language"
+ "geb": {
+ "english_name": "Kire"
},
- "sve": {
- "english_name": "Serili"
+ "xwg": {
+ "english_name": "Kwegu"
},
- "dva": {
- "english_name": "Duau"
+ "bvj": {
+ "english_name": "Baan"
},
- "svc": {
- "english_name": "Creole English, Vincentian"
+ "sdu": {
+ "english_name": "Sarudu"
},
- "sva": {
- "english_name": "Svan"
+ "yns": {
+ "english_name": "Yansi"
},
- "svx": {
- "english_name": "Skalvian"
+ "pij": {
+ "english_name": "Pijao"
},
- "svr": {
- "english_name": "Savara"
+ "sxg": {
+ "english_name": "Shixing"
},
- "svs": {
- "english_name": "Savosavo"
+ "vmy": {
+ "english_name": "Mazatec, Ayautla"
},
- "gv": {
- "english_name": "Manx"
+ "lrv": {
+ "english_name": "Larevat"
},
- "gu": {
- "name": "ગુજરાતી",
- "english_name": "Gujarati"
+ "llu": {
+ "english_name": "Lau"
},
- "gd": {
- "english_name": "Gaelic, Scottish"
+ "wmw": {
+ "english_name": "Mwani"
},
- "ga": {
- "name": "Gaeilge",
- "english_name": "Irish"
+ "wau": {
+ "english_name": "Waurá"
},
- "gn": {
- "english_name": "Guarani"
+ "zrs": {
+ "english_name": "Mairasi"
},
- "gl": {
- "name": "Galego",
- "english_name": "Galician"
+ "stm": {
+ "english_name": "Setaman"
},
- "lkn": {
- "english_name": "Lakon"
+ "yee": {
+ "english_name": "Yimas"
},
- "lko": {
- "english_name": "Khayo"
+ "bci": {
+ "english_name": "Baoulé"
},
- "lkl": {
- "english_name": "Laeko-Libuat"
+ "lcc": {
+ "english_name": "Legenyem"
},
- "lkm": {
- "english_name": "Kalaamaya"
+ "tth": {
+ "english_name": "Ta'oih, Upper"
},
- "lkj": {
- "english_name": "Remun"
+ "lgh": {
+ "english_name": "Laghuu"
},
- "lkh": {
- "english_name": "Lakha"
+ "fum": {
+ "english_name": "Fum"
},
- "lki": {
- "english_name": "Laki"
+ "lhh": {
+ "english_name": "Laha (Indonesia)"
},
- "lkd": {
- "english_name": "Lakondê"
+ "hmw": {
+ "english_name": "Hmong, Western Mashan"
},
- "lke": {
- "english_name": "Kenyi"
+ "mka": {
+ "english_name": "Mbre"
},
- "lkb": {
- "english_name": "Kabras"
+ "hnh": {
+ "english_name": "//Ani"
},
- "lkc": {
- "english_name": "Kucong"
+ "bpy": {
+ "english_name": "Bishnupriya"
},
- "lka": {
- "english_name": "Lakalei"
+ "cea": {
+ "english_name": "Chehalis, Lower"
},
- "lky": {
- "english_name": "Lokoya"
+ "yit": {
+ "english_name": "Lalu, Eastern"
},
- "lkt": {
- "english_name": "Lakota"
+ "rtm": {
+ "english_name": "Rotuman"
},
- "lku": {
- "english_name": "Kungkari"
+ "sjt": {
+ "english_name": "Sami, Ter"
},
- "lkr": {
- "english_name": "Päri"
+ "atr": {
+ "english_name": "Waimiri-Atroari"
},
- "lks": {
- "english_name": "Kisa"
+ "ote": {
+ "english_name": "Otomi, Mezquital"
},
- "kce": {
- "english_name": "Kaivi"
+ "yue": {
+ "english_name": "Chinese, Yue"
},
- "kcd": {
- "english_name": "Kanum, Ngkâlmpw"
+ "sbl": {
+ "english_name": "Sambal, Botolan"
},
- "kcg": {
- "english_name": "Tyap"
+ "muv": {
+ "english_name": "Muthuvan"
},
- "kcf": {
- "english_name": "Ukaan"
+ "leu": {
+ "english_name": "Kara (Papua New Guinea)"
},
- "kca": {
- "english_name": "Khanty"
+ "lgn": {
+ "english_name": "Opuuo"
},
- "kcc": {
- "english_name": "Lubila"
+ "uji": {
+ "english_name": "Tanjijili"
},
- "kcb": {
- "english_name": "Kawacha"
+ "alk": {
+ "english_name": "Alak"
},
- "kcm": {
- "english_name": "Gula (Central African Republic)"
+ "akf": {
+ "english_name": "Akpa"
},
- "kcl": {
- "english_name": "Kela (Papua New Guinea)"
+ "lie": {
+ "english_name": "Likila"
},
- "kco": {
- "english_name": "Kinalakna"
+ "vra": {
+ "english_name": "Vera'a"
},
- "kcn": {
- "english_name": "Nubi"
+ "mty": {
+ "english_name": "Nabi"
},
- "kci": {
- "english_name": "Kamantan"
+ "soo": {
+ "english_name": "Songo"
},
- "kch": {
- "english_name": "Vono"
+ "btx": {
+ "english_name": "Batak Karo"
},
- "kck": {
- "english_name": "Kalanga"
+ "yik": {
+ "english_name": "Lalo, Dongshanba"
},
- "kcj": {
- "english_name": "Kobiana"
+ "alw": {
+ "english_name": "Alaba-K’abeena"
},
- "kcu": {
- "english_name": "Kami (Tanzania)"
+ "cry": {
+ "english_name": "Cori"
},
- "kct": {
- "english_name": "Kaian"
+ "guv": {
+ "english_name": "Gey"
},
- "kcw": {
- "english_name": "Kabwari"
+ "unx": {
+ "english_name": "Munda"
},
- "kcv": {
- "english_name": "Kete"
+ "pcb": {
+ "english_name": "Pear"
},
- "kcq": {
- "english_name": "Kamo"
+ "bsh": {
+ "english_name": "Kati"
},
- "kcp": {
- "english_name": "Kanga"
+ "duv": {
+ "english_name": "Duvle"
},
- "kcs": {
- "english_name": "Koenoem"
+ "okr": {
+ "english_name": "Kirike"
},
- "kcr": {
- "english_name": "Katla"
+ "mdb": {
+ "english_name": "Morigi"
},
- "kcy": {
- "english_name": "Korandje"
+ "crw": {
+ "english_name": "Chrau"
},
- "kcx": {
- "english_name": "Kachama-Ganjule"
+ "owl": {
+ "english_name": "Welsh, Old"
},
- "kcz": {
- "english_name": "Konongo"
+ "tsk": {
+ "english_name": "Tseku"
},
- "syi": {
- "english_name": "Seki"
+ "ump": {
+ "english_name": "Umpila"
},
- "bxz": {
- "english_name": "Binahari"
+ "kcb": {
+ "english_name": "Kawacha"
},
- "bxq": {
- "english_name": "Beele"
+ "rej": {
+ "english_name": "Rejang"
},
- "bxp": {
- "english_name": "Bebil"
+ "gos": {
+ "english_name": "Gronings"
},
- "bxs": {
- "english_name": "Busam"
+ "kiu": {
+ "english_name": "Kirmanjki (individual language)"
},
- "bxr": {
- "english_name": "Buriat, Russia"
+ "mqz": {
+ "english_name": "Pano"
},
- "bxu": {
- "english_name": "Buriat, China"
+ "swi": {
+ "english_name": "Sui"
},
- "bxw": {
- "english_name": "Bankagooma"
+ "awe": {
+ "english_name": "Awetí"
},
- "bxv": {
- "english_name": "Berakou"
+ "shu": {
+ "english_name": "Arabic, Chadian"
},
- "bxi": {
- "english_name": "Pirlatapa"
+ "hwo": {
+ "english_name": "Hwana"
},
- "bxh": {
- "english_name": "Buhutu"
+ "xkg": {
+ "english_name": "Kagoro"
},
- "bxk": {
- "english_name": "Bukusu"
+ "dbi": {
+ "english_name": "Doka"
},
- "bxj": {
- "english_name": "Bayungu"
+ "bez": {
+ "english_name": "Bena (Tanzania)"
},
- "bxm": {
- "english_name": "Buriat, Mongolia"
+ "cuw": {
+ "english_name": "Chukwa"
},
- "bxl": {
- "english_name": "Jalkunan"
+ "ylb": {
+ "english_name": "Yaleba"
},
- "bxo": {
- "english_name": "Barikanchi"
+ "mmr": {
+ "english_name": "Miao, Western Xiangxi"
},
- "bxn": {
- "english_name": "Burduna"
+ "bro": {
+ "english_name": "Brokkat"
},
- "bxa": {
- "english_name": "Tairaha"
+ "jle": {
+ "english_name": "Ngile"
},
- "bxc": {
- "english_name": "Molengue"
+ "lbl": {
+ "english_name": "Bikol, Libon"
},
- "bxb": {
- "english_name": "Bor, Belanda"
+ "kdd": {
+ "english_name": "Yankunytjatjara"
},
- "bxe": {
- "english_name": "Birale"
+ "jaq": {
+ "english_name": "Yaqay"
},
- "bxd": {
- "english_name": "Pela"
+ "ckr": {
+ "english_name": "Kairak"
},
- "bxg": {
- "english_name": "Bangala"
+ "acp": {
+ "english_name": "Acipa, Eastern"
},
- "bxf": {
- "english_name": "Bilur"
+ "bcz": {
+ "english_name": "Bainouk-Gunyaamolo"
},
- "zh": {
- "name": "中文",
- "english_name": "Chinese"
+ "sst": {
+ "english_name": "Sinasina"
},
- "za": {
- "english_name": "Zhuang"
+ "tgx": {
+ "english_name": "Tagish"
},
- "zu": {
- "name": "Isi-Zulu",
- "english_name": "Zulu"
+ "jbi": {
+ "english_name": "Badjiri"
},
- "ulk": {
- "english_name": "Meriam"
+ "br": {
+ "english_name": "Breton",
+ "name": "Brezhoneg"
},
- "ycp": {
- "english_name": "Chepya"
+ "bit": {
+ "english_name": "Berinomo"
},
- "ych": {
- "english_name": "Chesu"
+ "nst": {
+ "english_name": "Naga, Tase"
},
- "ycn": {
- "english_name": "Yucuna"
+ "ypp": {
+ "english_name": "Phupa"
},
- "ycl": {
- "english_name": "Lolopo"
+ "rat": {
+ "english_name": "Razajerdi"
},
- "ozm": {
- "english_name": "Koonzime"
+ "myo": {
+ "english_name": "Anfillo"
},
- "ulb": {
- "english_name": "Ulukwumi"
+ "bka": {
+ "english_name": "Kyak"
},
- "vbb": {
- "english_name": "Babar, Southeast"
+ "yux": {
+ "english_name": "Yukaghir, Southern"
},
- "vbk": {
- "english_name": "Bontok, Southwestern"
+ "lud": {
+ "english_name": "Ludian"
},
- "wig": {
- "english_name": "Wik-Ngathana"
+ "cga": {
+ "english_name": "Changriwa"
},
- "wif": {
- "english_name": "Wik-Keyangan"
+ "tru": {
+ "english_name": "Turoyo"
},
- "wie": {
- "english_name": "Wik-Epa"
+ "wmc": {
+ "english_name": "Wamas"
},
- "wic": {
- "english_name": "Wichita"
+ "coz": {
+ "english_name": "Chochotec"
},
- "wib": {
- "english_name": "Toussian, Southern"
+ "elh": {
+ "english_name": "El Hugeirat"
},
- "win": {
- "english_name": "Ho-Chunk"
+ "ktr": {
+ "english_name": "Kota Marudu Tinagas"
},
- "wim": {
- "english_name": "Wik-Mungkan"
+ "iso": {
+ "english_name": "Isoko"
},
- "wil": {
- "english_name": "Wilawila"
+ "bpt": {
+ "english_name": "Barrow Point"
},
- "wik": {
- "english_name": "Wikalkan"
+ "diu": {
+ "english_name": "Diriku"
},
- "wij": {
- "english_name": "Wik-Iiyanh"
+ "prs": {
+ "english_name": "Dari"
},
- "wii": {
- "english_name": "Minidien"
+ "wag": {
+ "english_name": "Wa'ema"
},
- "wih": {
- "english_name": "Wik-Me'anha"
+ "kbv": {
+ "english_name": "Dera (Indonesia)"
},
- "wiv": {
- "english_name": "Vitu"
+ "gwj": {
+ "english_name": "/Gwi"
},
- "wiu": {
- "english_name": "Wiru"
+ "nru": {
+ "english_name": "Narua"
},
- "sys": {
- "english_name": "Sinyar"
+ "hih": {
+ "english_name": "Pamosu"
},
- "wir": {
- "english_name": "Wiraféd"
+ "dnu": {
+ "english_name": "Danau"
},
- "zmm": {
- "english_name": "Marimanindji"
+ "old": {
+ "english_name": "Mochi"
},
- "wiy": {
- "english_name": "Wiyot"
+ "uvl": {
+ "english_name": "Lote"
},
- "syr": {
- "english_name": "Syriac"
+ "lia": {
+ "english_name": "Limba, West-Central"
},
- "xqa": {
- "english_name": "Karakhanid"
+ "mkx": {
+ "english_name": "Manobo, Kinamiging"
},
- "xqt": {
- "english_name": "Qatabanian"
+ "fap": {
+ "english_name": "Palor"
},
- "jns": {
- "english_name": "Jaunsari"
+ "fah": {
+ "english_name": "Fali, Baissa"
},
- "jna": {
- "english_name": "Jangshung"
+ "gnt": {
+ "english_name": "Guntai"
},
- "jng": {
- "english_name": "Yangman"
+ "kze": {
+ "english_name": "Kosena"
},
- "jnd": {
- "english_name": "Jandavra"
+ "pta": {
+ "english_name": "Pai Tavytera"
},
- "jnj": {
- "english_name": "Yemsa"
+ "lbi": {
+ "english_name": "La'bi"
},
- "jni": {
- "english_name": "Janji"
+ "glo": {
+ "english_name": "Galambu"
},
- "jnl": {
- "english_name": "Rawat"
+ "biy": {
+ "english_name": "Birhor"
},
- "syy": {
- "english_name": "Al-Sayyid Bedouin Sign Language"
+ "reb": {
+ "english_name": "Rembong"
},
- "snf": {
- "english_name": "Noon"
+ "pwi": {
+ "english_name": "Patwin"
},
- "hlu": {
- "english_name": "Luwian, Hieroglyphic"
+ "tid": {
+ "english_name": "Tidong"
},
- "hlt": {
- "english_name": "Chin, Matu"
+ "ppn": {
+ "english_name": "Papapana"
},
- "snb": {
- "english_name": "Sebuyau"
+ "coy": {
+ "english_name": "Coyaima"
},
- "hle": {
- "english_name": "Hlersu"
+ "gon": {
+ "english_name": "Gondi"
},
- "hld": {
- "english_name": "Halang Doan"
+ "kzj": {
+ "english_name": "Kadazan, Coastal"
},
- "hlb": {
- "english_name": "Halbi"
+ "xgu": {
+ "english_name": "Unggumi"
},
- "hla": {
- "english_name": "Halia"
+ "bll": {
+ "english_name": "Biloxi"
},
- "snc": {
- "english_name": "Sinaugoro"
+ "gam": {
+ "english_name": "Kandawo"
},
- "sno": {
- "english_name": "Snohomish"
+ "sik": {
+ "english_name": "Sikiana"
},
- "snm": {
- "english_name": "Ma'di, Southern"
+ "tug": {
+ "english_name": "Tunia"
},
- "ecs": {
- "english_name": "Ecuadorian Sign Language"
+ "rkm": {
+ "english_name": "Marka"
},
- "ecr": {
- "english_name": "Eteocretan"
+ "res": {
+ "english_name": "Reshe"
},
- "ecy": {
- "english_name": "Eteocypriot"
+ "tbm": {
+ "english_name": "Tagbu"
},
- "snv": {
- "english_name": "Sa'ban"
+ "sod": {
+ "english_name": "Songoora"
},
- "snu": {
- "english_name": "Senggi"
+ "ukp": {
+ "english_name": "Ukpe-Bayobiri"
},
- "snr": {
- "english_name": "Sihan"
+ "rbb": {
+ "english_name": "Palaung, Rumai"
},
- "sns": {
- "english_name": "South West Bay"
+ "lbe": {
+ "english_name": "Lak"
},
- "snp": {
- "english_name": "Siane"
+ "msy": {
+ "english_name": "Aruamu"
},
- "snq": {
- "english_name": "Sangu (Gabon)"
+ "bqg": {
+ "english_name": "Bago-Kusuntu"
},
- "snz": {
- "english_name": "Sinsauru"
+ "lja": {
+ "english_name": "Golpa"
},
- "sny": {
- "english_name": "Saniyo-Hiyewe"
+ "nnh": {
+ "english_name": "Ngiemboon"
},
- "rsl": {
- "english_name": "Russian Sign Language"
+ "gdd": {
+ "english_name": "Gedaged"
},
- "rsi": {
- "english_name": "Rennellese Sign Language"
+ "rmg": {
+ "english_name": "Norwegian, Traveller"
},
- "rsb": {
- "english_name": "Romano-Serbian"
+ "jiy": {
+ "english_name": "Jinuo, Buyuan"
},
- "cyb": {
- "english_name": "Cayubaba"
+ "aln": {
+ "english_name": "Albanian, Gheg"
},
- "cya": {
- "english_name": "Chatino, Nopala"
+ "kow": {
+ "english_name": "Kugama"
},
- "cyo": {
- "english_name": "Cuyonon"
+ "bpp": {
+ "english_name": "Kaure"
},
- "bej": {
- "english_name": "Beja"
+ "ojv": {
+ "english_name": "Ontong Java"
},
- "bek": {
- "english_name": "Bebeli"
+ "thf": {
+ "english_name": "Thangmi"
},
- "beh": {
- "english_name": "Biali"
+ "khr": {
+ "english_name": "Kharia"
},
- "bei": {
- "english_name": "Bekati'"
+ "iml": {
+ "english_name": "Miluk"
},
- "beo": {
- "english_name": "Beami"
+ "lna": {
+ "english_name": "Langbashe"
},
- "bem": {
- "english_name": "Bemba (Zambia)"
+ "lmr": {
+ "english_name": "Lamalera"
},
- "beb": {
- "english_name": "Bebele"
+ "cda": {
+ "english_name": "Choni"
},
- "bec": {
- "english_name": "Iceve-Maci"
+ "wew": {
+ "english_name": "Wejewa"
},
- "bea": {
- "english_name": "Beaver"
+ "akc": {
+ "english_name": "Mpur"
},
- "bef": {
- "english_name": "Benabena"
+ "aa": {
+ "english_name": "Afar"
},
- "beg": {
- "english_name": "Belait"
+ "siu": {
+ "english_name": "Sinagen"
},
- "bed": {
- "english_name": "Bedoanas"
+ "yxa": {
+ "english_name": "Mayawali"
},
- "bee": {
- "english_name": "Byangsi"
+ "mcn": {
+ "english_name": "Masana"
},
- "bez": {
- "english_name": "Bena (Tanzania)"
+ "imi": {
+ "english_name": "Anamgura"
},
- "bex": {
- "english_name": "Jur Modo"
+ "lml": {
+ "english_name": "Hano"
},
- "bey": {
- "english_name": "Beli (Papua New Guinea)"
+ "kfi": {
+ "english_name": "Kurumba, Kannada"
},
- "bes": {
- "english_name": "Besme"
+ "mjo": {
+ "english_name": "Malankuravan"
},
- "bep": {
- "english_name": "Besoa"
+ "kzm": {
+ "english_name": "Kais"
},
- "beq": {
- "english_name": "Beembe"
+ "ymg": {
+ "english_name": "Yamongeri"
},
- "bev": {
- "english_name": "Bété, Daloa"
+ "mie": {
+ "english_name": "Mixtec, Ocotepec"
},
- "bew": {
- "english_name": "Betawi"
+ "naf": {
+ "english_name": "Nabak"
},
- "bet": {
- "english_name": "Béte, Guiberoua"
+ "mzh": {
+ "english_name": "Wichí Lhamtés Güisnay"
},
- "beu": {
- "english_name": "Blagar"
+ "bnl": {
+ "english_name": "Boon"
},
- "pyx": {
- "english_name": "Pyu (Myanmar)"
+ "snu": {
+ "english_name": "Senggi"
},
- "pyy": {
- "english_name": "Pyen"
+ "xss": {
+ "english_name": "Assan"
},
- "awy": {
- "english_name": "Awyu, Edera"
+ "kmt": {
+ "english_name": "Kemtuik"
},
- "awx": {
- "english_name": "Awara"
+ "qvy": {
+ "english_name": "Queyu"
},
- "aww": {
- "english_name": "Awun"
+ "xml": {
+ "english_name": "Malaysian Sign Language"
},
- "awv": {
- "english_name": "Awyu, Jair"
+ "rsl": {
+ "english_name": "Russian Sign Language"
},
- "awu": {
- "english_name": "Awyu, Central"
+ "sjg": {
+ "english_name": "Assangori"
},
- "awt": {
- "english_name": "Araweté"
+ "mcc": {
+ "english_name": "Bitur"
},
- "aws": {
- "english_name": "Awyu, South"
+ "amg": {
+ "english_name": "Amurdak"
},
- "awr": {
- "english_name": "Awera"
+ "lof": {
+ "english_name": "Logol"
},
- "awo": {
- "english_name": "Awak"
+ "tek": {
+ "english_name": "Teke, Ibali"
},
- "awn": {
- "english_name": "Awngi"
+ "ctd": {
+ "english_name": "Chin, Tedim"
},
- "awm": {
- "english_name": "Arawum"
+ "bkl": {
+ "english_name": "Berik"
},
- "awk": {
- "english_name": "Awabakal"
+ "mnp": {
+ "english_name": "Chinese, Min Bei"
},
- "pym": {
- "english_name": "Fyam"
+ "den": {
+ "english_name": "Slave (Athapascan)"
},
- "awi": {
- "english_name": "Aekyom"
+ "bji": {
+ "english_name": "Burji"
},
- "awh": {
- "english_name": "Awbono"
+ "kzq": {
+ "english_name": "Kaike"
},
- "awg": {
- "english_name": "Anguthimri"
+ "bso": {
+ "english_name": "Buso"
},
- "awe": {
- "english_name": "Awetí"
+ "nmf": {
+ "english_name": "Naga, Tangkhul (India)"
},
- "awc": {
- "english_name": "Cicipu"
+ "brb": {
+ "english_name": "Lave"
},
- "awb": {
- "english_name": "Awa (Papua New Guinea)"
+ "cup": {
+ "english_name": "Cupeño"
},
- "awa": {
- "english_name": "Awadhi"
+ "sip": {
+ "english_name": "Sikkimese"
},
- "ure": {
- "english_name": "Uru"
+ "mjl": {
+ "english_name": "Mandeali"
},
- "urf": {
- "english_name": "Uradhi"
+ "nkr": {
+ "english_name": "Nukuoro"
},
- "urg": {
- "english_name": "Urigina"
+ "yui": {
+ "english_name": "Yurutí"
},
- "ura": {
- "english_name": "Urarina"
+ "hob": {
+ "english_name": "Mari (Madang Province)"
},
- "urb": {
- "english_name": "Urubú-Kaapor"
+ "llf": {
+ "english_name": "Hermit"
},
- "urc": {
- "english_name": "Urningangg"
+ "maj": {
+ "english_name": "Mazatec, Jalapa De Díaz"
},
- "url": {
- "english_name": "Urali"
+ "onx": {
+ "english_name": "Onin Based Pidgin"
},
- "urm": {
- "english_name": "Urapmin"
+ "ngn": {
+ "english_name": "Ngwo"
},
- "urn": {
- "english_name": "Uruangnirin"
+ "zpl": {
+ "english_name": "Zapotec, Lachixío"
},
- "uro": {
- "english_name": "Ura (Papua New Guinea)"
+ "aio": {
+ "english_name": "Aiton"
},
- "urh": {
- "english_name": "Urhobo"
+ "mpi": {
+ "english_name": "Mpade"
},
- "uri": {
- "english_name": "Urim"
+ "pef": {
+ "english_name": "Pomo, Northeastern"
},
- "urk": {
- "english_name": "Urak Lawoi'"
+ "nly": {
+ "english_name": "Nyamal"
},
- "urt": {
- "english_name": "Urat"
+ "dws": {
+ "english_name": "Dutton World Speedwords"
},
- "uru": {
- "english_name": "Urumi"
+ "far": {
+ "english_name": "Fataleka"
},
- "urv": {
- "english_name": "Uruava"
+ "kbi": {
+ "english_name": "Kaptiau"
},
- "urw": {
- "english_name": "Sop"
+ "snn": {
+ "english_name": "Siona"
},
- "urp": {
- "english_name": "Uru-Pa-In"
+ "kop": {
+ "english_name": "Waube"
},
- "urr": {
- "english_name": "Lehalurup"
+ "plu": {
+ "english_name": "Palikúr"
},
- "ibd": {
- "english_name": "Iwaidja"
+ "poh": {
+ "english_name": "Poqomchi'"
},
- "urx": {
- "english_name": "Urimo"
+ "atw": {
+ "english_name": "Atsugewi"
},
- "ury": {
- "english_name": "Orya"
+ "fub": {
+ "english_name": "Fulfulde, Adamawa"
},
- "urz": {
- "english_name": "Uru-Eu-Wau-Wau"
+ "ngj": {
+ "english_name": "Ngie"
},
- "ibe": {
- "english_name": "Akpes"
+ "ny": {
+ "english_name": "Nyanja"
},
- "ngd": {
- "english_name": "Ngando (Central African Republic)"
+ "mij": {
+ "english_name": "Abar"
},
- "nge": {
- "english_name": "Ngemba"
+ "pfl": {
+ "english_name": "Pfaelzisch"
},
- "ngg": {
- "english_name": "Ngbaka Manza"
+ "eee": {
+ "english_name": "E"
},
- "nga": {
- "english_name": "Ngbaka"
+ "fkk": {
+ "english_name": "Kirya-Konzəl"
},
- "ngb": {
- "english_name": "Ngbandi, Northern"
+ "mcg": {
+ "english_name": "Mapoyo"
},
- "ngc": {
- "english_name": "Ngombe (Democratic Republic of Congo)"
+ "njm": {
+ "english_name": "Naga, Angami"
},
- "ngl": {
- "english_name": "Lomwe"
+ "gwi": {
+ "english_name": "Gwichʼin"
},
- "ngm": {
- "english_name": "Ngatik Men's Creole"
+ "dse": {
+ "english_name": "Dutch Sign Language"
},
- "ngn": {
- "english_name": "Ngwo"
+ "dlg": {
+ "english_name": "Dolgan"
},
- "ngo": {
- "english_name": "Ngoni"
+ "tcz": {
+ "english_name": "Chin, Thado"
},
- "ngh": {
- "english_name": "N/u"
+ "koa": {
+ "english_name": "Konomala"
},
- "ngi": {
- "english_name": "Ngizim"
+ "dms": {
+ "english_name": "Dampelas"
},
- "ngj": {
- "english_name": "Ngie"
+ "smp": {
+ "english_name": "Samaritan"
},
- "ngk": {
- "english_name": "Dalabon"
+ "jkr": {
+ "english_name": "Koro (India)"
},
- "ngt": {
- "english_name": "Ngeq"
+ "maa": {
+ "english_name": "Mazatec, San Jerónimo Tecóatl"
},
- "ngu": {
- "english_name": "Nahuatl, Guerrero"
+ "ku": {
+ "english_name": "Kurdish"
},
- "ngv": {
- "english_name": "Nagumi"
+ "tfn": {
+ "english_name": "Tanaina"
},
- "ngw": {
- "english_name": "Ngwaba"
+ "akg": {
+ "english_name": "Anakalangu"
},
- "ngp": {
- "english_name": "Ngulu"
+ "bfa": {
+ "english_name": "Bari"
},
- "ngq": {
- "english_name": "Ngurimi"
+ "wnk": {
+ "english_name": "Wanukaka"
},
- "ngr": {
- "english_name": "Engdewu"
+ "tse": {
+ "english_name": "Tunisian Sign Language"
},
- "ngs": {
- "english_name": "Gvoko"
+ "pzn": {
+ "english_name": "Naga, Para"
},
- "ngx": {
- "english_name": "Nggwahyi"
+ "kdi": {
+ "english_name": "Kumam"
},
- "ngy": {
- "english_name": "Tibea"
+ "duu": {
+ "english_name": "Drung"
},
- "ngz": {
- "english_name": "Ngungwel"
+ "kzv": {
+ "english_name": "Komyandaret"
},
- "mgc": {
- "english_name": "Morokodo"
+ "gya": {
+ "english_name": "Gbaya, Northwest"
},
- "mgb": {
- "english_name": "Mararit"
+ "xir": {
+ "english_name": "Xiriâna"
},
- "mga": {
- "english_name": "Irish, Middle (900-1200)"
+ "scl": {
+ "english_name": "Shina"
},
- "tbz": {
- "english_name": "Ditammari"
+ "mdz": {
+ "english_name": "Suruí Do Pará"
},
- "mgg": {
- "english_name": "Mpumpong"
+ "erw": {
+ "english_name": "Erokwanas"
},
- "mgf": {
- "english_name": "Maklew"
+ "sxl": {
+ "english_name": "Selian"
},
- "mge": {
- "english_name": "Mango"
+ "lbs": {
+ "english_name": "Libyan Sign Language"
},
- "mgd": {
- "english_name": "Moru"
+ "wrn": {
+ "english_name": "Warnang"
},
- "mgk": {
- "english_name": "Mawes"
+ "sen": {
+ "english_name": "Sénoufo, Nanerigé"
},
- "mgj": {
- "english_name": "Abureni"
+ "mzw": {
+ "english_name": "Deg"
},
- "mgi": {
- "english_name": "Lijili"
+ "oca": {
+ "english_name": "Ocaina"
},
- "mgh": {
- "english_name": "Makhuwa-Meetto"
+ "kud": {
+ "english_name": "'Auhelawa"
},
- "mgo": {
- "english_name": "Meta'"
+ "soh": {
+ "english_name": "Aka"
},
- "mgn": {
- "english_name": "Mbangi"
+ "dek": {
+ "english_name": "Dek"
},
- "mgm": {
- "english_name": "Mambae"
+ "kms": {
+ "english_name": "Kamasau"
},
- "mgl": {
- "english_name": "Maleu-Kilenge"
+ "tji": {
+ "english_name": "Tujia, Northern"
},
- "mgs": {
- "english_name": "Manda (Tanzania)"
+ "nra": {
+ "english_name": "Ngom"
},
- "mgr": {
- "english_name": "Mambwe-Lungu"
+ "kkb": {
+ "english_name": "Kwerisa"
},
- "mgq": {
- "english_name": "Malila"
+ "ybh": {
+ "english_name": "Yakha"
},
- "mgp": {
- "english_name": "Magar, Eastern"
+ "bpk": {
+ "english_name": "Orowe"
},
- "mgw": {
- "english_name": "Matumbi"
+ "ule": {
+ "english_name": "Lule"
},
- "mgv": {
- "english_name": "Matengo"
+ "kwi": {
+ "english_name": "Awa-Cuaiquer"
},
- "mgu": {
- "english_name": "Mailu"
+ "piy": {
+ "english_name": "Piya-Kwonci"
},
- "mgt": {
- "english_name": "Mongol"
+ "thc": {
+ "english_name": "Tai Hang Tong"
},
- "tba": {
- "english_name": "Aikanã"
+ "zea": {
+ "english_name": "Zeeuws"
},
- "mgz": {
- "english_name": "Mbugwe"
+ "nux": {
+ "english_name": "Mehek"
},
- "mgy": {
- "english_name": "Mbunga"
+ "ajz": {
+ "english_name": "Karbi, Amri"
},
- "tbb": {
- "english_name": "Tapeba"
+ "fni": {
+ "english_name": "Fania"
},
- "tbe": {
- "english_name": "Tanimbili"
+ "sta": {
+ "english_name": "Settla"
},
- "tbd": {
- "english_name": "Kaki Ae"
+ "xag": {
+ "english_name": "Aghwan"
},
- "tbg": {
- "english_name": "Tairora, North"
+ "nos": {
+ "english_name": "Nisu, Eastern"
},
- "tbf": {
- "english_name": "Mandara"
+ "not": {
+ "english_name": "Nomatsiguenga"
},
- "shp": {
- "english_name": "Shipibo-Conibo"
+ "tqr": {
+ "english_name": "Torona"
},
- "shq": {
- "english_name": "Sala"
+ "opm": {
+ "english_name": "Oksapmin"
},
- "shr": {
- "english_name": "Shi"
+ "jod": {
+ "english_name": "Wojenaka"
},
- "shs": {
- "english_name": "Shuswap"
+ "roc": {
+ "english_name": "Roglai, Cacgia"
},
- "sht": {
- "english_name": "Shasta"
+ "zpd": {
+ "english_name": "Zapotec, Southeastern Ixtlán"
},
- "shu": {
- "english_name": "Arabic, Chadian"
+ "gho": {
+ "english_name": "Ghomara"
},
- "shv": {
- "english_name": "Shehri"
+ "wad": {
+ "english_name": "Wandamen"
},
- "dpp": {
- "english_name": "Papar"
+ "twl": {
+ "english_name": "Tawara"
},
- "shx": {
- "english_name": "She"
+ "tsb": {
+ "english_name": "Tsamai"
},
- "shy": {
- "english_name": "Tachawit"
+ "kek": {
+ "english_name": "Kekchí"
},
- "shz": {
- "english_name": "Senoufo, Syenara"
+ "sde": {
+ "english_name": "Surubu"
},
- "sha": {
- "english_name": "Shall-Zwall"
+ "mjh": {
+ "english_name": "Mwera (Nyasa)"
},
- "shb": {
- "english_name": "Ninam"
+ "lae": {
+ "english_name": "Pattani"
},
- "shc": {
- "english_name": "Sonde"
+ "kso": {
+ "english_name": "Kofa"
},
- "shd": {
- "english_name": "Kundal Shahi"
+ "iqu": {
+ "english_name": "Iquito"
},
- "she": {
- "english_name": "Sheko"
+ "hsl": {
+ "english_name": "Hausa Sign Language"
},
- "shg": {
- "english_name": "Shua"
+ "nnr": {
+ "english_name": "Narungga"
},
- "shh": {
- "english_name": "Shoshoni"
+ "caw": {
+ "english_name": "Callawalla"
},
- "shi": {
- "english_name": "Tachelhit"
+ "ayh": {
+ "english_name": "Arabic, Hadrami"
},
- "shj": {
- "english_name": "Shatt"
+ "zad": {
+ "english_name": "Zapotec, Cajonos"
},
- "shk": {
- "english_name": "Shilluk"
+ "wne": {
+ "english_name": "Waneci"
},
- "shl": {
- "english_name": "Shendu"
+ "nks": {
+ "english_name": "Asmat, North"
},
- "shm": {
- "english_name": "Shahrudi"
+ "poc": {
+ "english_name": "Poqomam"
},
- "shn": {
- "english_name": "Shan"
+ "ale": {
+ "english_name": "Aleut"
},
- "sho": {
- "english_name": "Shanga"
+ "tbb": {
+ "english_name": "Tapeba"
},
- "lup": {
- "english_name": "Lumbu"
+ "akb": {
+ "english_name": "Batak Angkola"
},
- "luq": {
- "english_name": "Lucumi"
+ "hid": {
+ "english_name": "Hidatsa"
},
- "lur": {
- "english_name": "Laura"
+ "bmc": {
+ "english_name": "Biem"
},
- "lus": {
- "english_name": "Lushai"
+ "mrp": {
+ "english_name": "Morouas"
},
- "lut": {
- "english_name": "Lushootseed"
+ "nrm": {
+ "english_name": "Narom"
},
- "luu": {
- "english_name": "Lumba-Yakkha"
+ "skt": {
+ "english_name": "Sakata"
},
- "luv": {
- "english_name": "Luwati"
+ "bpb": {
+ "english_name": "Barbacoas"
},
- "luw": {
- "english_name": "Luo (Cameroon)"
+ "sze": {
+ "english_name": "Seze"
},
- "luy": {
- "english_name": "Luyia"
+ "vor": {
+ "english_name": "Voro"
},
- "luz": {
- "english_name": "Luri, Southern"
+ "smh": {
+ "english_name": "Samei"
},
- "lua": {
- "english_name": "Luba-Lulua"
+ "kja": {
+ "english_name": "Mlap"
},
- "luc": {
- "english_name": "Aringa"
+ "njj": {
+ "english_name": "Njen"
},
- "lud": {
- "english_name": "Ludian"
+ "ggt": {
+ "english_name": "Gitua"
},
- "lue": {
- "english_name": "Luvale"
+ "prp": {
+ "english_name": "Parsi"
},
- "luf": {
- "english_name": "Laua"
+ "ded": {
+ "english_name": "Dedua"
},
- "lui": {
- "english_name": "Luiseno"
+ "akh": {
+ "english_name": "Angal Heneng"
},
- "luj": {
- "english_name": "Luna"
+ "gvr": {
+ "english_name": "Gurung, Western"
},
- "luk": {
- "english_name": "Lunanakha"
+ "war": {
+ "english_name": "Waray (Philippines)"
},
- "lul": {
- "english_name": "Olu'bo"
+ "lrl": {
+ "english_name": "Lari"
},
- "lum": {
- "english_name": "Luimbi"
+ "jmn": {
+ "english_name": "Naga, Makuri"
},
- "lun": {
- "english_name": "Lunda"
+ "ciy": {
+ "english_name": "Chaima"
},
- "luo": {
- "english_name": "Luo (Kenya and Tanzania)"
+ "zpv": {
+ "english_name": "Zapotec, Chichicapan"
},
- "keo": {
- "english_name": "Kakwa"
+ "ste": {
+ "english_name": "Liana-Seti"
},
- "ken": {
- "english_name": "Kenyang"
+ "hvv": {
+ "english_name": "Huave, Santa María Del Mar"
},
- "kem": {
- "english_name": "Kemak"
+ "mbs": {
+ "english_name": "Manobo, Sarangani"
},
- "kel": {
- "english_name": "Kela (Democratic Republic of Congo)"
+ "yrn": {
+ "english_name": "Yerong"
},
- "kek": {
- "english_name": "Kekchí"
+ "bje": {
+ "english_name": "Mien, Biao-Jiao"
},
- "kej": {
- "english_name": "Kadar"
+ "sdx": {
+ "english_name": "Melanau, Sibu"
},
- "kei": {
- "english_name": "Kei"
+ "ray": {
+ "english_name": "Rapa"
},
- "keh": {
- "english_name": "Keak"
+ "en": {
+ "english_name": "English"
},
- "keg": {
- "english_name": "Tese"
+ "cbv": {
+ "english_name": "Cacua"
},
- "kef": {
- "english_name": "Kpessi"
+ "tlc": {
+ "english_name": "Totonac, Yecuatla"
},
- "kee": {
- "english_name": "Keres, Eastern"
+ "xbp": {
+ "english_name": "Bibbulman"
},
- "ked": {
- "english_name": "Kerewe"
+ "kfc": {
+ "english_name": "Konda-Dora"
},
- "kec": {
- "english_name": "Keiga"
+ "gda": {
+ "english_name": "Lohar, Gade"
},
- "keb": {
- "english_name": "Kélé"
+ "krs": {
+ "english_name": "Gbaya (Sudan)"
},
- "kea": {
- "english_name": "Kabuverdianu"
+ "sea": {
+ "english_name": "Semai"
},
- "jie": {
- "english_name": "Jilbe"
+ "aak": {
+ "english_name": "Ankave"
},
- "kez": {
- "english_name": "Kukele"
+ "ahs": {
+ "english_name": "Ashe"
},
- "key": {
- "english_name": "Kupia"
+ "sti": {
+ "english_name": "Stieng, Bulo"
},
- "kex": {
- "english_name": "Kukna"
+ "kij": {
+ "english_name": "Kilivila"
},
- "kew": {
- "english_name": "Kewa, West"
+ "mmv": {
+ "english_name": "Miriti"
},
- "kev": {
- "english_name": "Kanikkaran"
+ "blo": {
+ "english_name": "Anii"
},
- "keu": {
- "english_name": "Akebu"
+ "bcc": {
+ "english_name": "Balochi, Southern"
},
- "ket": {
- "english_name": "Ket"
+ "agh": {
+ "english_name": "Ngelima"
},
- "kes": {
- "english_name": "Kugbo"
+ "fll": {
+ "english_name": "Fali, North"
},
- "ker": {
- "english_name": "Kera"
+ "ceb": {
+ "english_name": "Cebuano"
},
- "keq": {
- "english_name": "Kamar"
+ "sir": {
+ "english_name": "Siri"
},
- "kep": {
- "english_name": "Kaikadi"
+ "ab": {
+ "english_name": "Abkhazian"
},
- "jiv": {
- "english_name": "Shuar"
+ "hka": {
+ "english_name": "Kahe"
},
- "yay": {
- "english_name": "Agwagwune"
+ "wno": {
+ "english_name": "Wano"
},
- "yax": {
- "english_name": "Yauma"
+ "mli": {
+ "english_name": "Malimpung"
},
- "yaz": {
- "english_name": "Lokaa"
+ "lac": {
+ "english_name": "Lacandon"
},
- "yau": {
- "english_name": "Yuwana"
+ "buj": {
+ "english_name": "Basa-Gurmana"
},
- "yat": {
- "english_name": "Yambeta"
+ "hot": {
+ "english_name": "Hote"
},
- "yaw": {
- "english_name": "Yawalapití"
+ "sr": {
+ "english_name": "Serbian",
+ "name": "српски"
},
- "yav": {
- "english_name": "Yangben"
+ "vmd": {
+ "english_name": "Koraga, Mudu"
},
- "yaq": {
- "english_name": "Yaqui"
+ "dne": {
+ "english_name": "Ndendeule"
},
- "jit": {
- "english_name": "Jita"
+ "kfh": {
+ "english_name": "Kurichiya"
},
- "yas": {
- "english_name": "Nugunu (Cameroon)"
+ "flh": {
+ "english_name": "Foau"
},
- "yar": {
- "english_name": "Yabarana"
+ "juo": {
+ "english_name": "Jiba"
},
- "yam": {
- "english_name": "Yamba"
+ "tcs": {
+ "english_name": "Creole, Torres Strait"
},
- "yal": {
- "english_name": "Yalunka"
+ "duz": {
+ "english_name": "Duli"
},
- "yao": {
- "english_name": "Yao"
+ "rtw": {
+ "english_name": "Rathawi"
},
- "jiu": {
- "english_name": "Jinuo, Youle"
+ "fon": {
+ "english_name": "Fon"
},
- "yai": {
- "english_name": "Yagnobi"
+ "qvs": {
+ "english_name": "Quechua, San Martín"
},
- "yah": {
- "english_name": "Yazgulyam"
+ "zpz": {
+ "english_name": "Zapotec, Texmelucan"
},
- "yak": {
- "english_name": "Yakama"
+ "bsn": {
+ "english_name": "Barasana-Eduria"
},
- "yaj": {
- "english_name": "Banda-Yangere"
+ "hap": {
+ "english_name": "Hupla"
},
- "yae": {
- "english_name": "Pumé"
+ "nik": {
+ "english_name": "Nicobarese, Southern"
},
- "yad": {
- "english_name": "Yagua"
+ "gbr": {
+ "english_name": "Gbagyi"
},
- "yag": {
- "english_name": "Yámana"
+ "zoo": {
+ "english_name": "Zapotec, Asunción Mixtepec"
},
- "yaf": {
- "english_name": "Yaka (Democratic Republic of Congo)"
+ "enb": {
+ "english_name": "Markweeta"
},
- "yaa": {
- "english_name": "Yaminahua"
+ "frd": {
+ "english_name": "Fordata"
},
- "yac": {
- "english_name": "Yali, Pass Valley"
+ "dyd": {
+ "english_name": "Dyugun"
},
- "yab": {
- "english_name": "Yuhup"
+ "ttg": {
+ "english_name": "Tutong"
},
- "oti": {
- "english_name": "Oti"
+ "pbb": {
+ "english_name": "Páez"
},
- "otk": {
- "english_name": "Turkish, Old"
+ "yrs": {
+ "english_name": "Yarsun"
},
- "otl": {
- "english_name": "Otomi, Tilapa"
+ "hji": {
+ "english_name": "Haji"
},
- "otm": {
- "english_name": "Otomi, Eastern Highland"
+ "tpp": {
+ "english_name": "Tepehua, Pisaflores"
},
- "otn": {
- "english_name": "Otomi, Tenango"
+ "nit": {
+ "english_name": "Kolami, Southeastern"
},
- "ota": {
- "english_name": "Turkish, Ottoman (1500-1928)"
+ "one": {
+ "english_name": "Oneida"
},
- "otb": {
- "english_name": "Tibetan, Old"
+ "gha": {
+ "english_name": "Ghadamès"
},
- "jiq": {
- "english_name": "Guanyinqiao"
+ "sbf": {
+ "english_name": "Shabo"
},
- "otd": {
- "english_name": "Ot Danum"
+ "chn": {
+ "english_name": "Chinook jargon"
},
- "ote": {
- "english_name": "Otomi, Mezquital"
+ "sqm": {
+ "english_name": "Suma"
},
- "otx": {
- "english_name": "Otomi, Texcatepec"
+ "ain": {
+ "english_name": "Ainu (Japan)"
},
- "oty": {
- "english_name": "Tamil, Old"
+ "sgh": {
+ "english_name": "Shughni"
},
- "otz": {
- "english_name": "Otomi, Ixtenco"
+ "atb": {
+ "english_name": "Zaiwa"
},
- "otq": {
- "english_name": "Otomi, Querétaro"
+ "mcq": {
+ "english_name": "Ese"
},
- "otr": {
- "english_name": "Otoro"
+ "fli": {
+ "english_name": "Fali"
},
- "ots": {
- "english_name": "Otomi, Estado de México"
+ "jat": {
+ "english_name": "Jakati"
},
- "ott": {
- "english_name": "Otomi, Temoaya"
+ "xpt": {
+ "english_name": "Punthamara"
},
- "otu": {
- "english_name": "Otuke"
+ "mlr": {
+ "english_name": "Vame"
},
- "otw": {
- "english_name": "Ottawa"
+ "crr": {
+ "english_name": "Algonquian, Carolina"
},
- "jiy": {
- "english_name": "Jinuo, Buyuan"
+ "squ": {
+ "english_name": "Squamish"
},
- "wkl": {
- "english_name": "Kalanadi"
+ "ktq": {
+ "english_name": "Katabaga"
},
- "wka": {
- "english_name": "Kw'adza"
+ "guc": {
+ "english_name": "Wayuu"
},
- "wkb": {
- "english_name": "Kumbaran"
+ "gyd": {
+ "english_name": "Kayardild"
},
- "wkd": {
- "english_name": "Wakde"
+ "bhz": {
+ "english_name": "Bada (Indonesia)"
},
- "wky": {
- "english_name": "Wangkayutyuru"
+ "blv": {
+ "english_name": "Bolo"
},
- "sbv": {
- "english_name": "Sabine"
+ "lmq": {
+ "english_name": "Lamatuka"
+ },
+ "cav": {
+ "english_name": "Cavineña"
+ },
+ "tkn": {
+ "english_name": "Toku-No-Shima"
+ },
+ "hrt": {
+ "english_name": "Hértevin"
+ },
+ "rom": {
+ "english_name": "Romany"
},
"wku": {
"english_name": "Kunduvadi"
},
- "wkw": {
- "english_name": "Wakawaka"
+ "kzs": {
+ "english_name": "Dusun, Sugut"
},
- "sbw": {
- "english_name": "Simba"
+ "shp": {
+ "english_name": "Shipibo-Conibo"
},
- "mzt": {
- "english_name": "Mintil"
+ "nur": {
+ "english_name": "Nukuria"
},
- "mzu": {
- "english_name": "Inapang"
+ "kzp": {
+ "english_name": "Kaidipang"
},
- "mzv": {
- "english_name": "Manza"
+ "bfb": {
+ "english_name": "Bareli, Pauri"
},
- "mzw": {
- "english_name": "Deg"
+ "zmp": {
+ "english_name": "Mpuono"
},
- "mzp": {
- "english_name": "Movima"
+ "jeh": {
+ "english_name": "Jeh"
},
- "mzq": {
- "english_name": "Mori Atas"
+ "guh": {
+ "english_name": "Guahibo"
},
- "mzr": {
- "english_name": "Marúbo"
+ "tte": {
+ "english_name": "Bwanabwana"
},
- "mzs": {
- "english_name": "Macanese"
+ "zai": {
+ "english_name": "Zapotec, Isthmus"
},
- "mzx": {
- "english_name": "Mawayana"
+ "giw": {
+ "english_name": "Gelao, White"
},
- "mzy": {
- "english_name": "Mozambican Sign Language"
+ "bub": {
+ "english_name": "Bua"
},
- "mzz": {
- "english_name": "Maiadomu"
+ "kki": {
+ "english_name": "Kagulu"
},
- "mzd": {
- "english_name": "Malimba"
+ "abc": {
+ "english_name": "Ayta, Ambala"
},
- "mze": {
- "english_name": "Morawa"
+ "gvy": {
+ "english_name": "Guyani"
},
- "mzg": {
- "english_name": "Monastic Sign Language"
+ "gdb": {
+ "english_name": "Gadaba, Pottangi Ollar"
},
- "mza": {
- "english_name": "Mixtec, Santa María Zacatepec"
+ "kcf": {
+ "english_name": "Ukaan"
},
- "mzb": {
- "english_name": "Tumzabt"
+ "gih": {
+ "english_name": "Githabul"
},
- "mzc": {
- "english_name": "Madagascar Sign Language"
+ "nyp": {
+ "english_name": "Nyang'i"
},
- "mzl": {
- "english_name": "Mixe, Mazatlán"
+ "kbp": {
+ "english_name": "Kabiyè"
},
- "mzm": {
- "english_name": "Mumuye"
+ "bme": {
+ "english_name": "Limassa"
},
- "mzn": {
- "english_name": "Mazanderani"
+ "lks": {
+ "english_name": "Kisa"
},
- "mzo": {
- "english_name": "Matipuhy"
+ "nsq": {
+ "english_name": "Miwok, Northern Sierra"
},
- "mzh": {
- "english_name": "Wichí Lhamtés Güisnay"
+ "emk": {
+ "english_name": "Maninkakan, Eastern"
},
- "mzi": {
- "english_name": "Mazatec, Ixcatlán"
+ "kaf": {
+ "english_name": "Katso"
},
- "mzj": {
- "english_name": "Manya"
+ "wbq": {
+ "english_name": "Waddar"
},
- "mzk": {
- "english_name": "Mambila, Nigeria"
+ "blr": {
+ "english_name": "Blang"
},
- "zyg": {
- "english_name": "Zhuang, Yang"
+ "spe": {
+ "english_name": "Sepa (Papua New Guinea)"
},
- "zyb": {
- "english_name": "Zhuang, Yongbei"
+ "dbl": {
+ "english_name": "Dyirbal"
},
- "zyn": {
- "english_name": "Zhuang, Yongnan"
+ "ert": {
+ "english_name": "Eritai"
},
- "zyj": {
- "english_name": "Zhuang, Youjiang"
+ "luf": {
+ "english_name": "Laua"
},
- "syb": {
- "english_name": "Subanen, Central"
+ "zmt": {
+ "english_name": "Maringarr"
},
- "zyp": {
- "english_name": "Chin, Zyphe"
+ "psp": {
+ "english_name": "Philippine Sign Language"
},
- "xsr": {
- "english_name": "Sherpa"
+ "aki": {
+ "english_name": "Aiome"
},
- "xss": {
- "english_name": "Assan"
+ "acr": {
+ "english_name": "Achi"
},
- "xsp": {
- "english_name": "Silopi"
+ "yme": {
+ "english_name": "Yameo"
},
- "xsq": {
- "english_name": "Makhuwa-Saka"
+ "ldk": {
+ "english_name": "Leelau"
},
- "xsv": {
- "english_name": "Sudovian"
+ "uis": {
+ "english_name": "Uisai"
},
- "xsu": {
- "english_name": "Sanumá"
+ "omg": {
+ "english_name": "Omagua"
},
- "xsy": {
- "english_name": "Saisiyat"
+ "hld": {
+ "english_name": "Halang Doan"
},
- "xsb": {
- "english_name": "Sambal"
+ "syc": {
+ "english_name": "Syriac, Classical"
},
- "xsc": {
- "english_name": "Scythian"
+ "bue": {
+ "english_name": "Beothuk"
},
- "xsa": {
- "english_name": "Sabaean"
+ "gwa": {
+ "english_name": "Mbato"
},
- "xsd": {
- "english_name": "Sidetic"
+ "bge": {
+ "english_name": "Bauria"
},
- "xse": {
- "english_name": "Sempan"
+ "mfr": {
+ "english_name": "Marithiel"
},
- "xsh": {
- "english_name": "Shamang"
+ "wgi": {
+ "english_name": "Wahgi"
},
- "xsi": {
- "english_name": "Sio"
+ "ash": {
+ "english_name": "Abishira"
},
- "xsn": {
- "english_name": "Sanga (Nigeria)"
+ "xil": {
+ "english_name": "Illyrian"
},
- "xso": {
- "english_name": "Solano"
+ "ttq": {
+ "english_name": "Tamajaq, Tawallammat"
},
- "xsl": {
- "english_name": "Slavey, South"
+ "mjp": {
+ "english_name": "Malapandaram"
},
- "xsm": {
- "english_name": "Kasem"
+ "hrc": {
+ "english_name": "Niwer Mil"
},
- "jls": {
- "english_name": "Jamaican Sign Language"
+ "pi": {
+ "english_name": "Pali"
},
- "jle": {
- "english_name": "Ngile"
+ "bhl": {
+ "english_name": "Bimin"
},
- "swi": {
- "english_name": "Sui"
+ "ije": {
+ "english_name": "Biseni"
},
- "dui": {
- "english_name": "Dumun"
+ "cfd": {
+ "english_name": "Cara"
},
- "swk": {
- "english_name": "Sena, Malawi"
+ "yi": {
+ "english_name": "Yiddish"
},
- "swj": {
- "english_name": "Sira"
+ "chl": {
+ "english_name": "Cahuilla"
},
- "swm": {
- "english_name": "Samosa"
+ "cy": {
+ "english_name": "Welsh",
+ "name": "Cymraeg"
},
- "swl": {
- "english_name": "Swedish Sign Language"
+ "mfq": {
+ "english_name": "Moba"
},
- "dun": {
- "english_name": "Dusun Deyah"
+ "ior": {
+ "english_name": "Inor"
},
- "swn": {
- "english_name": "Sawknah"
+ "kuy": {
+ "english_name": "Kuuku-Ya'u"
},
- "swc": {
- "english_name": "Swahili, Congo"
+ "aqr": {
+ "english_name": "Arhâ"
},
- "swb": {
- "english_name": "Comorian, Maore"
+ "ktk": {
+ "english_name": "Kaniet"
},
- "swg": {
- "english_name": "Swabian"
+ "tpv": {
+ "english_name": "Tanapag"
},
- "swf": {
- "english_name": "Sere"
+ "tnn": {
+ "english_name": "Tanna, North"
},
- "swy": {
- "english_name": "Sarua"
+ "lkt": {
+ "english_name": "Lakota"
},
- "swx": {
- "english_name": "Suruahá"
+ "ksm": {
+ "english_name": "Kumba"
},
- "hz": {
- "english_name": "Herero"
+ "dtm": {
+ "english_name": "Dogon, Tomo Kan"
},
- "hy": {
- "english_name": "Armenian"
+ "sat": {
+ "english_name": "Santali"
},
- "eaa": {
- "english_name": "Karenggapa"
+ "cku": {
+ "english_name": "Koasati"
},
- "ht": {
- "english_name": "Haitian"
+ "shz": {
+ "english_name": "Senoufo, Syenara"
},
- "hu": {
- "name": "magyar",
- "english_name": "Hungarian"
+ "cya": {
+ "english_name": "Chatino, Nopala"
},
- "swq": {
- "english_name": "Sharwa"
+ "tzl": {
+ "english_name": "Talossan"
},
- "hi": {
- "name": "हिंदी",
- "english_name": "Hindi"
+ "aoc": {
+ "english_name": "Pemon"
},
- "ho": {
- "english_name": "Hiri Motu"
+ "myj": {
+ "english_name": "Mangayat"
},
- "swp": {
- "english_name": "Suau"
+ "rmb": {
+ "english_name": "Rembarunga"
},
- "ha": {
- "english_name": "Hausa"
+ "kla": {
+ "english_name": "Klamath-Modoc"
},
- "sws": {
- "english_name": "Seluwasan"
+ "gex": {
+ "english_name": "Garre"
},
- "he": {
- "name": "עברית",
- "english_name": "Hebrew"
+ "kpj": {
+ "english_name": "Karajá"
},
- "dma": {
- "english_name": "Duma"
+ "gqn": {
+ "english_name": "Guana (Brazil)"
},
- "dmb": {
- "english_name": "Dogon, Mombo"
+ "aax": {
+ "english_name": "Mandobo Atas"
},
- "pi": {
- "english_name": "Pali"
+ "ddo": {
+ "english_name": "Dido"
},
- "dmd": {
- "english_name": "Madhi Madhi"
+ "owi": {
+ "english_name": "Owiniga"
},
- "dme": {
- "english_name": "Dugwor"
+ "kpq": {
+ "english_name": "Korupun-Sela"
},
- "dmg": {
- "english_name": "Kinabatangan, Upper"
+ "bnu": {
+ "english_name": "Bentong"
},
- "dmk": {
- "english_name": "Domaaki"
+ "slm": {
+ "english_name": "Sama, Pangutaran"
},
- "dml": {
- "english_name": "Dameli"
+ "led": {
+ "english_name": "Lendu"
},
- "dmm": {
- "english_name": "Dama"
+ "dcr": {
+ "english_name": "Negerhollands"
},
- "dmo": {
- "english_name": "Kemedzung"
+ "teb": {
+ "english_name": "Tetete"
},
- "dmr": {
- "english_name": "Damar, East"
+ "xom": {
+ "english_name": "Komo (Sudan)"
},
- "dms": {
- "english_name": "Dampelas"
+ "coh": {
+ "english_name": "Chonyi-Dzihana-Kauma"
},
- "pl": {
- "name": "polski",
- "english_name": "Polish"
+ "bie": {
+ "english_name": "Bepour"
},
- "dmv": {
- "english_name": "Dumpas"
+ "tiq": {
+ "english_name": "Tiéfo"
},
- "dmw": {
- "english_name": "Mudburra"
+ "bvk": {
+ "english_name": "Bukat"
},
- "dmx": {
- "english_name": "Dema"
+ "cid": {
+ "english_name": "Chimariko"
},
- "dmy": {
- "english_name": "Demta"
+ "pal": {
+ "english_name": "Pahlavi"
},
- "swv": {
- "english_name": "Shekhawati"
+ "jab": {
+ "english_name": "Hyam"
},
- "hna": {
- "english_name": "Mina (Cameroon)"
+ "twc": {
+ "english_name": "Teshenawa"
},
- "bcm": {
- "english_name": "Bannoni"
+ "twr": {
+ "english_name": "Tarahumara, Southwestern"
},
- "bcn": {
- "english_name": "Bali (Nigeria)"
+ "sv": {
+ "english_name": "Swedish",
+ "name": "Svenska"
},
- "bco": {
- "english_name": "Kaluli"
+ "ljw": {
+ "english_name": "Yirandali"
},
- "hne": {
- "english_name": "Chhattisgarhi"
+ "tnu": {
+ "english_name": "Tay Khang"
},
- "hnd": {
- "english_name": "Hindko, Southern"
+ "uk": {
+ "english_name": "Ukrainian",
+ "name": "українська"
},
- "bcj": {
- "english_name": "Bardi"
+ "dba": {
+ "english_name": "Bangime"
},
- "bck": {
- "english_name": "Bunaba"
+ "kpi": {
+ "english_name": "Kofei"
},
- "hni": {
- "english_name": "Hani"
+ "xet": {
+ "english_name": "Xetá"
},
- "hnh": {
- "english_name": "//Ani"
+ "pty": {
+ "english_name": "Pathiya"
},
- "bcf": {
- "english_name": "Bamu"
+ "zal": {
+ "english_name": "Zauzou"
},
- "hnj": {
- "english_name": "Hmong Njua"
+ "djn": {
+ "english_name": "Djauan"
},
- "bca": {
- "english_name": "Bai, Central"
+ "ulb": {
+ "english_name": "Ulukwumi"
},
- "hno": {
- "english_name": "Hindko, Northern"
+ "mgz": {
+ "english_name": "Mbugwe"
},
- "hnn": {
- "english_name": "Hanunoo"
+ "kee": {
+ "english_name": "Keres, Eastern"
},
- "hns": {
- "english_name": "Hindustani, Caribbean"
+ "gaq": {
+ "english_name": "Gata'"
},
- "hnu": {
- "english_name": "Hung"
+ "ctc": {
+ "english_name": "Chetco"
},
- "bcy": {
- "english_name": "Bacama"
+ "sdr": {
+ "english_name": "Sadri, Oraon"
},
- "bcz": {
- "english_name": "Bainouk-Gunyaamolo"
+ "byl": {
+ "english_name": "Bayono"
},
- "bct": {
- "english_name": "Bendi"
+ "kai": {
+ "english_name": "Karekare"
},
- "bcu": {
- "english_name": "Awad Bing"
+ "mnw": {
+ "english_name": "Mon"
},
- "bcv": {
- "english_name": "Shoo-Minda-Nye"
+ "lsm": {
+ "english_name": "Saamia"
},
- "bcw": {
- "english_name": "Bana"
+ "wdu": {
+ "english_name": "Wadjigu"
},
- "bcp": {
- "english_name": "Bali (Democratic Republic of Congo)"
+ "tst": {
+ "english_name": "Songway Kiini, Tondi"
},
- "bcq": {
- "english_name": "Bench"
+ "lwa": {
+ "english_name": "Lwalu"
},
- "bcr": {
- "english_name": "Babine"
+ "loj": {
+ "english_name": "Lou"
},
- "bcs": {
- "english_name": "Kohumono"
+ "lgg": {
+ "english_name": "Lugbara"
},
- "aua": {
- "english_name": "Asumboa"
+ "msq": {
+ "english_name": "Caac"
},
- "auc": {
- "english_name": "Waorani"
+ "jay": {
+ "english_name": "Yan-nhangu"
},
- "aub": {
- "english_name": "Alugu"
+ "arq": {
+ "english_name": "Arabic, Algerian"
},
- "aud": {
- "english_name": "Anuta"
+ "urp": {
+ "english_name": "Uru-Pa-In"
},
- "aug": {
- "english_name": "Aguna"
+ "mnc": {
+ "english_name": "Manchu"
},
- "aui": {
- "english_name": "Anuki"
+ "tiw": {
+ "english_name": "Tiwi"
},
- "auh": {
- "english_name": "Aushi"
+ "wav": {
+ "english_name": "Waka"
},
- "auk": {
- "english_name": "Heyo"
+ "umm": {
+ "english_name": "Umon"
},
- "auj": {
- "english_name": "Awjilah"
+ "srq": {
+ "english_name": "Sirionó"
},
- "aum": {
- "english_name": "Asu (Nigeria)"
+ "kul": {
+ "english_name": "Kulere"
},
- "aul": {
- "english_name": "Aulua"
+ "hca": {
+ "english_name": "Creole Hindi, Andaman"
},
- "auo": {
- "english_name": "Auyokawa"
+ "xha": {
+ "english_name": "Harami"
},
- "aun": {
- "english_name": "One, Molmo"
+ "drt": {
+ "english_name": "Drents"
},
- "auq": {
- "english_name": "Anus"
+ "glk": {
+ "english_name": "Gilaki"
},
- "aup": {
- "english_name": "Makayam"
+ "gba": {
+ "english_name": "Gbaya (Central African Republic)"
},
- "aur": {
- "english_name": "Aruek"
+ "kgv": {
+ "english_name": "Karas"
},
- "auu": {
- "english_name": "Auye"
+ "kft": {
+ "english_name": "Kanjari"
},
- "aut": {
- "english_name": "Austral"
+ "chy": {
+ "english_name": "Cheyenne"
},
- "auw": {
- "english_name": "Awyi"
+ "aua": {
+ "english_name": "Asumboa"
},
- "auy": {
- "english_name": "Awiyaana"
+ "buq": {
+ "english_name": "Brem"
},
- "aux": {
- "english_name": "Aurá"
+ "esn": {
+ "english_name": "Salvadoran Sign Language"
},
- "auz": {
- "english_name": "Arabic, Uzbeki"
+ "rob": {
+ "english_name": "Tae'"
},
- "blg": {
- "english_name": "Balau"
+ "gbe": {
+ "english_name": "Niksek"
},
- "upi": {
- "english_name": "Umeda"
+ "aen": {
+ "english_name": "Armenian Sign Language"
},
- "upv": {
- "english_name": "Uripiv-Wala-Rano-Atchin"
+ "olm": {
+ "english_name": "Oloma"
},
- "nen": {
- "english_name": "Nengone"
+ "sco": {
+ "english_name": "Scots"
},
- "neo": {
- "english_name": "Ná-Meo"
+ "bum": {
+ "english_name": "Bulu (Cameroon)"
},
- "nem": {
- "english_name": "Nemi"
+ "kue": {
+ "english_name": "Kuman"
},
- "nej": {
- "english_name": "Neko"
+ "pag": {
+ "english_name": "Pangasinan"
},
- "nek": {
- "english_name": "Neku"
+ "tiv": {
+ "english_name": "Tiv"
},
- "neh": {
- "english_name": "Nyenkha"
+ "als": {
+ "english_name": "Albanian, Tosk"
},
- "nei": {
- "english_name": "Hittite, Neo-"
+ "tmo": {
+ "english_name": "Temoq"
},
- "nef": {
- "english_name": "Nefamese"
+ "ndq": {
+ "english_name": "Ndombe"
},
- "neg": {
- "english_name": "Negidal"
+ "bya": {
+ "english_name": "Batak"
},
- "ned": {
- "english_name": "Nde-Gbite"
+ "thl": {
+ "english_name": "Tharu, Dangaura"
},
- "nee": {
- "english_name": "Nêlêmwa-Nixumwak"
+ "oge": {
+ "english_name": "Georgian, Old"
},
- "neb": {
- "english_name": "Toura (Côte d'Ivoire)"
+ "cch": {
+ "english_name": "Atsam"
},
- "nec": {
- "english_name": "Nedebang"
+ "tin": {
+ "english_name": "Tindi"
},
- "nea": {
- "english_name": "Ngad'a, Eastern"
+ "shi": {
+ "english_name": "Tachelhit"
},
- "nez": {
- "english_name": "Nez Perce"
+ "dhw": {
+ "english_name": "Dhanwar (Nepal)"
},
- "nex": {
- "english_name": "Neme"
+ "su": {
+ "english_name": "Sundanese"
},
- "ney": {
- "english_name": "Neyo"
+ "nmd": {
+ "english_name": "Ndumu"
},
- "nev": {
- "english_name": "Nyaheun"
+ "snh": {
+ "english_name": "Shinabo"
},
- "new": {
- "english_name": "Newari"
+ "nrb": {
+ "english_name": "Nara"
},
- "net": {
- "english_name": "Nete"
+ "ymz": {
+ "english_name": "Muzi"
},
- "neu": {
- "english_name": "Neo"
+ "zne": {
+ "english_name": "Zande (individual language)"
},
- "ner": {
- "english_name": "Yahadian"
+ "omw": {
+ "english_name": "Tairora, South"
},
- "nes": {
- "english_name": "Kinnauri, Bhoti"
+ "bvb": {
+ "english_name": "Bube"
},
- "neq": {
- "english_name": "Mixe, North Central"
+ "cpn": {
+ "english_name": "Cherepon"
},
- "mee": {
- "english_name": "Mengen"
+ "lop": {
+ "english_name": "Lopa"
},
- "med": {
- "english_name": "Melpa"
+ "vwa": {
+ "english_name": "Awa (China)"
},
- "mef": {
- "english_name": "Megam"
+ "cqu": {
+ "english_name": "Quechua, Chilean"
},
- "mea": {
- "english_name": "Menka"
+ "jmx": {
+ "english_name": "Mixtec, Western Juxtlahuaca"
},
- "mec": {
- "english_name": "Mara"
+ "xxt": {
+ "english_name": "Tambora"
},
- "meb": {
- "english_name": "Ikobi"
+ "nea": {
+ "english_name": "Ngad'a, Eastern"
},
- "mem": {
- "english_name": "Mangala"
+ "lik": {
+ "english_name": "Lika"
},
- "mel": {
- "english_name": "Melanau, Central"
+ "trx": {
+ "english_name": "Bidayuh, Tringgus-Sembaan"
},
- "meo": {
- "english_name": "Malay, Kedah"
+ "kzg": {
+ "english_name": "Kikai"
},
- "men": {
- "english_name": "Mende (Sierra Leone)"
+ "jii": {
+ "english_name": "Jiiddu"
},
- "mei": {
- "english_name": "Midob"
+ "uhn": {
+ "english_name": "Damal"
},
- "meh": {
- "english_name": "Mixtec, Southwestern Tlaxiaco"
+ "mot": {
+ "english_name": "Barí"
},
- "mek": {
- "english_name": "Mekeo"
+ "gin": {
+ "english_name": "Hinukh"
},
- "mej": {
- "english_name": "Meyah"
+ "otx": {
+ "english_name": "Otomi, Texcatepec"
},
- "meu": {
- "english_name": "Motu"
+ "shm": {
+ "english_name": "Shahrudi"
},
- "met": {
- "english_name": "Mato"
+ "ncz": {
+ "english_name": "Natchez"
},
- "mew": {
- "english_name": "Maaka"
+ "pkp": {
+ "english_name": "Pukapuka"
},
- "mev": {
- "english_name": "Mano"
+ "mxl": {
+ "english_name": "Gbe, Maxi"
},
- "meq": {
- "english_name": "Merey"
+ "juw": {
+ "english_name": "Wãpha"
},
- "mep": {
- "english_name": "Miriwung"
+ "id": {
+ "english_name": "Indonesian",
+ "name": "Indonesian"
},
- "mes": {
- "english_name": "Masmaje"
+ "skn": {
+ "english_name": "Subanon, Kolibugan"
},
- "mer": {
- "english_name": "Meru"
+ "wrk": {
+ "english_name": "Garrwa"
},
- "mey": {
- "english_name": "Hassaniyya"
+ "twd": {
+ "english_name": "Twents"
},
- "mez": {
- "english_name": "Menominee"
+ "csv": {
+ "english_name": "Chin, Sumtu"
},
- "dry": {
- "english_name": "Darai"
+ "brs": {
+ "english_name": "Baras"
},
- "drq": {
- "english_name": "Dura"
+ "ptn": {
+ "english_name": "Patani"
},
- "sjs": {
- "english_name": "Senhaja De Srair"
+ "tft": {
+ "english_name": "Ternate"
},
- "drs": {
- "english_name": "Gedeo"
+ "azj": {
+ "english_name": "Azerbaijani, North"
},
- "drr": {
- "english_name": "Dororo"
+ "ekr": {
+ "english_name": "Yace"
},
- "dru": {
- "english_name": "Rukai"
+ "nyy": {
+ "english_name": "Nyakyusa-Ngonde"
},
- "drt": {
- "english_name": "Drents"
+ "nes": {
+ "english_name": "Kinnauri, Bhoti"
},
- "sjt": {
- "english_name": "Sami, Ter"
+ "wmt": {
+ "english_name": "Walmajarri"
},
- "sju": {
- "english_name": "Sami, Ume"
+ "hax": {
+ "english_name": "Haida, Southern"
},
- "dri": {
- "english_name": "C'lela"
+ "sha": {
+ "english_name": "Shall-Zwall"
},
- "sjk": {
- "english_name": "Sami, Kemi"
+ "bij": {
+ "english_name": "Vaghat-Ya-Bijim-Legeri"
},
- "sjn": {
- "english_name": "Sindarin"
+ "rif": {
+ "english_name": "Tarifit"
},
- "drl": {
- "english_name": "Paakantyi"
+ "yaq": {
+ "english_name": "Yaqui"
},
- "dro": {
- "english_name": "Melanau, Daro-Matu"
+ "sso": {
+ "english_name": "Sissano"
},
- "drn": {
- "english_name": "Damar, West"
+ "naq": {
+ "english_name": "Nama (Namibia)"
},
- "sjb": {
- "english_name": "Sajau Basap"
+ "wbm": {
+ "english_name": "Wa"
},
- "drc": {
- "english_name": "Minderico"
+ "srm": {
+ "english_name": "Saramaccan"
},
- "drb": {
- "english_name": "Dair"
+ "yha": {
+ "english_name": "Buyang, Baha"
},
- "dre": {
- "english_name": "Dolpo"
+ "mbi": {
+ "english_name": "Manobo, Ilianen"
},
- "drd": {
- "english_name": "Darmiya"
+ "zsu": {
+ "english_name": "Sukurum"
},
- "drg": {
- "english_name": "Rungus"
+ "gcf": {
+ "english_name": "Creole French, Guadeloupean"
},
- "sje": {
- "english_name": "Sami, Pite"
+ "kpx": {
+ "english_name": "Koiali, Mountain"
},
- "lww": {
- "english_name": "Lewo"
+ "nkw": {
+ "english_name": "Nkutu"
},
- "lwt": {
- "english_name": "Lewotobi"
+ "bty": {
+ "english_name": "Bobot"
},
- "lwu": {
- "english_name": "Lawu"
+ "kpy": {
+ "english_name": "Koryak"
},
- "lwh": {
- "english_name": "Lachi, White"
+ "tgr": {
+ "english_name": "Tareng"
},
- "lwo": {
- "english_name": "Luwo"
+ "pox": {
+ "english_name": "Polabian"
},
- "lwl": {
- "english_name": "Lawa, Eastern"
+ "uam": {
+ "english_name": "Uamué"
},
- "lwm": {
- "english_name": "Laomian"
+ "lai": {
+ "english_name": "Lambya"
},
- "lwa": {
- "english_name": "Lwalu"
+ "zpw": {
+ "english_name": "Zapotec, Zaniza"
},
- "lwg": {
- "english_name": "Wanga"
+ "ylu": {
+ "english_name": "Aribwaung"
},
- "lwe": {
- "english_name": "Lewo Eleng"
+ "mgd": {
+ "english_name": "Moru"
},
- "kgq": {
- "english_name": "Kamoro"
+ "qve": {
+ "english_name": "Quechua, Eastern Apurímac"
},
- "kgp": {
- "english_name": "Kaingang"
+ "bpd": {
+ "english_name": "Banda-Banda"
},
- "kgs": {
- "english_name": "Kumbainggar"
+ "aem": {
+ "english_name": "Arem"
},
- "kgr": {
- "english_name": "Abun"
+ "cjk": {
+ "english_name": "Chokwe"
},
- "kgu": {
- "english_name": "Kobol"
+ "tew": {
+ "english_name": "Tewa (USA)"
},
- "kgt": {
- "english_name": "Somyev"
+ "rmk": {
+ "english_name": "Romkun"
},
- "kgw": {
- "english_name": "Karon Dori"
+ "ont": {
+ "english_name": "Ontenu"
},
- "kgv": {
- "english_name": "Karas"
+ "hmp": {
+ "english_name": "Hmong, Northern Mashan"
},
- "kgy": {
- "english_name": "Kyerung"
+ "dav": {
+ "english_name": "Taita"
},
- "kgx": {
- "english_name": "Kamaru"
+ "stb": {
+ "english_name": "Subanen, Northern"
},
- "kga": {
- "english_name": "Koyaga"
+ "tpf": {
+ "english_name": "Tarpia"
},
- "kgc": {
- "english_name": "Kasseng"
+ "bxe": {
+ "english_name": "Birale"
},
- "kgb": {
- "english_name": "Kawe"
+ "srn": {
+ "english_name": "Sranan Tongo"
},
- "kge": {
- "english_name": "Komering"
+ "kbd": {
+ "english_name": "Kabardian"
},
- "kgd": {
- "english_name": "Kataang"
+ "lig": {
+ "english_name": "Ligbi"
},
- "kgg": {
- "english_name": "Kusunda"
+ "sor": {
+ "english_name": "Somrai"
},
- "kgf": {
- "english_name": "Kube"
+ "ndy": {
+ "english_name": "Lutos"
},
- "kgi": {
- "english_name": "Selangor Sign Language"
+ "thv": {
+ "english_name": "Tamahaq, Tahaggart"
},
- "kgk": {
- "english_name": "Kaiwá"
+ "aji": {
+ "english_name": "Ajië"
},
- "kgj": {
- "english_name": "Kham, Gamale"
+ "wod": {
+ "english_name": "Wolani"
},
- "kgm": {
- "english_name": "Karipúna"
+ "bwn": {
+ "english_name": "Bunu, Wunai"
},
- "kgl": {
- "english_name": "Kunggari"
+ "blh": {
+ "english_name": "Kuwaa"
},
- "kgo": {
- "english_name": "Krongo"
+ "duc": {
+ "english_name": "Duna"
},
- "kgn": {
- "english_name": "Karingani"
+ "ki": {
+ "english_name": "Kikuyu"
},
- "xhc": {
- "english_name": "Hunnic"
+ "baw": {
+ "english_name": "Bambili-Bambui"
},
- "xha": {
- "english_name": "Harami"
+ "nph": {
+ "english_name": "Naga, Phom"
},
- "xhe": {
- "english_name": "Khetrani"
+ "krr": {
+ "english_name": "Kru'ng 2"
},
- "xhd": {
- "english_name": "Hadrami"
+ "brd": {
+ "english_name": "Baraamu"
},
- "xhr": {
- "english_name": "Hernican"
+ "unm": {
+ "english_name": "Unami"
},
- "xhv": {
- "english_name": "Khua"
+ "ff": {
+ "english_name": "Fulah"
},
- "xhu": {
- "english_name": "Hurrian"
+ "jra": {
+ "english_name": "Jarai"
},
- "xht": {
- "english_name": "Hattic"
+ "aca": {
+ "english_name": "Achagua"
},
- "yga": {
- "english_name": "Malyangapa"
+ "top": {
+ "english_name": "Totonac, Papantla"
},
- "ygm": {
- "english_name": "Yagomi"
+ "zu": {
+ "english_name": "Zulu",
+ "name": "Isi-Zulu"
},
- "ygl": {
- "english_name": "Yangum Gel"
+ "ypb": {
+ "english_name": "Phowa, Labo"
},
- "ygi": {
- "english_name": "Yiningayi"
+ "oar": {
+ "english_name": "Aramaic, Old (up to 700 BCE)"
},
- "ygw": {
- "english_name": "Yagwoia"
+ "mdr": {
+ "english_name": "Mandar"
},
- "ygu": {
- "english_name": "Yugul"
+ "kim": {
+ "english_name": "Karagas"
},
- "ygr": {
- "english_name": "Yagaria"
+ "sjd": {
+ "english_name": "Sami, Kildin"
},
- "ygp": {
- "english_name": "Gepo"
+ "gmm": {
+ "english_name": "Gbaya-Mbodomo"
},
- "jpr": {
- "english_name": "Judeo-Persian"
+ "tee": {
+ "english_name": "Tepehua, Huehuetla"
},
- "wur": {
- "english_name": "Wurrugu"
+ "mcd": {
+ "english_name": "Sharanahua"
},
- "wuv": {
- "english_name": "Wuvulu-Aua"
+ "clm": {
+ "english_name": "Clallam"
},
- "wuu": {
- "english_name": "Chinese, Wu"
+ "spy": {
+ "english_name": "Sabaot"
},
- "wut": {
- "english_name": "Wutung"
+ "url": {
+ "english_name": "Urali"
},
- "wuy": {
- "english_name": "Wauyai"
+ "gax": {
+ "english_name": "Oromo, Borana-Arsi-Guji"
},
- "wux": {
- "english_name": "Wulna"
+ "kqq": {
+ "english_name": "Krenak"
},
- "wub": {
- "english_name": "Wunambal"
+ "hio": {
+ "english_name": "Tsoa"
},
- "wua": {
- "english_name": "Wikngenchera"
+ "mfh": {
+ "english_name": "Matal"
},
- "wud": {
- "english_name": "Wudu"
+ "and": {
+ "english_name": "Ansus"
},
- "wuh": {
- "english_name": "Wutunhua"
+ "nlz": {
+ "english_name": "Nalögo"
},
- "wun": {
- "english_name": "Bungu"
+ "yno": {
+ "english_name": "Yong"
},
- "wum": {
- "english_name": "Wumbvu"
+ "cnc": {
+ "english_name": "Côông"
},
- "wul": {
- "english_name": "Silimo"
+ "puu": {
+ "english_name": "Punu"
},
- "mxz": {
- "english_name": "Masela, Central"
+ "lon": {
+ "english_name": "Lomwe, Malawi"
},
- "mxx": {
- "english_name": "Mahou"
+ "gum": {
+ "english_name": "Guambiano"
},
- "mxy": {
- "english_name": "Mixtec, Southeastern Nochixtlán"
+ "ynd": {
+ "english_name": "Yandruwandha"
},
- "mxv": {
- "english_name": "Mixtec, Metlatónoc"
+ "wlo": {
+ "english_name": "Wolio"
},
- "mxw": {
- "english_name": "Namo"
+ "kcv": {
+ "english_name": "Kete"
},
- "mxt": {
- "english_name": "Mixtec, Jamiltepec"
+ "klc": {
+ "english_name": "Kolbila"
},
- "mxu": {
- "english_name": "Mada (Cameroon)"
+ "jur": {
+ "english_name": "Jurúna"
},
- "mxr": {
- "english_name": "Murik (Malaysia)"
+ "gds": {
+ "english_name": "Ghandruk Sign Language"
},
- "mxs": {
- "english_name": "Mixtec, Huitepec"
+ "odk": {
+ "english_name": "Od"
},
- "mxp": {
- "english_name": "Mixe, Tlahuitoltepec"
+ "spd": {
+ "english_name": "Saep"
},
- "mxq": {
- "english_name": "Mixe, Juquila"
+ "mjm": {
+ "english_name": "Medebur"
},
- "mxn": {
- "english_name": "Moi (Indonesia)"
+ "pye": {
+ "english_name": "Krumen, Pye"
},
- "mxo": {
- "english_name": "Mbowe"
+ "acm": {
+ "english_name": "Arabic, Mesopotamian"
},
- "mxl": {
- "english_name": "Gbe, Maxi"
+ "tpl": {
+ "english_name": "Me'phaa, Tlacoapa"
},
- "mxm": {
- "english_name": "Meramera"
+ "hrz": {
+ "english_name": "Harzani"
},
- "mxj": {
- "english_name": "Miju-Mishmi"
+ "txo": {
+ "english_name": "Toto"
},
- "mxk": {
- "english_name": "Monumbo"
+ "lv": {
+ "english_name": "Latvian",
+ "name": "Latviešu"
},
- "mxh": {
- "english_name": "Mvuba"
+ "ila": {
+ "english_name": "Ile Ape"
},
- "mxi": {
- "english_name": "Mozarabic"
+ "dml": {
+ "english_name": "Dameli"
},
- "mxf": {
- "english_name": "Malgbe"
+ "acu": {
+ "english_name": "Achuar-Shiwiar"
},
- "mxg": {
- "english_name": "Mbangala"
+ "ama": {
+ "english_name": "Amanayé"
},
- "mxd": {
- "english_name": "Modang"
+ "etn": {
+ "english_name": "Eton (Vanuatu)"
},
- "mxe": {
- "english_name": "Mele-Fila"
+ "bpv": {
+ "english_name": "Marind, Bian"
},
- "mxb": {
- "english_name": "Mixtec, Tezoatlán"
+ "apj": {
+ "english_name": "Apache, Jicarilla"
},
- "mxc": {
- "english_name": "Manyika"
+ "ddi": {
+ "english_name": "Goodenough, West"
},
- "mxa": {
- "english_name": "Mixtec, Northwest Oaxaca"
+ "msi": {
+ "english_name": "Malay, Sabah"
},
- "zwa": {
- "english_name": "Zay"
+ "kka": {
+ "english_name": "Kakanda"
},
- "xut": {
- "english_name": "Kuthant"
+ "aot": {
+ "english_name": "A'tong"
},
- "xuu": {
- "english_name": "Kxoe"
+ "saz": {
+ "english_name": "Saurashtra"
},
- "xup": {
- "english_name": "Umpqua, Upper"
+ "kdn": {
+ "english_name": "Kunda"
},
- "xur": {
- "english_name": "Urartian"
+ "uwa": {
+ "english_name": "Kuku-Uwanh"
},
- "isr": {
- "english_name": "Israeli Sign Language"
+ "mfw": {
+ "english_name": "Mulaha"
},
- "isu": {
- "english_name": "Isu (Menchum Division)"
+ "phn": {
+ "english_name": "Phoenician"
},
- "ist": {
- "english_name": "Istriot"
+ "ktw": {
+ "english_name": "Kato"
},
- "isk": {
- "english_name": "Ishkashimi"
+ "dur": {
+ "english_name": "Dii"
},
- "isi": {
- "english_name": "Nkem-Nkum"
+ "kci": {
+ "english_name": "Kamantan"
},
- "ish": {
- "english_name": "Esan"
+ "xdm": {
+ "english_name": "Edomite"
},
- "iso": {
- "english_name": "Isoko"
+ "akm": {
+ "english_name": "Aka-Bo"
},
- "isn": {
- "english_name": "Isanzu"
+ "bvi": {
+ "english_name": "Belanda Viri"
},
- "ism": {
- "english_name": "Masimasi"
+ "hrk": {
+ "english_name": "Haruku"
},
- "isc": {
- "english_name": "Isconahua"
+ "rnl": {
+ "english_name": "Ranglong"
},
- "xum": {
- "english_name": "Umbrian"
+ "mis": {
+ "english_name": "Uncoded languages"
},
- "isa": {
- "english_name": "Isabi"
+ "mcx": {
+ "english_name": "Mpiemo"
},
- "xuo": {
- "english_name": "Kuo"
+ "bav": {
+ "english_name": "Vengo"
},
- "isg": {
- "english_name": "Irish Sign Language"
+ "tdb": {
+ "english_name": "Panchpargania"
},
- "ise": {
- "english_name": "Italian Sign Language"
+ "ugy": {
+ "english_name": "Uruguayan Sign Language"
},
- "isd": {
- "english_name": "Isnag"
+ "aab": {
+ "english_name": "Alumu-Tesu"
},
- "jjr": {
- "english_name": "Bankal"
+ "dux": {
+ "english_name": "Duungooma"
},
- "ukq": {
- "english_name": "Ukwa"
+ "mjk": {
+ "english_name": "Matukar"
},
- "gyg": {
- "english_name": "Gbayi"
+ "aqc": {
+ "english_name": "Archi"
},
- "gyf": {
- "english_name": "Gungabula"
+ "mpk": {
+ "english_name": "Mbara (Chad)"
},
- "gye": {
- "english_name": "Gyem"
+ "rub": {
+ "english_name": "Gungu"
},
- "gyd": {
- "english_name": "Kayardild"
+ "ghk": {
+ "english_name": "Karen, Geko"
},
- "gyb": {
- "english_name": "Garus"
+ "duf": {
+ "english_name": "Dumbea"
},
- "gya": {
- "english_name": "Gbaya, Northwest"
+ "mrj": {
+ "english_name": "Mari, Western"
},
- "gyn": {
- "english_name": "Creole English, Guyanese"
+ "bzv": {
+ "english_name": "Naami"
},
- "gym": {
- "english_name": "Ngäbere"
+ "kip": {
+ "english_name": "Kham, Sheshi"
},
- "gyl": {
- "english_name": "Gayil"
+ "pih": {
+ "english_name": "Pitcairn-Norfolk"
},
- "gyi": {
- "english_name": "Gyele"
+ "jaa": {
+ "english_name": "Jamamadí"
},
- "gyr": {
- "english_name": "Guarayu"
+ "agq": {
+ "english_name": "Aghem"
},
- "gyy": {
- "english_name": "Gunya"
+ "hra": {
+ "english_name": "Hrangkhol"
},
- "tyl": {
- "english_name": "Thu Lao"
+ "sed": {
+ "english_name": "Sedang"
},
- "tyn": {
- "english_name": "Kombai"
+ "wao": {
+ "english_name": "Wappo"
},
- "tyh": {
- "english_name": "O'du"
+ "bqd": {
+ "english_name": "Bung"
},
- "tyi": {
- "english_name": "Teke-Tsaayi"
+ "abo": {
+ "english_name": "Abon"
},
- "tyj": {
- "english_name": "Tai Do"
+ "rgr": {
+ "english_name": "Resígaro"
},
- "tye": {
- "english_name": "Kyanga"
+ "xok": {
+ "english_name": "Xokleng"
},
- "tya": {
- "english_name": "Tauya"
+ "skz": {
+ "english_name": "Sekar"
},
- "tyx": {
- "english_name": "Teke-Tyee"
+ "lkb": {
+ "english_name": "Kabras"
},
- "tyz": {
- "english_name": "Tày"
+ "sml": {
+ "english_name": "Sama, Central"
},
- "tyt": {
- "english_name": "Tày Tac"
+ "slc": {
+ "english_name": "Sáliba"
},
- "tyu": {
- "english_name": "Kua"
+ "xbd": {
+ "english_name": "Bindal"
},
- "tyv": {
- "english_name": "Tuvinian"
+ "ynq": {
+ "english_name": "Yendang"
},
- "typ": {
- "english_name": "Thaypan"
+ "tyh": {
+ "english_name": "O'du"
},
- "tyr": {
- "english_name": "Tai Daeng"
+ "nom": {
+ "english_name": "Nocamán"
},
- "tys": {
- "english_name": "Tày Sa Pa"
+ "knb": {
+ "english_name": "Kalinga, Lubuagan"
},
- "dok": {
- "english_name": "Dondo"
+ "tds": {
+ "english_name": "Doutai"
},
- "doh": {
- "english_name": "Dong"
+ "ymc": {
+ "english_name": "Muji, Southern"
},
- "doi": {
- "english_name": "Dogri (macrolanguage)"
+ "mcs": {
+ "english_name": "Mambai"
},
- "don": {
- "english_name": "Toura (Papua New Guinea)"
+ "wss": {
+ "english_name": "Wasa"
},
- "doo": {
- "english_name": "Dongo"
+ "rmw": {
+ "english_name": "Romani, Welsh"
},
- "dol": {
- "english_name": "Doso"
+ "gft": {
+ "english_name": "Gafat"
},
- "dob": {
- "english_name": "Dobu"
+ "tvt": {
+ "english_name": "Naga, Tutsa"
},
- "doc": {
- "english_name": "Dong, Northern"
+ "apg": {
+ "english_name": "Ampanang"
},
- "doa": {
- "english_name": "Dom"
+ "taw": {
+ "english_name": "Tai"
},
- "dof": {
- "english_name": "Domu"
+ "so": {
+ "english_name": "Somali"
},
- "doe": {
- "english_name": "Doe"
+ "tr": {
+ "english_name": "Turkish",
+ "name": "Türkçe"
},
- "doz": {
- "english_name": "Dorze"
+ "nok": {
+ "english_name": "Nooksack"
},
- "dox": {
- "english_name": "Bussa"
+ "wih": {
+ "english_name": "Wik-Me'anha"
},
- "doy": {
- "english_name": "Dompo"
+ "kog": {
+ "english_name": "Cogui"
},
- "dor": {
- "english_name": "Dori'o"
+ "mji": {
+ "english_name": "Kim Mun"
},
- "dos": {
- "english_name": "Dogosé"
+ "kmg": {
+ "english_name": "Kâte"
},
- "dop": {
- "english_name": "Lukpa"
+ "bck": {
+ "english_name": "Bunaba"
},
- "doq": {
- "english_name": "Dominican Sign Language"
+ "rmn": {
+ "english_name": "Romani, Balkan"
},
- "dov": {
- "english_name": "Dombe"
+ "sgg": {
+ "english_name": "Swiss-German Sign Language"
},
- "dow": {
- "english_name": "Doyayo"
+ "sbp": {
+ "english_name": "Sangu (Tanzania)"
},
- "dot": {
- "english_name": "Dass"
+ "yum": {
+ "english_name": "Quechan"
},
- "bav": {
- "english_name": "Vengo"
+ "bjo": {
+ "english_name": "Banda, Mid-Southern"
},
- "baw": {
- "english_name": "Bambili-Bambui"
+ "jid": {
+ "english_name": "Bu"
},
- "bau": {
- "english_name": "Bada (Nigeria)"
+ "apo": {
+ "english_name": "Ambul"
},
- "bar": {
- "english_name": "Bavarian"
+ "kyl": {
+ "english_name": "Kalapuya"
},
- "bas": {
- "english_name": "Basa (Cameroon)"
+ "omr": {
+ "english_name": "Marathi, Old"
},
- "bap": {
- "english_name": "Bantawa"
+ "bsx": {
+ "english_name": "Yangkam"
},
- "bax": {
- "english_name": "Bamun"
+ "lni": {
+ "english_name": "Daantanai'"
},
- "bay": {
- "english_name": "Batuley"
+ "kqp": {
+ "english_name": "Kimré"
},
- "baf": {
- "english_name": "Nubaca"
+ "sua": {
+ "english_name": "Sulka"
},
- "bag": {
- "english_name": "Tuki"
+ "mbp": {
+ "english_name": "Malayo"
},
- "bae": {
- "english_name": "Baré"
+ "tsi": {
+ "english_name": "Tsimshian"
},
- "bab": {
- "english_name": "Bainouk-Gunyuño"
+ "klq": {
+ "english_name": "Rumu"
},
- "bac": {
- "english_name": "Badui"
+ "eaa": {
+ "english_name": "Karenggapa"
},
- "baa": {
- "english_name": "Babatana"
+ "xhd": {
+ "english_name": "Hadrami"
},
- "ban": {
- "english_name": "Balinese"
+ "kcm": {
+ "english_name": "Gula (Central African Republic)"
},
- "bao": {
- "english_name": "Waimaha"
+ "ago": {
+ "english_name": "Tainae"
},
- "bal": {
- "english_name": "Baluchi"
+ "lus": {
+ "english_name": "Lushai"
},
- "baj": {
- "english_name": "Barakai"
+ "xtv": {
+ "english_name": "Thawa"
},
- "bah": {
- "english_name": "Creole English, Bahamas"
+ "saj": {
+ "english_name": "Sahu"
},
- "omc": {
- "english_name": "Mochica"
+ "all": {
+ "english_name": "Allar"
},
- "omb": {
- "english_name": "Ambae, East"
+ "tqn": {
+ "english_name": "Tenino"
},
- "oma": {
- "english_name": "Omaha-Ponca"
+ "hac": {
+ "english_name": "Gurani"
},
- "omg": {
- "english_name": "Omagua"
+ "tay": {
+ "english_name": "Atayal"
},
- "ome": {
- "english_name": "Omejes"
+ "zaf": {
+ "english_name": "Zapotec, Ayoquesco"
},
- "omk": {
- "english_name": "Omok"
+ "llb": {
+ "english_name": "Lolo"
},
- "omi": {
- "english_name": "Omi"
+ "aut": {
+ "english_name": "Austral"
},
- "omo": {
- "english_name": "Utarmbung"
+ "ngx": {
+ "english_name": "Nggwahyi"
},
- "omn": {
- "english_name": "Minoan"
+ "emb": {
+ "english_name": "Embaloh"
},
- "oml": {
- "english_name": "Ombo"
+ "ksd": {
+ "english_name": "Kuanua"
},
- "omr": {
- "english_name": "Marathi, Old"
+ "ppm": {
+ "english_name": "Papuma"
},
- "omp": {
- "english_name": "Manipuri, Old"
+ "akk": {
+ "english_name": "Akkadian"
},
- "omw": {
- "english_name": "Tairora, South"
+ "pxm": {
+ "english_name": "Mixe, Quetzaltepec"
},
- "omu": {
- "english_name": "Omurano"
+ "tbi": {
+ "english_name": "Gaam"
},
- "omt": {
- "english_name": "Omotik"
+ "adw": {
+ "english_name": "Amundava"
},
- "omx": {
- "english_name": "Mon, Old"
+ "smw": {
+ "english_name": "Sumbawa"
},
- "unr": {
- "english_name": "Mundari"
+ "pry": {
+ "english_name": "Pray 3"
},
- "unu": {
- "english_name": "Unubahe"
+ "nxn": {
+ "english_name": "Ngawun"
},
- "unx": {
- "english_name": "Munda"
+ "udu": {
+ "english_name": "Uduk"
},
- "unz": {
- "english_name": "Kaili, Unde"
+ "bca": {
+ "english_name": "Bai, Central"
},
- "fng": {
- "english_name": "Fanagalo"
+ "ktl": {
+ "english_name": "Koroshi"
},
- "una": {
- "english_name": "Watut, North"
+ "mic": {
+ "english_name": "Mi'kmaq"
},
- "und": {
- "english_name": "Undetermined"
+ "djw": {
+ "english_name": "Djawi"
},
- "une": {
- "english_name": "Uneme"
+ "pwm": {
+ "english_name": "Molbog"
},
- "ung": {
- "english_name": "Ngarinyin"
+ "spv": {
+ "english_name": "Sambalpuri"
},
- "unk": {
- "english_name": "Enawené-Nawé"
+ "chx": {
+ "english_name": "Chantyal"
},
- "unm": {
- "english_name": "Unami"
+ "cog": {
+ "english_name": "Chong"
},
- "fni": {
- "english_name": "Fania"
+ "mzd": {
+ "english_name": "Malimba"
},
- "scg": {
- "english_name": "Sanggau"
+ "hsh": {
+ "english_name": "Hungarian Sign Language"
},
- "mco": {
- "english_name": "Mixe, Coatlán"
+ "myk": {
+ "english_name": "Senoufo, Mamara"
},
- "mcn": {
- "english_name": "Masana"
+ "vig": {
+ "english_name": "Viemo"
},
- "mcm": {
- "english_name": "Creole Portuguese, Malaccan"
+ "hub": {
+ "english_name": "Huambisa"
},
- "mcl": {
- "english_name": "Macaguaje"
+ "lln": {
+ "english_name": "Lele (Chad)"
},
- "mck": {
- "english_name": "Mbunda"
+ "fuu": {
+ "english_name": "Furu"
},
- "mcj": {
- "english_name": "Mvanip"
+ "zkp": {
+ "english_name": "Kaingáng, São Paulo"
},
"mci": {
"english_name": "Mese"
},
- "gli": {
- "english_name": "Guliguli"
+ "bmi": {
+ "english_name": "Bagirmi"
},
- "mcg": {
- "english_name": "Mapoyo"
+ "dov": {
+ "english_name": "Dombe"
},
- "mcf": {
- "english_name": "Matsés"
+ "kih": {
+ "english_name": "Kilmeri"
},
- "mce": {
- "english_name": "Mixtec, Itundujia"
+ "cyb": {
+ "english_name": "Cayubaba"
},
- "mcd": {
- "english_name": "Sharanahua"
+ "ney": {
+ "english_name": "Neyo"
},
- "mcc": {
- "english_name": "Bitur"
+ "sav": {
+ "english_name": "Saafi-Saafi"
},
- "glj": {
- "english_name": "Gula Iro"
+ "zay": {
+ "english_name": "Zayse-Zergulla"
},
- "mca": {
- "english_name": "Maca"
+ "kdt": {
+ "english_name": "Kuy"
},
- "glk": {
- "english_name": "Gilaki"
+ "isi": {
+ "english_name": "Nkem-Nkum"
},
- "mcz": {
- "english_name": "Mawan"
+ "mtu": {
+ "english_name": "Mixtec, Tututepec"
},
- "mcy": {
- "english_name": "Watut, South"
+ "ywu": {
+ "english_name": "Nasu, Wumeng"
},
- "mcx": {
- "english_name": "Mpiemo"
+ "nmo": {
+ "english_name": "Naga, Moyon"
},
- "mcw": {
- "english_name": "Mawa (Chad)"
+ "fax": {
+ "english_name": "Fala"
},
- "mcv": {
- "english_name": "Minanibai"
+ "yvt": {
+ "english_name": "Yavitero"
},
- "mcu": {
- "english_name": "Mambila, Cameroon"
+ "wax": {
+ "english_name": "Watam"
},
- "mct": {
- "english_name": "Mengisa"
+ "goe": {
+ "english_name": "Gongduk"
},
- "mcs": {
- "english_name": "Mambai"
+ "jun": {
+ "english_name": "Juang"
},
- "mcr": {
- "english_name": "Menya"
+ "jam": {
+ "english_name": "Creole English, Jamaican"
},
- "mcq": {
- "english_name": "Ese"
+ "bno": {
+ "english_name": "Bantoanon"
},
- "mcp": {
- "english_name": "Makaa"
+ "yip": {
+ "english_name": "Pholo"
},
- "slx": {
- "english_name": "Salampasu"
+ "otq": {
+ "english_name": "Otomi, Querétaro"
},
- "sly": {
- "english_name": "Selayar"
+ "nms": {
+ "english_name": "Letemboi"
},
- "slz": {
- "english_name": "Ma'ya"
+ "soz": {
+ "english_name": "Temi"
},
- "slt": {
- "english_name": "Sila"
+ "klk": {
+ "english_name": "Kono (Nigeria)"
},
- "slu": {
- "english_name": "Selaru"
+ "neh": {
+ "english_name": "Nyenkha"
},
- "slw": {
- "english_name": "Sialum"
+ "mqk": {
+ "english_name": "Manobo, Rajah Kabunsuwan"
},
- "slp": {
- "english_name": "Lamaholot"
+ "prw": {
+ "english_name": "Parawen"
},
- "slq": {
- "english_name": "Salchuq"
+ "kma": {
+ "english_name": "Konni"
},
- "slr": {
- "english_name": "Salar"
+ "xsv": {
+ "english_name": "Sudovian"
},
- "sls": {
- "english_name": "Singapore Sign Language"
+ "mwt": {
+ "english_name": "Moken"
},
- "sll": {
- "english_name": "Salt-Yui"
+ "ayb": {
+ "english_name": "Gbe, Ayizo"
},
- "slm": {
- "english_name": "Sama, Pangutaran"
+ "ulu": {
+ "english_name": "Uma' Lung"
},
- "sln": {
- "english_name": "Salinan"
+ "uzs": {
+ "english_name": "Uzbek, Southern"
},
- "slh": {
- "english_name": "Salish, Southern Puget Sound"
+ "ail": {
+ "english_name": "Aimele"
},
- "sli": {
- "english_name": "Silesian, Lower"
+ "xyt": {
+ "english_name": "Mayi-Thakurti"
},
- "slj": {
- "english_name": "Salumá"
+ "yut": {
+ "english_name": "Yopno"
},
- "sld": {
- "english_name": "Sissala"
+ "bwj": {
+ "english_name": "Bwamu, Láá Láá"
},
- "sle": {
- "english_name": "Sholaga"
+ "jal": {
+ "english_name": "Yalahatan"
},
- "slf": {
- "english_name": "Swiss-Italian Sign Language"
+ "trb": {
+ "english_name": "Terebu"
},
- "slg": {
- "english_name": "Selungai Murut"
+ "oj": {
+ "english_name": "Ojibwa"
},
- "slc": {
- "english_name": "Sáliba"
+ "yuj": {
+ "english_name": "Karkar-Yuri"
},
- "glc": {
- "english_name": "Bon Gula"
+ "vic": {
+ "english_name": "Creole English, Virgin Islands"
},
- "gld": {
- "english_name": "Nanai"
+ "ign": {
+ "english_name": "Ignaciano"
},
- "is": {
- "name": "Íslenska",
- "english_name": "Icelandic"
+ "ksz": {
+ "english_name": "Kodaku"
},
- "iu": {
- "english_name": "Inuktitut"
+ "kmr": {
+ "english_name": "Kurdish, Northern"
},
- "it": {
- "name": "Italiano",
- "english_name": "Italian"
+ "bsb": {
+ "english_name": "Bisaya, Brunei"
},
- "ii": {
- "english_name": "Yi, Sichuan"
+ "lot": {
+ "english_name": "Otuho"
},
- "ik": {
- "english_name": "Inupiaq"
+ "chp": {
+ "english_name": "Chipewyan"
},
- "io": {
- "english_name": "Ido"
+ "mps": {
+ "english_name": "Dadibi"
},
- "ia": {
- "english_name": "Interlingua (International Auxiliary Language Association)"
+ "kkx": {
+ "english_name": "Kohin"
},
- "ie": {
- "english_name": "Interlingue"
+ "icr": {
+ "english_name": "Creole English, Islander"
},
- "id": {
- "name": "Indonesian",
- "english_name": "Indonesian"
+ "bzq": {
+ "english_name": "Buli (Indonesia)"
},
- "ig": {
- "english_name": "Igbo"
+ "dnk": {
+ "english_name": "Dengka"
+ },
+ "nxq": {
+ "english_name": "Naxi"
+ },
+ "ttf": {
+ "english_name": "Tuotomb"
+ },
+ "dad": {
+ "english_name": "Marik"
+ },
+ "mqp": {
+ "english_name": "Manipa"
+ },
+ "zpe": {
+ "english_name": "Zapotec, Petapa"
+ },
+ "myz": {
+ "english_name": "Mandaic, Classical"
+ },
+ "ypg": {
+ "english_name": "Phola"
+ },
+ "emm": {
+ "english_name": "Mamulique"
+ },
+ "hur": {
+ "english_name": "Halkomelem"
},
"gly": {
"english_name": "Gule"
},
- "sav": {
- "english_name": "Saafi-Saafi"
+ "pnr": {
+ "english_name": "Panim"
},
- "swr": {
- "english_name": "Saweru"
+ "cnk": {
+ "english_name": "Chin, Khumi"
},
- "wdu": {
- "english_name": "Wadjigu"
+ "kmd": {
+ "english_name": "Kalinga, Majukayang"
},
- "kiz": {
- "english_name": "Kisi"
+ "alu": {
+ "english_name": "'Are'are"
},
- "kiy": {
- "english_name": "Kirikiri"
+ "brj": {
+ "english_name": "Bieria"
},
- "kix": {
- "english_name": "Naga, Khiamniungan"
+ "kjm": {
+ "english_name": "Kháng"
},
- "kis": {
- "english_name": "Kis"
+ "crj": {
+ "english_name": "Cree, Southern East"
},
- "kiq": {
- "english_name": "Kosadle"
+ "jmr": {
+ "english_name": "Kamara"
},
- "kip": {
- "english_name": "Kham, Sheshi"
+ "msl": {
+ "english_name": "Molof"
},
- "kiw": {
- "english_name": "Kiwai, Northeast"
+ "sda": {
+ "english_name": "Toraja-Sa'dan"
},
- "kiv": {
- "english_name": "Kimbu"
+ "wlc": {
+ "english_name": "Comorian, Mwali"
},
- "kiu": {
- "english_name": "Kirmanjki (individual language)"
+ "rsb": {
+ "english_name": "Romano-Serbian"
},
- "kit": {
- "english_name": "Agob"
+ "cim": {
+ "english_name": "Cimbrian"
},
- "kij": {
- "english_name": "Kilivila"
+ "xmu": {
+ "english_name": "Kamu"
},
- "kii": {
- "english_name": "Kitsai"
+ "mdh": {
+ "english_name": "Maguindanaon"
},
- "kih": {
- "english_name": "Kilmeri"
+ "hod": {
+ "english_name": "Holma"
},
- "kio": {
- "english_name": "Kiowa"
+ "mtf": {
+ "english_name": "Murik (Papua New Guinea)"
},
- "kim": {
- "english_name": "Karagas"
+ "szd": {
+ "english_name": "Seru"
},
- "kil": {
- "english_name": "Kariya"
+ "bww": {
+ "english_name": "Bwa"
},
- "kic": {
- "english_name": "Kickapoo"
+ "arw": {
+ "english_name": "Arawak"
},
- "kib": {
- "english_name": "Koalib"
+ "tdh": {
+ "english_name": "Thulung"
},
- "kia": {
- "english_name": "Kim"
+ "dgk": {
+ "english_name": "Dagba"
},
- "kig": {
- "english_name": "Kimaama"
+ "xnh": {
+ "english_name": "Kuanhua"
},
- "kif": {
- "english_name": "Kham, Eastern Parbate"
+ "ppi": {
+ "english_name": "Paipai"
},
- "kie": {
- "english_name": "Kibet"
+ "kxy": {
+ "english_name": "Kayong"
},
- "kid": {
- "english_name": "Koshin"
+ "io": {
+ "english_name": "Ido"
},
- "xjb": {
- "english_name": "Minjungbal"
+ "xgd": {
+ "english_name": "Gudang"
},
- "glu": {
- "english_name": "Gula (Chad)"
+ "bau": {
+ "english_name": "Bada (Nigeria)"
},
- "xjt": {
- "english_name": "Jaitmatang"
+ "sdb": {
+ "english_name": "Shabak"
},
- "glw": {
- "english_name": "Glavda"
+ "lcq": {
+ "english_name": "Luhu"
},
- "yei": {
- "english_name": "Yeni"
+ "otu": {
+ "english_name": "Otuke"
},
- "yej": {
- "english_name": "Yevanic"
+ "mjc": {
+ "english_name": "Mixtec, San Juan Colorado"
},
- "yel": {
- "english_name": "Yela"
+ "kdq": {
+ "english_name": "Koch"
},
- "yea": {
- "english_name": "Ravula"
+ "pat": {
+ "english_name": "Papitalai"
},
- "yec": {
- "english_name": "Yeniche"
+ "abr": {
+ "english_name": "Abron"
},
- "yee": {
- "english_name": "Yimas"
+ "ili": {
+ "english_name": "Ili Turki"
},
- "yey": {
- "english_name": "Yeyi"
+ "nnn": {
+ "english_name": "Ngete"
},
- "yes": {
- "english_name": "Nyankpa"
+ "khw": {
+ "english_name": "Khowar"
},
- "yer": {
- "english_name": "Tarok"
+ "vml": {
+ "english_name": "Malgana"
},
- "yeu": {
- "english_name": "Yerukula"
+ "gal": {
+ "english_name": "Galolen"
},
- "yet": {
- "english_name": "Yetfa"
+ "auz": {
+ "english_name": "Arabic, Uzbeki"
},
- "yev": {
- "english_name": "Yapunda"
+ "jaj": {
+ "english_name": "Zazao"
},
- "opt": {
- "english_name": "Opata"
+ "onw": {
+ "english_name": "Nubian, Old"
},
- "opy": {
- "english_name": "Ofayé"
+ "bvc": {
+ "english_name": "Baelelea"
},
- "opa": {
- "english_name": "Okpamheri"
+ "sov": {
+ "english_name": "Sonsorol"
},
- "opm": {
- "english_name": "Oksapmin"
+ "zun": {
+ "english_name": "Zuni"
},
- "opo": {
- "english_name": "Opao"
+ "qxn": {
+ "english_name": "Quechua, Northern Conchucos Ancash"
},
- "opk": {
- "english_name": "Kopkaka"
+ "ghs": {
+ "english_name": "Guhu-Samane"
},
- "www": {
- "english_name": "Wawa"
+ "uma": {
+ "english_name": "Umatilla"
},
- "wwr": {
- "english_name": "Warrwa"
+ "crm": {
+ "english_name": "Cree, Moose"
},
- "wwa": {
- "english_name": "Waama"
+ "wsu": {
+ "english_name": "Wasu"
},
- "wwb": {
- "english_name": "Wakabunga"
+ "cv": {
+ "english_name": "Chuvash"
},
- "wwo": {
- "english_name": "Wetamut"
+ "kdj": {
+ "english_name": "Karamojong"
},
- "zuy": {
- "english_name": "Zumaya"
+ "auc": {
+ "english_name": "Waorani"
},
- "zua": {
- "english_name": "Zeem"
+ "ysn": {
+ "english_name": "Sani"
},
- "zuh": {
- "english_name": "Tokano"
+ "avu": {
+ "english_name": "Avokaya"
},
- "zun": {
- "english_name": "Zuni"
+ "muh": {
+ "english_name": "Mündü"
},
- "zum": {
- "english_name": "Kumzari"
+ "sek": {
+ "english_name": "Sekani"
},
- "iqu": {
- "english_name": "Iquito"
+ "fam": {
+ "english_name": "Fam"
},
- "xww": {
- "english_name": "Wemba Wemba"
+ "aie": {
+ "english_name": "Amara"
},
- "iqw": {
- "english_name": "Ikwo"
+ "xgf": {
+ "english_name": "Gabrielino-Fernandeño"
},
- "xwr": {
- "english_name": "Kwerba Mamberamo"
+ "ymn": {
+ "english_name": "Yamna"
},
- "xwo": {
- "english_name": "Oirat, Written"
+ "mhs": {
+ "english_name": "Buru (Indonesia)"
},
- "xwl": {
- "english_name": "Gbe, Western Xwla"
+ "xgb": {
+ "english_name": "Gbin"
},
- "xwj": {
- "english_name": "Wajuk"
+ "hug": {
+ "english_name": "Huachipaeri"
},
- "xwk": {
- "english_name": "Wangkumara"
+ "tbr": {
+ "english_name": "Tumtum"
},
- "xwg": {
- "english_name": "Kwegu"
+ "yan": {
+ "english_name": "Mayangna"
},
- "xwd": {
- "english_name": "Wadi Wadi"
+ "pnl": {
+ "english_name": "Paleni"
},
- "xwe": {
- "english_name": "Gbe, Xwela"
+ "yli": {
+ "english_name": "Yali, Angguruk"
},
- "xwc": {
- "english_name": "Woccon"
+ "ity": {
+ "english_name": "Itneg, Moyadan"
},
- "xwa": {
- "english_name": "Kwaza"
+ "kmh": {
+ "english_name": "Kalam"
},
- "rnp": {
- "english_name": "Rongpo"
+ "sgk": {
+ "english_name": "Sangkong"
},
- "fse": {
- "english_name": "Finnish Sign Language"
+ "inl": {
+ "english_name": "Indonesian Sign Language"
},
- "fsl": {
- "english_name": "French Sign Language"
+ "bwu": {
+ "english_name": "Buli (Ghana)"
},
- "fss": {
- "english_name": "Finland-Swedish Sign Language"
+ "ame": {
+ "english_name": "Yanesha'"
},
- "tnu": {
- "english_name": "Tay Khang"
+ "bmq": {
+ "english_name": "Bomu"
},
- "tnv": {
- "english_name": "Tangchangya"
+ "laq": {
+ "english_name": "Qabiao"
},
- "dil": {
- "english_name": "Dilling"
+ "soe": {
+ "english_name": "Songomeno"
},
- "dim": {
- "english_name": "Dime"
+ "alh": {
+ "english_name": "Alawa"
},
- "din": {
- "english_name": "Dinka"
+ "bal": {
+ "english_name": "Baluchi"
},
- "dio": {
- "english_name": "Dibo"
+ "noy": {
+ "english_name": "Noy"
},
- "dih": {
- "english_name": "Kumiai"
+ "wya": {
+ "english_name": "Wyandot"
},
- "dii": {
- "english_name": "Dimbong"
+ "grq": {
+ "english_name": "Gorovu"
},
- "dij": {
- "english_name": "Dai"
+ "rol": {
+ "english_name": "Romblomanon"
},
- "dik": {
- "english_name": "Dinka, Southwestern"
+ "env": {
+ "english_name": "Enwan (Edu State)"
},
- "jhi": {
- "english_name": "Jehai"
+ "vkt": {
+ "english_name": "Malay, Tenggarong Kutai"
},
- "dif": {
- "english_name": "Dieri"
+ "xrm": {
+ "english_name": "Armazic"
},
- "dig": {
- "english_name": "Digo"
+ "kfn": {
+ "english_name": "Kuk"
},
- "dia": {
- "english_name": "Dia"
+ "mcp": {
+ "english_name": "Makaa"
},
- "dib": {
- "english_name": "Dinka, South Central"
+ "hea": {
+ "english_name": "Miao, Northern Qiandong"
},
- "dic": {
- "english_name": "Dida, Lakota"
+ "yna": {
+ "english_name": "Aluo"
},
- "jhs": {
- "english_name": "Jhankot Sign Language"
+ "tmm": {
+ "english_name": "Tai Thanh"
},
- "dix": {
- "english_name": "Dixon Reef"
+ "ifb": {
+ "english_name": "Ifugao, Batad"
},
- "diy": {
- "english_name": "Diuwe"
+ "czk": {
+ "english_name": "Knaanic"
},
- "diz": {
- "english_name": "Ding"
+ "hdn": {
+ "english_name": "Haida, Northern"
},
- "dit": {
- "english_name": "Dirari"
+ "emi": {
+ "english_name": "Mussau-Emira"
},
- "diu": {
- "english_name": "Diriku"
+ "cbs": {
+ "english_name": "Cashinahua"
},
- "diw": {
- "english_name": "Dinka, Northwestern"
+ "lme": {
+ "english_name": "Pévé"
},
- "dip": {
- "english_name": "Dinka, Northeastern"
+ "xbn": {
+ "english_name": "Kenaboi"
},
- "diq": {
- "english_name": "Dimli (individual language)"
+ "gnr": {
+ "english_name": "Gureng Gureng"
},
- "dir": {
- "english_name": "Dirim"
+ "amn": {
+ "english_name": "Amanab"
},
- "dis": {
- "english_name": "Dimasa"
+ "nhb": {
+ "english_name": "Beng"
},
- "ruh": {
- "english_name": "Ruga"
+ "aro": {
+ "english_name": "Araona"
},
- "rub": {
- "english_name": "Gungu"
+ "tgf": {
+ "english_name": "Chalikha"
},
- "box": {
- "english_name": "Buamu"
+ "huf": {
+ "english_name": "Humene"
},
- "boy": {
- "english_name": "Bodo (Central African Republic)"
+ "kyo": {
+ "english_name": "Kelon"
},
- "hbo": {
- "english_name": "Hebrew, Ancient"
+ "nmj": {
+ "english_name": "Ngombe (Central African Republic)"
},
- "hbn": {
- "english_name": "Heiban"
+ "hke": {
+ "english_name": "Hunde"
},
- "bop": {
- "english_name": "Bonkiman"
+ "swc": {
+ "english_name": "Swahili, Congo"
},
- "boq": {
- "english_name": "Bogaya"
+ "idt": {
+ "english_name": "Idaté"
},
- "bor": {
- "english_name": "Borôro"
+ "ttl": {
+ "english_name": "Totela"
},
- "bot": {
- "english_name": "Bongo"
+ "mdt": {
+ "english_name": "Mbere"
},
- "bou": {
- "english_name": "Bondei"
+ "add": {
+ "english_name": "Dzodinka"
},
- "bov": {
- "english_name": "Tuwuli"
+ "twf": {
+ "english_name": "Tiwa, Northern"
},
- "bow": {
- "english_name": "Rema"
+ "wah": {
+ "english_name": "Watubela"
},
- "boh": {
- "english_name": "Boma"
+ "tci": {
+ "english_name": "Wára"
},
- "boi": {
- "english_name": "Barbareño"
+ "dao": {
+ "english_name": "Chin, Daai"
},
- "boj": {
- "english_name": "Anjam"
+ "blf": {
+ "english_name": "Buol"
},
- "bok": {
- "english_name": "Bonjo"
+ "cdn": {
+ "english_name": "Chaudangsi"
},
- "bol": {
- "english_name": "Bole"
+ "ppk": {
+ "english_name": "Uma"
},
- "bom": {
- "english_name": "Berom"
+ "mvf": {
+ "english_name": "Mongolian, Peripheral"
},
- "bon": {
- "english_name": "Bine"
+ "mla": {
+ "english_name": "Malo"
},
- "boo": {
- "english_name": "Bozo, Tiemacèwè"
+ "lwu": {
+ "english_name": "Lawu"
},
- "hbu": {
- "english_name": "Habu"
+ "aza": {
+ "english_name": "Azha"
},
- "boa": {
- "english_name": "Bora"
+ "dgl": {
+ "english_name": "Andaandi"
},
- "bob": {
- "english_name": "Aweer"
+ "kly": {
+ "english_name": "Kalao"
},
- "boe": {
- "english_name": "Mundabli"
+ "mxk": {
+ "english_name": "Monumbo"
},
- "bof": {
- "english_name": "Bolon"
+ "nuy": {
+ "english_name": "Nunggubuyu"
},
- "bog": {
- "english_name": "Bamako Sign Language"
+ "tnr": {
+ "english_name": "Ménik"
},
- "qvn": {
- "english_name": "Quechua, North Junín"
+ "pmw": {
+ "english_name": "Miwok, Plains"
},
- "qvo": {
- "english_name": "Quechua, Napo Lowland"
+ "lmy": {
+ "english_name": "Lamboya"
},
- "ayl": {
- "english_name": "Arabic, Libyan"
+ "ps": {
+ "english_name": "Pushto",
+ "name": "Pushto"
},
- "ayo": {
- "english_name": "Ayoreo"
+ "tjn": {
+ "english_name": "Tonjon"
},
- "ayn": {
- "english_name": "Arabic, Sanaani"
+ "pps": {
+ "english_name": "Popoloca, San Luís Temalacayuca"
},
- "ayi": {
- "english_name": "Leyigha"
+ "slj": {
+ "english_name": "Salumá"
},
- "ayh": {
- "english_name": "Arabic, Hadrami"
+ "xkj": {
+ "english_name": "Kajali"
},
- "ayk": {
- "english_name": "Akuku"
+ "aun": {
+ "english_name": "One, Molmo"
},
- "aye": {
- "english_name": "Ayere"
+ "coa": {
+ "english_name": "Malay, Cocos Islands"
},
- "ayd": {
- "english_name": "Ayabadhu"
+ "cjo": {
+ "english_name": "Ashéninka Pajonal"
},
- "ayg": {
- "english_name": "Ginyanga"
+ "anc": {
+ "english_name": "Ngas"
},
- "aya": {
- "english_name": "Awar"
+ "lnl": {
+ "english_name": "Banda, South Central"
},
- "ayc": {
- "english_name": "Aymara, Southern"
+ "ans": {
+ "english_name": "Anserma"
},
- "ayb": {
- "english_name": "Gbe, Ayizo"
+ "wer": {
+ "english_name": "Weri"
},
- "ayy": {
- "english_name": "Ayta, Tayabas"
+ "low": {
+ "english_name": "Lobu, Tampias"
},
- "ayz": {
- "english_name": "Mai Brat"
+ "prr": {
+ "english_name": "Puri"
},
- "ayu": {
- "english_name": "Ayu"
+ "mgf": {
+ "english_name": "Maklew"
},
- "ayt": {
- "english_name": "Ayta, Magbukun"
+ "xmm": {
+ "english_name": "Malay, Manado"
},
- "ayq": {
- "english_name": "Ayi (Papua New Guinea)"
+ "mgh": {
+ "english_name": "Makhuwa-Meetto"
},
- "ayp": {
- "english_name": "Arabic, North Mesopotamian"
+ "rhg": {
+ "english_name": "Rohingya"
},
- "ays": {
- "english_name": "Ayta, Sorsogon"
+ "esi": {
+ "english_name": "Inupiatun, North Alaskan"
},
- "ayr": {
- "english_name": "Aymara, Central"
+ "spx": {
+ "english_name": "Picene, South"
},
- "ood": {
- "english_name": "Tohono O'odham"
+ "nbh": {
+ "english_name": "Ngamo"
},
- "oog": {
- "english_name": "Ong"
+ "tll": {
+ "english_name": "Tetela"
},
- "oon": {
- "english_name": "Önge"
+ "blt": {
+ "english_name": "Tai Dam"
},
- "oos": {
- "english_name": "Ossetic, Old"
+ "ccg": {
+ "english_name": "Daka, Samba"
},
- "oor": {
- "english_name": "Oorlams"
+ "bvg": {
+ "english_name": "Bonkeng"
},
- "qvi": {
- "english_name": "Quichua, Imbabura Highland"
+ "mux": {
+ "english_name": "Bo-Ung"
},
- "fly": {
- "english_name": "Tsotsitaal"
+ "xht": {
+ "english_name": "Hattic"
},
- "tby": {
- "english_name": "Tabaru"
+ "nmt": {
+ "english_name": "Namonuito"
},
- "flr": {
- "english_name": "Fuliiru"
+ "bnq": {
+ "english_name": "Bantik"
},
- "ulw": {
- "english_name": "Ulwa"
+ "tpz": {
+ "english_name": "Tinputz"
},
- "ulu": {
- "english_name": "Uma' Lung"
+ "xog": {
+ "english_name": "Soga"
},
- "fli": {
- "english_name": "Fali"
+ "stl": {
+ "english_name": "Stellingwerfs"
},
- "flh": {
- "english_name": "Foau"
+ "mhb": {
+ "english_name": "Mahongwe"
},
- "uli": {
- "english_name": "Ulithian"
+ "nbc": {
+ "english_name": "Naga, Chang"
},
- "uln": {
- "english_name": "Unserdeutsch"
+ "eve": {
+ "english_name": "Even"
},
- "fll": {
- "english_name": "Fali, North"
+ "ttb": {
+ "english_name": "Gaa"
},
- "ull": {
- "english_name": "Ullatan"
+ "jbn": {
+ "english_name": "Nafusi"
},
- "fln": {
- "english_name": "Flinders Island"
+ "lu": {
+ "english_name": "Luba-Katanga"
},
- "fla": {
- "english_name": "Kalispel-Pend d'Oreille"
+ "jim": {
+ "english_name": "Jimi (Cameroon)"
},
- "ulc": {
- "english_name": "Ulch"
+ "wma": {
+ "english_name": "Mawa (Nigeria)"
},
- "ula": {
- "english_name": "Fungwa"
+ "akz": {
+ "english_name": "Alabama"
},
- "ulf": {
- "english_name": "Usku"
+ "haw": {
+ "english_name": "Hawaiian"
},
- "bgj": {
- "english_name": "Bangolan"
+ "cuc": {
+ "english_name": "Chinantec, Usila"
},
- "ule": {
- "english_name": "Lule"
+ "keu": {
+ "english_name": "Akebu"
},
- "bgk": {
- "english_name": "Bit"
+ "kno": {
+ "english_name": "Kono (Sierra Leone)"
},
- "tbx": {
- "english_name": "Kapin"
+ "krh": {
+ "english_name": "Kurama"
},
- "bgl": {
- "english_name": "Bo (Laos)"
+ "mqh": {
+ "english_name": "Mixtec, Tlazoyaltepec"
},
- "bgm": {
- "english_name": "Baga Mboteni"
+ "vum": {
+ "english_name": "Vumbu"
},
- "nyx": {
- "english_name": "Nganyaywana"
+ "eka": {
+ "english_name": "Ekajuk"
},
- "nyy": {
- "english_name": "Nyakyusa-Ngonde"
+ "sut": {
+ "english_name": "Subtiaba"
},
- "nyr": {
- "english_name": "Nyiha (Malawi)"
+ "nie": {
+ "english_name": "Niellim"
},
- "nys": {
- "english_name": "Nyunga"
+ "wap": {
+ "english_name": "Wapishana"
},
- "nyp": {
- "english_name": "Nyang'i"
+ "kay": {
+ "english_name": "Kamayurá"
},
- "nyq": {
- "english_name": "Nayini"
+ "vmx": {
+ "english_name": "Mixtec, Tamazola"
},
- "nyv": {
- "english_name": "Nyulnyul"
+ "log": {
+ "english_name": "Logo"
},
- "nyw": {
- "english_name": "Nyaw"
+ "otw": {
+ "english_name": "Ottawa"
},
- "nyt": {
- "english_name": "Nyawaygi"
+ "kyh": {
+ "english_name": "Karok"
},
- "nyu": {
- "english_name": "Nyungwe"
+ "wmn": {
+ "english_name": "Waamwang"
},
- "nyj": {
- "english_name": "Nyanga"
+ "mna": {
+ "english_name": "Mbula"
},
- "nyk": {
- "english_name": "Nyaneka"
+ "ayu": {
+ "english_name": "Ayu"
},
- "nyh": {
- "english_name": "Nyigina"
+ "woe": {
+ "english_name": "Woleaian"
},
- "nyi": {
- "english_name": "Ama (Sudan)"
+ "mfa": {
+ "english_name": "Malay, Pattani"
},
- "nyn": {
- "english_name": "Nyankole"
+ "oni": {
+ "english_name": "Onin"
},
- "nyo": {
- "english_name": "Nyoro"
+ "sks": {
+ "english_name": "Maia"
},
- "nyl": {
- "english_name": "Nyeu"
+ "ktg": {
+ "english_name": "Kalkutung"
},
- "nym": {
- "english_name": "Nyamwezi"
+ "koe": {
+ "english_name": "Kacipo-Balesi"
},
- "nyb": {
- "english_name": "Nyangbo"
+ "urg": {
+ "english_name": "Urigina"
},
- "nyc": {
- "english_name": "Nyanga-li"
+ "ayl": {
+ "english_name": "Arabic, Libyan"
},
- "nyf": {
- "english_name": "Giryama"
+ "tk": {
+ "english_name": "Turkmen"
},
- "nyg": {
- "english_name": "Nyindu"
+ "zko": {
+ "english_name": "Kott"
},
- "nyd": {
- "english_name": "Nyore"
+ "kui": {
+ "english_name": "Kuikúro-Kalapálo"
},
- "nye": {
- "english_name": "Nyengo"
+ "bhj": {
+ "english_name": "Bahing"
},
- "maq": {
- "english_name": "Mazatec, Chiquihuitlán"
+ "smq": {
+ "english_name": "Samo"
},
- "sng": {
- "english_name": "Sanga (Democratic Republic of Congo)"
+ "cht": {
+ "english_name": "Cholón"
},
- "mas": {
- "english_name": "Masai"
+ "lga": {
+ "english_name": "Lungga"
},
- "sne": {
- "english_name": "Bidayuh, Bau"
+ "rey": {
+ "english_name": "Reyesano"
},
- "mau": {
- "english_name": "Mazatec, Huautla"
+ "poq": {
+ "english_name": "Popoluca, Texistepec"
},
- "mat": {
- "english_name": "Matlatzinca, San Francisco"
+ "yiz": {
+ "english_name": "Azhe"
},
- "maw": {
- "english_name": "Mampruli"
+ "xli": {
+ "english_name": "Liburnian"
},
- "mav": {
- "english_name": "Sateré-Mawé"
+ "azo": {
+ "english_name": "Awing"
},
- "snn": {
- "english_name": "Siona"
+ "faa": {
+ "english_name": "Fasu"
},
- "max": {
- "english_name": "Malay, North Moluccan"
+ "cr": {
+ "english_name": "Cree"
},
- "snl": {
- "english_name": "Sangil"
+ "gar": {
+ "english_name": "Galeya"
},
- "maz": {
- "english_name": "Mazahua, Central"
+ "hui": {
+ "english_name": "Huli"
},
- "snj": {
- "english_name": "Sango, Riverain"
+ "zxx": {
+ "english_name": "No linguistic content"
},
- "snk": {
- "english_name": "Soninke"
+ "xzm": {
+ "english_name": "Zemgalian"
},
- "snh": {
- "english_name": "Shinabo"
+ "bpa": {
+ "english_name": "Daakaka"
},
- "sni": {
- "english_name": "Sensi"
+ "mls": {
+ "english_name": "Masalit"
},
- "maa": {
- "english_name": "Mazatec, San Jerónimo Tecóatl"
+ "dyi": {
+ "english_name": "Senoufo, Djimini"
},
- "snw": {
- "english_name": "Selee"
+ "ttm": {
+ "english_name": "Tutchone, Northern"
},
- "mab": {
- "english_name": "Mixtec, Yutanduchi"
+ "tpx": {
+ "english_name": "Me'phaa, Acatepec"
},
- "mae": {
- "english_name": "Bo-Rukul"
+ "ife": {
+ "english_name": "Ifè"
},
- "mad": {
- "english_name": "Madurese"
+ "sw": {
+ "english_name": "Swahili (macrolanguage)"
},
- "mag": {
- "english_name": "Magahi"
+ "bnz": {
+ "english_name": "Beezen"
},
- "maf": {
- "english_name": "Mafa"
+ "idb": {
+ "english_name": "Indo-Portuguese"
},
- "mai": {
- "english_name": "Maithili"
+ "kic": {
+ "english_name": "Kickapoo"
},
- "mak": {
- "english_name": "Makasar"
+ "lgb": {
+ "english_name": "Laghu"
},
- "maj": {
- "english_name": "Mazatec, Jalapa De Díaz"
+ "lfn": {
+ "english_name": "Lingua Franca Nova"
},
- "mam": {
- "english_name": "Mam"
+ "dhu": {
+ "english_name": "Dhurga"
},
- "bgz": {
- "english_name": "Banggai"
+ "kfv": {
+ "english_name": "Kurmukar"
},
- "snx": {
- "english_name": "Sam"
+ "sao": {
+ "english_name": "Sause"
},
- "man": {
- "english_name": "Mandingo"
+ "qvc": {
+ "english_name": "Quechua, Cajamarca"
},
- "zna": {
- "english_name": "Zan Gula"
+ "psg": {
+ "english_name": "Penang Sign Language"
},
- "zng": {
- "english_name": "Mang"
+ "pis": {
+ "english_name": "Pijin"
},
- "zne": {
- "english_name": "Zande (individual language)"
+ "tnl": {
+ "english_name": "Lenakel"
},
- "znk": {
- "english_name": "Manangkari"
+ "wij": {
+ "english_name": "Wik-Iiyanh"
},
- "zns": {
- "english_name": "Mangas"
+ "pbu": {
+ "english_name": "Pashto, Northern"
},
- "lsg": {
- "english_name": "Lyons Sign Language"
+ "buh": {
+ "english_name": "Bunu, Younuo"
},
- "lsd": {
- "english_name": "Lishana Deni"
+ "bow": {
+ "english_name": "Rema"
},
- "lse": {
- "english_name": "Lusengo"
+ "xii": {
+ "english_name": "Xiri"
},
- "lsa": {
- "english_name": "Lasgerdi"
+ "awc": {
+ "english_name": "Cicipu"
},
- "lso": {
- "english_name": "Laos Sign Language"
+ "ssq": {
+ "english_name": "So'a"
},
- "lsl": {
- "english_name": "Latvian Sign Language"
+ "gna": {
+ "english_name": "Kaansa"
},
- "lsm": {
- "english_name": "Saamia"
+ "lmj": {
+ "english_name": "Lembata, West"
},
- "lsh": {
- "english_name": "Lish"
+ "tdc": {
+ "english_name": "Emberá-Tadó"
},
- "lsi": {
- "english_name": "Lashi"
+ "knc": {
+ "english_name": "Kanuri, Central"
},
- "lst": {
- "english_name": "Trinidad and Tobago Sign Language"
+ "naj": {
+ "english_name": "Nalu"
},
- "lsr": {
- "english_name": "Aruop"
+ "xsh": {
+ "english_name": "Shamang"
},
- "lss": {
- "english_name": "Lasi"
+ "mvz": {
+ "english_name": "Mesqan"
},
- "lsp": {
- "english_name": "Panamanian Sign Language"
+ "fud": {
+ "english_name": "Futuna, East"
},
- "lsy": {
- "english_name": "Mauritian Sign Language"
+ "mdq": {
+ "english_name": "Mbole"
},
- "kky": {
- "english_name": "Guguyimidjir"
+ "ssy": {
+ "english_name": "Saho"
},
- "kkx": {
- "english_name": "Kohin"
+ "ona": {
+ "english_name": "Ona"
},
- "kkz": {
- "english_name": "Kaska"
+ "acy": {
+ "english_name": "Arabic, Cypriot"
},
- "kku": {
- "english_name": "Tumi"
+ "sya": {
+ "english_name": "Siang"
},
- "kkt": {
- "english_name": "Koi"
+ "dmv": {
+ "english_name": "Dumpas"
},
- "kkw": {
- "english_name": "Teke-Kukuya"
+ "nfd": {
+ "english_name": "Ahwai"
},
- "kkv": {
- "english_name": "Kangean"
+ "ibd": {
+ "english_name": "Iwaidja"
},
- "kkq": {
- "english_name": "Kaiku"
+ "vmj": {
+ "english_name": "Mixtec, Ixtayutla"
},
- "kkp": {
- "english_name": "Gugubera"
+ "gka": {
+ "english_name": "Guya"
},
- "kks": {
- "english_name": "Giiwo"
+ "wrm": {
+ "english_name": "Warumungu"
},
- "kkr": {
- "english_name": "Kir-Balar"
+ "lkj": {
+ "english_name": "Remun"
},
- "kkm": {
- "english_name": "Kiong"
+ "doa": {
+ "english_name": "Dom"
},
- "kkl": {
- "english_name": "Yale, Kosarek"
+ "umg": {
+ "english_name": "Umbuygamu"
},
- "kko": {
- "english_name": "Karko"
+ "pot": {
+ "english_name": "Potawatomi"
},
- "kkn": {
- "english_name": "Kon Keu"
+ "gro": {
+ "english_name": "Groma"
},
- "kki": {
- "english_name": "Kagulu"
+ "sak": {
+ "english_name": "Sake"
},
- "kkh": {
- "english_name": "Khün"
+ "awx": {
+ "english_name": "Awara"
},
- "kkk": {
- "english_name": "Kokota"
+ "beg": {
+ "english_name": "Belait"
},
- "kkj": {
- "english_name": "Kako"
+ "cia": {
+ "english_name": "Cia-Cia"
},
- "kke": {
- "english_name": "Kakabe"
+ "kvl": {
+ "english_name": "Kayaw"
},
- "kkd": {
- "english_name": "Kinuku"
+ "qvw": {
+ "english_name": "Quechua, Huaylla Wanca"
},
- "kkg": {
- "english_name": "Kalinga, Mabaka Valley"
+ "lrc": {
+ "english_name": "Luri, Northern"
},
- "kkf": {
- "english_name": "Monpa, Kalaktang"
+ "sto": {
+ "english_name": "Stoney"
},
- "kka": {
- "english_name": "Kakanda"
+ "bgo": {
+ "english_name": "Baga Koga"
},
- "kkc": {
- "english_name": "Odoodee"
+ "oor": {
+ "english_name": "Oorlams"
},
- "kkb": {
- "english_name": "Kwerisa"
+ "bug": {
+ "english_name": "Buginese"
},
- "xlo": {
- "english_name": "Loup A"
+ "zkr": {
+ "english_name": "Zakhring"
},
- "xln": {
- "english_name": "Alanic"
+ "bmp": {
+ "english_name": "Bulgebi"
},
- "xli": {
- "english_name": "Liburnian"
+ "lrk": {
+ "english_name": "Loarki"
},
- "xlg": {
- "english_name": "Ligurian (Ancient)"
+ "aaf": {
+ "english_name": "Aranadan"
},
- "xle": {
- "english_name": "Lemnian"
+ "atj": {
+ "english_name": "Atikamekw"
},
- "xld": {
- "english_name": "Lydian"
+ "ylg": {
+ "english_name": "Yelogu"
},
- "xlc": {
- "english_name": "Lycian"
+ "ulc": {
+ "english_name": "Ulch"
},
- "xlb": {
- "english_name": "Loup B"
+ "ro": {
+ "english_name": "Romanian",
+ "name": "Română"
},
- "xla": {
- "english_name": "Kamula"
+ "kiy": {
+ "english_name": "Kirikiri"
},
- "xly": {
- "english_name": "Elymian"
+ "puk": {
+ "english_name": "Pu Ko"
},
- "xlu": {
- "english_name": "Luwian, Cuneiform"
+ "grd": {
+ "english_name": "Guruntum-Mbaaru"
},
- "xls": {
- "english_name": "Lusitanian"
+ "mmj": {
+ "english_name": "Majhwar"
},
- "xlp": {
- "english_name": "Lepontic"
+ "brx": {
+ "english_name": "Bodo (India)"
},
- "orz": {
- "english_name": "Ormu"
+ "dtu": {
+ "english_name": "Dogon, Tebul Ure"
},
- "orx": {
- "english_name": "Oro"
+ "mlj": {
+ "english_name": "Miltu"
},
- "ory": {
- "english_name": "Oriya (individual language)"
+ "enu": {
+ "english_name": "Enu"
},
- "orv": {
- "english_name": "Russian, Old"
+ "ksy": {
+ "english_name": "Kharia Thar"
},
- "orw": {
- "english_name": "Oro Win"
+ "lji": {
+ "english_name": "Laiyolo"
},
- "ort": {
- "english_name": "Oriya, Adivasi"
+ "cdr": {
+ "english_name": "Cinda-Regi-Tiyal"
},
- "oru": {
- "english_name": "Ormuri"
+ "nwb": {
+ "english_name": "Nyabwa"
},
- "orr": {
- "english_name": "Oruma"
+ "kmq": {
+ "english_name": "Kwama"
},
- "ors": {
- "english_name": "Orang Seletar"
+ "gd": {
+ "english_name": "Gaelic, Scottish"
},
- "orn": {
- "english_name": "Orang Kanaq"
+ "djc": {
+ "english_name": "Daju, Dar Daju"
},
- "oro": {
- "english_name": "Orokolo"
+ "srv": {
+ "english_name": "Sorsoganon, Southern"
},
- "orh": {
- "english_name": "Oroqen"
+ "bsa": {
+ "english_name": "Abinomn"
},
- "org": {
- "english_name": "Oring"
+ "ncc": {
+ "english_name": "Ponam"
},
- "ore": {
- "english_name": "Orejón"
+ "lic": {
+ "english_name": "Hlai"
},
- "orc": {
- "english_name": "Orma"
+ "bla": {
+ "english_name": "Siksika"
},
- "ora": {
- "english_name": "Oroha"
+ "tks": {
+ "english_name": "Takestani"
},
- "xpm": {
- "english_name": "Pumpokol"
+ "hib": {
+ "english_name": "Hibito"
},
- "zsu": {
- "english_name": "Sukurum"
+ "nkd": {
+ "english_name": "Koireng"
},
- "zsr": {
- "english_name": "Zapotec, Southern Rincon"
+ "bze": {
+ "english_name": "Bozo, Jenaama"
},
- "zsa": {
- "english_name": "Sarasira"
+ "kpu": {
+ "english_name": "Kafoa"
},
- "zsl": {
- "english_name": "Zambian Sign Language"
+ "mdy": {
+ "english_name": "Male (Ethiopia)"
},
- "zsm": {
- "english_name": "Malay, Standard"
+ "qxc": {
+ "english_name": "Quechua, Chincha"
},
- "zsk": {
- "english_name": "Kaskean"
+ "prz": {
+ "english_name": "Providencia Sign Language"
},
- "iwo": {
- "english_name": "Iwur"
+ "zyb": {
+ "english_name": "Zhuang, Yongbei"
},
- "iwm": {
- "english_name": "Iwam"
+ "ayq": {
+ "english_name": "Ayi (Papua New Guinea)"
},
- "iwk": {
- "english_name": "I-Wak"
+ "cox": {
+ "english_name": "Nanti"
},
- "iws": {
- "english_name": "Iwam, Sepik"
+ "kub": {
+ "english_name": "Kutep"
},
- "pwg": {
- "english_name": "Gapapaiwa"
+ "blq": {
+ "english_name": "Baluan-Pam"
},
- "pwn": {
- "english_name": "Paiwan"
+ "mlf": {
+ "english_name": "Mal"
},
- "pwm": {
- "english_name": "Molbog"
+ "wny": {
+ "english_name": "Wanyi"
},
- "ges": {
- "english_name": "Geser-Gorom"
+ "vot": {
+ "english_name": "Votic"
},
- "geq": {
- "english_name": "Geme"
+ "kwf": {
+ "english_name": "Kwara'ae"
},
- "gew": {
- "english_name": "Gera"
+ "anu": {
+ "english_name": "Anuak"
},
- "gez": {
- "name": "ግዕዝኛ",
- "english_name": "Geez"
+ "mmg": {
+ "english_name": "Ambrym, North"
},
- "gey": {
- "english_name": "Enya"
+ "skp": {
+ "english_name": "Sekapan"
},
- "gex": {
- "english_name": "Garre"
+ "hma": {
+ "english_name": "Hmong, Southern Mashan"
},
- "gec": {
- "english_name": "Grebo, Gboloo"
+ "nxk": {
+ "english_name": "Naga, Koki"
},
- "geb": {
- "english_name": "Kire"
+ "xan": {
+ "english_name": "Xamtanga"
},
- "gea": {
- "english_name": "Geruma"
+ "agi": {
+ "english_name": "Agariya"
},
- "geg": {
- "english_name": "Gengle"
+ "clj": {
+ "english_name": "Chin, Laitu"
},
- "ged": {
- "english_name": "Gade"
+ "gui": {
+ "english_name": "Guaraní, Eastern Bolivian"
},
- "gek": {
- "english_name": "Yiwom"
+ "wua": {
+ "english_name": "Wikngenchera"
},
- "gej": {
- "english_name": "Gen"
+ "hy": {
+ "english_name": "Armenian"
},
- "gei": {
- "english_name": "Gebe"
+ "adb": {
+ "english_name": "Adabe"
},
- "geh": {
- "english_name": "German, Hutterite"
+ "rbk": {
+ "english_name": "Bontok, Northern"
},
- "gel": {
- "english_name": "ut-Ma'in"
+ "snf": {
+ "english_name": "Noon"
},
- "fqs": {
- "english_name": "Fas"
+ "prb": {
+ "english_name": "Lua'"
},
- "tuy": {
- "english_name": "Tugen"
+ "awg": {
+ "english_name": "Anguthimri"
},
- "ain": {
- "english_name": "Ainu (Japan)"
+ "kca": {
+ "english_name": "Khanty"
},
- "tux": {
- "english_name": "Tuxináwa"
+ "ajw": {
+ "english_name": "Ajawa"
},
- "ima": {
- "english_name": "Malasar, Mala"
+ "nci": {
+ "english_name": "Nahuatl, Classical"
},
- "tuz": {
- "english_name": "Turka"
+ "gdx": {
+ "english_name": "Godwari"
},
- "tuq": {
- "english_name": "Tedaga"
+ "fau": {
+ "english_name": "Fayu"
},
- "jv": {
- "english_name": "Javanese"
+ "wgg": {
+ "english_name": "Wangganguru"
},
- "tus": {
- "english_name": "Tuscarora"
+ "whk": {
+ "english_name": "Kenyah, Wahau"
},
- "tuu": {
- "english_name": "Tututni"
+ "smt": {
+ "english_name": "Simte"
},
- "tuv": {
- "english_name": "Turkana"
+ "sgz": {
+ "english_name": "Sursurunga"
},
- "tuh": {
- "english_name": "Taulil"
+ "cly": {
+ "english_name": "Chatino, Eastern Highland"
},
- "tui": {
- "english_name": "Tupuri"
+ "agy": {
+ "english_name": "Alta, Southern"
},
- "tuj": {
- "english_name": "Tugutil"
+ "mir": {
+ "english_name": "Mixe, Isthmus"
},
- "tul": {
- "english_name": "Tula"
+ "gsm": {
+ "english_name": "Guatemalan Sign Language"
},
- "tum": {
- "english_name": "Tumbuka"
+ "egl": {
+ "english_name": "Emilian"
},
- "tun": {
- "english_name": "Tunica"
+ "awh": {
+ "english_name": "Awbono"
},
- "tuo": {
- "english_name": "Tucano"
+ "xeb": {
+ "english_name": "Eblan"
},
- "tua": {
- "english_name": "Wiarumus"
+ "wab": {
+ "english_name": "Wab"
},
- "tub": {
- "english_name": "Tübatulabal"
+ "aoz": {
+ "english_name": "Uab Meto"
},
- "tuc": {
- "english_name": "Mutu"
+ "apv": {
+ "english_name": "Alapmunte"
},
- "tud": {
- "english_name": "Tuxá"
+ "nte": {
+ "english_name": "Nathembo"
},
- "ja": {
- "name": "日本語",
- "english_name": "Japanese"
+ "tea": {
+ "english_name": "Temiar"
},
- "tuf": {
- "english_name": "Tunebo, Central"
+ "caj": {
+ "english_name": "Chané"
},
- "tug": {
- "english_name": "Tunia"
+ "abs": {
+ "english_name": "Malay, Ambonese"
},
- "dkr": {
- "english_name": "Kuijau"
+ "kyv": {
+ "english_name": "Kayort"
},
- "dks": {
- "english_name": "Dinka, Southeastern"
+ "gvn": {
+ "english_name": "Kuku-Yalanji"
},
- "dkx": {
- "english_name": "Mazagway"
+ "nkc": {
+ "english_name": "Nkongho"
},
- "imi": {
- "english_name": "Anamgura"
+ "doq": {
+ "english_name": "Dominican Sign Language"
},
- "dka": {
- "english_name": "Dakpakha"
+ "lev": {
+ "english_name": "Lamma"
},
- "dkk": {
- "english_name": "Dakka"
+ "css": {
+ "english_name": "Ohlone, Southern"
},
- "iml": {
- "english_name": "Miluk"
+ "luv": {
+ "english_name": "Luwati"
},
- "imn": {
- "english_name": "Imonda"
+ "nme": {
+ "english_name": "Naga, Mzieme"
},
- "cqd": {
- "english_name": "Miao, Chuanqiandian Cluster"
+ "sij": {
+ "english_name": "Numbami"
},
- "cqu": {
- "english_name": "Quechua, Chilean"
+ "wca": {
+ "english_name": "Yanomámi"
},
- "bmb": {
- "english_name": "Bembe"
+ "lgi": {
+ "english_name": "Lengilu"
},
- "bmc": {
- "english_name": "Biem"
+ "xcl": {
+ "english_name": "Armenian, Classical"
},
- "bma": {
- "english_name": "Lame"
+ "tvd": {
+ "english_name": "Tsuvadi"
},
- "bmf": {
- "english_name": "Bom"
+ "hix": {
+ "english_name": "Hixkaryána"
},
- "bmg": {
- "english_name": "Bamwe"
+ "alj": {
+ "english_name": "Alangan"
},
- "bmd": {
- "english_name": "Manduri, Baga"
+ "tmz": {
+ "english_name": "Tamanaku"
},
- "bme": {
- "english_name": "Limassa"
+ "lmz": {
+ "english_name": "Lumbee"
},
- "bmj": {
- "english_name": "Bote-Majhi"
+ "lst": {
+ "english_name": "Trinidad and Tobago Sign Language"
},
- "bmk": {
- "english_name": "Ghayavi"
+ "ypz": {
+ "english_name": "Phuza"
},
- "bmh": {
- "english_name": "Kein"
+ "kuu": {
+ "english_name": "Kuskokwim, Upper"
},
- "bmi": {
- "english_name": "Bagirmi"
+ "cuq": {
+ "english_name": "Cun"
},
- "bmn": {
- "english_name": "Bina (Papua New Guinea)"
+ "tev": {
+ "english_name": "Teor"
},
- "bmo": {
- "english_name": "Bambalang"
+ "nyc": {
+ "english_name": "Nyanga-li"
},
- "bml": {
- "english_name": "Bomboli"
+ "bqy": {
+ "english_name": "Bengkala Sign Language"
},
- "bmm": {
- "english_name": "Malagasy, Northern Betsimisaraka"
+ "cbh": {
+ "english_name": "Cagua"
},
- "bmr": {
- "english_name": "Muinane"
+ "psn": {
+ "english_name": "Panasuan"
},
- "bms": {
- "english_name": "Kanuri, Bilma"
+ "clc": {
+ "english_name": "Chilcotin"
},
- "bmp": {
- "english_name": "Bulgebi"
+ "cts": {
+ "english_name": "Bikol, Northern Catanduanes"
},
- "bmq": {
- "english_name": "Bomu"
+ "shk": {
+ "english_name": "Shilluk"
},
- "bmv": {
- "english_name": "Bum"
+ "anf": {
+ "english_name": "Animere"
},
- "bmw": {
- "english_name": "Bomwali"
+ "cky": {
+ "english_name": "Cakfem-Mushere"
},
- "bmt": {
- "english_name": "Biao Mon"
+ "ngd": {
+ "english_name": "Ngando (Central African Republic)"
},
- "bmu": {
- "english_name": "Somba-Siawari"
+ "gve": {
+ "english_name": "Duwet"
},
- "bmz": {
- "english_name": "Baramu"
+ "bvw": {
+ "english_name": "Boga"
},
- "bmx": {
- "english_name": "Baimak"
+ "tbo": {
+ "english_name": "Tawala"
},
- "hds": {
- "english_name": "Honduras Sign Language"
+ "sol": {
+ "english_name": "Solos"
},
- "hdy": {
- "english_name": "Hadiyya"
+ "van": {
+ "english_name": "Valman"
},
- "hdn": {
- "english_name": "Haida, Northern"
+ "ekl": {
+ "english_name": "Kol (Bangladesh)"
},
- "pap": {
- "english_name": "Papiamento"
+ "cdo": {
+ "english_name": "Chinese, Min Dong"
},
- "paq": {
- "english_name": "Parya"
+ "nbk": {
+ "english_name": "Nake"
},
- "par": {
- "english_name": "Panamint"
+ "cuu": {
+ "english_name": "Tai Ya"
},
- "pas": {
- "english_name": "Papasena"
+ "tox": {
+ "english_name": "Tobian"
},
- "pat": {
- "english_name": "Papitalai"
+ "bjl": {
+ "english_name": "Bulu (Papua New Guinea)"
},
- "pau": {
- "english_name": "Palauan"
+ "byi": {
+ "english_name": "Buyu"
},
- "pav": {
- "english_name": "Pakaásnovos"
+ "std": {
+ "english_name": "Sentinel"
},
- "paw": {
- "english_name": "Pawnee"
+ "can": {
+ "english_name": "Chambri"
},
- "pax": {
- "english_name": "Pankararé"
+ "amw": {
+ "english_name": "Neo-Aramaic, Western"
},
- "pay": {
- "english_name": "Pech"
+ "my": {
+ "english_name": "Burmese"
},
- "paz": {
- "english_name": "Pankararú"
+ "kgw": {
+ "english_name": "Karon Dori"
},
- "pab": {
- "english_name": "Parecís"
+ "akj": {
+ "english_name": "Aka-Jeru"
},
- "pac": {
- "english_name": "Pacoh"
+ "arv": {
+ "english_name": "Arbore"
},
- "pad": {
- "english_name": "Paumarí"
+ "ctm": {
+ "english_name": "Chitimacha"
},
- "pae": {
- "english_name": "Pagibete"
+ "quz": {
+ "english_name": "Quechua, Cusco"
},
- "paf": {
- "english_name": "Paranawát"
+ "pib": {
+ "english_name": "Yine"
},
- "pag": {
- "english_name": "Pangasinan"
+ "tmj": {
+ "english_name": "Samarokena"
},
- "pah": {
- "english_name": "Tenharim"
+ "sqs": {
+ "english_name": "Sri Lankan Sign Language"
},
- "pai": {
- "english_name": "Pe"
+ "gcn": {
+ "english_name": "Gaina"
},
- "pak": {
- "english_name": "Parakanã"
+ "bzg": {
+ "english_name": "Babuza"
},
- "pal": {
- "english_name": "Pahlavi"
+ "crx": {
+ "english_name": "Carrier"
},
- "pam": {
- "english_name": "Pampanga"
+ "muj": {
+ "english_name": "Mabire"
},
- "pao": {
- "english_name": "Paiute, Northern"
+ "spo": {
+ "english_name": "Spokane"
},
- "oin": {
- "english_name": "One, Inebu"
+ "sqn": {
+ "english_name": "Susquehannock"
},
- "oia": {
- "english_name": "Oirata"
+ "sdt": {
+ "english_name": "Shuadit"
},
- "uji": {
- "english_name": "Tanjijili"
+ "dgd": {
+ "english_name": "Dagaari Dioula"
},
- "moz": {
- "english_name": "Mukulu"
+ "irx": {
+ "english_name": "Kamberau"
},
- "moy": {
- "english_name": "Shekkacho"
+ "uuu": {
+ "english_name": "U"
},
- "mox": {
- "english_name": "Molima"
+ "kwc": {
+ "english_name": "Likwala"
},
- "mos": {
- "english_name": "Mossi"
+ "aik": {
+ "english_name": "Ake"
},
- "mor": {
- "english_name": "Moro"
+ "mnl": {
+ "english_name": "Tiale"
},
- "moq": {
- "english_name": "Mor (Bomberai Peninsula)"
+ "nbu": {
+ "english_name": "Naga, Rongmei"
},
- "mop": {
- "english_name": "Mopán Maya"
+ "gey": {
+ "english_name": "Enya"
},
- "mow": {
- "english_name": "Moi (Congo)"
+ "nda": {
+ "english_name": "Ndasa"
},
- "mov": {
- "english_name": "Mohave"
+ "kjj": {
+ "english_name": "Khinalugh"
},
- "mou": {
- "english_name": "Mogum"
+ "kwm": {
+ "english_name": "Kwambi"
},
- "mot": {
- "english_name": "Barí"
+ "aic": {
+ "english_name": "Ainbai"
},
- "mok": {
- "english_name": "Morori"
+ "wkl": {
+ "english_name": "Kalanadi"
},
- "moj": {
- "english_name": "Monzombo"
+ "cmt": {
+ "english_name": "Camtho"
},
- "moi": {
- "english_name": "Mboi"
+ "tre": {
+ "english_name": "Tarangan, East"
},
- "moh": {
- "english_name": "Mohawk"
+ "ctz": {
+ "english_name": "Chatino, Zacatepec"
},
- "moo": {
- "english_name": "Monom"
+ "krk": {
+ "english_name": "Kerek"
},
- "mom": {
- "english_name": "Mangue"
+ "xon": {
+ "english_name": "Konkomba"
},
- "moc": {
- "english_name": "Mocoví"
+ "mzm": {
+ "english_name": "Mumuye"
},
- "moa": {
- "english_name": "Mwan"
+ "agf": {
+ "english_name": "Arguni"
},
- "mog": {
- "english_name": "Mongondow"
+ "bzs": {
+ "english_name": "Brazilian Sign Language"
},
- "moe": {
- "english_name": "Montagnais"
+ "xqa": {
+ "english_name": "Karakhanid"
},
- "mod": {
- "english_name": "Mobilian"
+ "zra": {
+ "english_name": "Kara (Korea)"
},
- "zlm": {
- "english_name": "Malay (individual language)"
+ "agj": {
+ "english_name": "Argobba"
},
- "zln": {
- "english_name": "Zhuang, Lianshan"
+ "mss": {
+ "english_name": "Masela, West"
},
- "zlj": {
- "english_name": "Zhuang, Liujiang"
+ "sob": {
+ "english_name": "Sobei"
},
- "zlq": {
- "english_name": "Zhuang, Liuqian"
+ "xmp": {
+ "english_name": "Kuku-Mu'inh"
},
- "kmg": {
- "english_name": "Kâte"
+ "bbg": {
+ "english_name": "Barama"
},
- "kmf": {
- "english_name": "Kare (Papua New Guinea)"
+ "erk": {
+ "english_name": "Efate, South"
},
- "kme": {
- "english_name": "Bakole"
+ "bzp": {
+ "english_name": "Kemberano"
},
- "kmd": {
- "english_name": "Kalinga, Majukayang"
+ "kzk": {
+ "english_name": "Kazukuru"
},
- "kmc": {
- "english_name": "Dong, Southern"
+ "nad": {
+ "english_name": "Nijadali"
},
- "kmb": {
- "english_name": "Kimbundu"
+ "nmi": {
+ "english_name": "Nyam"
},
- "kma": {
- "english_name": "Konni"
+ "fad": {
+ "english_name": "Wagi"
},
- "kmo": {
- "english_name": "Kwoma"
+ "dts": {
+ "english_name": "Dogon, Toro So"
},
- "kmn": {
- "english_name": "Awtuw"
+ "mas": {
+ "english_name": "Masai"
},
- "kmm": {
- "english_name": "Kom (India)"
+ "clh": {
+ "english_name": "Chilisso"
},
- "kml": {
- "english_name": "Kalinga, Tanudan"
+ "huh": {
+ "english_name": "Huilliche"
},
- "kmk": {
- "english_name": "Kalinga, Limos"
+ "xtd": {
+ "english_name": "Mixtec, Diuxi-Tilantongo"
},
- "kmj": {
- "english_name": "Kumarbhag Paharia"
+ "doy": {
+ "english_name": "Dompo"
},
- "kmi": {
- "english_name": "Kami (Nigeria)"
+ "bfo": {
+ "english_name": "Birifor, Malba"
},
- "kmh": {
- "english_name": "Kalam"
+ "xww": {
+ "english_name": "Wemba Wemba"
},
- "kmw": {
- "english_name": "Komo (Democratic Republic of Congo)"
+ "aga": {
+ "english_name": "Aguano"
},
- "kmv": {
- "english_name": "Creole French, Karipúna"
+ "jrr": {
+ "english_name": "Jiru"
},
- "kmu": {
- "english_name": "Kanite"
+ "zuh": {
+ "english_name": "Tokano"
},
- "kmt": {
- "english_name": "Kemtuik"
+ "bsy": {
+ "english_name": "Bisaya, Sabah"
},
- "kms": {
- "english_name": "Kamasau"
+ "dmg": {
+ "english_name": "Kinabatangan, Upper"
},
- "kmr": {
- "english_name": "Kurdish, Northern"
+ "bet": {
+ "english_name": "Béte, Guiberoua"
},
- "kmq": {
- "english_name": "Kwama"
+ "sgu": {
+ "english_name": "Salas"
},
- "kmp": {
- "english_name": "Gimme"
+ "afd": {
+ "english_name": "Andai"
},
- "kmz": {
- "english_name": "Khorasani Turkish"
+ "shw": {
+ "english_name": "Shwai"
},
- "kmy": {
- "english_name": "Koma"
+ "xmd": {
+ "english_name": "Mbudum"
},
- "kmx": {
- "english_name": "Waboda"
+ "rpn": {
+ "english_name": "Repanbitip"
},
- "xns": {
- "english_name": "Kanashi"
+ "nkg": {
+ "english_name": "Nekgini"
},
- "xnr": {
- "english_name": "Kangri"
+ "ayd": {
+ "english_name": "Ayabadhu"
},
- "xnu": {
- "english_name": "Nukunul"
+ "kkt": {
+ "english_name": "Koi"
},
- "xnt": {
- "english_name": "Narragansett"
+ "kme": {
+ "english_name": "Bakole"
},
- "xny": {
- "english_name": "Nyiyaparli"
+ "swh": {
+ "english_name": "Swahili (individual language)"
},
- "xnz": {
- "english_name": "Kenzi"
+ "ahl": {
+ "english_name": "Igo"
},
- "xna": {
- "english_name": "North Arabian, Ancient"
+ "ali": {
+ "english_name": "Amaimon"
},
- "xnb": {
- "english_name": "Kanakanabu"
+ "rgu": {
+ "english_name": "Ringgou"
},
- "xng": {
- "english_name": "Mongolian, Middle"
+ "chq": {
+ "english_name": "Chinantec, Quiotepec"
},
- "xni": {
- "english_name": "Ngarigu"
+ "cnb": {
+ "english_name": "Chin, Chinbon"
},
- "xnh": {
- "english_name": "Kuanhua"
+ "siv": {
+ "english_name": "Sumariup"
},
- "xnk": {
- "english_name": "Nganakarti"
+ "gfk": {
+ "english_name": "Patpatar"
},
- "xno": {
- "english_name": "Anglo-Norman"
+ "esu": {
+ "english_name": "Yupik, Central"
},
- "xnn": {
- "english_name": "Kankanay, Northern"
+ "eto": {
+ "english_name": "Eton (Cameroon)"
},
- "yyu": {
- "english_name": "Yau (Sandaun Province)"
+ "bzr": {
+ "english_name": "Biri"
},
- "yyr": {
- "english_name": "Yir Yoront"
+ "aiw": {
+ "english_name": "Aari"
},
- "yyz": {
- "english_name": "Ayizi"
+ "gzn": {
+ "english_name": "Gane"
},
- "svb": {
- "english_name": "Ulau-Suain"
+ "ykm": {
+ "english_name": "Kap"
},
- "goo": {
- "english_name": "Gone Dau"
+ "wlu": {
+ "english_name": "Wuliwuli"
},
- "goe": {
- "english_name": "Gongduk"
+ "tia": {
+ "english_name": "Tamazight, Tidikelt"
},
- "zqe": {
- "english_name": "Zhuang, Qiubei"
+ "jjr": {
+ "english_name": "Bankal"
},
- "goa": {
- "english_name": "Guro"
+ "dbe": {
+ "english_name": "Dabe"
},
- "gob": {
- "english_name": "Playero"
+ "bqn": {
+ "english_name": "Bulgarian Sign Language"
},
- "ium": {
- "english_name": "Mien, Iu"
+ "smd": {
+ "english_name": "Sama"
},
- "got": {
- "english_name": "Gothic"
+ "luo": {
+ "english_name": "Luo (Kenya and Tanzania)"
},
- "wsa": {
- "english_name": "Warembori"
+ "bjk": {
+ "english_name": "Barok"
},
- "hya": {
- "english_name": "Hya"
+ "glr": {
+ "english_name": "Glaro-Twabo"
},
- "wsi": {
- "english_name": "Wusi"
+ "kam": {
+ "english_name": "Kamba (Kenya)"
},
- "wsk": {
- "english_name": "Waskia"
+ "gaa": {
+ "english_name": "Ga"
},
- "wss": {
- "english_name": "Wasa"
+ "se": {
+ "english_name": "Sami, Northern"
},
- "wsr": {
- "english_name": "Owenia"
+ "emx": {
+ "english_name": "Erromintxela"
},
- "wsu": {
- "english_name": "Wasu"
+ "chg": {
+ "english_name": "Chagatai"
},
- "wsv": {
- "english_name": "Wotapuri-Katarqalai"
+ "bwp": {
+ "english_name": "Mandobo Bawah"
},
- "gor": {
- "english_name": "Gorontalo"
+ "kgp": {
+ "english_name": "Kaingang"
},
- "aba": {
- "english_name": "Abé"
+ "mse": {
+ "english_name": "Musey"
},
- "abb": {
- "english_name": "Bankon"
+ "kpw": {
+ "english_name": "Kobon"
},
- "abc": {
- "english_name": "Ayta, Ambala"
+ "hir": {
+ "english_name": "Himarimã"
},
- "abd": {
- "english_name": "Manide"
+ "djj": {
+ "english_name": "Djeebbana"
},
- "abe": {
- "english_name": "Abnaki, Western"
+ "cam": {
+ "english_name": "Cemuhî"
},
- "abf": {
- "english_name": "Abai Sungai"
+ "aah": {
+ "english_name": "Arapesh, Abu'"
},
- "abg": {
- "english_name": "Abaga"
+ "gl": {
+ "english_name": "Galician",
+ "name": "Galego"
},
- "abh": {
- "english_name": "Arabic, Tajiki"
+ "btf": {
+ "english_name": "Birgit"
},
- "abi": {
- "english_name": "Abidji"
+ "xgi": {
+ "english_name": "Garingbal"
},
- "abj": {
- "english_name": "Aka-Bea"
+ "izr": {
+ "english_name": "Izere"
},
- "abl": {
- "english_name": "Lampung Nyo"
+ "bvl": {
+ "english_name": "Bolivian Sign Language"
},
- "abm": {
- "english_name": "Abanyom"
+ "yla": {
+ "english_name": "Yaul"
},
- "abn": {
- "english_name": "Abua"
+ "ndt": {
+ "english_name": "Ndunga"
},
- "abo": {
- "english_name": "Abon"
+ "kok": {
+ "english_name": "Konkani (macrolanguage)",
+ "name": "Konkani (macrolanguage)"
},
- "abp": {
- "english_name": "Ayta, Abellen"
+ "kth": {
+ "english_name": "Karanga"
},
- "abq": {
- "english_name": "Abaza"
+ "pme": {
+ "english_name": "Pwaamei"
},
- "abr": {
- "english_name": "Abron"
+ "mjq": {
+ "english_name": "Malaryan"
},
- "abs": {
- "english_name": "Malay, Ambonese"
+ "vec": {
+ "english_name": "Venetian"
},
- "abt": {
- "english_name": "Ambulas"
+ "kuf": {
+ "english_name": "Katu, Western"
},
- "abu": {
- "english_name": "Abure"
+ "mzr": {
+ "english_name": "Marúbo"
},
- "abv": {
- "english_name": "Arabic, Baharna"
+ "tsh": {
+ "english_name": "Tsuvan"
},
- "abw": {
- "english_name": "Pal"
+ "asa": {
+ "english_name": "Asu (Tanzania)"
},
- "abx": {
- "english_name": "Inabaknon"
+ "kup": {
+ "english_name": "Kunimaipa"
},
- "aby": {
- "english_name": "Aneme Wake"
+ "poy": {
+ "english_name": "Pogolo"
},
- "abz": {
- "english_name": "Abui"
+ "udm": {
+ "english_name": "Udmurt"
},
- "ggu": {
- "english_name": "Gagu"
+ "slf": {
+ "english_name": "Swiss-Italian Sign Language"
},
- "ggt": {
- "english_name": "Gitua"
+ "xyl": {
+ "english_name": "Yalakalore"
},
- "ggw": {
- "english_name": "Gogodala"
+ "gis": {
+ "english_name": "Giziga, North"
},
- "gge": {
- "english_name": "Guragone"
+ "ane": {
+ "english_name": "Xârâcùù"
},
- "ggd": {
- "english_name": "Gugadj"
+ "bqo": {
+ "english_name": "Balo"
},
- "ggg": {
- "english_name": "Gurgula"
+ "lwe": {
+ "english_name": "Lewo Eleng"
},
- "gga": {
- "english_name": "Gao"
+ "xmv": {
+ "english_name": "Malagasy, Antankarana"
},
- "ggb": {
- "english_name": "Gbii"
+ "mjj": {
+ "english_name": "Mawak"
},
- "ggl": {
- "english_name": "Ganglau"
+ "msm": {
+ "english_name": "Manobo, Agusan"
},
- "ggo": {
- "english_name": "Gondi, Southern"
+ "tap": {
+ "english_name": "Taabwa"
},
- "ggn": {
- "english_name": "Gurung, Eastern"
+ "kba": {
+ "english_name": "Kalarko"
},
- "ggk": {
- "english_name": "Kungarakany"
+ "cjy": {
+ "english_name": "Chinese, Jinyu"
},
- "fwe": {
- "english_name": "Fwe"
+ "mxo": {
+ "english_name": "Mbowe"
},
- "fwa": {
- "english_name": "Fwâi"
+ "ctt": {
+ "english_name": "Chetti, Wayanad"
},
- "sbh": {
- "english_name": "Sori-Harengan"
+ "tmv": {
+ "english_name": "Tembo (Motembo)"
},
- "eya": {
- "english_name": "Eyak"
+ "zae": {
+ "english_name": "Zapotec, Yareni"
},
- "twc": {
- "english_name": "Teshenawa"
+ "cca": {
+ "english_name": "Cauca"
},
- "twa": {
- "english_name": "Twana"
+ "laj": {
+ "english_name": "Lango (Uganda)"
},
- "twf": {
- "english_name": "Tiwa, Northern"
+ "gsg": {
+ "english_name": "German Sign Language"
},
- "twg": {
- "english_name": "Tereweng"
+ "ojs": {
+ "english_name": "Ojibwa, Severn"
},
- "twd": {
- "english_name": "Twents"
+ "njh": {
+ "english_name": "Naga, Lotha"
},
- "twe": {
- "english_name": "Tewa (Indonesia)"
+ "dng": {
+ "english_name": "Dungan"
},
- "twh": {
- "english_name": "Tai Dón"
+ "nid": {
+ "english_name": "Ngandi"
},
- "twn": {
- "english_name": "Twendi"
+ "nba": {
+ "english_name": "Nyemba"
},
- "two": {
- "english_name": "Tswapong"
+ "hi": {
+ "english_name": "Hindi",
+ "name": "हिंदी"
},
- "eyo": {
- "english_name": "Keiyo"
+ "jru": {
+ "english_name": "Japrería"
},
- "twm": {
- "english_name": "Monpa, Tawang"
+ "tmn": {
+ "english_name": "Taman (Indonesia)"
},
- "twr": {
- "english_name": "Tarahumara, Southwestern"
+ "wuh": {
+ "english_name": "Wutunhua"
},
- "twp": {
- "english_name": "Ere"
+ "grg": {
+ "english_name": "Madi"
},
- "twq": {
- "english_name": "Tasawaq"
+ "rth": {
+ "english_name": "Ratahan"
},
- "tww": {
- "english_name": "Tuwari"
+ "dsl": {
+ "english_name": "Danish Sign Language"
},
- "twt": {
- "english_name": "Turiwára"
+ "uro": {
+ "english_name": "Ura (Papua New Guinea)"
},
- "twu": {
- "english_name": "Termanu"
+ "moq": {
+ "english_name": "Mor (Bomberai Peninsula)"
},
- "twx": {
- "english_name": "Tewe"
+ "vkp": {
+ "english_name": "Creole Portuguese, Korlai"
},
- "twy": {
- "english_name": "Tawoyan"
+ "sss": {
+ "english_name": "Sô"
},
- "prm": {
- "english_name": "Kibiri"
+ "mtb": {
+ "english_name": "Anyin Morofo"
},
- "dez": {
- "english_name": "Dengese"
+ "orh": {
+ "english_name": "Oroqen"
},
- "dep": {
- "english_name": "Delaware, Pidgin"
+ "acb": {
+ "english_name": "Áncá"
},
- "deq": {
- "english_name": "Dendi (Central African Republic)"
+ "wem": {
+ "english_name": "Gbe, Weme"
},
- "der": {
- "english_name": "Deori"
+ "qwc": {
+ "english_name": "Quechua, Classical"
},
- "des": {
- "english_name": "Desano"
+ "kji": {
+ "english_name": "Zabana"
},
- "jda": {
- "english_name": "Jad"
+ "mab": {
+ "english_name": "Mixtec, Yutanduchi"
},
- "dev": {
- "english_name": "Domung"
+ "bnp": {
+ "english_name": "Bola"
},
- "prl": {
- "english_name": "Peruvian Sign Language"
+ "any": {
+ "english_name": "Anyin"
},
- "dei": {
- "english_name": "Demisa"
+ "ktz": {
+ "english_name": "Ju/'hoan"
},
- "dek": {
- "english_name": "Dek"
+ "crh": {
+ "english_name": "Tatar, Crimean",
+ "name": "Tatar, Crimean"
},
- "del": {
- "english_name": "Delaware"
+ "awy": {
+ "english_name": "Awyu, Edera"
},
- "dem": {
- "english_name": "Dem"
+ "lox": {
+ "english_name": "Loun"
},
- "den": {
- "english_name": "Slave (Athapascan)"
+ "kew": {
+ "english_name": "Kewa, West"
},
- "jdt": {
- "english_name": "Judeo-Tat"
+ "kv": {
+ "english_name": "Komi"
},
- "dec": {
- "english_name": "Dagik"
+ "ukg": {
+ "english_name": "Ukuriguma"
},
- "ded": {
- "english_name": "Dedua"
+ "ldd": {
+ "english_name": "Luri"
},
- "dee": {
- "english_name": "Dewoin"
+ "juu": {
+ "english_name": "Ju"
},
- "def": {
- "english_name": "Dezfuli"
+ "aha": {
+ "english_name": "Ahanta"
},
- "deg": {
- "english_name": "Degema"
+ "rwr": {
+ "english_name": "Marwari (India)"
},
- "csm": {
- "english_name": "Miwok, Central Sierra"
+ "tkf": {
+ "english_name": "Tukumanféd"
},
- "csl": {
- "english_name": "Chinese Sign Language"
+ "bnm": {
+ "english_name": "Batanga"
},
- "cso": {
- "english_name": "Chinantec, Sochiapam"
+ "lrm": {
+ "english_name": "Marama"
},
- "csn": {
- "english_name": "Colombian Sign Language"
+ "npo": {
+ "english_name": "Naga, Pochuri"
},
- "csi": {
- "english_name": "Miwok, Coast"
+ "lno": {
+ "english_name": "Lango (Sudan)"
},
- "csh": {
- "english_name": "Chin, Asho"
+ "ndl": {
+ "english_name": "Ndolo"
},
- "csk": {
- "english_name": "Jola-Kasa"
+ "smc": {
+ "english_name": "Som"
},
- "csj": {
- "english_name": "Chin, Songlai"
+ "fro": {
+ "english_name": "French, Old (842-ca. 1400)"
},
- "cse": {
- "english_name": "Czech Sign Language"
+ "bju": {
+ "english_name": "Busuu"
},
- "csd": {
- "english_name": "Chiangmai Sign Language"
+ "txx": {
+ "english_name": "Tatana"
},
- "csg": {
- "english_name": "Chilean Sign Language"
+ "ror": {
+ "english_name": "Rongga"
},
- "csf": {
- "english_name": "Cuba Sign Language"
+ "otl": {
+ "english_name": "Otomi, Tilapa"
},
- "csa": {
- "english_name": "Chinantec, Chiltepec"
+ "jls": {
+ "english_name": "Jamaican Sign Language"
},
- "csc": {
- "english_name": "Catalan Sign Language"
+ "riu": {
+ "english_name": "Riung"
},
- "csb": {
- "english_name": "Kashubian"
+ "mut": {
+ "english_name": "Muria, Western"
},
- "csy": {
- "english_name": "Chin, Siyin"
+ "abu": {
+ "english_name": "Abure"
},
- "csz": {
- "english_name": "Coos"
+ "tgb": {
+ "english_name": "Tobilung"
},
- "cst": {
- "english_name": "Ohlone, Northern"
+ "kgo": {
+ "english_name": "Krongo"
},
- "csw": {
- "english_name": "Cree, Swampy"
+ "wbb": {
+ "english_name": "Wabo"
},
- "csv": {
- "english_name": "Chin, Sumtu"
+ "lbg": {
+ "english_name": "Laopang"
},
- "csq": {
- "english_name": "Croatia Sign Language"
+ "sch": {
+ "english_name": "Sakachep"
},
- "rys": {
- "english_name": "Yaeyama"
+ "wrl": {
+ "english_name": "Warlmanpa"
},
- "css": {
- "english_name": "Ohlone, Southern"
+ "ddg": {
+ "english_name": "Fataluku"
},
- "csr": {
- "english_name": "Costa Rican Sign Language"
+ "nmc": {
+ "english_name": "Ngam"
},
- "bkd": {
- "english_name": "Binukid"
+ "pns": {
+ "english_name": "Ponosakan"
},
- "bkf": {
- "english_name": "Beeke"
+ "gau": {
+ "english_name": "Gadaba, Mudhili"
},
- "bkg": {
- "english_name": "Buraka"
+ "zlm": {
+ "english_name": "Malay (individual language)"
},
- "bka": {
- "english_name": "Kyak"
+ "hmn": {
+ "english_name": "Hmong"
},
- "bkc": {
- "english_name": "Baka (Cameroon)"
+ "bho": {
+ "english_name": "Bhojpuri"
},
- "bkl": {
- "english_name": "Berik"
+ "afo": {
+ "english_name": "Eloyi"
},
- "bkm": {
- "english_name": "Kom (Cameroon)"
+ "zhb": {
+ "english_name": "Zhaba"
},
- "bkn": {
- "english_name": "Bukitan"
+ "lba": {
+ "english_name": "Lui"
},
- "bko": {
- "english_name": "Kwa'"
+ "taq": {
+ "english_name": "Tamasheq"
},
- "bkh": {
- "english_name": "Bakoko"
+ "brp": {
+ "english_name": "Barapasi"
},
- "bki": {
- "english_name": "Baki"
+ "cui": {
+ "english_name": "Cuiba"
},
- "bkj": {
- "english_name": "Pande"
+ "dbw": {
+ "english_name": "Dogon, Bankan Tey"
},
- "bkk": {
- "english_name": "Brokskat"
+ "tnh": {
+ "english_name": "Maiani"
},
- "bkt": {
- "english_name": "Boloki"
+ "cmg": {
+ "english_name": "Mongolian, Classical"
},
- "bku": {
- "english_name": "Buhid"
+ "tmh": {
+ "english_name": "Tamashek"
},
- "bkv": {
- "english_name": "Bekwarra"
+ "ora": {
+ "english_name": "Oroha"
},
- "bkw": {
- "english_name": "Bekwel"
+ "gwt": {
+ "english_name": "Gawar-Bati"
},
- "bkp": {
- "english_name": "Boko (Democratic Republic of Congo)"
+ "mpg": {
+ "english_name": "Marba"
},
- "bkq": {
- "english_name": "Bakairí"
+ "dgg": {
+ "english_name": "Doga"
},
- "bkr": {
- "english_name": "Bakumpai"
+ "phh": {
+ "english_name": "Phukha"
},
- "bks": {
- "english_name": "Sorsoganon, Northern"
+ "ms": {
+ "english_name": "Malay (macrolanguage)",
+ "name": "Malay (macrolanguage)"
},
- "bkx": {
- "english_name": "Baikeno"
+ "clt": {
+ "english_name": "Chin, Lautu"
},
- "bky": {
- "english_name": "Bokyi"
+ "sjp": {
+ "english_name": "Surjapuri"
},
- "bkz": {
- "english_name": "Bungku"
+ "dul": {
+ "english_name": "Agta, Alabat Island"
},
- "pcp": {
- "english_name": "Pacahuara"
+ "vms": {
+ "english_name": "Moksela"
},
- "pcw": {
- "english_name": "Pyapun"
+ "ttn": {
+ "english_name": "Towei"
},
- "pcj": {
- "english_name": "Parenga"
+ "aac": {
+ "english_name": "Ari"
},
- "pck": {
- "english_name": "Chin, Paite"
+ "mtm": {
+ "english_name": "Mator"
},
- "pch": {
- "english_name": "Pardhan"
+ "wha": {
+ "english_name": "Manusela"
},
- "pci": {
- "english_name": "Duruwa"
+ "wnw": {
+ "english_name": "Wintu"
},
- "pcn": {
- "english_name": "Piti"
+ "ncn": {
+ "english_name": "Nauna"
},
- "pcl": {
- "english_name": "Pardhi"
+ "txr": {
+ "english_name": "Tartessian"
},
- "pcm": {
- "english_name": "Pidgin, Nigerian"
+ "anw": {
+ "english_name": "Anaang"
},
- "pcb": {
- "english_name": "Pear"
+ "gmh": {
+ "english_name": "German, Middle High (ca. 1050-1500)"
},
- "pcc": {
- "english_name": "Bouyei"
+ "sne": {
+ "english_name": "Bidayuh, Bau"
},
- "pca": {
- "english_name": "Popoloca, Santa Inés Ahuatempan"
+ "hre": {
+ "english_name": "Hre"
},
- "pcf": {
- "english_name": "Paliyan"
+ "tkl": {
+ "english_name": "Tokelau"
},
- "pcg": {
- "english_name": "Paniya"
+ "ebo": {
+ "english_name": "Teke-Ebo"
},
- "pcd": {
- "english_name": "Picard"
+ "ikl": {
+ "english_name": "Ikulu"
},
- "pce": {
- "english_name": "Palaung, Ruching"
+ "khd": {
+ "english_name": "Kanum, Bädi"
},
- "oks": {
- "english_name": "Oko-Eni-Osayen"
+ "mbn": {
+ "english_name": "Macaguán"
},
- "okr": {
- "english_name": "Kirike"
+ "apm": {
+ "english_name": "Apache, Mescalero-Chiricahua"
},
- "oku": {
- "english_name": "Oku"
+ "amo": {
+ "english_name": "Amo"
},
- "okv": {
- "english_name": "Orokaiva"
+ "tsy": {
+ "english_name": "Tebul Sign Language"
},
- "uhn": {
- "english_name": "Damal"
+ "suz": {
+ "english_name": "Sunwar"
},
- "okx": {
- "english_name": "Okpe (Northwestern Edo)"
+ "bed": {
+ "english_name": "Bedoanas"
},
- "oka": {
- "english_name": "Okanagan"
+ "sts": {
+ "english_name": "Shumashti"
},
- "okb": {
- "english_name": "Okobo"
+ "pmn": {
+ "english_name": "Pam"
},
- "oke": {
- "english_name": "Okpe (Southwestern Edo)"
+ "ktx": {
+ "english_name": "Kaxararí"
},
- "okd": {
- "english_name": "Okodia"
+ "crk": {
+ "english_name": "Cree, Plains"
},
- "okg": {
- "english_name": "Koko Babangk"
+ "gub": {
+ "english_name": "Guajajára"
},
- "oki": {
- "english_name": "Okiek"
+ "ywg": {
+ "english_name": "Yinhawangka"
},
- "okh": {
- "english_name": "Koresh-e Rostam"
+ "iyx": {
+ "english_name": "Yaka (Congo)"
},
- "okk": {
- "english_name": "One, Kwamtim"
+ "bhr": {
+ "english_name": "Malagasy, Bara"
},
- "okj": {
- "english_name": "Oko-Juwoi"
+ "cpy": {
+ "english_name": "Ashéninka, South Ucayali"
},
- "okm": {
- "english_name": "Korean, Middle (10th-16th cent.)"
+ "awo": {
+ "english_name": "Awak"
},
- "okl": {
- "english_name": "Kentish Sign Language, Old"
+ "vme": {
+ "english_name": "Masela, East"
},
- "oko": {
- "english_name": "Korean, Old (3rd-9th cent.)"
+ "akp": {
+ "english_name": "Siwu"
},
- "okn": {
- "english_name": "Oki-No-Erabu"
+ "erh": {
+ "english_name": "Eruwa"
},
- "sbr": {
- "english_name": "Sembakung Murut"
+ "mhn": {
+ "english_name": "Mócheno"
},
- "sbs": {
- "english_name": "Subiya"
+ "afn": {
+ "english_name": "Defaka"
},
- "sbp": {
- "english_name": "Sangu (Tanzania)"
+ "yau": {
+ "english_name": "Yuwana"
},
- "sbq": {
- "english_name": "Sileibi"
+ "kwk": {
+ "english_name": "Kwakiutl"
},
- "mmy": {
- "english_name": "Migaama"
+ "hnd": {
+ "english_name": "Hindko, Southern"
},
- "mmx": {
- "english_name": "Madak"
+ "lok": {
+ "english_name": "Loko"
},
- "sbt": {
- "english_name": "Kimki"
+ "tar": {
+ "english_name": "Tarahumara, Central"
},
- "mmz": {
- "english_name": "Mabaale"
+ "ugo": {
+ "english_name": "Ugong"
},
- "mmu": {
- "english_name": "Mmaala"
+ "hue": {
+ "english_name": "Huave, San Francisco Del Mar"
},
- "mmt": {
- "english_name": "Malalamai"
+ "lnd": {
+ "english_name": "Lundayeh"
},
- "mmw": {
- "english_name": "Emae"
+ "ztl": {
+ "english_name": "Zapotec, Lapaguía-Guivini"
},
- "mmv": {
- "english_name": "Miriti"
+ "ser": {
+ "english_name": "Serrano"
},
- "mmq": {
- "english_name": "Musak"
+ "xyk": {
+ "english_name": "Mayi-Kulan"
},
- "mmp": {
- "english_name": "Siawi"
+ "nbo": {
+ "english_name": "Nkukoli"
},
- "mmr": {
- "english_name": "Miao, Western Xiangxi"
+ "pyy": {
+ "english_name": "Pyen"
},
- "mmm": {
- "english_name": "Maii"
+ "mom": {
+ "english_name": "Mangue"
},
- "mml": {
- "english_name": "Man Met"
+ "bde": {
+ "english_name": "Bade"
},
- "mmo": {
- "english_name": "Buang, Mangga"
+ "def": {
+ "english_name": "Dezfuli"
},
- "mmn": {
- "english_name": "Mamanwa"
+ "con": {
+ "english_name": "Cofán"
},
- "mmi": {
- "english_name": "Musar"
+ "waj": {
+ "english_name": "Waffa"
},
- "mmh": {
- "english_name": "Mehináku"
+ "yba": {
+ "english_name": "Yala"
},
- "mmk": {
- "english_name": "Mukha-Dora"
+ "gbj": {
+ "english_name": "Gadaba, Bodo"
},
- "mmj": {
- "english_name": "Majhwar"
+ "ygl": {
+ "english_name": "Yangum Gel"
},
- "mme": {
- "english_name": "Mae"
+ "txq": {
+ "english_name": "Tii"
},
- "mmd": {
- "english_name": "Maonan"
+ "nll": {
+ "english_name": "Nihali"
},
- "mmg": {
- "english_name": "Ambrym, North"
+ "uru": {
+ "english_name": "Urumi"
},
- "mmf": {
- "english_name": "Mundat"
+ "mwb": {
+ "english_name": "Juwal"
},
- "mma": {
- "english_name": "Mama"
+ "smg": {
+ "english_name": "Simbali"
},
- "sbo": {
- "english_name": "Sabüm"
+ "ida": {
+ "english_name": "Idakho-Isukha-Tiriki"
},
- "mmc": {
- "english_name": "Mazahua, Michoacán"
+ "yar": {
+ "english_name": "Yabarana"
},
- "mmb": {
- "english_name": "Momina"
+ "kio": {
+ "english_name": "Kiowa"
},
- "koi": {
- "english_name": "Komi-Permyak"
+ "wci": {
+ "english_name": "Gbe, Waci"
},
- "koh": {
- "english_name": "Koyo"
+ "bim": {
+ "english_name": "Bimoba"
},
- "kok": {
- "name": "Konkani (macrolanguage)",
- "english_name": "Konkani (macrolanguage)"
+ "scn": {
+ "english_name": "Sicilian"
},
- "kol": {
- "english_name": "Kol (Papua New Guinea)"
+ "xmg": {
+ "english_name": "Mengaka"
},
- "koo": {
- "english_name": "Konzo"
+ "der": {
+ "english_name": "Deori"
},
- "koa": {
- "english_name": "Konomala"
+ "gde": {
+ "english_name": "Gude"
},
- "koc": {
- "english_name": "Kpati"
+ "ddd": {
+ "english_name": "Dongotono"
},
- "koe": {
- "english_name": "Kacipo-Balesi"
+ "paf": {
+ "english_name": "Paranawát"
},
- "kod": {
- "english_name": "Kodi"
+ "tpa": {
+ "english_name": "Taupota"
},
- "kog": {
- "english_name": "Cogui"
+ "ldj": {
+ "english_name": "Lemoro"
},
- "kof": {
- "english_name": "Kubi"
+ "ybj": {
+ "english_name": "Hasha"
},
- "koy": {
- "english_name": "Koyukon"
+ "thh": {
+ "english_name": "Tarahumara, Northern"
},
- "kox": {
- "english_name": "Coxima"
+ "btv": {
+ "english_name": "Bateri"
},
- "koz": {
- "english_name": "Korak"
+ "zap": {
+ "english_name": "Zapotec"
},
- "koq": {
- "english_name": "Kota (Gabon)"
+ "pig": {
+ "english_name": "Pisabo"
},
- "kop": {
- "english_name": "Waube"
+ "ckx": {
+ "english_name": "Caka"
},
- "kos": {
- "english_name": "Kosraean"
+ "tyr": {
+ "english_name": "Tai Daeng"
},
- "kou": {
- "english_name": "Koke"
+ "ham": {
+ "english_name": "Hewa"
},
- "kot": {
- "english_name": "Lagwan"
+ "sps": {
+ "english_name": "Saposa"
},
- "kow": {
- "english_name": "Kugama"
+ "oyy": {
+ "english_name": "Oya'oya"
},
- "kov": {
- "english_name": "Kudu-Camo"
+ "cbc": {
+ "english_name": "Carapana"
},
- "vnm": {
- "english_name": "Vinmavis"
+ "bzw": {
+ "english_name": "Basa (Nigeria)"
},
- "vnk": {
- "english_name": "Vano"
+ "gug": {
+ "english_name": "Guaraní, Paraguayan"
},
- "vnp": {
- "english_name": "Vunapu"
+ "woc": {
+ "english_name": "Wogeo"
},
- "ka": {
- "english_name": "Georgian"
+ "trs": {
+ "english_name": "Triqui, Chicahuaxtla"
},
- "kg": {
- "english_name": "Kongo"
+ "aog": {
+ "english_name": "Angoram"
},
- "kk": {
- "english_name": "Kazakh"
+ "kxp": {
+ "english_name": "Koli, Wadiyara"
},
- "kj": {
- "english_name": "Kuanyama"
+ "trc": {
+ "english_name": "Triqui, Copala"
},
- "ki": {
- "english_name": "Kikuyu"
+ "wum": {
+ "english_name": "Wumbvu"
},
- "bdb": {
- "english_name": "Basap"
+ "ike": {
+ "english_name": "Inuktitut, Eastern Canadian"
},
- "ko": {
- "name": "한국어",
- "english_name": "Korean"
+ "lt": {
+ "english_name": "Lithuanian",
+ "name": "Lietuvių"
},
- "kn": {
- "name": "ಕನ್ನಡ",
- "english_name": "Kannada"
+ "gko": {
+ "english_name": "Kok-Nar"
},
- "km": {
- "english_name": "Khmer, Central"
+ "tuz": {
+ "english_name": "Turka"
},
- "kl": {
- "english_name": "Kalaallisut"
+ "ldn": {
+ "english_name": "Láadan"
},
- "ks": {
- "english_name": "Kashmiri"
+ "hag": {
+ "english_name": "Hanga"
},
- "kr": {
- "english_name": "Kanuri"
+ "tim": {
+ "english_name": "Timbe"
},
- "kw": {
- "english_name": "Cornish"
+ "ass": {
+ "english_name": "Ipulo"
},
- "kv": {
- "english_name": "Komi"
+ "dug": {
+ "english_name": "Duruma"
},
- "ku": {
- "english_name": "Kurdish"
+ "xlu": {
+ "english_name": "Luwian, Cuneiform"
},
- "scs": {
- "english_name": "Slavey, North"
+ "mfy": {
+ "english_name": "Mayo"
},
- "ky": {
- "english_name": "Kirghiz"
+ "rof": {
+ "english_name": "Rombo"
},
- "aes": {
- "english_name": "Alsea"
+ "mpm": {
+ "english_name": "Mixtec, Yosondúa"
},
- "ikr": {
- "english_name": "Ikaranggal"
+ "wga": {
+ "english_name": "Wagaya"
},
- "ikp": {
- "english_name": "Ikpeshi"
+ "tdn": {
+ "english_name": "Tondano"
},
- "ikw": {
- "english_name": "Ikwere"
+ "tns": {
+ "english_name": "Tenis"
},
- "ikv": {
- "english_name": "Iku-Gora-Ankwa"
+ "cuo": {
+ "english_name": "Cumanagoto"
},
- "ikt": {
- "english_name": "Inuinnaqtun"
+ "lcf": {
+ "english_name": "Lubu"
},
- "ikz": {
- "english_name": "Ikizu"
+ "nsf": {
+ "english_name": "Nisu, Northwestern"
},
- "ikx": {
- "english_name": "Ik"
+ "pcw": {
+ "english_name": "Pyapun"
},
- "ike": {
- "english_name": "Inuktitut, Eastern Canadian"
+ "azz": {
+ "english_name": "Nahuatl, Highland Puebla"
},
- "ikk": {
- "english_name": "Ika"
+ "vbk": {
+ "english_name": "Bontok, Southwestern"
},
- "iki": {
- "english_name": "Iko"
+ "slx": {
+ "english_name": "Salampasu"
},
- "iko": {
- "english_name": "Olulumo-Ikom"
+ "kkr": {
+ "english_name": "Kir-Balar"
},
- "ikl": {
- "english_name": "Ikulu"
+ "cby": {
+ "english_name": "Carabayo"
},
- "raf": {
- "english_name": "Meohang, Western"
+ "nuq": {
+ "english_name": "Nukumanu"
},
- "rad": {
- "english_name": "Rade"
+ "mio": {
+ "english_name": "Mixtec, Pinotepa Nacional"
},
- "rab": {
- "english_name": "Camling"
+ "mml": {
+ "english_name": "Man Met"
},
- "rac": {
- "english_name": "Rasawa"
+ "ifk": {
+ "english_name": "Ifugao, Tuwali"
},
- "raa": {
- "english_name": "Dungmali"
+ "ntx": {
+ "english_name": "Naga, Tangkhul (Myanmar)"
},
- "ran": {
- "english_name": "Riantana"
+ "gun": {
+ "english_name": "Guaraní, Mbyá"
},
- "rao": {
- "english_name": "Rao"
+ "sew": {
+ "english_name": "Sewa Bay"
},
- "ram": {
- "english_name": "Canela"
+ "bdr": {
+ "english_name": "Bajau, West Coast"
},
- "gaz": {
- "english_name": "Oromo, West Central"
+ "mvo": {
+ "english_name": "Marovo"
},
- "gay": {
- "english_name": "Gayo"
+ "gpe": {
+ "english_name": "Pidgin English, Ghanaian"
},
- "gax": {
- "english_name": "Oromo, Borana-Arsi-Guji"
+ "piu": {
+ "english_name": "Pintupi-Luritja"
},
- "gaw": {
- "english_name": "Nobonob"
+ "akq": {
+ "english_name": "Ak"
},
- "gau": {
- "english_name": "Gadaba, Mudhili"
+ "tua": {
+ "english_name": "Wiarumus"
},
- "gat": {
- "english_name": "Kenati"
+ "nyw": {
+ "english_name": "Nyaw"
},
- "gas": {
- "english_name": "Garasia, Adiwasi"
+ "ktn": {
+ "english_name": "Karitiâna"
},
- "gar": {
- "english_name": "Galeya"
+ "toi": {
+ "english_name": "Tonga (Zambia)"
},
- "gaq": {
- "english_name": "Gata'"
+ "kpe": {
+ "english_name": "Kpelle"
},
- "gap": {
- "english_name": "Gal"
+ "byg": {
+ "english_name": "Baygo"
},
- "gao": {
- "english_name": "Gants"
+ "crb": {
+ "english_name": "Carib, Island"
},
- "gan": {
- "english_name": "Chinese, Gan"
+ "gou": {
+ "english_name": "Gavar"
},
- "gam": {
- "english_name": "Kandawo"
+ "koq": {
+ "english_name": "Kota (Gabon)"
},
- "gal": {
- "english_name": "Galolen"
+ "spr": {
+ "english_name": "Saparua"
},
- "gak": {
- "english_name": "Gamkonora"
+ "uri": {
+ "english_name": "Urim"
},
- "gaj": {
- "english_name": "Gadsup"
+ "bse": {
+ "english_name": "Wushi"
},
- "gai": {
- "english_name": "Borei"
+ "aea": {
+ "english_name": "Areba"
},
- "gah": {
- "english_name": "Alekano"
+ "mru": {
+ "english_name": "Mono (Cameroon)"
},
- "gag": {
- "english_name": "Gagauz"
+ "huw": {
+ "english_name": "Hukumina"
},
- "gaf": {
- "english_name": "Gende"
+ "zat": {
+ "english_name": "Zapotec, Tabaa"
},
- "gae": {
- "english_name": "Guarequena"
+ "kta": {
+ "english_name": "Katua"
},
- "gad": {
- "english_name": "Gaddang"
+ "cuk": {
+ "english_name": "Kuna, San Blas"
},
- "gac": {
- "english_name": "Great Andamanese, Mixed"
+ "mhg": {
+ "english_name": "Margu"
},
- "gab": {
- "english_name": "Gabri"
+ "mua": {
+ "english_name": "Mundang"
},
- "gaa": {
- "english_name": "Ga"
+ "idc": {
+ "english_name": "Idon"
},
- "fuv": {
- "english_name": "Fulfulde, Nigerian"
+ "tkq": {
+ "english_name": "Tee"
},
- "rav": {
- "english_name": "Sampang"
+ "xer": {
+ "english_name": "Xerénte"
},
- "fut": {
- "english_name": "Futuna-Aniwa"
+ "zmz": {
+ "english_name": "Mbandja"
},
- "fuu": {
- "english_name": "Furu"
+ "ycn": {
+ "english_name": "Yucuna"
},
- "fur": {
- "english_name": "Friulian"
+ "lbw": {
+ "english_name": "Tolaki"
},
- "fuq": {
- "english_name": "Fulfulde, Central-Eastern Niger"
+ "kye": {
+ "english_name": "Krache"
},
- "rat": {
- "english_name": "Razajerdi"
+ "zts": {
+ "english_name": "Zapotec, Tilquiapan"
},
- "fuy": {
- "english_name": "Fuyug"
+ "itm": {
+ "english_name": "Itu Mbon Uzo"
},
- "fuf": {
- "english_name": "Pular"
+ "pym": {
+ "english_name": "Fyam"
},
- "fud": {
- "english_name": "Futuna, East"
+ "job": {
+ "english_name": "Joba"
},
- "fue": {
- "english_name": "Fulfulde, Borgu"
+ "khb": {
+ "english_name": "Lü"
},
- "fub": {
- "english_name": "Fulfulde, Adamawa"
+ "ha": {
+ "english_name": "Hausa"
},
- "fuc": {
- "english_name": "Pulaar"
+ "msw": {
+ "english_name": "Mansoanka"
},
- "fun": {
- "english_name": "Fulniô"
+ "dju": {
+ "english_name": "Kapriman"
},
- "rar": {
- "english_name": "Rarotongan"
+ "lbf": {
+ "english_name": "Tinani"
},
- "fum": {
- "english_name": "Fum"
+ "sje": {
+ "english_name": "Sami, Pite"
},
- "fuj": {
- "english_name": "Ko"
+ "yri": {
+ "english_name": "Yarí"
},
- "fuh": {
- "english_name": "Fulfulde, Western Niger"
+ "diz": {
+ "english_name": "Ding"
},
- "fui": {
- "english_name": "Fulfulde, Bagirmi"
+ "mln": {
+ "english_name": "Malango"
},
- "rap": {
- "english_name": "Rapanui"
+ "myg": {
+ "english_name": "Manta"
},
- "raq": {
- "english_name": "Saam"
+ "wka": {
+ "english_name": "Kw'adza"
},
- "ewo": {
- "english_name": "Ewondo"
+ "zuy": {
+ "english_name": "Zumaya"
},
- "tqb": {
- "english_name": "Tembé"
+ "for": {
+ "english_name": "Fore"
},
- "tql": {
- "english_name": "Lehali"
+ "axm": {
+ "english_name": "Armenian, Middle"
},
- "raz": {
- "english_name": "Rahambuu"
+ "abd": {
+ "english_name": "Manide"
},
- "tqn": {
- "english_name": "Tenino"
+ "mpn": {
+ "english_name": "Mindiri"
},
- "tqo": {
- "english_name": "Toaripi"
+ "diw": {
+ "english_name": "Dinka, Northwestern"
},
- "tqt": {
- "english_name": "Totonac, Western"
+ "mgq": {
+ "english_name": "Malila"
},
- "tqu": {
- "english_name": "Touo"
+ "cgg": {
+ "english_name": "Chiga"
},
- "tqw": {
- "english_name": "Tonkawa"
+ "omc": {
+ "english_name": "Mochica"
},
- "tqp": {
- "english_name": "Tomoip"
+ "fvr": {
+ "english_name": "Fur"
},
- "rax": {
- "english_name": "Rang"
+ "faj": {
+ "english_name": "Faita"
},
- "tqr": {
- "english_name": "Torona"
+ "psc": {
+ "english_name": "Persian Sign Language"
},
- "ray": {
- "english_name": "Rapa"
+ "tcx": {
+ "english_name": "Toda"
},
- "dgb": {
- "english_name": "Dogon, Bunoge"
+ "txu": {
+ "english_name": "Kayapó"
},
- "dgc": {
- "english_name": "Agta, Casiguran Dumagat"
+ "xnk": {
+ "english_name": "Nganakarti"
},
- "sya": {
- "english_name": "Siang"
+ "gmd": {
+ "english_name": "Mághdì"
},
- "dga": {
- "english_name": "Dagaare, Southern"
+ "bgm": {
+ "english_name": "Baga Mboteni"
},
- "dgg": {
- "english_name": "Doga"
+ "kll": {
+ "english_name": "Kalagan, Kagan"
},
- "dgd": {
- "english_name": "Dagaari Dioula"
+ "ums": {
+ "english_name": "Pendau"
},
- "dge": {
- "english_name": "Degenan"
+ "mlv": {
+ "english_name": "Motlav"
},
- "syk": {
- "english_name": "Sukur"
+ "khk": {
+ "english_name": "Mongolian, Halh"
},
- "dgk": {
- "english_name": "Dagba"
+ "dyg": {
+ "english_name": "Agta, Villa Viciosa"
},
- "dgh": {
- "english_name": "Dghwede"
+ "xow": {
+ "english_name": "Kowaki"
},
- "dgi": {
- "english_name": "Dagara, Northern"
+ "sng": {
+ "english_name": "Sanga (Democratic Republic of Congo)"
},
- "dgn": {
- "english_name": "Dagoman"
+ "bhh": {
+ "english_name": "Bukharic"
},
- "dgo": {
- "english_name": "Dogri (individual language)"
+ "lhl": {
+ "english_name": "Lohar, Lahul"
},
- "dgl": {
- "english_name": "Andaandi"
+ "ski": {
+ "english_name": "Sika"
},
- "syl": {
- "english_name": "Sylheti"
+ "trg": {
+ "english_name": "Lishán Didán"
},
- "dgr": {
- "english_name": "Dogrib"
+ "cob": {
+ "english_name": "Chicomuceltec"
},
- "dgs": {
- "english_name": "Dogoso"
+ "nyq": {
+ "english_name": "Nayini"
},
- "syw": {
- "english_name": "Kagate"
+ "tuh": {
+ "english_name": "Taulil"
},
- "dgw": {
- "english_name": "Daungwurrung"
+ "cnw": {
+ "english_name": "Chin, Ngawn"
},
- "dgt": {
- "english_name": "Ndra'ngith"
+ "auu": {
+ "english_name": "Auye"
},
- "dgu": {
- "english_name": "Degaru"
+ "buv": {
+ "english_name": "Bun"
},
- "dgz": {
- "english_name": "Daga"
+ "bxl": {
+ "english_name": "Jalkunan"
},
- "dgx": {
- "english_name": "Doghoro"
+ "ljx": {
+ "english_name": "Yuru"
},
- "jbw": {
- "english_name": "Yawijibaya"
+ "hno": {
+ "english_name": "Hindko, Northern"
},
- "jbu": {
- "english_name": "Jukun Takum"
+ "gmx": {
+ "english_name": "Magoma"
},
- "jbt": {
- "english_name": "Jabutí"
+ "lnu": {
+ "english_name": "Longuda"
},
- "jbr": {
- "english_name": "Jofotek-Bromnya"
+ "mqt": {
+ "english_name": "Mok"
},
- "jbe": {
- "english_name": "Judeo-Berber"
+ "nsv": {
+ "english_name": "Nisu, Southwestern"
},
- "jbo": {
- "english_name": "Lojban"
+ "clo": {
+ "english_name": "Chontal, Lowland Oaxaca"
},
- "jbn": {
- "english_name": "Nafusi"
+ "kgl": {
+ "english_name": "Kunggari"
},
- "jbk": {
- "english_name": "Barikewa"
+ "kgx": {
+ "english_name": "Kamaru"
},
- "jbj": {
- "english_name": "Arandai"
+ "thy": {
+ "english_name": "Tha"
},
- "jbi": {
- "english_name": "Badjiri"
+ "snw": {
+ "english_name": "Selee"
},
- "ldb": {
- "english_name": "Dũya"
+ "nsk": {
+ "english_name": "Naskapi"
},
- "lda": {
- "english_name": "Kla-Dan"
+ "zaj": {
+ "english_name": "Zaramo"
},
- "ldg": {
- "english_name": "Lenyima"
+ "mtj": {
+ "english_name": "Moskona"
},
- "ldd": {
- "english_name": "Luri"
+ "nfu": {
+ "english_name": "Mfumte"
},
- "ldk": {
- "english_name": "Leelau"
+ "git": {
+ "english_name": "Gitxsan"
},
- "ldj": {
- "english_name": "Lemoro"
+ "tui": {
+ "english_name": "Tupuri"
},
- "ldi": {
- "english_name": "Laari"
+ "gcd": {
+ "english_name": "Ganggalida"
},
- "ldh": {
- "english_name": "Lamja-Dengsa-Tola"
+ "bic": {
+ "english_name": "Bikaru"
},
- "ldo": {
- "english_name": "Loo"
+ "lnz": {
+ "english_name": "Lonzo"
},
- "ldn": {
- "english_name": "Láadan"
+ "kkk": {
+ "english_name": "Kokota"
},
- "ldm": {
- "english_name": "Landoma"
+ "tio": {
+ "english_name": "Teop"
},
- "ldl": {
- "english_name": "Kaan"
+ "kn": {
+ "english_name": "Kannada",
+ "name": "ಕನ್ನಡ"
},
- "ldq": {
- "english_name": "Lufu"
+ "nho": {
+ "english_name": "Takuu"
},
- "ldp": {
- "english_name": "Tso"
+ "mhd": {
+ "english_name": "Mbugu"
},
- "cuw": {
- "english_name": "Chukwa"
+ "dix": {
+ "english_name": "Dixon Reef"
},
- "cuv": {
- "english_name": "Cuvok"
+ "dks": {
+ "english_name": "Dinka, Southeastern"
},
- "cuu": {
- "english_name": "Tai Ya"
+ "ikr": {
+ "english_name": "Ikaranggal"
},
- "cut": {
- "english_name": "Cuicatec, Teutila"
+ "gyy": {
+ "english_name": "Gunya"
},
- "cur": {
- "english_name": "Chhulung"
+ "ree": {
+ "english_name": "Kayan, Rejang"
},
- "cuq": {
- "english_name": "Cun"
+ "tog": {
+ "english_name": "Tonga (Nyasa)"
},
- "cup": {
- "english_name": "Cupeño"
+ "ttp": {
+ "english_name": "Tombelala"
},
- "cux": {
- "english_name": "Cuicatec, Tepeuxila"
+ "txb": {
+ "english_name": "Tokharian B"
},
- "cug": {
- "english_name": "Cung"
+ "hud": {
+ "english_name": "Huaulu"
},
- "rga": {
- "english_name": "Roria"
+ "hij": {
+ "english_name": "Hijuk"
},
- "cuc": {
- "english_name": "Chinantec, Usila"
+ "cto": {
+ "english_name": "Emberá-Catío"
},
- "cub": {
- "english_name": "Cubeo"
+ "sad": {
+ "english_name": "Sandawe"
},
- "cua": {
- "english_name": "Cua"
+ "khc": {
+ "english_name": "Tukang Besi North"
},
- "cuo": {
- "english_name": "Cumanagoto"
+ "cri": {
+ "english_name": "Sãotomense"
},
- "cum": {
- "english_name": "Cumeral"
+ "hbo": {
+ "english_name": "Hebrew, Ancient"
},
- "cul": {
- "english_name": "Culina"
+ "ace": {
+ "english_name": "Achinese"
},
- "cuk": {
- "english_name": "Kuna, San Blas"
+ "dbq": {
+ "english_name": "Daba"
},
- "cuj": {
- "english_name": "Mashco Piro"
+ "bm": {
+ "english_name": "Bambara"
},
- "cui": {
- "english_name": "Cuiba"
+ "bqp": {
+ "english_name": "Busa"
},
- "cuh": {
- "english_name": "Chuka"
+ "nge": {
+ "english_name": "Ngemba"
},
- "bin": {
- "english_name": "Bini"
+ "zav": {
+ "english_name": "Zapotec, Yatzachi"
},
- "bio": {
- "english_name": "Nai"
+ "sfe": {
+ "english_name": "Subanen, Eastern"
},
- "bil": {
- "english_name": "Bile"
+ "wdg": {
+ "english_name": "Wadaginam"
},
- "bim": {
- "english_name": "Bimoba"
+ "thm": {
+ "english_name": "Aheu"
},
- "bij": {
- "english_name": "Vaghat-Ya-Bijim-Legeri"
+ "kdy": {
+ "english_name": "Keder"
},
- "bik": {
- "english_name": "Bikol"
+ "duo": {
+ "english_name": "Agta, Dupaninan"
},
- "qwh": {
- "english_name": "Quechua, Huaylas Ancash"
+ "psq": {
+ "english_name": "Pasi"
},
- "bif": {
- "english_name": "Biafada"
+ "mvw": {
+ "english_name": "Machinga"
},
- "big": {
- "english_name": "Biangai"
+ "okb": {
+ "english_name": "Okobo"
},
- "bid": {
- "english_name": "Bidiyo"
+ "xkt": {
+ "english_name": "Kantosi"
},
- "bie": {
- "english_name": "Bepour"
+ "til": {
+ "english_name": "Tillamook"
},
- "bib": {
- "english_name": "Bissa"
+ "kuv": {
+ "english_name": "Kur"
},
- "bic": {
- "english_name": "Bikaru"
+ "weo": {
+ "english_name": "Wemale"
},
- "qwa": {
- "english_name": "Quechua, Corongo Ancash"
+ "nnf": {
+ "english_name": "Ngaing"
},
- "bia": {
- "english_name": "Badimaya"
+ "ish": {
+ "english_name": "Esan"
},
- "biz": {
- "english_name": "Baloi"
+ "yxl": {
+ "english_name": "Yardliyawarra"
},
- "bix": {
- "english_name": "Bijori"
+ "xyb": {
+ "english_name": "Yandjibara"
},
- "biy": {
- "english_name": "Birhor"
+ "rak": {
+ "english_name": "Tulu-Bohuai"
},
- "biv": {
- "english_name": "Birifor, Southern"
+ "kqt": {
+ "english_name": "Kadazan, Klias River"
},
- "biw": {
- "english_name": "Kol (Cameroon)"
+ "xoi": {
+ "english_name": "Kominimung"
},
- "bit": {
- "english_name": "Berinomo"
+ "kao": {
+ "english_name": "Xaasongaxango"
},
- "biu": {
- "english_name": "Biete"
+ "trl": {
+ "english_name": "Scottish, Traveller"
},
- "bir": {
- "english_name": "Bisorio"
+ "ver": {
+ "english_name": "Mom Jango"
},
- "bip": {
- "english_name": "Bila"
+ "krv": {
+ "english_name": "Kavet"
},
- "biq": {
- "english_name": "Bipi"
+ "csr": {
+ "english_name": "Costa Rican Sign Language"
},
- "qxs": {
- "english_name": "Qiang, Southern"
+ "ksq": {
+ "english_name": "Kwaami"
},
- "pxm": {
- "english_name": "Mixe, Quetzaltepec"
+ "byb": {
+ "english_name": "Bikya"
},
- "pex": {
- "english_name": "Petats"
+ "jcs": {
+ "english_name": "Jamaican Country Sign Language"
},
- "pey": {
- "english_name": "Petjo"
+ "agl": {
+ "english_name": "Fembe"
},
- "pez": {
- "english_name": "Penan, Eastern"
+ "azb": {
+ "english_name": "Azerbaijani, South"
},
- "pev": {
- "english_name": "Pémono"
+ "mai": {
+ "english_name": "Maithili"
},
- "pep": {
- "english_name": "Kunja"
+ "wei": {
+ "english_name": "Kiunum"
},
- "peq": {
- "english_name": "Pomo, Southern"
+ "npg": {
+ "english_name": "Naga, Ponyo-Gongwang"
},
- "pes": {
- "english_name": "Persian, Iranian"
+ "bra": {
+ "english_name": "Braj"
},
- "pel": {
- "english_name": "Pekal"
+ "trz": {
+ "english_name": "Torá"
},
- "pem": {
- "english_name": "Phende"
+ "trd": {
+ "english_name": "Turi"
},
- "peo": {
- "english_name": "Persian, Old (ca. 600-400 B.C.)"
+ "jow": {
+ "english_name": "Jowulu"
},
- "peh": {
- "english_name": "Bonan"
+ "gvl": {
+ "english_name": "Gulay"
},
- "pei": {
- "english_name": "Chichimeca-Jonaz"
+ "wtf": {
+ "english_name": "Watiwa"
},
- "pej": {
- "english_name": "Pomo, Northern"
+ "mjd": {
+ "english_name": "Maidu, Northwest"
},
- "pek": {
- "english_name": "Penchal"
+ "scw": {
+ "english_name": "Sha"
},
- "ped": {
- "english_name": "Mala (Papua New Guinea)"
+ "nlw": {
+ "english_name": "Walangama"
},
- "pee": {
- "english_name": "Taje"
+ "nb": {
+ "english_name": "Norwegian Bokmål",
+ "name": "Norwegian Bokmål"
},
- "pef": {
- "english_name": "Pomo, Northeastern"
+ "iba": {
+ "english_name": "Iban"
},
- "peg": {
- "english_name": "Pengo"
+ "mpc": {
+ "english_name": "Mangarayi"
},
- "pea": {
- "english_name": "Indonesian, Peranakan"
+ "kvp": {
+ "english_name": "Kompane"
},
- "peb": {
- "english_name": "Pomo, Eastern"
+ "rnd": {
+ "english_name": "Ruund"
},
- "ufi": {
- "english_name": "Ufim"
+ "wnc": {
+ "english_name": "Wantoat"
},
- "qyp": {
- "english_name": "Quiripi"
+ "gcc": {
+ "english_name": "Mali"
},
- "qxw": {
- "english_name": "Quechua, Jauja Wanca"
+ "yry": {
+ "english_name": "Yarluyandi"
},
- "nsh": {
- "english_name": "Ngoshie"
+ "khq": {
+ "english_name": "Songhay, Koyra Chiini"
},
- "nsi": {
- "english_name": "Nigerian Sign Language"
+ "xwj": {
+ "english_name": "Wajuk"
},
- "nsk": {
- "english_name": "Naskapi"
+ "th": {
+ "english_name": "Thai",
+ "name": "ไทย"
},
- "nsl": {
- "english_name": "Norwegian Sign Language"
+ "glh": {
+ "english_name": "Pashayi, Northwest"
},
- "nsm": {
- "english_name": "Naga, Sumi"
+ "krx": {
+ "english_name": "Karon"
},
- "nsn": {
- "english_name": "Nehan"
+ "mkv": {
+ "english_name": "Mafea"
},
- "nso": {
- "name": "Pedi",
- "english_name": "Pedi"
+ "mnb": {
+ "english_name": "Muna"
},
- "nsa": {
- "english_name": "Naga, Sangtam"
+ "nuj": {
+ "english_name": "Nyole"
},
- "nsc": {
- "english_name": "Nshi"
+ "dac": {
+ "english_name": "Dambi"
},
- "nsd": {
- "english_name": "Nisu, Southern"
+ "yai": {
+ "english_name": "Yagnobi"
},
- "nse": {
- "english_name": "Nsenga"
+ "ngh": {
+ "english_name": "N/u"
},
- "nsf": {
- "english_name": "Nisu, Northwestern"
+ "acf": {
+ "english_name": "Creole French, Saint Lucian"
},
- "nsg": {
- "english_name": "Ngasa"
+ "nui": {
+ "english_name": "Ngumbi"
},
- "nsx": {
- "english_name": "Nsongo"
+ "imr": {
+ "english_name": "Imroing"
},
- "nsy": {
- "english_name": "Nasal"
+ "pml": {
+ "english_name": "Lingua Franca"
},
- "nsz": {
- "english_name": "Nisenan"
+ "pbv": {
+ "english_name": "Pnar"
},
- "nsp": {
- "english_name": "Nepalese Sign Language"
+ "hve": {
+ "english_name": "Huave, San Dionisio Del Mar"
},
- "nsq": {
- "english_name": "Miwok, Northern Sierra"
+ "tqp": {
+ "english_name": "Tomoip"
},
- "nsr": {
- "english_name": "Maritime Sign Language"
+ "pks": {
+ "english_name": "Pakistan Sign Language"
},
- "nss": {
- "english_name": "Nali"
+ "mmf": {
+ "english_name": "Mundat"
},
- "nst": {
- "english_name": "Naga, Tase"
+ "adh": {
+ "english_name": "Adhola"
},
- "nsu": {
- "english_name": "Nahuatl, Sierra Negra"
+ "mav": {
+ "english_name": "Sateré-Mawé"
},
- "nsv": {
- "english_name": "Nisu, Southwestern"
+ "tsa": {
+ "english_name": "Tsaangi"
},
- "nsw": {
- "english_name": "Navut"
+ "fue": {
+ "english_name": "Fulfulde, Borgu"
},
- "mkg": {
- "english_name": "Mak (China)"
+ "kqb": {
+ "english_name": "Kovai"
},
- "mkf": {
- "english_name": "Miya"
+ "dds": {
+ "english_name": "Dogon, Donno So"
},
- "mke": {
- "english_name": "Mawchi"
+ "cno": {
+ "english_name": "Con"
},
- "mkc": {
- "english_name": "Siliput"
+ "tbp": {
+ "english_name": "Taworta"
},
- "mkb": {
- "english_name": "Mal Paharia"
+ "avd": {
+ "english_name": "Alviri-Vidari"
},
- "mka": {
- "english_name": "Mbre"
+ "yo": {
+ "english_name": "Yoruba"
},
- "mko": {
- "english_name": "Mingang Doso"
+ "bgp": {
+ "english_name": "Balochi, Eastern"
},
- "mkn": {
- "english_name": "Malay, Kupang"
+ "mwl": {
+ "english_name": "Mirandese"
},
- "mkm": {
- "english_name": "Moklen"
+ "mey": {
+ "english_name": "Hassaniyya"
},
- "mkl": {
- "english_name": "Mokole"
+ "wie": {
+ "english_name": "Wik-Epa"
},
- "mkk": {
- "english_name": "Byep"
+ "km": {
+ "english_name": "Khmer, Central"
},
- "mkj": {
- "english_name": "Mokilese"
+ "uve": {
+ "english_name": "Uvean, West"
},
- "mki": {
- "english_name": "Dhatki"
+ "mhz": {
+ "english_name": "Mor (Mor Islands)"
},
- "mkw": {
- "english_name": "Kituba (Congo)"
+ "ilb": {
+ "english_name": "Ila"
},
- "mkv": {
- "english_name": "Mafea"
+ "gbf": {
+ "english_name": "Gaikundi"
},
- "mku": {
- "english_name": "Maninka, Konyanka"
+ "shv": {
+ "english_name": "Shehri"
},
- "mkt": {
- "english_name": "Vamale"
+ "bkm": {
+ "english_name": "Kom (Cameroon)"
},
- "mks": {
- "english_name": "Mixtec, Silacayoapan"
+ "thd": {
+ "english_name": "Thayore"
},
- "mkr": {
- "english_name": "Malas"
+ "caq": {
+ "english_name": "Nicobarese, Car"
},
- "mkq": {
- "english_name": "Miwok, Bay"
+ "ijs": {
+ "english_name": "Ijo, Southeast"
},
- "mkp": {
- "english_name": "Moikodi"
+ "gtu": {
+ "english_name": "Aghu-Tharnggala"
},
- "mkz": {
- "english_name": "Makasae"
+ "bgw": {
+ "english_name": "Bhatri"
},
- "mky": {
- "english_name": "Makian, East"
+ "yxy": {
+ "english_name": "Yabula Yabula"
},
- "mkx": {
- "english_name": "Manobo, Kinamiging"
+ "knz": {
+ "english_name": "Kalamsé"
},
- "sdt": {
- "english_name": "Shuadit"
+ "xbg": {
+ "english_name": "Bunganditj"
},
- "sdu": {
- "english_name": "Sarudu"
+ "gvf": {
+ "english_name": "Golin"
},
- "sdp": {
- "english_name": "Sherdukpen"
+ "zmh": {
+ "english_name": "Makolkol"
},
- "sdr": {
- "english_name": "Sadri, Oraon"
+ "prd": {
+ "english_name": "Parsi-Dari"
},
- "sds": {
- "english_name": "Sened"
+ "ebg": {
+ "english_name": "Ebughu"
},
- "sdx": {
- "english_name": "Melanau, Sibu"
+ "suj": {
+ "english_name": "Shubi"
},
- "sdz": {
- "english_name": "Sallands"
+ "xur": {
+ "english_name": "Urartian"
},
- "sde": {
- "english_name": "Surubu"
+ "jei": {
+ "english_name": "Yei"
},
- "sdf": {
- "english_name": "Sarli"
+ "anx": {
+ "english_name": "Andra-Hus"
},
- "sdg": {
- "english_name": "Savi"
+ "nar": {
+ "english_name": "Iguta"
},
- "sda": {
- "english_name": "Toraja-Sa'dan"
+ "vmk": {
+ "english_name": "Makhuwa-Shirima"
},
- "sdb": {
- "english_name": "Shabak"
+ "agu": {
+ "english_name": "Aguacateco"
},
- "sdc": {
- "english_name": "Sardinian, Sassarese"
+ "rbl": {
+ "english_name": "Bikol, Miraya"
},
- "sdl": {
- "english_name": "Saudi Arabian Sign Language"
+ "nag": {
+ "english_name": "Naga Pidgin"
},
- "sdm": {
- "english_name": "Semandang"
+ "bon": {
+ "english_name": "Bine"
},
- "sdn": {
- "english_name": "Sardinian, Gallurese"
+ "bao": {
+ "english_name": "Waimaha"
},
- "sdo": {
- "english_name": "Bidayuh, Bukar-Sadung"
+ "sev": {
+ "english_name": "Senoufo, Nyarafolo"
},
- "sdh": {
- "english_name": "Kurdish, Southern"
+ "byt": {
+ "english_name": "Berti"
},
- "sdj": {
- "english_name": "Suundi"
+ "wdj": {
+ "english_name": "Wadjiginy"
},
- "sdk": {
- "english_name": "Sos Kundi"
+ "bsf": {
+ "english_name": "Bauchi"
},
- "zhw": {
- "english_name": "Zhoa"
+ "to": {
+ "english_name": "Tonga (Tonga Islands)"
},
- "zhb": {
- "english_name": "Zhaba"
+ "mmk": {
+ "english_name": "Mukha-Dora"
},
- "zhd": {
- "english_name": "Zhuang, Dai"
+ "btg": {
+ "english_name": "Bété, Gagnoa"
},
- "zhi": {
- "english_name": "Zhire"
+ "lpe": {
+ "english_name": "Lepki"
},
- "zhn": {
- "english_name": "Zhuang, Nong"
+ "jax": {
+ "english_name": "Malay, Jambi"
},
- "bcg": {
- "english_name": "Baga Binari"
+ "buk": {
+ "english_name": "Bugawac"
},
- "lyg": {
- "english_name": "Lyngngam"
+ "svk": {
+ "english_name": "Slovakian Sign Language"
},
- "lya": {
- "english_name": "Layakha"
+ "gec": {
+ "english_name": "Grebo, Gboloo"
},
- "tvd": {
- "english_name": "Tsuvadi"
+ "sgs": {
+ "english_name": "Samogitian"
},
- "lyn": {
- "english_name": "Luyana"
+ "ja": {
+ "english_name": "Japanese",
+ "name": "日本語"
},
- "kqs": {
- "english_name": "Kissi, Northern"
+ "bcv": {
+ "english_name": "Shoo-Minda-Nye"
},
- "kqr": {
- "english_name": "Kimaragang"
+ "coq": {
+ "english_name": "Coquille"
},
- "kqq": {
- "english_name": "Krenak"
+ "orr": {
+ "english_name": "Oruma"
},
- "kqp": {
- "english_name": "Kimré"
+ "bpq": {
+ "english_name": "Malay, Banda"
},
- "kqw": {
- "english_name": "Kandas"
+ "lke": {
+ "english_name": "Kenyi"
},
- "kqv": {
- "english_name": "Okolod"
+ "inm": {
+ "english_name": "Minaean"
},
- "kqu": {
- "english_name": "Seroa"
+ "wec": {
+ "english_name": "Wè Western"
},
- "kqt": {
- "english_name": "Kadazan, Klias River"
+ "cje": {
+ "english_name": "Chru"
},
- "kqz": {
- "english_name": "Korana"
+ "dgb": {
+ "english_name": "Dogon, Bunoge"
},
- "kqy": {
- "english_name": "Koorete"
+ "caf": {
+ "english_name": "Carrier, Southern"
},
- "kqx": {
- "english_name": "Mser"
+ "ygw": {
+ "english_name": "Yagwoia"
},
- "kqc": {
- "english_name": "Doromu-Koki"
+ "ogu": {
+ "english_name": "Ogbronuagum"
},
- "kqb": {
- "english_name": "Kovai"
+ "xpg": {
+ "english_name": "Phrygian"
},
- "kqa": {
- "english_name": "Mum"
+ "rnw": {
+ "english_name": "Rungwa"
},
- "kqg": {
- "english_name": "Khe"
+ "tdx": {
+ "english_name": "Malagasy, Tandroy-Mahafaly"
},
- "kqf": {
- "english_name": "Kakabai"
+ "mxb": {
+ "english_name": "Mixtec, Tezoatlán"
},
- "kqe": {
- "english_name": "Kalagan"
+ "xbo": {
+ "english_name": "Bolgarian"
},
- "kqd": {
- "english_name": "Koy Sanjaq Surat"
+ "wob": {
+ "english_name": "Wè Northern"
},
- "kqk": {
- "english_name": "Gbe, Kotafon"
+ "abz": {
+ "english_name": "Abui"
},
- "kqj": {
- "english_name": "Koromira"
+ "bfh": {
+ "english_name": "Blafe"
},
- "kqi": {
- "english_name": "Koitabu"
+ "mrd": {
+ "english_name": "Magar, Western"
},
- "kqh": {
- "english_name": "Kisankasa"
+ "sgt": {
+ "english_name": "Brokpake"
},
- "kqo": {
- "english_name": "Krahn, Eastern"
+ "wor": {
+ "english_name": "Woria"
},
- "kqn": {
- "english_name": "Kaonde"
+ "orn": {
+ "english_name": "Orang Kanaq"
},
- "kqm": {
- "english_name": "Khisa"
+ "tdd": {
+ "english_name": "Tai Nüa"
},
- "kql": {
- "english_name": "Kyenele"
+ "zpk": {
+ "english_name": "Zapotec, Tlacolulita"
},
- "xby": {
- "english_name": "Batyala"
+ "teg": {
+ "english_name": "Teke-Tege"
},
- "xbx": {
- "english_name": "Kabixí"
+ "lam": {
+ "english_name": "Lamba"
},
- "bcb": {
- "english_name": "Bainouk-Samik"
+ "oko": {
+ "english_name": "Korean, Old (3rd-9th cent.)"
},
- "xbw": {
- "english_name": "Kambiwá"
+ "itk": {
+ "english_name": "Judeo-Italian"
},
- "xbp": {
- "english_name": "Bibbulman"
+ "bpz": {
+ "english_name": "Bilba"
},
- "xbr": {
- "english_name": "Kambera"
+ "eu": {
+ "english_name": "Basque",
+ "name": "Euskara"
},
- "xbm": {
- "english_name": "Breton, Middle"
+ "dda": {
+ "english_name": "Dadi Dadi"
},
- "xbo": {
- "english_name": "Bolgarian"
+ "aci": {
+ "english_name": "Aka-Cari"
},
- "xbn": {
- "english_name": "Kenaboi"
+ "vnm": {
+ "english_name": "Vinmavis"
},
- "xbi": {
- "english_name": "Kombio"
+ "aau": {
+ "english_name": "Abau"
},
- "xbj": {
- "english_name": "Birrpayi"
+ "krt": {
+ "english_name": "Kanuri, Tumari"
},
- "xbe": {
- "english_name": "Bigambal"
+ "lgq": {
+ "english_name": "Logba"
},
- "xbd": {
- "english_name": "Bindal"
+ "csn": {
+ "english_name": "Colombian Sign Language"
},
- "xbg": {
- "english_name": "Bunganditj"
+ "btn": {
+ "english_name": "Ratagnon"
},
- "xba": {
- "english_name": "Kamba (Brazil)"
+ "kiq": {
+ "english_name": "Kosadle"
},
- "xbc": {
- "english_name": "Bactrian"
+ "lbr": {
+ "english_name": "Lohorung"
},
- "xbb": {
- "english_name": "Burdekin, Lower"
+ "brc": {
+ "english_name": "Creole Dutch, Berbice"
},
- "bcc": {
- "english_name": "Balochi, Southern"
+ "csf": {
+ "english_name": "Cuba Sign Language"
},
- "tdi": {
- "english_name": "Tomadino"
+ "sac": {
+ "english_name": "Meskwaki"
},
- "tdh": {
- "english_name": "Thulung"
+ "dhi": {
+ "english_name": "Dhimal"
},
- "vlp": {
- "english_name": "Valpei"
+ "sld": {
+ "english_name": "Sissala"
},
- "vls": {
- "english_name": "Vlaams"
+ "cir": {
+ "english_name": "Tiri"
},
- "tdo": {
- "english_name": "Teme"
+ "wsk": {
+ "english_name": "Waskia"
},
- "haa": {
- "english_name": "Han"
+ "bwz": {
+ "english_name": "Bwisi"
},
- "chb": {
- "english_name": "Chibcha"
+ "ggl": {
+ "english_name": "Ganglau"
},
- "hab": {
- "english_name": "Hanoi Sign Language"
+ "jnl": {
+ "english_name": "Rawat"
},
- "chd": {
- "english_name": "Chontal, Highland Oaxaca"
+ "epi": {
+ "english_name": "Epie"
},
- "chf": {
- "english_name": "Chontal, Tabasco"
+ "xcc": {
+ "english_name": "Camunic"
},
- "chg": {
- "english_name": "Chagatai"
+ "xsm": {
+ "english_name": "Kasem"
},
- "chh": {
- "english_name": "Chinook"
+ "len": {
+ "english_name": "Lenca"
},
- "chj": {
- "english_name": "Chinantec, Ojitlán"
+ "tmc": {
+ "english_name": "Tumak"
},
- "chk": {
- "english_name": "Chuukese"
+ "xtp": {
+ "english_name": "Mixtec, San Miguel Piedras"
},
- "chl": {
- "english_name": "Cahuilla"
+ "dre": {
+ "english_name": "Dolpo"
},
- "chm": {
- "english_name": "Mari (Russia)"
+ "arc": {
+ "english_name": "Aramaic, Official (700-300 BCE)"
},
- "chn": {
- "english_name": "Chinook jargon"
+ "gju": {
+ "english_name": "Gujari"
},
- "cho": {
- "english_name": "Choctaw"
+ "muo": {
+ "english_name": "Nyong"
},
- "chp": {
- "english_name": "Chipewyan"
+ "skm": {
+ "english_name": "Kutong"
},
- "chq": {
- "english_name": "Chinantec, Quiotepec"
+ "xzh": {
+ "english_name": "Zhang-Zhung"
},
- "chr": {
- "english_name": "Cherokee"
+ "gas": {
+ "english_name": "Garasia, Adiwasi"
},
- "cht": {
- "english_name": "Cholón"
+ "amt": {
+ "english_name": "Amto"
},
- "chw": {
- "english_name": "Chuwabu"
+ "bbh": {
+ "english_name": "Bugan"
},
- "chx": {
- "english_name": "Chantyal"
+ "wmm": {
+ "english_name": "Maiwa (Indonesia)"
},
- "chy": {
- "english_name": "Cheyenne"
+ "vmr": {
+ "english_name": "Marenje"
},
- "chz": {
- "english_name": "Chinantec, Ozumacín"
+ "qux": {
+ "english_name": "Quechua, Yauyos"
},
- "iin": {
- "english_name": "Thiin"
+ "chh": {
+ "english_name": "Chinook"
},
- "tdg": {
- "english_name": "Tamang, Western"
+ "nsh": {
+ "english_name": "Ngoshie"
},
- "tde": {
- "english_name": "Dogon, Tiranige Diga"
+ "yec": {
+ "english_name": "Yeniche"
},
- "afn": {
- "english_name": "Defaka"
+ "zgn": {
+ "english_name": "Zhuang, Guibian"
},
- "afo": {
- "english_name": "Eloyi"
+ "wni": {
+ "english_name": "Comorian, Ndzwani"
},
- "afh": {
- "english_name": "Afrihili"
+ "lir": {
+ "english_name": "English, Liberian"
},
- "afi": {
- "english_name": "Akrukay"
+ "kni": {
+ "english_name": "Kanufi"
},
- "afk": {
- "english_name": "Nanubae"
+ "tiu": {
+ "english_name": "Adasen"
},
- "afd": {
- "english_name": "Andai"
+ "zoq": {
+ "english_name": "Zoque, Tabasco"
},
- "afe": {
- "english_name": "Putukwam"
+ "asn": {
+ "english_name": "Asuriní, Xingú"
},
- "afg": {
- "english_name": "Afghan Sign Language"
+ "kkn": {
+ "english_name": "Kon Keu"
},
- "gcl": {
- "english_name": "Creole English, Grenadian"
+ "end": {
+ "english_name": "Ende"
},
- "afb": {
- "english_name": "Arabic, Gulf"
+ "xkn": {
+ "english_name": "Kayan, Kayan River"
},
- "gcn": {
- "english_name": "Gaina"
+ "tsq": {
+ "english_name": "Thai Sign Language"
},
- "gcr": {
- "english_name": "Creole French, Guianese"
+ "gix": {
+ "english_name": "Gilima"
},
- "gct": {
- "english_name": "German, Colonia Tovar"
+ "kyx": {
+ "english_name": "Rapoisi"
},
- "afz": {
- "english_name": "Obokuitai"
+ "kez": {
+ "english_name": "Kukele"
},
- "aft": {
- "english_name": "Afitti"
+ "dro": {
+ "english_name": "Melanau, Daro-Matu"
},
- "afu": {
- "english_name": "Awutu"
+ "ikw": {
+ "english_name": "Ikwere"
},
- "afp": {
- "english_name": "Tapei"
+ "mfl": {
+ "english_name": "Putai"
},
- "afs": {
- "english_name": "Creole, Afro-Seminole"
+ "ndp": {
+ "english_name": "Ndo"
},
- "sis": {
- "english_name": "Siuslaw"
+ "sow": {
+ "english_name": "Sowanda"
},
- "sir": {
- "english_name": "Siri"
+ "kpv": {
+ "english_name": "Komi-Zyrian"
},
- "siv": {
- "english_name": "Sumariup"
+ "yky": {
+ "english_name": "Yakoma"
},
- "lg": {
- "english_name": "Ganda"
+ "quw": {
+ "english_name": "Quichua, Tena Lowland"
},
- "tsl": {
- "english_name": "Ts'ün-Lao"
+ "mfj": {
+ "english_name": "Mefele"
},
- "tsm": {
- "english_name": "Turkish Sign Language"
+ "xpi": {
+ "english_name": "Pictish"
},
- "lb": {
- "english_name": "Luxembourgish"
+ "pbh": {
+ "english_name": "E'ñapa Woromaipu"
},
- "tsk": {
- "english_name": "Tseku"
+ "rcf": {
+ "english_name": "Creole French, Réunion"
},
- "tsh": {
- "english_name": "Tsuvan"
+ "tgn": {
+ "english_name": "Tandaganon"
},
- "la": {
- "english_name": "Latin"
+ "gbd": {
+ "english_name": "Karadjeri"
},
- "ln": {
- "english_name": "Lingala"
+ "goo": {
+ "english_name": "Gone Dau"
},
- "lo": {
- "english_name": "Lao"
+ "kxf": {
+ "english_name": "Karen, Manumanaw"
},
- "tsd": {
- "english_name": "Tsakonian"
+ "shb": {
+ "english_name": "Ninam"
},
- "tse": {
- "english_name": "Tunisian Sign Language"
+ "cta": {
+ "english_name": "Chatino, Tataltepec"
},
- "tsb": {
- "english_name": "Tsamai"
+ "pix": {
+ "english_name": "Piu"
},
- "tsc": {
- "english_name": "Tswa"
+ "cdi": {
+ "english_name": "Chodri"
},
- "li": {
- "english_name": "Limburgan"
+ "ttu": {
+ "english_name": "Torau"
},
- "lv": {
- "name": "Latviešu",
- "english_name": "Latvian"
+ "kvb": {
+ "english_name": "Kubu"
},
- "lt": {
- "name": "Lietuvių",
- "english_name": "Lithuanian"
+ "ttr": {
+ "english_name": "Tera"
},
- "lu": {
- "english_name": "Luba-Katanga"
+ "gnd": {
+ "english_name": "Zulgo-Gemzek"
},
- "tsz": {
- "english_name": "Purepecha"
+ "sec": {
+ "english_name": "Sechelt"
},
- "tdx": {
- "english_name": "Malagasy, Tandroy-Mahafaly"
+ "guf": {
+ "english_name": "Gupapuyngu"
},
- "tsy": {
- "english_name": "Tebul Sign Language"
+ "bry": {
+ "english_name": "Burui"
},
- "tsv": {
- "english_name": "Tsogo"
+ "bkk": {
+ "english_name": "Brokskat"
},
- "tsw": {
- "english_name": "Tsishingini"
+ "txe": {
+ "english_name": "Totoli"
},
- "tst": {
- "english_name": "Songway Kiini, Tondi"
+ "lli": {
+ "english_name": "Teke-Laali"
},
- "tsu": {
- "english_name": "Tsou"
+ "kvr": {
+ "english_name": "Kerinci"
},
- "tsr": {
- "english_name": "Akei"
+ "shr": {
+ "english_name": "Shi"
},
- "tss": {
- "english_name": "Taiwan Sign Language"
+ "act": {
+ "english_name": "Achterhoeks"
},
- "tsp": {
- "english_name": "Toussian, Northern"
+ "dlk": {
+ "english_name": "Dahalik"
},
- "tsq": {
- "english_name": "Thai Sign Language"
+ "mzb": {
+ "english_name": "Tumzabt"
},
- "dad": {
- "english_name": "Marik"
+ "pay": {
+ "english_name": "Pech"
},
- "dae": {
- "english_name": "Duupa"
+ "pek": {
+ "english_name": "Penchal"
},
- "dag": {
- "english_name": "Dagbani"
+ "yaa": {
+ "english_name": "Yaminahua"
},
- "daa": {
- "english_name": "Dangaléat"
+ "srw": {
+ "english_name": "Serua"
},
- "dac": {
- "english_name": "Dambi"
+ "guk": {
+ "english_name": "Gumuz"
},
- "dal": {
- "english_name": "Dahalo"
+ "ypn": {
+ "english_name": "Phowa, Ani"
},
- "dam": {
- "english_name": "Damakawa"
+ "rrt": {
+ "english_name": "Arritinngithigh"
},
- "dao": {
- "english_name": "Chin, Daai"
+ "stv": {
+ "english_name": "Silt'e"
},
- "dah": {
- "english_name": "Gwahatike"
+ "obi": {
+ "english_name": "Obispeño"
},
- "dai": {
- "english_name": "Day"
+ "kfm": {
+ "english_name": "Khunsari"
},
- "daj": {
- "english_name": "Daju, Dar Fur"
+ "wmd": {
+ "english_name": "Mamaindé"
},
- "dak": {
- "english_name": "Dakota"
+ "auo": {
+ "english_name": "Auyokawa"
},
- "dau": {
- "english_name": "Daju, Dar Sila"
+ "puq": {
+ "english_name": "Puquina"
},
- "dav": {
- "english_name": "Taita"
+ "aeb": {
+ "english_name": "Arabic, Tunisian"
},
- "daw": {
- "english_name": "Davawenyo"
+ "gnl": {
+ "english_name": "Gangulu"
},
- "daq": {
- "english_name": "Maria, Dandami"
+ "ktb": {
+ "english_name": "Kambaata"
},
- "dar": {
- "english_name": "Dargwa"
+ "mdd": {
+ "english_name": "Mbum"
},
- "das": {
- "english_name": "Daho-Doo"
+ "udg": {
+ "english_name": "Muduga"
},
- "dax": {
- "english_name": "Dayi"
+ "tih": {
+ "english_name": "Murut, Timugon"
},
- "daz": {
- "english_name": "Dao"
+ "rmq": {
+ "english_name": "Caló"
},
- "lfa": {
- "english_name": "Lefa"
+ "gnb": {
+ "english_name": "Gangte"
},
- "lfn": {
- "english_name": "Lingua Franca Nova"
+ "fer": {
+ "english_name": "Feroge"
},
- "rey": {
- "english_name": "Reyesano"
+ "tw": {
+ "english_name": "Twi"
},
- "rer": {
- "english_name": "Rer Bare"
+ "om": {
+ "english_name": "Oromo"
},
- "res": {
- "english_name": "Reshe"
+ "coo": {
+ "english_name": "Comox"
},
- "cwt": {
- "english_name": "Kuwaataay"
+ "msh": {
+ "english_name": "Malagasy, Masikoro"
},
- "ret": {
- "english_name": "Retta"
+ "nmh": {
+ "english_name": "Naga, Monsang"
},
- "rej": {
- "english_name": "Rejang"
+ "haf": {
+ "english_name": "Haiphong Sign Language"
},
- "rei": {
- "english_name": "Reli"
+ "xau": {
+ "english_name": "Kauwera"
},
- "ren": {
- "english_name": "Rengao"
+ "dhn": {
+ "english_name": "Dhanki"
},
- "rel": {
- "english_name": "Rendille"
+ "swn": {
+ "english_name": "Sawknah"
},
- "rem": {
- "english_name": "Remo"
+ "ten": {
+ "english_name": "Tama (Colombia)"
},
- "cwa": {
- "english_name": "Kabwa"
+ "hmq": {
+ "english_name": "Miao, Eastern Qiandong"
},
- "cwb": {
- "english_name": "Maindo"
+ "pgi": {
+ "english_name": "Pagi"
},
- "cwe": {
- "english_name": "Kwere"
+ "hmk": {
+ "english_name": "Maek"
},
- "cwd": {
- "english_name": "Cree, Woods"
+ "xkb": {
+ "english_name": "Nago, Northern"
},
- "cwg": {
- "english_name": "Chewong"
+ "txi": {
+ "english_name": "Ikpeng"
},
- "ree": {
- "english_name": "Kayan, Rejang"
+ "rod": {
+ "english_name": "Rogo"
},
- "bwp": {
- "english_name": "Mandobo Bawah"
+ "mqy": {
+ "english_name": "Manggarai"
},
- "bwq": {
- "english_name": "Bobo Madaré, Southern"
+ "bch": {
+ "english_name": "Bariai"
},
- "bwr": {
- "english_name": "Bura-Pabir"
+ "dde": {
+ "english_name": "Doondo"
},
- "bws": {
- "english_name": "Bomboma"
+ "llk": {
+ "english_name": "Lelak"
},
- "bwt": {
- "english_name": "Bafaw-Balong"
+ "poi": {
+ "english_name": "Popoluca, Highland"
},
- "bwu": {
- "english_name": "Buli (Ghana)"
+ "wgb": {
+ "english_name": "Wagawaga"
},
- "quw": {
- "english_name": "Quichua, Tena Lowland"
+ "gwd": {
+ "english_name": "Gawwada"
},
- "bww": {
- "english_name": "Bwa"
+ "kw": {
+ "english_name": "Cornish"
},
- "bwx": {
- "english_name": "Bunu, Bu-Nao"
+ "btd": {
+ "english_name": "Batak Dairi"
},
- "bwy": {
- "english_name": "Bwamu, Cwi"
+ "eza": {
+ "english_name": "Ezaa"
},
- "bwz": {
- "english_name": "Bwisi"
+ "tma": {
+ "english_name": "Tama (Chad)"
},
- "quz": {
- "english_name": "Quechua, Cusco"
+ "adq": {
+ "english_name": "Adangbe"
},
- "tds": {
- "english_name": "Doutai"
+ "xaq": {
+ "english_name": "Aquitanian"
},
- "qua": {
- "english_name": "Quapaw"
+ "btp": {
+ "english_name": "Budibud"
},
- "bwa": {
- "english_name": "Bwatoo"
+ "xka": {
+ "english_name": "Kalkoti"
},
- "bwb": {
- "english_name": "Namosi-Naitasiri-Serua"
+ "tnz": {
+ "english_name": "Tonga (Thailand)"
},
- "bwc": {
- "english_name": "Bwile"
+ "kwn": {
+ "english_name": "Kwangali"
},
- "bwd": {
- "english_name": "Bwaidoka"
+ "msn": {
+ "english_name": "Vurës"
},
- "bwe": {
- "english_name": "Karen, Bwe"
+ "awn": {
+ "english_name": "Awngi"
},
- "bwf": {
- "english_name": "Boselewa"
+ "kys": {
+ "english_name": "Kayan, Baram"
},
- "bwg": {
- "english_name": "Barwe"
+ "key": {
+ "english_name": "Kupia"
},
- "bwh": {
- "english_name": "Bishuo"
+ "ned": {
+ "english_name": "Nde-Gbite"
},
- "bwi": {
- "english_name": "Baniwa"
+ "inz": {
+ "english_name": "Ineseño"
},
- "bwj": {
- "english_name": "Bwamu, Láá Láá"
+ "af": {
+ "english_name": "Afrikaans",
+ "name": "Afrikaans"
},
- "bwk": {
- "english_name": "Bauwaki"
+ "apu": {
+ "english_name": "Apurinã"
},
- "bwl": {
- "english_name": "Bwela"
+ "xes": {
+ "english_name": "Kesawai"
},
- "bwm": {
- "english_name": "Biwat"
+ "ayp": {
+ "english_name": "Arabic, North Mesopotamian"
},
- "bwn": {
- "english_name": "Bunu, Wunai"
+ "bls": {
+ "english_name": "Balaesang"
},
- "bwo": {
- "english_name": "Boro (Ethiopia)"
+ "dry": {
+ "english_name": "Darai"
},
- "pgg": {
- "english_name": "Pangwali"
+ "pnc": {
+ "english_name": "Pannei"
},
- "pga": {
- "english_name": "Creole Arabic, Sudanese"
+ "bsq": {
+ "english_name": "Bassa"
},
- "pgn": {
- "english_name": "Paelignian"
+ "xlb": {
+ "english_name": "Loup B"
},
- "pgl": {
- "english_name": "Irish, Primitive"
+ "hai": {
+ "english_name": "Haida"
},
- "pgk": {
- "english_name": "Rerep"
+ "ems": {
+ "english_name": "Yupik, Pacific Gulf"
},
- "pgi": {
- "english_name": "Pagi"
+ "vsi": {
+ "english_name": "Moldova Sign Language"
},
- "pgu": {
- "english_name": "Pagu"
+ "ino": {
+ "english_name": "Inoke-Yate"
},
- "pgs": {
- "english_name": "Pangseng"
+ "ibm": {
+ "english_name": "Agoi"
},
- "udu": {
- "english_name": "Uduk"
+ "bjs": {
+ "english_name": "Bajan"
},
- "ogu": {
- "english_name": "Ogbronuagum"
+ "atd": {
+ "english_name": "Manobo, Ata"
},
- "ogo": {
- "english_name": "Khana"
+ "dso": {
+ "english_name": "Desiya"
},
- "uda": {
- "english_name": "Uda"
+ "blw": {
+ "english_name": "Balangao"
},
- "udg": {
- "english_name": "Muduga"
+ "bdd": {
+ "english_name": "Bunama"
},
- "ude": {
- "english_name": "Udihe"
+ "ahp": {
+ "english_name": "Aizi, Aproumu"
},
- "oge": {
- "english_name": "Georgian, Old"
+ "sys": {
+ "english_name": "Sinyar"
},
- "ogg": {
- "english_name": "Ogbogolo"
+ "kge": {
+ "english_name": "Komering"
},
- "udi": {
- "english_name": "Udi"
+ "ise": {
+ "english_name": "Italian Sign Language"
},
- "ogc": {
- "english_name": "Ogbah"
+ "cse": {
+ "english_name": "Czech Sign Language"
},
- "ogb": {
- "english_name": "Ogbia"
+ "ru": {
+ "english_name": "Russian",
+ "name": "русский"
},
- "hav": {
- "english_name": "Havu"
+ "ady": {
+ "english_name": "Adyghe"
},
- "nqq": {
- "english_name": "Naga, Kyan-Karyaw"
+ "liu": {
+ "english_name": "Logorik"
},
- "nqy": {
- "english_name": "Naga, Akyaung Ari"
+ "aiq": {
+ "english_name": "Aimaq"
},
- "nqg": {
- "english_name": "Nago, Southern"
+ "eo": {
+ "english_name": "Esperanto",
+ "name": "Esperanto"
},
- "nqk": {
- "english_name": "Ede Nago, Kura"
+ "tsr": {
+ "english_name": "Akei"
},
- "nqn": {
- "english_name": "Nen"
+ "sxk": {
+ "english_name": "Kalapuya, Southern"
},
- "nqo": {
- "english_name": "N'Ko"
+ "bma": {
+ "english_name": "Lame"
},
- "nqm": {
- "english_name": "Ndom"
+ "kuj": {
+ "english_name": "Kuria"
},
- "mii": {
- "english_name": "Mixtec, Chigmecatitlán"
+ "yuc": {
+ "english_name": "Yuchi"
},
- "mih": {
- "english_name": "Mixtec, Chayuco"
+ "jia": {
+ "english_name": "Jina"
},
- "mik": {
- "english_name": "Mikasuki"
+ "tcf": {
+ "english_name": "Me'phaa, Malinaltepec"
},
- "mij": {
- "english_name": "Abar"
+ "nuf": {
+ "english_name": "Nusu"
},
- "mim": {
- "english_name": "Mixtec, Alacatlatzala"
+ "bay": {
+ "english_name": "Batuley"
},
- "mil": {
- "english_name": "Mixtec, Peñoles"
+ "bkf": {
+ "english_name": "Beeke"
},
- "mio": {
- "english_name": "Mixtec, Pinotepa Nacional"
+ "mfo": {
+ "english_name": "Mbe"
},
- "min": {
- "english_name": "Minangkabau"
+ "ndk": {
+ "english_name": "Ndaka"
},
- "mia": {
- "english_name": "Miami"
+ "rpt": {
+ "english_name": "Rapting"
},
- "mic": {
- "english_name": "Mi'kmaq"
+ "kag": {
+ "english_name": "Kajaman"
},
- "mib": {
- "english_name": "Mixtec, Atatláhuca"
+ "phq": {
+ "english_name": "Phana'"
},
- "mie": {
- "english_name": "Mixtec, Ocotepec"
+ "yom": {
+ "english_name": "Yombe"
},
- "mid": {
- "english_name": "Mandaic"
+ "cni": {
+ "english_name": "Asháninka"
},
- "mig": {
- "english_name": "Mixtec, San Miguel El Grande"
+ "yuq": {
+ "english_name": "Yuqui"
},
- "mif": {
- "english_name": "Mofu-Gudur"
+ "cag": {
+ "english_name": "Nivaclé"
},
- "miy": {
- "english_name": "Mixtec, Ayutla"
+ "kbg": {
+ "english_name": "Khamba"
},
- "mix": {
- "english_name": "Mixtec, Mixtepec"
+ "alq": {
+ "english_name": "Algonquin"
},
- "miz": {
- "english_name": "Mixtec, Coatzospan"
+ "ruy": {
+ "english_name": "Mala (Nigeria)"
},
- "miq": {
- "english_name": "Mískito"
+ "tuv": {
+ "english_name": "Turkana"
},
- "mip": {
- "english_name": "Mixtec, Apasco-Apoala"
+ "gmu": {
+ "english_name": "Gumalu"
},
- "mis": {
- "english_name": "Uncoded languages"
+ "lwm": {
+ "english_name": "Laomian"
},
- "mir": {
- "english_name": "Mixe, Isthmus"
+ "mh": {
+ "english_name": "Marshallese"
},
- "miu": {
- "english_name": "Mixtec, Cacaloxtepec"
+ "myf": {
+ "english_name": "Bambassi"
},
- "mit": {
- "english_name": "Mixtec, Southern Puebla"
+ "swt": {
+ "english_name": "Sawila"
},
- "miw": {
- "english_name": "Akoye"
+ "tzx": {
+ "english_name": "Tabriak"
},
- "sfw": {
- "english_name": "Sehwi"
+ "gul": {
+ "english_name": "Creole English, Sea Island"
},
- "sfs": {
- "english_name": "South African Sign Language"
+ "mtr": {
+ "english_name": "Mewari"
},
- "sfm": {
- "english_name": "Miao, Small Flowery"
+ "bmu": {
+ "english_name": "Somba-Siawari"
},
- "sfe": {
- "english_name": "Subanen, Eastern"
+ "ebk": {
+ "english_name": "Bontok, Eastern"
},
- "sfb": {
- "english_name": "Langue des signes de Belgique Francophone"
+ "esq": {
+ "english_name": "Esselen"
},
- "ksu": {
- "english_name": "Khamyang"
+ "tet": {
+ "english_name": "Tetum"
},
- "kst": {
- "english_name": "Winyé"
+ "mog": {
+ "english_name": "Mongondow"
},
- "ksw": {
- "english_name": "Karen, S'gaw"
+ "nck": {
+ "english_name": "Nakara"
},
- "ksv": {
- "english_name": "Kusu"
+ "tyx": {
+ "english_name": "Teke-Tyee"
},
- "ksq": {
- "english_name": "Kwaami"
+ "ute": {
+ "english_name": "Ute-Southern Paiute"
},
- "ksp": {
- "english_name": "Kaba"
+ "ndz": {
+ "english_name": "Ndogo"
},
- "kss": {
- "english_name": "Kisi, Southern"
+ "gob": {
+ "english_name": "Playero"
},
- "ksr": {
- "english_name": "Borong"
+ "bky": {
+ "english_name": "Bokyi"
},
- "ksy": {
- "english_name": "Kharia Thar"
+ "bid": {
+ "english_name": "Bidiyo"
},
- "ksx": {
- "english_name": "Kedang"
+ "beb": {
+ "english_name": "Bebele"
},
- "ksz": {
- "english_name": "Kodaku"
+ "okh": {
+ "english_name": "Koresh-e Rostam"
},
- "kse": {
- "english_name": "Kuni"
+ "kea": {
+ "english_name": "Kabuverdianu"
},
- "ksd": {
- "english_name": "Kuanua"
+ "crn": {
+ "english_name": "Cora, El Nayar"
},
- "ksg": {
- "english_name": "Kusaghe"
+ "ntp": {
+ "english_name": "Tepehuan, Northern"
},
- "ksf": {
- "english_name": "Bafia"
+ "kxi": {
+ "english_name": "Murut, Keningau"
},
- "ksa": {
- "english_name": "Shuwa-Zamani"
+ "avl": {
+ "english_name": "Arabic, Eastern Egyptian Bedawi"
},
- "ksc": {
- "english_name": "Kalinga, Southern"
+ "xpp": {
+ "english_name": "Puyo-Paekche"
},
- "ksb": {
- "english_name": "Shambala"
+ "vkm": {
+ "english_name": "Kamakan"
},
- "ksm": {
- "english_name": "Kumba"
+ "hoh": {
+ "english_name": "Hobyót"
},
- "ksl": {
- "english_name": "Kumalu"
+ "bgr": {
+ "english_name": "Chin, Bawm"
},
- "kso": {
- "english_name": "Kofa"
+ "tuc": {
+ "english_name": "Mutu"
},
- "ksn": {
- "english_name": "Kasiguranin"
+ "ulf": {
+ "english_name": "Usku"
},
- "ksi": {
- "english_name": "Krisa"
+ "mgw": {
+ "english_name": "Matumbi"
},
- "ksh": {
- "english_name": "Kölsch"
+ "kbe": {
+ "english_name": "Kanju"
},
- "ksk": {
- "english_name": "Kansa"
+ "nrn": {
+ "english_name": "Norn"
},
- "ksj": {
- "english_name": "Uare"
+ "gbk": {
+ "english_name": "Gaddi"
},
- "xdc": {
- "english_name": "Dacian"
+ "ie": {
+ "english_name": "Interlingue"
},
- "xda": {
- "english_name": "Darkinyung"
+ "ium": {
+ "english_name": "Mien, Iu"
},
- "xdm": {
- "english_name": "Edomite"
+ "kde": {
+ "english_name": "Makonde"
},
- "xdk": {
- "english_name": "Dharuk"
+ "pcm": {
+ "english_name": "Pidgin, Nigerian"
},
- "xdy": {
- "english_name": "Dayak, Malayic"
+ "bdm": {
+ "english_name": "Buduma"
},
- "vrs": {
- "english_name": "Varisi"
+ "mqa": {
+ "english_name": "Maba (Indonesia)"
},
- "vrt": {
- "english_name": "Burmbar"
+ "unu": {
+ "english_name": "Unubahe"
},
- "vra": {
- "english_name": "Vera'a"
+ "rna": {
+ "english_name": "Runa"
},
- "vro": {
- "english_name": "Võro"
+ "rmx": {
+ "english_name": "Romam"
},
- "ilg": {
- "english_name": "Garig-Ilgar"
+ "srg": {
+ "english_name": "Sulod"
},
- "ilb": {
- "english_name": "Ila"
+ "mui": {
+ "english_name": "Musi"
},
- "yso": {
- "english_name": "Nisi (China)"
+ "tef": {
+ "english_name": "Teressa"
},
- "ysn": {
- "english_name": "Sani"
+ "mhm": {
+ "english_name": "Makhuwa-Moniga"
},
- "ysl": {
- "english_name": "Yugoslavian Sign Language"
+ "bnn": {
+ "english_name": "Bunun"
},
- "ysc": {
- "english_name": "Yassic"
+ "ppl": {
+ "english_name": "Pipil"
},
- "ila": {
- "english_name": "Ile Ape"
+ "llp": {
+ "english_name": "Efate, North"
},
- "ysg": {
- "english_name": "Sonaga"
+ "crl": {
+ "english_name": "Cree, Northern East"
},
- "uis": {
- "english_name": "Uisai"
+ "awb": {
+ "english_name": "Awa (Papua New Guinea)"
},
- "ysd": {
- "english_name": "Samatao"
+ "lek": {
+ "english_name": "Leipon"
},
- "ysy": {
- "english_name": "Sanie"
+ "klh": {
+ "english_name": "Weliki"
},
- "ilo": {
- "english_name": "Iloko"
+ "nuc": {
+ "english_name": "Nukuini"
},
- "yss": {
- "english_name": "Yessan-Mayo"
+ "tpe": {
+ "english_name": "Tippera"
},
- "ysr": {
- "english_name": "Yupik, Sirenik"
+ "dyn": {
+ "english_name": "Dyangadi"
},
- "ysp": {
- "english_name": "Lolopo, Southern"
+ "mxc": {
+ "english_name": "Manyika"
},
- "uiv": {
- "english_name": "Iyive"
+ "mjt": {
+ "english_name": "Sauria Paharia"
},
- "ay": {
- "english_name": "Aymara"
+ "sbt": {
+ "english_name": "Kimki"
},
- "coa": {
- "english_name": "Malay, Cocos Islands"
+ "tal": {
+ "english_name": "Tal"
},
- "cjh": {
- "english_name": "Chehalis, Upper"
+ "gva": {
+ "english_name": "Guana (Paraguay)"
},
- "cji": {
- "english_name": "Chamalal"
+ "sue": {
+ "english_name": "Suena"
},
- "cjn": {
- "english_name": "Chenapian"
+ "aod": {
+ "english_name": "Andarum"
},
- "cjo": {
- "english_name": "Ashéninka Pajonal"
+ "waw": {
+ "english_name": "Waiwai"
},
- "cjm": {
- "english_name": "Cham, Eastern"
+ "chm": {
+ "english_name": "Mari (Russia)"
},
- "cja": {
- "english_name": "Cham, Western"
+ "jmw": {
+ "english_name": "Mouwase"
},
- "cje": {
- "english_name": "Chru"
+ "jvd": {
+ "english_name": "Javindo"
},
- "ilu": {
- "english_name": "Ili'uun"
+ "uby": {
+ "english_name": "Ubykh"
},
- "cjs": {
- "english_name": "Shor"
+ "afg": {
+ "english_name": "Afghan Sign Language"
},
- "cjp": {
- "english_name": "Cabécar"
+ "lbc": {
+ "english_name": "Lakkia"
},
- "cjv": {
- "english_name": "Chuave"
+ "bxw": {
+ "english_name": "Bankagooma"
},
- "ils": {
- "english_name": "International Sign"
+ "ayg": {
+ "english_name": "Ginyanga"
},
- "iow": {
- "english_name": "Iowa-Oto"
+ "syw": {
+ "english_name": "Kagate"
},
- "iou": {
- "english_name": "Tuma-Irumu"
+ "ho": {
+ "english_name": "Hiri Motu"
},
- "ior": {
- "english_name": "Inor"
+ "yhd": {
+ "english_name": "Arabic, Judeo-Iraqi"
},
- "wyr": {
- "english_name": "Wayoró"
+ "ylo": {
+ "english_name": "Yi, Naluo"
},
- "wyy": {
- "english_name": "Fijian, Western"
+ "weg": {
+ "english_name": "Wergaia"
},
- "wyb": {
- "english_name": "Wangaaybuwan-Ngiyambaa"
+ "bts": {
+ "english_name": "Batak Simalungun"
},
- "wya": {
- "english_name": "Wyandot"
+ "fil": {
+ "english_name": "Filipino"
},
- "wym": {
- "english_name": "Wymysorys"
+ "jmd": {
+ "english_name": "Yamdena"
},
- "qvh": {
- "english_name": "Quechua, Huamalíes-Dos de Mayo Huánuco"
+ "svb": {
+ "english_name": "Ulau-Suain"
},
- "wyi": {
- "english_name": "Woiwurrung"
+ "laf": {
+ "english_name": "Lafofa"
},
- "adw": {
- "english_name": "Amundava"
+ "tgu": {
+ "english_name": "Tanggu"
},
- "adt": {
- "english_name": "Adnyamathanha"
+ "hab": {
+ "english_name": "Hanoi Sign Language"
},
- "gmh": {
- "english_name": "German, Middle High (ca. 1050-1500)"
+ "tye": {
+ "english_name": "Kyanga"
},
- "adr": {
- "english_name": "Adonara"
+ "bud": {
+ "english_name": "Ntcham"
},
- "gmn": {
- "english_name": "Gimnime"
+ "enr": {
+ "english_name": "Emumu"
},
- "gmm": {
- "english_name": "Gbaya-Mbodomo"
+ "bss": {
+ "english_name": "Akoose"
},
- "gml": {
- "english_name": "German, Middle Low"
+ "gv": {
+ "english_name": "Manx"
},
- "gmb": {
- "english_name": "Gula'alaa"
+ "kxa": {
+ "english_name": "Kairiru"
},
- "gma": {
- "english_name": "Gambera"
+ "wyb": {
+ "english_name": "Wangaaybuwan-Ngiyambaa"
},
- "adz": {
- "english_name": "Adzera"
+ "oht": {
+ "english_name": "Hittite, Old"
},
- "adx": {
- "english_name": "Tibetan, Amdo"
+ "nhw": {
+ "english_name": "Nahuatl, Western Huasteca"
},
- "gmd": {
- "english_name": "Mághdì"
+ "kck": {
+ "english_name": "Kalanga"
},
- "adf": {
- "english_name": "Arabic, Dhofari"
+ "mnz": {
+ "english_name": "Moni"
},
- "gmz": {
- "english_name": "Mgbolizhia"
+ "djb": {
+ "english_name": "Djinba"
},
- "gmy": {
- "english_name": "Greek, Mycenaean"
+ "pyu": {
+ "english_name": "Puyuma"
},
- "gmx": {
- "english_name": "Magoma"
+ "trp": {
+ "english_name": "Kok Borok"
},
- "adb": {
- "english_name": "Adabe"
+ "mem": {
+ "english_name": "Mangala"
},
- "ada": {
- "english_name": "Adangme"
+ "kqz": {
+ "english_name": "Korana"
},
- "adn": {
- "english_name": "Adang"
+ "han": {
+ "english_name": "Hangaza"
},
- "ado": {
- "english_name": "Abu"
+ "wil": {
+ "english_name": "Wilawila"
},
- "adl": {
- "english_name": "Galo"
+ "sou": {
+ "english_name": "Thai, Southern"
},
- "adj": {
- "english_name": "Adioukrou"
+ "kot": {
+ "english_name": "Lagwan"
},
- "gmv": {
- "english_name": "Gamo"
+ "mmx": {
+ "english_name": "Madak"
},
- "gmu": {
- "english_name": "Gumalu"
+ "huo": {
+ "english_name": "Hu"
},
- "adi": {
- "english_name": "Adi"
+ "kkz": {
+ "english_name": "Kaska"
},
- "njb": {
- "english_name": "Naga, Nocte"
+ "isk": {
+ "english_name": "Ishkashimi"
},
- "nja": {
- "english_name": "Nzanyi"
+ "rm": {
+ "english_name": "Romansh"
},
- "njd": {
- "english_name": "Ndonde Hamba"
+ "lbk": {
+ "english_name": "Bontok, Central"
},
- "njj": {
- "english_name": "Njen"
+ "ruc": {
+ "english_name": "Ruuli"
},
- "nji": {
- "english_name": "Gudanji"
+ "grt": {
+ "english_name": "Garo"
},
- "njh": {
- "english_name": "Naga, Lotha"
+ "knl": {
+ "english_name": "Keninjal"
},
- "njo": {
- "english_name": "Naga, Ao"
+ "zkh": {
+ "english_name": "Khorezmian"
},
- "njn": {
- "english_name": "Naga, Liangmai"
+ "kxv": {
+ "english_name": "Kuvi"
},
- "njm": {
- "english_name": "Naga, Angami"
+ "yyu": {
+ "english_name": "Yau (Sandaun Province)"
},
- "njl": {
- "english_name": "Njalgulgule"
+ "ysy": {
+ "english_name": "Sanie"
},
- "njs": {
- "english_name": "Nisa"
+ "nul": {
+ "english_name": "Nusa Laut"
},
- "njr": {
- "english_name": "Njerep"
+ "wwa": {
+ "english_name": "Waama"
},
- "nju": {
- "english_name": "Ngadjunmaya"
+ "ppa": {
+ "english_name": "Pao"
},
- "njt": {
- "english_name": "Ndyuka-Trio Pidgin"
+ "xoo": {
+ "english_name": "Xukurú"
},
- "njz": {
- "english_name": "Nyishi"
+ "gbh": {
+ "english_name": "Gbe, Defi"
},
- "njy": {
- "english_name": "Njyem"
+ "kty": {
+ "english_name": "Kango (Bas-Uélé District)"
},
- "njx": {
- "english_name": "Kunyi"
+ "com": {
+ "english_name": "Comanche"
},
- "tmp": {
- "english_name": "Tai Mène"
+ "ksj": {
+ "english_name": "Uare"
},
- "tmq": {
- "english_name": "Tumleo"
+ "pyx": {
+ "english_name": "Pyu (Myanmar)"
},
- "esu": {
- "english_name": "Yupik, Central"
+ "csc": {
+ "english_name": "Catalan Sign Language"
},
- "tms": {
- "english_name": "Tima"
+ "kdg": {
+ "english_name": "Seba"
},
- "ess": {
- "english_name": "Yupik, Central Siberian"
+ "bgf": {
+ "english_name": "Bangandu"
},
- "tmu": {
- "english_name": "Iau"
+ "tda": {
+ "english_name": "Tagdal"
},
- "esq": {
- "english_name": "Esselen"
+ "kmf": {
+ "english_name": "Kare (Papua New Guinea)"
},
- "tmw": {
- "english_name": "Temuan"
+ "brw": {
+ "english_name": "Bellari"
},
- "tmy": {
- "english_name": "Tami"
+ "gap": {
+ "english_name": "Gal"
},
- "tmz": {
- "english_name": "Tamanaku"
+ "kqy": {
+ "english_name": "Koorete"
},
- "tma": {
- "english_name": "Tama (Chad)"
+ "evh": {
+ "english_name": "Uvbie"
},
- "ese": {
- "english_name": "Ese Ejja"
+ "tuf": {
+ "english_name": "Tunebo, Central"
},
- "tmc": {
- "english_name": "Tumak"
+ "sdo": {
+ "english_name": "Bidayuh, Bukar-Sadung"
},
- "tmd": {
- "english_name": "Haruai"
+ "zor": {
+ "english_name": "Zoque, Rayón"
},
- "tme": {
- "english_name": "Tremembé"
+ "zdj": {
+ "english_name": "Comorian, Ngazidja"
},
- "tmf": {
- "english_name": "Toba-Maskoy"
+ "ahm": {
+ "english_name": "Aizi, Mobumrin"
},
- "tmg": {
- "english_name": "Ternateño"
+ "got": {
+ "english_name": "Gothic"
},
- "eso": {
- "english_name": "Estonian Sign Language"
+ "bly": {
+ "english_name": "Notre"
},
- "esn": {
- "english_name": "Salvadoran Sign Language"
+ "cso": {
+ "english_name": "Chinantec, Sochiapam"
},
- "esm": {
- "english_name": "Esuma"
+ "mfe": {
+ "english_name": "Morisyen"
},
- "esl": {
- "english_name": "Egypt Sign Language"
+ "yty": {
+ "english_name": "Yatay"
},
- "esk": {
- "english_name": "Inupiatun, Northwest Alaska"
+ "wla": {
+ "english_name": "Walio"
},
- "tmm": {
- "english_name": "Tai Thanh"
+ "pum": {
+ "english_name": "Puma"
},
- "esi": {
- "english_name": "Inupiatun, North Alaskan"
+ "dbr": {
+ "english_name": "Dabarre"
},
- "esh": {
- "english_name": "Eshtehardi"
+ "frc": {
+ "english_name": "French, Cajun"
},
- "dcc": {
- "english_name": "Deccan"
+ "nzs": {
+ "english_name": "New Zealand Sign Language"
},
- "dcr": {
- "english_name": "Negerhollands"
+ "boy": {
+ "english_name": "Bodo (Central African Republic)"
},
- "rcf": {
- "english_name": "Creole French, Réunion"
+ "dgz": {
+ "english_name": "Daga"
},
- "buz": {
- "english_name": "Bukwen"
+ "did": {
+ "english_name": "Didinga"
},
- "bux": {
- "english_name": "Boghom"
+ "vun": {
+ "english_name": "Vunjo"
},
- "buy": {
- "english_name": "Bullom So"
+ "tfi": {
+ "english_name": "Gbe, Tofin"
},
- "bus": {
- "english_name": "Bokobaru"
+ "pnv": {
+ "english_name": "Pinigura"
},
- "bup": {
- "english_name": "Busoa"
+ "pud": {
+ "english_name": "Punan Aput"
},
- "buq": {
- "english_name": "Brem"
+ "zms": {
+ "english_name": "Mbesa"
},
- "buv": {
- "english_name": "Bun"
+ "dhg": {
+ "english_name": "Djangu"
},
- "buw": {
- "english_name": "Bubi"
+ "aaw": {
+ "english_name": "Solong"
},
- "but": {
- "english_name": "Bungain"
+ "pbn": {
+ "english_name": "Kpasam"
},
- "buu": {
- "english_name": "Budu"
+ "ato": {
+ "english_name": "Atong"
},
- "buj": {
- "english_name": "Basa-Gurmana"
+ "par": {
+ "english_name": "Panamint"
},
- "buk": {
- "english_name": "Bugawac"
+ "awm": {
+ "english_name": "Arawum"
},
- "buh": {
- "english_name": "Bunu, Younuo"
+ "loq": {
+ "english_name": "Lobala"
},
- "bui": {
- "english_name": "Bongili"
+ "nni": {
+ "english_name": "Nuaulu, North"
},
- "bun": {
- "english_name": "Sherbro"
+ "vmu": {
+ "english_name": "Muluridyi"
},
- "buo": {
- "english_name": "Terei"
+ "wnp": {
+ "english_name": "Wanap"
},
- "bum": {
- "english_name": "Bulu (Cameroon)"
+ "moz": {
+ "english_name": "Mukulu"
},
- "bub": {
- "english_name": "Bua"
+ "ptv": {
+ "english_name": "Port Vato"
},
- "buc": {
- "english_name": "Bushi"
+ "asv": {
+ "english_name": "Asoa"
},
- "bua": {
- "english_name": "Buriat"
+ "sja": {
+ "english_name": "Epena"
},
- "buf": {
- "english_name": "Bushoong"
+ "itz": {
+ "english_name": "Itzá"
},
- "bug": {
- "english_name": "Buginese"
+ "xsp": {
+ "english_name": "Silopi"
},
- "bud": {
- "english_name": "Ntcham"
+ "suw": {
+ "english_name": "Sumbwa"
},
- "bue": {
- "english_name": "Beothuk"
+ "lkh": {
+ "english_name": "Lakha"
},
- "tjw": {
- "english_name": "Djabwurrung"
+ "rge": {
+ "english_name": "Romano-Greek"
},
- "pih": {
- "english_name": "Pitcairn-Norfolk"
+ "hu": {
+ "english_name": "Hungarian",
+ "name": "magyar"
},
- "pii": {
- "english_name": "Pini"
+ "muc": {
+ "english_name": "Ajumbu"
},
- "pij": {
- "english_name": "Pijao"
+ "tl": {
+ "english_name": "Tagalog"
},
- "pil": {
- "english_name": "Yom"
+ "kqa": {
+ "english_name": "Mum"
},
- "pim": {
- "english_name": "Powhatan"
+ "dbm": {
+ "english_name": "Duguri"
},
- "pin": {
- "english_name": "Piame"
+ "gnh": {
+ "english_name": "Lere"
},
- "pio": {
- "english_name": "Piapoco"
+ "ccr": {
+ "english_name": "Cacaopera"
},
- "pia": {
- "english_name": "Pima Bajo"
+ "ehu": {
+ "english_name": "Ehueun"
},
- "pib": {
- "english_name": "Yine"
+ "lgm": {
+ "english_name": "Lega-Mwenga"
},
- "pic": {
- "english_name": "Pinji"
+ "fa": {
+ "english_name": "Persian",
+ "name": "فارسی"
},
- "pid": {
- "english_name": "Piaroa"
+ "mdw": {
+ "english_name": "Mbosi"
},
- "pie": {
- "english_name": "Piro"
+ "frp": {
+ "english_name": "Arpitan"
},
- "pif": {
- "english_name": "Pingelapese"
+ "kvu": {
+ "english_name": "Karen, Yinbaw"
},
- "pig": {
- "english_name": "Pisabo"
+ "ria": {
+ "english_name": "Riang (India)"
},
- "pix": {
- "english_name": "Piu"
+ "aag": {
+ "english_name": "Ambrak"
},
- "piy": {
- "english_name": "Piya-Kwonci"
+ "stk": {
+ "english_name": "Arammba"
},
- "piz": {
- "english_name": "Pije"
+ "pdn": {
+ "english_name": "Podena"
},
- "pip": {
- "english_name": "Pero"
+ "khp": {
+ "english_name": "Kapori"
},
- "pir": {
- "english_name": "Piratapuyo"
+ "byp": {
+ "english_name": "Bumaji"
},
- "pis": {
- "english_name": "Pijin"
+ "lol": {
+ "english_name": "Mongo"
},
- "pit": {
- "english_name": "Pitta Pitta"
+ "jge": {
+ "english_name": "Judeo-Georgian"
},
- "piu": {
- "english_name": "Pintupi-Luritja"
+ "mlm": {
+ "english_name": "Mulam"
},
- "piv": {
- "english_name": "Pileni"
+ "smv": {
+ "english_name": "Samvedi"
},
- "piw": {
- "english_name": "Pimbwe"
+ "akw": {
+ "english_name": "Akwa"
},
- "oac": {
- "english_name": "Oroch"
+ "gup": {
+ "english_name": "Gunwinggu"
},
- "oaa": {
- "english_name": "Orok"
+ "lbb": {
+ "english_name": "Label"
},
- "oav": {
- "english_name": "Avar, Old"
+ "jmb": {
+ "english_name": "Zumbun"
},
- "oar": {
- "english_name": "Aramaic, Old (up to 700 BCE)"
+ "cng": {
+ "english_name": "Qiang, Northern"
},
- "ubu": {
- "english_name": "Umbu-Ungu"
+ "kcg": {
+ "english_name": "Tyap"
},
- "ubr": {
- "english_name": "Ubir"
+ "ddn": {
+ "english_name": "Dendi (Benin)"
},
- "uby": {
- "english_name": "Ubykh"
+ "ztu": {
+ "english_name": "Zapotec, Güilá"
},
- "uba": {
- "english_name": "Ubang"
+ "bmz": {
+ "english_name": "Baramu"
},
- "ubl": {
- "english_name": "Bikol, Buhi'non"
+ "aui": {
+ "english_name": "Anuki"
},
- "ubi": {
- "english_name": "Ubi"
+ "tac": {
+ "english_name": "Tarahumara, Lowland"
},
- "nwr": {
- "english_name": "Nawaru"
+ "ggw": {
+ "english_name": "Gogodala"
},
- "scl": {
- "english_name": "Shina"
+ "mmn": {
+ "english_name": "Mamanwa"
},
- "nwx": {
- "english_name": "Newar, Middle"
+ "mos": {
+ "english_name": "Mossi"
},
- "nwy": {
- "english_name": "Nottoway-Meherrin"
+ "tza": {
+ "english_name": "Tanzanian Sign Language"
},
- "nwe": {
- "english_name": "Ngwe"
+ "mzx": {
+ "english_name": "Mawayana"
},
- "nwg": {
- "english_name": "Ngayawung"
+ "bfc": {
+ "english_name": "Bai, Northern"
},
- "nwa": {
- "english_name": "Nawathinehena"
+ "ndd": {
+ "english_name": "Nde-Nsele-Nta"
},
- "nwb": {
- "english_name": "Nyabwa"
+ "mvs": {
+ "english_name": "Massep"
},
- "nwc": {
- "english_name": "Newari, Classical"
+ "cbu": {
+ "english_name": "Candoshi-Shapra"
},
- "nwm": {
- "english_name": "Nyamusa-Molo"
+ "gym": {
+ "english_name": "Ngäbere"
},
- "nwo": {
- "english_name": "Nauo"
+ "wle": {
+ "english_name": "Wolane"
},
- "nwi": {
- "english_name": "Tanna, Southwest"
+ "aoi": {
+ "english_name": "Anindilyakwa"
},
- "mws": {
- "english_name": "Mwimbi-Muthambi"
+ "xln": {
+ "english_name": "Alanic"
},
- "mwr": {
- "english_name": "Marwari"
+ "saw": {
+ "english_name": "Sawi"
},
- "mwq": {
- "english_name": "Chin, Mün"
+ "mvy": {
+ "english_name": "Kohistani, Indus"
},
- "mwp": {
- "english_name": "Kala Lagaw Ya"
+ "yok": {
+ "english_name": "Yokuts"
},
- "mww": {
- "english_name": "Hmong Daw"
+ "tyv": {
+ "english_name": "Tuvinian"
},
- "mwv": {
- "english_name": "Mentawai"
+ "ogg": {
+ "english_name": "Ogbogolo"
},
- "mwu": {
- "english_name": "Mittu"
+ "bps": {
+ "english_name": "Blaan, Sarangani"
},
- "mwt": {
- "english_name": "Moken"
+ "lsp": {
+ "english_name": "Panamanian Sign Language"
},
- "mwz": {
- "english_name": "Moingi"
+ "ibe": {
+ "english_name": "Akpes"
},
- "mwy": {
- "english_name": "Mosiro"
+ "xsb": {
+ "english_name": "Sambal"
},
- "mwx": {
- "english_name": "Mediak"
+ "qvi": {
+ "english_name": "Quichua, Imbabura Highland"
},
- "mwc": {
- "english_name": "Are"
+ "huu": {
+ "english_name": "Huitoto, Murui"
},
- "mwb": {
- "english_name": "Juwal"
+ "ati": {
+ "english_name": "Attié"
},
- "mwa": {
- "english_name": "Mwatebu"
+ "gli": {
+ "english_name": "Guliguli"
},
- "mwg": {
- "english_name": "Aiklep"
+ "bcd": {
+ "english_name": "Babar, North"
},
- "mwf": {
- "english_name": "Murrinh-Patha"
+ "ysc": {
+ "english_name": "Yassic"
},
- "mwe": {
- "english_name": "Mwera (Chimwera)"
+ "omk": {
+ "english_name": "Omok"
},
- "mwk": {
- "english_name": "Maninkakan, Kita"
+ "xgr": {
+ "english_name": "Garza"
},
- "mwi": {
- "english_name": "Labo"
+ "drq": {
+ "english_name": "Dura"
},
- "mwh": {
- "english_name": "Mouk-Aria"
+ "alr": {
+ "english_name": "Alutor"
},
- "mwo": {
- "english_name": "Maewo, Central"
+ "nhn": {
+ "english_name": "Nahuatl, Central"
+ },
+ "rjg": {
+ "english_name": "Rajong"
+ },
+ "lha": {
+ "english_name": "Laha (Viet Nam)"
+ },
+ "pcc": {
+ "english_name": "Bouyei"
},
"mwn": {
"english_name": "Nyamwanga"
},
- "mwm": {
- "english_name": "Sar"
+ "xti": {
+ "english_name": "Mixtec, Sinicahua"
},
- "mwl": {
- "english_name": "Mirandese"
+ "xnz": {
+ "english_name": "Kenzi"
},
- "scf": {
- "english_name": "Creole French, San Miguel"
+ "xba": {
+ "english_name": "Kamba (Brazil)"
},
- "scb": {
- "english_name": "Chut"
+ "tdi": {
+ "english_name": "Tomadino"
},
- "aix": {
- "english_name": "Aighon"
+ "apz": {
+ "english_name": "Safeyoka"
},
- "zdj": {
- "english_name": "Comorian, Ngazidja"
+ "tmi": {
+ "english_name": "Tutuba"
},
- "scx": {
- "english_name": "Sicel"
+ "amr": {
+ "english_name": "Amarakaeri"
},
- "scw": {
- "english_name": "Sha"
+ "fun": {
+ "english_name": "Fulniô"
},
- "aim": {
- "english_name": "Aimol"
+ "fwe": {
+ "english_name": "Fwe"
},
- "scv": {
- "english_name": "Sheni"
+ "ole": {
+ "english_name": "Olekha"
},
- "kuz": {
- "english_name": "Kunza"
+ "kpg": {
+ "english_name": "Kapingamarangi"
},
- "kuy": {
- "english_name": "Kuuku-Ya'u"
+ "brz": {
+ "english_name": "Bilbil"
},
- "ail": {
- "english_name": "Aimele"
+ "prt": {
+ "english_name": "Phai"
},
- "kuw": {
- "english_name": "Kpagua"
+ "bcn": {
+ "english_name": "Bali (Nigeria)"
},
- "kuv": {
- "english_name": "Kur"
+ "sis": {
+ "english_name": "Siuslaw"
},
- "kuu": {
- "english_name": "Kuskokwim, Upper"
+ "bfw": {
+ "english_name": "Bondo"
},
- "kut": {
- "english_name": "Kutenai"
+ "lej": {
+ "english_name": "Lengola"
},
- "kus": {
- "english_name": "Kusaal"
+ "mhe": {
+ "english_name": "Besisi"
},
- "kuq": {
- "english_name": "Karipuna"
+ "lwt": {
+ "english_name": "Lewotobi"
},
- "kup": {
- "english_name": "Kunimaipa"
+ "sih": {
+ "english_name": "Zire"
},
- "kuo": {
- "english_name": "Kumukio"
+ "bew": {
+ "english_name": "Betawi"
},
- "kun": {
- "english_name": "Kunama"
+ "tjs": {
+ "english_name": "Tujia, Southern"
},
- "kum": {
- "english_name": "Kumyk"
+ "gzi": {
+ "english_name": "Gazi"
},
- "kul": {
- "english_name": "Kulere"
+ "mxd": {
+ "english_name": "Modang"
},
- "kuk": {
- "english_name": "Kepo'"
+ "diy": {
+ "english_name": "Diuwe"
},
- "kuj": {
- "english_name": "Kuria"
+ "xmr": {
+ "english_name": "Meroitic"
},
- "kui": {
- "english_name": "Kuikúro-Kalapálo"
+ "cvg": {
+ "english_name": "Chug"
},
- "kuh": {
- "english_name": "Kushi"
+ "bwi": {
+ "english_name": "Baniwa"
},
- "kug": {
- "english_name": "Kupa"
+ "hml": {
+ "english_name": "Hmong, Luopohe"
},
- "kuf": {
- "english_name": "Katu, Western"
+ "bcy": {
+ "english_name": "Bacama"
},
- "kue": {
- "english_name": "Kuman"
+ "wxa": {
+ "english_name": "Waxianghua"
},
- "kud": {
- "english_name": "'Auhelawa"
+ "kvy": {
+ "english_name": "Karen, Yintale"
},
- "kuc": {
- "english_name": "Kwinsu"
+ "nap": {
+ "english_name": "Neapolitan"
},
- "kub": {
- "english_name": "Kutep"
+ "thw": {
+ "english_name": "Thudam"
},
- "aih": {
- "english_name": "Ai-Cham"
+ "crz": {
+ "english_name": "Cruzeño"
},
- "aik": {
- "english_name": "Ake"
+ "xsa": {
+ "english_name": "Sabaean"
},
- "xfa": {
- "english_name": "Faliscan"
+ "xrn": {
+ "english_name": "Arin"
},
- "aij": {
- "english_name": "Lishanid Noshan"
+ "int": {
+ "english_name": "Intha"
},
- "aid": {
- "english_name": "Alngith"
+ "anr": {
+ "english_name": "Andh"
},
- "gnh": {
- "english_name": "Lere"
+ "anl": {
+ "english_name": "Chin, Anu-Hkongso"
},
- "zmo": {
- "english_name": "Molo"
+ "bbn": {
+ "english_name": "Uneapa"
},
- "gni": {
- "english_name": "Gooniyandi"
+ "zah": {
+ "english_name": "Zangwal"
},
- "wdd": {
- "english_name": "Wandji"
+ "pod": {
+ "english_name": "Ponares"
},
- "wdg": {
- "english_name": "Wadaginam"
+ "cub": {
+ "english_name": "Cubeo"
},
- "aia": {
- "english_name": "Arosi"
+ "xtr": {
+ "english_name": "Tripuri, Early"
},
- "wdj": {
- "english_name": "Wadjiginy"
+ "gdm": {
+ "english_name": "Laal"
},
- "qve": {
- "english_name": "Quechua, Eastern Apurímac"
+ "gid": {
+ "english_name": "Gidar"
},
- "gnl": {
- "english_name": "Gangulu"
+ "syy": {
+ "english_name": "Al-Sayyid Bedouin Sign Language"
},
- "zmc": {
- "english_name": "Margany"
+ "msf": {
+ "english_name": "Mekwei"
},
- "bgw": {
- "english_name": "Bhatri"
+ "yas": {
+ "english_name": "Nugunu (Cameroon)"
},
- "gnm": {
- "english_name": "Ginuman"
+ "nsn": {
+ "english_name": "Nehan"
},
- "zmf": {
- "english_name": "Mfinu"
+ "bkx": {
+ "english_name": "Baikeno"
},
- "zmg": {
- "english_name": "Marti Ke"
+ "gop": {
+ "english_name": "Yeretuar"
},
- "zmz": {
- "english_name": "Mbandja"
+ "hor": {
+ "english_name": "Horo"
},
- "zmx": {
- "english_name": "Bomitaba"
+ "xks": {
+ "english_name": "Kumbewaha"
},
- "zms": {
- "english_name": "Mbesa"
+ "urb": {
+ "english_name": "Urubú-Kaapor"
},
- "mg": {
- "english_name": "Malagasy"
+ "ata": {
+ "english_name": "Pele-Ata"
},
"zmq": {
"english_name": "Mituku"
},
- "ml": {
- "english_name": "Malayalam"
+ "cab": {
+ "english_name": "Garifuna"
},
- "mn": {
- "name": "Монгол",
- "english_name": "Mongolian"
+ "lhm": {
+ "english_name": "Lhomi"
},
- "mi": {
- "name": "Reo Māori",
- "english_name": "Maori"
+ "mxv": {
+ "english_name": "Mixtec, Metlatónoc"
},
- "mh": {
- "english_name": "Marshallese"
+ "klt": {
+ "english_name": "Nukna"
},
- "mk": {
- "name": "Македонски",
- "english_name": "Macedonian"
+ "byx": {
+ "english_name": "Qaqet"
},
- "mt": {
- "name": "Malti",
- "english_name": "Maltese"
+ "yig": {
+ "english_name": "Nasu, Wusa"
},
- "ms": {
- "name": "Malay (macrolanguage)",
- "english_name": "Malay (macrolanguage)"
+ "kzc": {
+ "english_name": "Kulango, Bondoukou"
},
- "mr": {
- "name": "मराठी",
- "english_name": "Marathi"
+ "bbu": {
+ "english_name": "Kulung (Nigeria)"
},
- "zmu": {
- "english_name": "Muruwari"
+ "xlp": {
+ "english_name": "Lepontic"
},
- "my": {
- "english_name": "Burmese"
+ "ire": {
+ "english_name": "Iresim"
},
- "ena": {
- "english_name": "Apali"
+ "jya": {
+ "english_name": "Jiarong"
},
- "enb": {
- "english_name": "Markweeta"
+ "niw": {
+ "english_name": "Nimo"
},
- "enc": {
- "english_name": "En"
+ "loh": {
+ "english_name": "Narim"
},
- "end": {
- "english_name": "Ende"
+ "jkm": {
+ "english_name": "Karen, Mobwa"
},
- "enf": {
- "english_name": "Enets, Forest"
+ "wra": {
+ "english_name": "Warapu"
},
- "enh": {
- "english_name": "Enets, Tundra"
+ "zmg": {
+ "english_name": "Marti Ke"
},
- "enm": {
- "english_name": "English, Middle (1100-1500)"
+ "asu": {
+ "english_name": "Asurini, Tocantins"
},
- "enn": {
- "english_name": "Engenni"
+ "bpi": {
+ "english_name": "Bagupi"
},
- "eno": {
- "english_name": "Enggano"
+ "wli": {
+ "english_name": "Waioli"
},
- "enq": {
- "english_name": "Enga"
+ "zgh": {
+ "english_name": "Tamazight, Standard Moroccan"
},
- "enr": {
- "english_name": "Emumu"
+ "keb": {
+ "english_name": "Kélé"
},
- "enu": {
- "english_name": "Enu"
+ "rgs": {
+ "english_name": "Roglai, Southern"
},
- "env": {
- "english_name": "Enwan (Edu State)"
+ "prg": {
+ "english_name": "Prussian"
},
- "enw": {
- "english_name": "Enwan (Akwa Ibom State)"
+ "yuz": {
+ "english_name": "Yuracare"
},
- "cll": {
- "english_name": "Chala"
+ "dmy": {
+ "english_name": "Demta"
},
- "clm": {
- "english_name": "Clallam"
+ "sgr": {
+ "english_name": "Sangisari"
},
- "clo": {
- "english_name": "Chontal, Lowland Oaxaca"
+ "gic": {
+ "english_name": "Gail"
},
- "clh": {
- "english_name": "Chilisso"
+ "org": {
+ "english_name": "Oring"
},
- "cli": {
- "english_name": "Chakali"
+ "mve": {
+ "english_name": "Marwari (Pakistan)"
},
- "clj": {
- "english_name": "Chin, Laitu"
+ "amx": {
+ "english_name": "Anmatyerre"
},
- "clk": {
- "english_name": "Idu-Mishmi"
+ "kit": {
+ "english_name": "Agob"
},
- "cld": {
- "english_name": "Neo-Aramaic, Chaldean"
+ "za": {
+ "english_name": "Zhuang"
},
- "cle": {
- "english_name": "Chinantec, Lealao"
+ "ndx": {
+ "english_name": "Nduga"
},
- "cla": {
- "english_name": "Ron"
+ "tlo": {
+ "english_name": "Talodi"
},
- "imo": {
- "english_name": "Imbongu"
+ "lnh": {
+ "english_name": "Lanoh"
},
- "clc": {
- "english_name": "Chilcotin"
+ "mow": {
+ "english_name": "Moi (Congo)"
},
- "ims": {
- "english_name": "Marsian"
+ "mi": {
+ "english_name": "Maori",
+ "name": "Reo Māori"
},
- "imr": {
- "english_name": "Imroing"
+ "hlt": {
+ "english_name": "Chin, Matu"
},
- "cly": {
- "english_name": "Chatino, Eastern Highland"
+ "kst": {
+ "english_name": "Winyé"
},
- "clt": {
- "english_name": "Chin, Lautu"
+ "ani": {
+ "english_name": "Andi"
},
- "clu": {
- "english_name": "Caluyanun"
+ "khg": {
+ "english_name": "Tibetan, Khams"
},
- "clw": {
- "english_name": "Chulym"
+ "noz": {
+ "english_name": "Nayi"
},
- "gom": {
- "english_name": "Konkani, Goan"
+ "hvc": {
+ "english_name": "Haitian Vodoun Culture Language"
},
- "gol": {
- "english_name": "Gola"
+ "wgu": {
+ "english_name": "Wirangu"
},
- "ajz": {
- "english_name": "Karbi, Amri"
+ "usu": {
+ "english_name": "Uya"
},
- "gon": {
- "english_name": "Gondi"
+ "sma": {
+ "english_name": "Sami, Southern"
},
- "goi": {
- "english_name": "Gobasi"
+ "cjp": {
+ "english_name": "Cabécar"
},
- "goh": {
- "english_name": "German, Old High (ca. 750-1050)"
+ "tpn": {
+ "english_name": "Tupinambá"
},
- "gok": {
- "english_name": "Gowli"
+ "nsd": {
+ "english_name": "Nisu, Southern"
},
- "goj": {
- "english_name": "Gowlan"
+ "kmb": {
+ "english_name": "Kimbundu"
},
- "ajp": {
- "english_name": "Arabic, South Levantine"
+ "bru": {
+ "english_name": "Bru, Eastern"
},
- "god": {
- "english_name": "Godié"
+ "bsj": {
+ "english_name": "Bangwinji"
},
- "gog": {
- "english_name": "Gogo"
+ "bdg": {
+ "english_name": "Bonggi"
},
- "gof": {
- "english_name": "Gofa"
+ "mnf": {
+ "english_name": "Mundani"
},
- "ajt": {
- "english_name": "Arabic, Judeo-Tunisian"
+ "bjj": {
+ "english_name": "Kanauji"
},
- "aju": {
- "english_name": "Arabic, Judeo-Moroccan"
+ "nto": {
+ "english_name": "Ntomba"
},
- "goc": {
- "english_name": "Gorakor"
+ "hni": {
+ "english_name": "Hani"
},
- "ajw": {
- "english_name": "Ajawa"
+ "xbi": {
+ "english_name": "Kombio"
},
- "aji": {
- "english_name": "Ajië"
+ "yei": {
+ "english_name": "Yeni"
},
- "goy": {
- "english_name": "Goundo"
+ "rai": {
+ "english_name": "Ramoaaina"
},
- "gox": {
- "english_name": "Gobu"
+ "skq": {
+ "english_name": "Sininkere"
},
- "ajn": {
- "english_name": "Andajin"
+ "enm": {
+ "english_name": "English, Middle (1100-1500)"
},
- "goz": {
- "english_name": "Gozarkhani"
+ "fse": {
+ "english_name": "Finnish Sign Language"
},
- "gou": {
- "english_name": "Gavar"
+ "dlm": {
+ "english_name": "Dalmatian"
},
- "aja": {
- "english_name": "Aja (Sudan)"
+ "meb": {
+ "english_name": "Ikobi"
},
- "gow": {
- "english_name": "Gorowa"
+ "dae": {
+ "english_name": "Duupa"
},
- "goq": {
- "english_name": "Gorap"
+ "aol": {
+ "english_name": "Alor"
},
- "gop": {
- "english_name": "Yeretuar"
+ "eiv": {
+ "english_name": "Askopan"
},
- "gos": {
- "english_name": "Gronings"
+ "knd": {
+ "english_name": "Konda"
},
- "ajg": {
- "english_name": "Aja (Benin)"
+ "avb": {
+ "english_name": "Avau"
},
- "nhe": {
- "english_name": "Nahuatl, Eastern Huasteca"
+ "jyy": {
+ "english_name": "Jaya"
},
- "nhd": {
- "english_name": "Chiripá"
+ "gbq": {
+ "english_name": "Gbaya-Bozoum"
},
- "nhg": {
- "english_name": "Nahuatl, Tetelcingo"
+ "are": {
+ "english_name": "Arrarnta, Western"
},
- "nhf": {
- "english_name": "Nhuwala"
+ "uka": {
+ "english_name": "Kaburi"
},
- "nha": {
- "english_name": "Nhanda"
+ "lnw": {
+ "english_name": "Lanima"
},
- "nhc": {
- "english_name": "Nahuatl, Tabasco"
+ "xhr": {
+ "english_name": "Hernican"
},
- "nhb": {
- "english_name": "Beng"
+ "wsr": {
+ "english_name": "Owenia"
},
- "nhm": {
- "english_name": "Nahuatl, Morelos"
+ "aee": {
+ "english_name": "Pashayi, Northeast"
},
- "nho": {
- "english_name": "Takuu"
+ "nqg": {
+ "english_name": "Nago, Southern"
},
- "nhn": {
- "english_name": "Nahuatl, Central"
+ "cbi": {
+ "english_name": "Chachi"
},
- "nhi": {
- "english_name": "Nahuatl, Zacatlán-Ahuacatlán-Tepetzintla"
+ "bhi": {
+ "english_name": "Bhilali"
},
- "nhh": {
- "english_name": "Nahari"
+ "xuo": {
+ "english_name": "Kuo"
},
- "nhk": {
- "english_name": "Nahuatl, Isthmus-Cosoleacaque"
+ "zpc": {
+ "english_name": "Zapotec, Choapan"
},
- "nhu": {
- "english_name": "Noone"
+ "nwx": {
+ "english_name": "Newar, Middle"
},
- "nht": {
- "english_name": "Nahuatl, Ometepec"
+ "psw": {
+ "english_name": "Port Sandwich"
},
- "nhw": {
- "english_name": "Nahuatl, Western Huasteca"
+ "bqb": {
+ "english_name": "Bagusa"
},
- "nhv": {
- "english_name": "Nahuatl, Temascaltepec"
+ "bgz": {
+ "english_name": "Banggai"
},
- "nhq": {
- "english_name": "Nahuatl, Huaxcaleca"
+ "nla": {
+ "english_name": "Ngombale"
},
- "nhp": {
- "english_name": "Nahuatl, Isthmus-Pajapan"
+ "jah": {
+ "english_name": "Jah Hut"
},
- "nhr": {
- "english_name": "Naro"
+ "jbj": {
+ "english_name": "Arandai"
},
- "nhy": {
- "english_name": "Nahuatl, Northern Oaxaca"
+ "cgk": {
+ "english_name": "Chocangacakha"
},
- "nhx": {
- "english_name": "Nahuatl, Isthmus-Mecayapan"
+ "xtc": {
+ "english_name": "Katcha-Kadugli-Miri"
},
- "nhz": {
- "english_name": "Nahuatl, Santa María La Alta"
+ "nmq": {
+ "english_name": "Nambya"
},
- "toz": {
- "english_name": "To"
+ "xmj": {
+ "english_name": "Majera"
},
- "tox": {
- "english_name": "Tobian"
+ "vah": {
+ "english_name": "Varhadi-Nagpuri"
},
- "toy": {
- "english_name": "Topoiyo"
+ "dtp": {
+ "english_name": "Dusun, Central"
},
- "tor": {
- "english_name": "Banda, Togbo-Vara"
+ "fkv": {
+ "english_name": "Finnish, Kven"
},
- "tos": {
- "english_name": "Totonac, Highland"
+ "yim": {
+ "english_name": "Naga, Yimchungru"
},
- "top": {
- "english_name": "Totonac, Papantla"
+ "rup": {
+ "english_name": "Romanian, Macedo-"
},
- "toq": {
- "english_name": "Toposa"
+ "mry": {
+ "english_name": "Mandaya"
},
- "tov": {
- "english_name": "Taromi, Upper"
+ "bhs": {
+ "english_name": "Buwal"
},
- "tow": {
- "english_name": "Jemez"
+ "neg": {
+ "english_name": "Negidal"
},
- "tou": {
- "english_name": "Tho"
+ "kmz": {
+ "english_name": "Khorasani Turkish"
},
- "toj": {
- "english_name": "Tojolabal"
+ "gaz": {
+ "english_name": "Oromo, West Central"
},
- "toh": {
- "english_name": "Gitonga"
+ "gue": {
+ "english_name": "Gurinji"
},
- "toi": {
- "english_name": "Tonga (Zambia)"
+ "nnz": {
+ "english_name": "Nda'nda'"
},
- "too": {
- "english_name": "Totonac, Xicotepec De Juárez"
+ "ngb": {
+ "english_name": "Ngbandi, Northern"
},
- "tol": {
- "english_name": "Tolowa"
+ "bxr": {
+ "english_name": "Buriat, Russia"
},
- "tom": {
- "english_name": "Tombulu"
+ "mrh": {
+ "english_name": "Chin, Mara"
},
- "tob": {
- "english_name": "Toba"
+ "akx": {
+ "english_name": "Aka-Kede"
},
- "toc": {
- "english_name": "Totonac, Coyutla"
+ "wo": {
+ "english_name": "Wolof"
},
- "tof": {
- "english_name": "Gizrra"
+ "nov": {
+ "english_name": "Novial"
},
- "tog": {
- "english_name": "Tonga (Nyasa)"
+ "uya": {
+ "english_name": "Doko-Uyanga"
},
- "tod": {
- "english_name": "Toma"
+ "fqs": {
+ "english_name": "Fas"
},
- "toe": {
- "english_name": "Tomedes"
+ "ngl": {
+ "english_name": "Lomwe"
},
- "aez": {
- "english_name": "Aeka"
+ "bac": {
+ "english_name": "Badui"
},
- "tue": {
- "english_name": "Tuyuca"
+ "lay": {
+ "english_name": "Lama (Myanmar)"
},
- "lbq": {
- "english_name": "Wampar"
+ "tnp": {
+ "english_name": "Whitesands"
},
- "rag": {
- "english_name": "Logooli"
+ "bxm": {
+ "english_name": "Buriat, Mongolia"
},
- "lbs": {
- "english_name": "Libyan Sign Language"
+ "nnv": {
+ "english_name": "Nugunu (Australia)"
},
- "lbr": {
- "english_name": "Lohorung"
+ "xsu": {
+ "english_name": "Sanumá"
},
- "lbu": {
- "english_name": "Labu"
+ "rin": {
+ "english_name": "Nungu"
},
- "lbt": {
- "english_name": "Lachi"
+ "cma": {
+ "english_name": "Maa"
},
- "lbw": {
- "english_name": "Tolaki"
+ "xsy": {
+ "english_name": "Saisiyat"
},
- "lbv": {
- "english_name": "Lavatbura-Lamusong"
+ "dby": {
+ "english_name": "Dibiyaso"
},
- "lby": {
- "english_name": "Lamu-Lamu"
+ "snm": {
+ "english_name": "Ma'di, Southern"
},
- "lbx": {
- "english_name": "Lawangan"
+ "knv": {
+ "english_name": "Tabo"
},
- "ral": {
- "english_name": "Ralte"
+ "mvp": {
+ "english_name": "Duri"
},
- "lbz": {
- "english_name": "Lardil"
+ "kwd": {
+ "english_name": "Kwaio"
},
- "raj": {
- "english_name": "Rajasthani"
+ "mqg": {
+ "english_name": "Malay, Kota Bangun Kutai"
},
- "rak": {
- "english_name": "Tulu-Bohuai"
+ "elo": {
+ "english_name": "El Molo"
},
- "rah": {
- "english_name": "Rabha"
+ "ukw": {
+ "english_name": "Ukwuani-Aboh-Ndoni"
},
- "rai": {
- "english_name": "Ramoaaina"
+ "tud": {
+ "english_name": "Tuxá"
},
- "lba": {
- "english_name": "Lui"
+ "kbh": {
+ "english_name": "Camsá"
},
- "raw": {
- "english_name": "Rawang"
+ "xlc": {
+ "english_name": "Lycian"
},
- "lbc": {
- "english_name": "Lakkia"
+ "bpx": {
+ "english_name": "Bareli, Palya"
},
- "lbb": {
- "english_name": "Label"
+ "hav": {
+ "english_name": "Havu"
},
- "lbe": {
- "english_name": "Lak"
+ "nng": {
+ "english_name": "Naga, Maring"
},
- "ras": {
- "english_name": "Tegali"
+ "cth": {
+ "english_name": "Chin, Thaiphum"
},
- "lbg": {
- "english_name": "Laopang"
+ "tlx": {
+ "english_name": "Khehek"
},
- "lbf": {
- "english_name": "Tinani"
+ "efa": {
+ "english_name": "Efai"
},
- "lbi": {
- "english_name": "La'bi"
+ "ael": {
+ "english_name": "Ambele"
},
- "lbk": {
- "english_name": "Bontok, Central"
+ "byk": {
+ "english_name": "Biao"
},
- "lbj": {
- "english_name": "Ladakhi"
+ "lrz": {
+ "english_name": "Lemerig"
},
- "lbm": {
- "english_name": "Lodhi"
+ "bko": {
+ "english_name": "Kwa'"
},
- "lbl": {
- "english_name": "Bikol, Libon"
+ "isc": {
+ "english_name": "Isconahua"
},
- "lbo": {
- "english_name": "Laven"
+ "pkb": {
+ "english_name": "Pokomo"
},
- "lbn": {
- "english_name": "Lamet"
+ "mcy": {
+ "english_name": "Watut, South"
},
- "bsx": {
- "english_name": "Yangkam"
+ "lov": {
+ "english_name": "Lopi"
},
- "bsy": {
- "english_name": "Bisaya, Sabah"
+ "loc": {
+ "english_name": "Inonhan"
},
- "bst": {
- "english_name": "Basketo"
+ "xlo": {
+ "english_name": "Loup A"
},
- "bsu": {
- "english_name": "Bahonsuai"
+ "stw": {
+ "english_name": "Satawalese"
},
- "bsv": {
- "english_name": "Baga Sobané"
+ "lww": {
+ "english_name": "Lewo"
},
- "bsw": {
- "english_name": "Baiso"
+ "sny": {
+ "english_name": "Saniyo-Hiyewe"
},
- "bsp": {
- "english_name": "Baga Sitemu"
+ "ypm": {
+ "english_name": "Phuma"
},
- "bsq": {
- "english_name": "Bassa"
+ "ait": {
+ "english_name": "Arikem"
},
- "bsr": {
- "english_name": "Bassa-Kontagora"
+ "lgz": {
+ "english_name": "Ligenza"
},
- "bss": {
- "english_name": "Akoose"
+ "dun": {
+ "english_name": "Dusun Deyah"
},
- "bsl": {
- "english_name": "Basa-Gumna"
+ "kvi": {
+ "english_name": "Kwang"
},
- "bsm": {
- "english_name": "Busami"
+ "wtw": {
+ "english_name": "Wotu"
},
- "bsn": {
- "english_name": "Barasana-Eduria"
+ "tzm": {
+ "english_name": "Tamazight, Central Atlas"
},
- "bso": {
- "english_name": "Buso"
+ "nab": {
+ "english_name": "Nambikuára, Southern"
},
- "bsh": {
- "english_name": "Kati"
+ "brr": {
+ "english_name": "Birao"
},
- "bsi": {
- "english_name": "Bassossi"
+ "xdk": {
+ "english_name": "Dharuk"
},
- "bsj": {
- "english_name": "Bangwinji"
+ "uz": {
+ "english_name": "Uzbek"
},
- "bsk": {
- "english_name": "Burushaski"
+ "hvk": {
+ "english_name": "Haveke"
},
- "bse": {
- "english_name": "Wushi"
+ "bwg": {
+ "english_name": "Barwe"
},
- "bsf": {
- "english_name": "Bauchi"
+ "svc": {
+ "english_name": "Creole English, Vincentian"
},
- "bsg": {
- "english_name": "Bashkardi"
+ "amf": {
+ "english_name": "Hamer-Banna"
},
- "qya": {
- "english_name": "Quenya"
+ "adz": {
+ "english_name": "Adzera"
},
- "bsa": {
- "english_name": "Abinomn"
+ "ilv": {
+ "english_name": "Ilue"
},
- "bsb": {
- "english_name": "Bisaya, Brunei"
+ "ybl": {
+ "english_name": "Yukuben"
},
- "bsc": {
- "english_name": "Bassari"
+ "tae": {
+ "english_name": "Tariana"
},
- "pkr": {
- "english_name": "Kurumba, Attapady"
+ "qwm": {
+ "english_name": "Kuman (Russia)"
},
- "pks": {
- "english_name": "Pakistan Sign Language"
+ "oro": {
+ "english_name": "Orokolo"
},
- "pkp": {
- "english_name": "Pukapuka"
+ "pnj": {
+ "english_name": "Pinjarup"
},
- "pkt": {
- "english_name": "Maleng"
+ "udi": {
+ "english_name": "Udi"
},
- "pku": {
- "english_name": "Paku"
+ "kwj": {
+ "english_name": "Kwanga"
},
- "pkb": {
- "english_name": "Pokomo"
+ "keq": {
+ "english_name": "Kamar"
},
- "pkc": {
- "english_name": "Paekche"
+ "ltn": {
+ "english_name": "Latundê"
},
- "pka": {
- "english_name": "Prākrit, Ardhamāgadhī"
+ "ppo": {
+ "english_name": "Folopa"
},
- "pkg": {
- "english_name": "Pak-Tong"
+ "blg": {
+ "english_name": "Balau"
},
- "pkh": {
- "english_name": "Pankhu"
+ "xtt": {
+ "english_name": "Mixtec, Tacahua"
},
- "pkn": {
- "english_name": "Pakanha"
+ "aww": {
+ "english_name": "Awun"
},
- "pko": {
- "english_name": "Pökoot"
+ "wub": {
+ "english_name": "Wunambal"
},
- "och": {
- "english_name": "Chinese, Old"
+ "dwr": {
+ "english_name": "Dawro"
},
- "oco": {
- "english_name": "Cornish, Old"
+ "xhu": {
+ "english_name": "Hurrian"
},
- "oca": {
- "english_name": "Ocaina"
+ "pca": {
+ "english_name": "Popoloca, Santa Inés Ahuatempan"
},
- "ocu": {
- "english_name": "Matlatzinca, Atzingo"
+ "sos": {
+ "english_name": "Seeku"
},
- "xom": {
- "english_name": "Komo (Sudan)"
+ "mfz": {
+ "english_name": "Mabaan"
},
- "nuz": {
- "english_name": "Nahuatl, Tlamacazapa"
+ "jel": {
+ "english_name": "Yelmek"
},
- "nux": {
- "english_name": "Mehek"
+ "bns": {
+ "english_name": "Bundeli"
},
- "nuy": {
- "english_name": "Nunggubuyu"
+ "nqk": {
+ "english_name": "Ede Nago, Kura"
},
- "nuv": {
- "english_name": "Nuni, Northern"
+ "mik": {
+ "english_name": "Mikasuki"
},
- "nuw": {
- "english_name": "Nguluwan"
+ "peg": {
+ "english_name": "Pengo"
},
- "nut": {
- "english_name": "Nung (Viet Nam)"
+ "sbj": {
+ "english_name": "Surbakhal"
},
- "nuu": {
- "english_name": "Ngbundu"
+ "cpx": {
+ "english_name": "Chinese, Pu-Xian"
},
- "nur": {
- "english_name": "Nukuria"
+ "tem": {
+ "english_name": "Timne"
},
- "nus": {
- "english_name": "Nuer"
+ "mxm": {
+ "english_name": "Meramera"
},
- "nup": {
- "english_name": "Nupe-Nupe-Tako"
+ "yaj": {
+ "english_name": "Banda-Yangere"
},
- "nuq": {
- "english_name": "Nukumanu"
+ "ltc": {
+ "english_name": "Chinese, Late Middle"
},
- "nun": {
- "english_name": "Anong"
+ "zro": {
+ "english_name": "Záparo"
},
- "nuo": {
- "english_name": "Nguôn"
+ "duk": {
+ "english_name": "Uyajitaya"
},
- "nul": {
- "english_name": "Nusa Laut"
+ "tuo": {
+ "english_name": "Tucano"
},
- "num": {
- "english_name": "Niuafo'ou"
+ "itv": {
+ "english_name": "Itawit"
},
- "nuj": {
- "english_name": "Nyole"
+ "nkn": {
+ "english_name": "Nkangala"
},
- "nuk": {
- "english_name": "Nuu-chah-nulth"
+ "kdu": {
+ "english_name": "Kadaru"
},
- "nuh": {
- "english_name": "Ndunda"
+ "xwl": {
+ "english_name": "Gbe, Western Xwla"
},
- "nui": {
- "english_name": "Ngumbi"
+ "jak": {
+ "english_name": "Jakun"
},
- "nuf": {
- "english_name": "Nusu"
+ "ik": {
+ "english_name": "Inupiaq"
},
- "nug": {
- "english_name": "Nungali"
+ "tln": {
+ "english_name": "Talondo'"
},
- "nud": {
- "english_name": "Ngala"
+ "asb": {
+ "english_name": "Assiniboine"
},
- "nue": {
- "english_name": "Ngundu"
+ "gml": {
+ "english_name": "German, Middle Low"
},
- "nuc": {
- "english_name": "Nukuini"
+ "gjk": {
+ "english_name": "Koli, Kachi"
},
- "nua": {
- "english_name": "Yuanga"
+ "pls": {
+ "english_name": "Popoloca, San Marcos Tlalcoyalco"
},
- "muu": {
- "english_name": "Yaaku"
+ "mkw": {
+ "english_name": "Kituba (Congo)"
},
- "mut": {
- "english_name": "Muria, Western"
+ "csz": {
+ "english_name": "Coos"
},
- "muv": {
- "english_name": "Muthuvan"
+ "won": {
+ "english_name": "Wongo"
},
- "muq": {
- "english_name": "Miao, Eastern Xiangxi"
+ "iou": {
+ "english_name": "Tuma-Irumu"
},
- "mup": {
- "english_name": "Malvi"
+ "rml": {
+ "english_name": "Romani, Baltic"
},
- "mus": {
- "english_name": "Creek"
+ "idu": {
+ "english_name": "Idoma"
},
- "mur": {
- "english_name": "Murle"
+ "ons": {
+ "english_name": "Ono"
},
- "muy": {
- "english_name": "Muyang"
+ "mhr": {
+ "english_name": "Mari, Eastern"
},
- "mux": {
- "english_name": "Bo-Ung"
+ "psh": {
+ "english_name": "Pashayi, Southwest"
},
- "muz": {
- "english_name": "Mursi"
+ "kch": {
+ "english_name": "Vono"
},
- "mue": {
- "english_name": "Media Lengua"
+ "tyu": {
+ "english_name": "Kua"
},
- "mud": {
- "english_name": "Aleut, Mednyj"
+ "pir": {
+ "english_name": "Piratapuyo"
},
- "mug": {
- "english_name": "Musgu"
+ "xao": {
+ "english_name": "Khao"
},
- "mua": {
- "english_name": "Mundang"
+ "dio": {
+ "english_name": "Dibo"
},
- "muc": {
- "english_name": "Ajumbu"
+ "bhx": {
+ "english_name": "Bhalay"
},
- "mub": {
- "english_name": "Mubi"
+ "lag": {
+ "english_name": "Langi"
},
- "mum": {
- "english_name": "Maiwala"
+ "rmo": {
+ "english_name": "Romani, Sinte"
},
- "mul": {
- "english_name": "Multiple languages"
+ "noh": {
+ "english_name": "Nomu"
},
- "muo": {
- "english_name": "Nyong"
+ "rop": {
+ "english_name": "Kriol"
},
- "mui": {
- "english_name": "Musi"
+ "cou": {
+ "english_name": "Wamey"
},
- "muh": {
- "english_name": "Mündü"
+ "kra": {
+ "english_name": "Kumhali"
},
- "muk": {
- "english_name": "Mugom"
+ "gmy": {
+ "english_name": "Greek, Mycenaean"
},
- "muj": {
- "english_name": "Mabire"
+ "lch": {
+ "english_name": "Luchazi"
},
- "zbe": {
- "english_name": "Berawan, East"
+ "big": {
+ "english_name": "Biangai"
},
- "zbc": {
- "english_name": "Berawan, Central"
+ "kzu": {
+ "english_name": "Kayupulau"
},
- "zbl": {
- "english_name": "Blissymbols"
+ "wly": {
+ "english_name": "Waling"
},
- "zbw": {
- "english_name": "Berawan, West"
+ "bmn": {
+ "english_name": "Bina (Papua New Guinea)"
},
- "zbt": {
- "english_name": "Batui"
+ "sbx": {
+ "english_name": "Seberuang"
},
- "kwa": {
- "english_name": "Dâw"
+ "hr": {
+ "english_name": "Croatian",
+ "name": "hrvatski"
},
- "kwc": {
- "english_name": "Likwala"
+ "szn": {
+ "english_name": "Sula"
},
- "kwb": {
- "english_name": "Kwa"
+ "lid": {
+ "english_name": "Nyindrou"
},
- "kwe": {
- "english_name": "Kwerba"
+ "oks": {
+ "english_name": "Oko-Eni-Osayen"
},
- "kwd": {
- "english_name": "Kwaio"
+ "pim": {
+ "english_name": "Powhatan"
},
- "kwg": {
- "english_name": "Sara Kaba Deme"
+ "kwb": {
+ "english_name": "Kwa"
},
- "kwf": {
- "english_name": "Kwara'ae"
+ "mtk": {
+ "english_name": "Mbe'"
},
- "kwi": {
- "english_name": "Awa-Cuaiquer"
+ "bqw": {
+ "english_name": "Buru (Nigeria)"
},
- "kwh": {
- "english_name": "Kowiai"
+ "heg": {
+ "english_name": "Helong"
},
- "kwk": {
- "english_name": "Kwakiutl"
+ "azd": {
+ "english_name": "Nahuatl, Eastern Durango"
},
- "kwj": {
- "english_name": "Kwanga"
+ "tei": {
+ "english_name": "Torricelli"
},
- "kwm": {
- "english_name": "Kwambi"
+ "bxj": {
+ "english_name": "Bayungu"
},
- "kwl": {
- "english_name": "Kofyar"
+ "xch": {
+ "english_name": "Chemakum"
},
- "kwo": {
- "english_name": "Kwomtari"
+ "xmn": {
+ "english_name": "Persian, Manichaean Middle"
},
- "kwn": {
- "english_name": "Kwangali"
+ "xra": {
+ "english_name": "Krahô"
},
- "kwp": {
- "english_name": "Kodia"
+ "eyo": {
+ "english_name": "Keiyo"
},
- "kws": {
- "english_name": "Kwese"
+ "gta": {
+ "english_name": "Guató"
},
- "kwr": {
- "english_name": "Kwer"
+ "oku": {
+ "english_name": "Oku"
},
- "kwu": {
- "english_name": "Kwakum"
+ "rme": {
+ "english_name": "Angloromani"
},
- "kwt": {
- "english_name": "Kwesten"
+ "mwh": {
+ "english_name": "Mouk-Aria"
},
- "kww": {
- "english_name": "Kwinti"
+ "qxl": {
+ "english_name": "Quichua, Salasaca Highland"
},
- "kwv": {
- "english_name": "Sara Kaba Náà"
+ "qus": {
+ "english_name": "Quichua, Santiago del Estero"
},
- "kwy": {
- "english_name": "Kongo, San Salvador"
+ "doo": {
+ "english_name": "Dongo"
},
- "kwx": {
- "english_name": "Khirwar"
+ "ler": {
+ "english_name": "Lenkau"
},
- "kwz": {
- "english_name": "Kwadi"
+ "fsl": {
+ "english_name": "French Sign Language"
},
- "rth": {
- "english_name": "Ratahan"
+ "lld": {
+ "english_name": "Ladin"
},
- "xxr": {
- "english_name": "Koropó"
+ "sci": {
+ "english_name": "Creole Malay, Sri Lankan"
},
- "xxt": {
- "english_name": "Tambora"
+ "aeq": {
+ "english_name": "Aer"
},
- "xxb": {
- "english_name": "Boro (Ghana)"
+ "kus": {
+ "english_name": "Kusaal"
},
- "xxk": {
- "english_name": "Ke'o"
+ "bki": {
+ "english_name": "Baki"
},
- "xxm": {
- "english_name": "Minkin"
+ "tpy": {
+ "english_name": "Trumai"
},
- "wfg": {
- "english_name": "Yafi"
+ "neo": {
+ "english_name": "Ná-Meo"
},
- "rnn": {
- "english_name": "Roon"
+ "aaq": {
+ "english_name": "Abnaki, Eastern"
},
- "rnl": {
- "english_name": "Ranglong"
+ "bvx": {
+ "english_name": "Dibole"
},
- "elk": {
- "english_name": "Elkei"
+ "jma": {
+ "english_name": "Dima"
},
- "elh": {
- "english_name": "El Hugeirat"
+ "ncx": {
+ "english_name": "Nahuatl, Central Puebla"
},
- "eli": {
- "english_name": "Nding"
+ "ruk": {
+ "english_name": "Che"
},
- "elo": {
- "english_name": "El Molo"
+ "nce": {
+ "english_name": "Yale"
},
- "elm": {
- "english_name": "Eleme"
+ "xmx": {
+ "english_name": "Maden"
},
- "ele": {
- "english_name": "Elepi"
+ "zna": {
+ "english_name": "Zan Gula"
},
- "elx": {
- "english_name": "Elamite"
+ "mbv": {
+ "english_name": "Mbulungish"
},
- "elu": {
- "english_name": "Elu"
+ "apd": {
+ "english_name": "Arabic, Sudanese"
},
- "qxa": {
- "english_name": "Quechua, Chiquián Ancash"
+ "ung": {
+ "english_name": "Ngarinyin"
},
- "yww": {
- "english_name": "Yawarawarga"
+ "zpg": {
+ "english_name": "Zapotec, Guevea De Humboldt"
},
- "ywu": {
- "english_name": "Nasu, Wumeng"
+ "kuw": {
+ "english_name": "Kpagua"
},
- "ywt": {
- "english_name": "Lalo, Xishanba"
+ "ask": {
+ "english_name": "Ashkun"
},
- "ywr": {
- "english_name": "Yawuru"
+ "wow": {
+ "english_name": "Wawonii"
},
- "ywq": {
- "english_name": "Yi, Wuding-Luquan"
+ "lmw": {
+ "english_name": "Miwok, Lake"
},
- "jyy": {
- "english_name": "Jaya"
+ "xvo": {
+ "english_name": "Volscian"
},
- "ywg": {
- "english_name": "Yinhawangka"
+ "njl": {
+ "english_name": "Njalgulgule"
},
- "jye": {
- "english_name": "Arabic, Judeo-Yemeni"
+ "nct": {
+ "english_name": "Naga, Chothe"
},
- "ywa": {
- "english_name": "Kalou"
+ "ure": {
+ "english_name": "Uru"
},
- "jya": {
- "english_name": "Jiarong"
+ "typ": {
+ "english_name": "Thaypan"
},
- "ywn": {
- "english_name": "Yawanawa"
+ "lre": {
+ "english_name": "Laurentian"
},
- "ywl": {
- "english_name": "Lalu, Western"
+ "xtn": {
+ "english_name": "Mixtec, Northern Tlaxiaco"
},
- "qxh": {
- "english_name": "Quechua, Panao Huánuco"
+ "puf": {
+ "english_name": "Punan Merah"
},
- "qxn": {
- "english_name": "Quechua, Northern Conchucos Ancash"
+ "upi": {
+ "english_name": "Umeda"
},
- "qxo": {
- "english_name": "Quechua, Southern Conchucos Ancash"
+ "igb": {
+ "english_name": "Ebira"
},
- "qxl": {
- "english_name": "Quichua, Salasaca Highland"
+ "alc": {
+ "english_name": "Qawasqar"
},
- "wdk": {
- "english_name": "Wadikali"
+ "nym": {
+ "english_name": "Nyamwezi"
},
- "cnw": {
- "english_name": "Chin, Ngawn"
+ "khn": {
+ "english_name": "Khandesi"
},
- "cnt": {
- "english_name": "Chinantec, Tepetotutla"
+ "jsl": {
+ "english_name": "Japanese Sign Language"
},
- "cnu": {
- "english_name": "Chenoua"
+ "zlq": {
+ "english_name": "Zhuang, Liuqian"
},
- "cns": {
- "english_name": "Asmat, Central"
+ "bzh": {
+ "english_name": "Buang, Mapos"
},
- "icl": {
- "english_name": "Icelandic Sign Language"
+ "xop": {
+ "english_name": "Kopar"
},
- "ica": {
- "english_name": "Ede Ica"
+ "xkq": {
+ "english_name": "Koroni"
},
- "qxp": {
- "english_name": "Quechua, Puno"
+ "apn": {
+ "english_name": "Apinayé"
},
- "cnx": {
- "english_name": "Cornish, Middle"
+ "fmu": {
+ "english_name": "Muria, Far Western"
},
- "cng": {
- "english_name": "Qiang, Northern"
+ "gke": {
+ "english_name": "Ndai"
},
- "qxq": {
- "english_name": "Qashqa'i"
+ "gdr": {
+ "english_name": "Wipi"
},
- "cnb": {
- "english_name": "Chin, Chinbon"
+ "swl": {
+ "english_name": "Swedish Sign Language"
},
- "cnc": {
- "english_name": "Côông"
+ "lbo": {
+ "english_name": "Laven"
},
- "cna": {
- "english_name": "Changthang"
+ "npi": {
+ "english_name": "Nepali (individual language)"
},
- "icr": {
- "english_name": "Creole English, Islander"
+ "yay": {
+ "english_name": "Agwagwune"
},
- "cnl": {
- "english_name": "Chinantec, Lalana"
+ "sjs": {
+ "english_name": "Senhaja De Srair"
},
- "cnk": {
- "english_name": "Chin, Khumi"
+ "sza": {
+ "english_name": "Semelai"
},
- "cnh": {
- "english_name": "Chin, Haka"
+ "zlj": {
+ "english_name": "Zhuang, Liujiang"
},
- "cni": {
- "english_name": "Asháninka"
+ "xbx": {
+ "english_name": "Kabixí"
},
- "hsb": {
- "english_name": "Sorbian, Upper"
+ "mhq": {
+ "english_name": "Mandan"
},
- "twb": {
- "english_name": "Tawbuid, Western"
+ "emp": {
+ "english_name": "Emberá, Northern"
},
- "pys": {
- "english_name": "Paraguayan Sign Language"
+ "sfs": {
+ "english_name": "South African Sign Language"
},
- "qxt": {
- "english_name": "Quechua, Santa Ana de Tusi Pasco"
+ "ttd": {
+ "english_name": "Tauade"
},
- "hsh": {
- "english_name": "Hungarian Sign Language"
+ "llm": {
+ "english_name": "Lasalimu"
},
- "qxu": {
- "english_name": "Quechua, Arequipa-La Unión"
+ "tqm": {
+ "english_name": "Turumsa"
},
- "hsn": {
- "english_name": "Chinese, Xiang"
+ "ymi": {
+ "english_name": "Moji"
},
- "hsl": {
- "english_name": "Hausa Sign Language"
+ "mqb": {
+ "english_name": "Mbuko"
},
- "pyu": {
- "english_name": "Puyuma"
+ "lbq": {
+ "english_name": "Wampar"
},
- "hss": {
- "english_name": "Harsusi"
+ "dho": {
+ "english_name": "Dhodia"
},
- "ahb": {
- "english_name": "Axamb"
+ "sqa": {
+ "english_name": "Shama-Sambuga"
},
- "ppa": {
- "english_name": "Pao"
+ "weh": {
+ "english_name": "Weh"
},
- "aha": {
- "english_name": "Ahanta"
+ "mqw": {
+ "english_name": "Murupi"
},
- "ahg": {
- "english_name": "Qimant"
+ "ctn": {
+ "english_name": "Chhintange"
},
- "ppe": {
- "english_name": "Papi"
+ "taa": {
+ "english_name": "Tanana, Lower"
},
- "ppk": {
- "english_name": "Uma"
+ "nbd": {
+ "english_name": "Ngbinda"
},
- "ahk": {
- "english_name": "Akha"
+ "ykt": {
+ "english_name": "Kathu"
},
- "ahh": {
- "english_name": "Aghu"
+ "ctu": {
+ "english_name": "Chol"
},
- "ahi": {
- "english_name": "Aizi, Tiagbamrin"
+ "ngv": {
+ "english_name": "Nagumi"
},
- "ppo": {
- "english_name": "Folopa"
+ "kho": {
+ "english_name": "Khotanese"
},
- "aho": {
- "english_name": "Ahom"
+ "lwl": {
+ "english_name": "Lawa, Eastern"
},
- "ppm": {
- "english_name": "Papuma"
+ "omi": {
+ "english_name": "Omi"
},
- "ppl": {
- "english_name": "Pipil"
+ "bhy": {
+ "english_name": "Bhele"
},
- "ahr": {
- "english_name": "Ahirani"
+ "an": {
+ "english_name": "Aragonese"
},
- "ahs": {
- "english_name": "Ashe"
+ "tes": {
+ "english_name": "Tengger"
},
- "ahp": {
- "english_name": "Aizi, Aproumu"
+ "haq": {
+ "english_name": "Ha"
},
- "ppp": {
- "english_name": "Pelende"
+ "cja": {
+ "english_name": "Cham, Western"
},
- "twl": {
- "english_name": "Tawara"
+ "alp": {
+ "english_name": "Alune"
},
- "aht": {
- "english_name": "Ahtena"
+ "puy": {
+ "english_name": "Purisimeño"
},
- "ppt": {
- "english_name": "Pare"
+ "szl": {
+ "english_name": "Silesian"
},
- "giw": {
- "english_name": "Gelao, White"
+ "atp": {
+ "english_name": "Atta, Pudtol"
},
- "giu": {
- "english_name": "Mulao"
+ "nal": {
+ "english_name": "Nalik"
},
- "git": {
- "english_name": "Gitxsan"
+ "bi": {
+ "english_name": "Bislama"
},
- "gis": {
- "english_name": "Giziga, North"
+ "tvm": {
+ "english_name": "Tela-Masbuar"
},
- "gir": {
- "english_name": "Gelao, Red"
+ "bph": {
+ "english_name": "Botlikh"
},
- "giq": {
- "english_name": "Gelao, Green"
+ "jit": {
+ "english_name": "Jita"
},
- "gip": {
- "english_name": "Gimi (West New Britain)"
+ "pgu": {
+ "english_name": "Pagu"
},
- "giz": {
- "english_name": "Giziga, South"
+ "ozm": {
+ "english_name": "Koonzime"
},
- "giy": {
- "english_name": "Giyug"
+ "tmw": {
+ "english_name": "Temuan"
},
- "gix": {
- "english_name": "Gilima"
+ "okv": {
+ "english_name": "Orokaiva"
},
- "gig": {
- "english_name": "Goaria"
+ "dth": {
+ "english_name": "Adithinngithigh"
},
- "gid": {
- "english_name": "Gidar"
+ "zeg": {
+ "english_name": "Zenag"
},
- "gic": {
- "english_name": "Gail"
+ "pap": {
+ "english_name": "Papiamento"
},
- "gib": {
- "english_name": "Gibanawa"
+ "huk": {
+ "english_name": "Hulung"
},
- "gia": {
- "english_name": "Kitja"
+ "jaf": {
+ "english_name": "Jara"
},
- "gin": {
- "english_name": "Hinukh"
+ "yph": {
+ "english_name": "Phupha"
},
- "gim": {
- "english_name": "Gimi (Eastern Highlands)"
+ "djd": {
+ "english_name": "Djamindjung"
},
- "gil": {
- "english_name": "Gilbertese"
+ "sgb": {
+ "english_name": "Ayta, Mag-antsi"
},
- "gih": {
- "english_name": "Githabul"
+ "kru": {
+ "english_name": "Kurukh"
},
- "nnn": {
- "english_name": "Ngete"
+ "pmd": {
+ "english_name": "Pallanganmiddang"
},
- "nnm": {
- "english_name": "Namia"
+ "kdw": {
+ "english_name": "Koneraw"
},
- "nnl": {
- "english_name": "Naga, Northern Rengma"
+ "sui": {
+ "english_name": "Suki"
},
- "nnk": {
- "english_name": "Nankina"
+ "dus": {
+ "english_name": "Dumi"
},
- "nnj": {
- "english_name": "Nyangatom"
+ "rga": {
+ "english_name": "Roria"
},
- "nni": {
- "english_name": "Nuaulu, North"
+ "ruz": {
+ "english_name": "Ruma"
},
- "nnh": {
- "english_name": "Ngiemboon"
+ "niq": {
+ "english_name": "Nandi"
},
- "nng": {
- "english_name": "Naga, Maring"
+ "wat": {
+ "english_name": "Kaninuwa"
},
- "nnf": {
- "english_name": "Ngaing"
+ "xtj": {
+ "english_name": "Mixtec, San Juan Teita"
},
- "nne": {
- "english_name": "Ngandyera"
+ "hts": {
+ "english_name": "Hadza"
},
- "nnd": {
- "english_name": "Ambae, West"
+ "roo": {
+ "english_name": "Rotokas"
},
- "nnc": {
- "english_name": "Nancere"
+ "txa": {
+ "english_name": "Tombonuo"
},
- "nnb": {
- "english_name": "Nande"
+ "jau": {
+ "english_name": "Yaur"
},
- "nna": {
- "english_name": "Nyangumarta"
+ "wth": {
+ "english_name": "Wathawurrung"
},
- "nnz": {
- "english_name": "Nda'nda'"
+ "lzn": {
+ "english_name": "Naga, Leinong"
},
- "nny": {
- "english_name": "Nyangga"
+ "boh": {
+ "english_name": "Boma"
},
- "nnw": {
- "english_name": "Nuni, Southern"
+ "hrp": {
+ "english_name": "Nhirrpi"
},
- "nnv": {
- "english_name": "Nugunu (Australia)"
+ "kjr": {
+ "english_name": "Kurudu"
},
- "nnu": {
- "english_name": "Dwang"
+ "mit": {
+ "english_name": "Mixtec, Southern Puebla"
},
- "nnt": {
- "english_name": "Nanticoke"
+ "kxk": {
+ "english_name": "Karen, Zayein"
},
- "nns": {
- "english_name": "Ningye"
+ "ssv": {
+ "english_name": "Shark Bay"
},
- "nnr": {
- "english_name": "Narungga"
+ "mnu": {
+ "english_name": "Mer"
},
- "nnq": {
- "english_name": "Ngindo"
+ "wnd": {
+ "english_name": "Wandarang"
},
- "nnp": {
- "english_name": "Naga, Wancho"
+ "ciw": {
+ "english_name": "Chippewa"
},
- "nl": {
- "name": "Nederlands",
- "english_name": "Dutch"
+ "mqe": {
+ "english_name": "Matepi"
},
- "tiy": {
- "english_name": "Tiruray"
+ "jbk": {
+ "english_name": "Barikewa"
},
- "nn": {
- "name": "Norwegian Nynorsk",
- "english_name": "Norwegian Nynorsk"
+ "raj": {
+ "english_name": "Rajasthani"
},
- "no": {
- "english_name": "Norwegian"
+ "pch": {
+ "english_name": "Pardhan"
},
- "tit": {
- "english_name": "Tinigua"
+ "seg": {
+ "english_name": "Segeju"
},
- "na": {
- "english_name": "Nauru"
+ "loe": {
+ "english_name": "Saluan"
},
- "nb": {
- "name": "Norwegian Bokmål",
- "english_name": "Norwegian Bokmål"
+ "frs": {
+ "english_name": "Frisian, Eastern"
},
- "tiw": {
- "english_name": "Tiwi"
+ "neu": {
+ "english_name": "Neo"
},
- "nd": {
- "english_name": "Ndebele, North"
+ "kcr": {
+ "english_name": "Katla"
},
- "ne": {
- "english_name": "Nepali (macrolanguage)"
+ "dgx": {
+ "english_name": "Doghoro"
},
- "ng": {
- "english_name": "Ndonga"
+ "oml": {
+ "english_name": "Ombo"
},
- "til": {
- "english_name": "Tillamook"
+ "vem": {
+ "english_name": "Vemgo-Mabas"
},
- "ny": {
- "english_name": "Nyanja"
+ "knq": {
+ "english_name": "Kintaq"
},
- "tin": {
- "english_name": "Tindi"
+ "pad": {
+ "english_name": "Paumarí"
},
- "tio": {
- "english_name": "Teop"
+ "lts": {
+ "english_name": "Tachoni"
},
- "tih": {
- "english_name": "Murut, Timugon"
+ "kae": {
+ "english_name": "Ketangalan"
},
- "tii": {
- "english_name": "Tiene"
+ "twa": {
+ "english_name": "Twana"
},
- "tij": {
- "english_name": "Tilung"
+ "scs": {
+ "english_name": "Slavey, North"
},
- "tik": {
- "english_name": "Tikar"
+ "ill": {
+ "english_name": "Iranun"
},
- "tid": {
- "english_name": "Tidong"
+ "nml": {
+ "english_name": "Ndemli"
},
- "nr": {
- "english_name": "Ndebele, South"
+ "bqt": {
+ "english_name": "Bamukumbit"
},
- "tig": {
- "name": "ትግረ",
- "english_name": "Tigre"
+ "mdk": {
+ "english_name": "Mangbutu"
},
- "tia": {
- "english_name": "Tamazight, Tidikelt"
+ "bep": {
+ "english_name": "Besoa"
},
- "nv": {
- "english_name": "Navajo"
+ "pmo": {
+ "english_name": "Pom"
},
- "tic": {
- "english_name": "Tira"
+ "ktj": {
+ "english_name": "Krumen, Plapo"
},
- "sqs": {
- "english_name": "Sri Lankan Sign Language"
+ "knt": {
+ "english_name": "Katukína, Panoan"
},
- "sqr": {
- "english_name": "Arabic, Siculo"
+ "pkn": {
+ "english_name": "Pakanha"
},
- "sqq": {
- "english_name": "Sou"
+ "yol": {
+ "english_name": "Yola"
},
- "squ": {
- "english_name": "Squamish"
+ "try": {
+ "english_name": "Turung"
},
- "sqt": {
- "english_name": "Soqotri"
+ "ssl": {
+ "english_name": "Sisaala, Western"
},
- "sqk": {
- "english_name": "Albanian Sign Language"
+ "dtk": {
+ "english_name": "Dogon, Tene Kan"
},
- "ich": {
- "english_name": "Etkywan"
+ "kwt": {
+ "english_name": "Kwesten"
},
- "sqo": {
- "english_name": "Sorkhei"
+ "pdc": {
+ "english_name": "German, Pennsylvania"
},
- "sqn": {
- "english_name": "Susquehannock"
+ "onj": {
+ "english_name": "Onjob"
},
- "sqm": {
- "english_name": "Suma"
+ "mye": {
+ "english_name": "Myene"
},
- "sqa": {
- "english_name": "Shama-Sambuga"
+ "hhy": {
+ "english_name": "Hoyahoya"
},
- "llx": {
- "english_name": "Lauan"
+ "olk": {
+ "english_name": "Olkol"
},
- "rol": {
- "english_name": "Romblomanon"
+ "yon": {
+ "english_name": "Yongkom"
},
- "rom": {
- "english_name": "Romany"
+ "nnq": {
+ "english_name": "Ngindo"
},
- "roo": {
- "english_name": "Rotokas"
+ "xuu": {
+ "english_name": "Kxoe"
},
- "lls": {
- "english_name": "Lithuanian Sign Language"
+ "pma": {
+ "english_name": "Paama"
},
- "llq": {
- "english_name": "Lolak"
+ "mlk": {
+ "english_name": "Ilwana"
},
- "llp": {
- "english_name": "Efate, North"
+ "kkg": {
+ "english_name": "Kalinga, Mabaka Valley"
},
- "rod": {
- "english_name": "Rogo"
+ "tqq": {
+ "english_name": "Tunni"
},
- "roe": {
- "english_name": "Ronji"
+ "nfr": {
+ "english_name": "Nafaanra"
},
- "llu": {
- "english_name": "Lau"
+ "jaz": {
+ "english_name": "Jawe"
},
- "rog": {
- "english_name": "Roglai, Northern"
+ "mjs": {
+ "english_name": "Miship"
},
- "llk": {
- "english_name": "Lelak"
+ "kah": {
+ "english_name": "Kara (Central African Republic)"
},
- "llj": {
- "english_name": "Ladji Ladji"
+ "kws": {
+ "english_name": "Kwese"
},
- "lli": {
- "english_name": "Teke-Laali"
+ "seh": {
+ "english_name": "Sena"
},
- "llh": {
- "english_name": "Lamu"
+ "thz": {
+ "english_name": "Tamajeq, Tayart"
},
- "llo": {
- "english_name": "Khlor"
+ "toq": {
+ "english_name": "Toposa"
},
- "lln": {
- "english_name": "Lele (Chad)"
+ "mpy": {
+ "english_name": "Mapia"
},
- "llm": {
- "english_name": "Lasalimu"
+ "kwr": {
+ "english_name": "Kwer"
},
- "lll": {
- "english_name": "Lilau"
+ "eot": {
+ "english_name": "Beti (Côte d'Ivoire)"
},
- "llc": {
- "english_name": "Lele (Guinea)"
+ "kuh": {
+ "english_name": "Kushi"
},
- "llb": {
- "english_name": "Lolo"
+ "nkp": {
+ "english_name": "Niuatoputapu"
},
- "lla": {
- "english_name": "Lala-Roba"
+ "mgc": {
+ "english_name": "Morokodo"
},
- "llg": {
- "english_name": "Lole"
+ "st": {
+ "english_name": "Sotho, Southern"
},
- "llf": {
- "english_name": "Hermit"
+ "ots": {
+ "english_name": "Otomi, Estado de México"
},
- "lle": {
- "english_name": "Lele (Papua New Guinea)"
+ "dkk": {
+ "english_name": "Dakka"
},
- "lld": {
- "english_name": "Ladin"
+ "yev": {
+ "english_name": "Yapunda"
},
- "bqf": {
- "english_name": "Baga Kaloum"
+ "iri": {
+ "english_name": "Irigwe"
},
- "bqg": {
- "english_name": "Bago-Kusuntu"
+ "ktm": {
+ "english_name": "Kurti"
},
- "bqd": {
- "english_name": "Bung"
+ "xto": {
+ "english_name": "Tokharian A"
},
- "bqb": {
- "english_name": "Bagusa"
+ "agg": {
+ "english_name": "Angor"
},
- "bqc": {
- "english_name": "Boko (Benin)"
+ "bjh": {
+ "english_name": "Bahinemo"
},
- "bqa": {
- "english_name": "Tchumbuli"
+ "asg": {
+ "english_name": "Cishingini"
},
- "bqn": {
- "english_name": "Bulgarian Sign Language"
+ "boe": {
+ "english_name": "Mundabli"
},
- "bqo": {
- "english_name": "Balo"
+ "opa": {
+ "english_name": "Okpamheri"
},
- "bql": {
- "english_name": "Bilakura"
+ "aub": {
+ "english_name": "Alugu"
},
- "bqm": {
- "english_name": "Wumboko"
+ "oac": {
+ "english_name": "Oroch"
},
- "bqj": {
- "english_name": "Bandial"
+ "tbg": {
+ "english_name": "Tairora, North"
},
- "bqk": {
- "english_name": "Banda-Mbrès"
+ "dge": {
+ "english_name": "Degenan"
},
- "bqh": {
- "english_name": "Baima"
+ "atu": {
+ "english_name": "Reel"
},
- "bqi": {
- "english_name": "Bakhtiari"
+ "lkd": {
+ "english_name": "Lakondê"
},
- "bqv": {
- "english_name": "Koro Wachi"
+ "lhi": {
+ "english_name": "Lahu Shi"
},
- "bqw": {
- "english_name": "Buru (Nigeria)"
+ "pep": {
+ "english_name": "Kunja"
},
- "bqt": {
- "english_name": "Bamukumbit"
+ "sil": {
+ "english_name": "Sisaala, Tumulung"
},
- "bqu": {
- "english_name": "Boguru"
+ "luk": {
+ "english_name": "Lunanakha"
},
- "bqr": {
- "english_name": "Burusu"
+ "ths": {
+ "english_name": "Thakali"
},
- "bqs": {
- "english_name": "Bosngun"
+ "itb": {
+ "english_name": "Itneg, Binongan"
},
- "bqp": {
- "english_name": "Busa"
+ "trq": {
+ "english_name": "Triqui, San Martín Itunyoso"
},
- "bqq": {
- "english_name": "Biritai"
+ "wdk": {
+ "english_name": "Wadikali"
},
- "wdy": {
- "english_name": "Wadjabangayi"
+ "akv": {
+ "english_name": "Akhvakh"
},
- "bqz": {
- "english_name": "Bakaka"
+ "cla": {
+ "english_name": "Ron"
},
- "bqx": {
- "english_name": "Baangi"
+ "sk": {
+ "english_name": "Slovak",
+ "name": "Slovenský"
},
- "bqy": {
- "english_name": "Bengkala Sign Language"
+ "mqs": {
+ "english_name": "Makian, West"
},
- "cno": {
- "english_name": "Con"
+ "smz": {
+ "english_name": "Simeku"
},
- "jdg": {
- "english_name": "Jadgali"
+ "yuw": {
+ "english_name": "Yau (Morobe Province)"
},
- "pmt": {
- "english_name": "Tuamotuan"
+ "faz": {
+ "english_name": "Fars, Northwestern"
},
- "pmw": {
- "english_name": "Miwok, Plains"
+ "mmp": {
+ "english_name": "Siawi"
},
- "pmq": {
- "english_name": "Pame, Northern"
+ "tov": {
+ "english_name": "Taromi, Upper"
},
- "pmr": {
- "english_name": "Paynamar"
+ "elk": {
+ "english_name": "Elkei"
},
- "pms": {
- "english_name": "Piemontese"
+ "ztt": {
+ "english_name": "Zapotec, Tejalapan"
},
- "pmx": {
- "english_name": "Naga, Poumei"
+ "dhx": {
+ "english_name": "Dhungaloo"
},
- "pmy": {
- "english_name": "Malay, Papuan"
+ "bg": {
+ "english_name": "Bulgarian",
+ "name": "Български"
},
- "pmz": {
- "english_name": "Pame, Southern"
+ "mxs": {
+ "english_name": "Mixtec, Huitepec"
},
- "pmd": {
- "english_name": "Pallanganmiddang"
+ "ett": {
+ "english_name": "Etruscan"
},
- "pme": {
- "english_name": "Pwaamei"
+ "nbg": {
+ "english_name": "Nagarchal"
},
- "pmf": {
- "english_name": "Pamona"
+ "dkx": {
+ "english_name": "Mazagway"
},
- "pma": {
- "english_name": "Paama"
+ "kie": {
+ "english_name": "Kibet"
},
- "pmb": {
- "english_name": "Pambia"
+ "gww": {
+ "english_name": "Kwini"
},
- "pmc": {
- "english_name": "Palumata"
+ "tcp": {
+ "english_name": "Chin, Tawr"
},
- "pml": {
- "english_name": "Lingua Franca"
+ "kyu": {
+ "english_name": "Kayah, Western"
},
- "pmm": {
- "english_name": "Pomo"
+ "una": {
+ "english_name": "Watut, North"
},
- "pmn": {
- "english_name": "Pam"
+ "brk": {
+ "english_name": "Birked"
},
- "pmo": {
- "english_name": "Pom"
+ "hoi": {
+ "english_name": "Holikachuk"
},
- "pmh": {
- "english_name": "Prākrit, Māhārāṣṭri"
+ "nyi": {
+ "english_name": "Ama (Sudan)"
},
- "pmi": {
- "english_name": "Pumi, Northern"
+ "mzz": {
+ "english_name": "Maiadomu"
},
- "pmj": {
- "english_name": "Pumi, Southern"
+ "sez": {
+ "english_name": "Chin, Senthang"
},
- "pmk": {
- "english_name": "Pamlico"
+ "ksi": {
+ "english_name": "Krisa"
},
- "deh": {
- "english_name": "Dehwari"
+ "ktu": {
+ "english_name": "Kituba (Democratic Republic of Congo)"
},
- "msz": {
- "english_name": "Momare"
+ "giu": {
+ "english_name": "Mulao"
},
- "msy": {
- "english_name": "Aruamu"
+ "cot": {
+ "english_name": "Caquinte"
},
- "msx": {
- "english_name": "Moresada"
+ "box": {
+ "english_name": "Buamu"
},
- "msw": {
- "english_name": "Mansoanka"
+ "wyy": {
+ "english_name": "Fijian, Western"
},
- "msv": {
- "english_name": "Maslam"
+ "tqb": {
+ "english_name": "Tembé"
},
- "msu": {
- "english_name": "Musom"
+ "prx": {
+ "english_name": "Purik"
},
- "mss": {
- "english_name": "Masela, West"
+ "btq": {
+ "english_name": "Batek"
},
- "msr": {
- "english_name": "Mongolian Sign Language"
+ "sbv": {
+ "english_name": "Sabine"
},
- "msq": {
- "english_name": "Caac"
+ "mko": {
+ "english_name": "Mingang Doso"
},
- "msp": {
- "english_name": "Maritsauá"
+ "xwt": {
+ "english_name": "Wotjobaluk"
},
- "mso": {
- "english_name": "Mombum"
+ "srt": {
+ "english_name": "Sauri"
},
- "msn": {
- "english_name": "Vurës"
+ "juc": {
+ "english_name": "Jurchen"
},
- "msm": {
- "english_name": "Manobo, Agusan"
+ "lmp": {
+ "english_name": "Limbum"
},
- "msl": {
- "english_name": "Molof"
+ "kks": {
+ "english_name": "Giiwo"
},
- "msk": {
- "english_name": "Mansaka"
+ "imy": {
+ "english_name": "Milyan"
},
- "msj": {
- "english_name": "Ma (Democratic Republic of Congo)"
+ "nuw": {
+ "english_name": "Nguluwan"
},
- "msi": {
- "english_name": "Malay, Sabah"
+ "ach": {
+ "english_name": "Acoli"
},
- "msh": {
- "english_name": "Malagasy, Masikoro"
+ "ybo": {
+ "english_name": "Yabong"
},
- "msg": {
- "english_name": "Moraid"
+ "iki": {
+ "english_name": "Iko"
},
- "msf": {
- "english_name": "Mekwei"
+ "mco": {
+ "english_name": "Mixe, Coatlán"
},
- "mse": {
- "english_name": "Musey"
+ "ghe": {
+ "english_name": "Ghale, Southern"
},
- "msd": {
- "english_name": "Yucatec Maya Sign Language"
+ "leb": {
+ "english_name": "Lala-Bisa"
},
- "msc": {
- "english_name": "Maninka, Sankaran"
+ "jqr": {
+ "english_name": "Jaqaru"
},
- "msb": {
- "english_name": "Masbatenyo"
+ "ynl": {
+ "english_name": "Yangulam"
},
- "kyk": {
- "english_name": "Kamayo"
+ "rmc": {
+ "english_name": "Romani, Carpathian"
},
- "kyj": {
- "english_name": "Karao"
+ "nre": {
+ "english_name": "Naga, Southern Rengma"
},
- "kyi": {
- "english_name": "Kiput"
+ "lnb": {
+ "english_name": "Mbalanhu"
},
- "kyh": {
- "english_name": "Karok"
+ "zua": {
+ "english_name": "Zeem"
},
- "kyo": {
- "english_name": "Kelon"
+ "plj": {
+ "english_name": "Polci"
},
- "kyn": {
- "english_name": "Binukidnon, Northern"
+ "dyb": {
+ "english_name": "Dyaberdyaber"
},
- "kym": {
- "english_name": "Kpatili"
+ "bzj": {
+ "english_name": "Kriol English, Belize"
},
- "kyl": {
- "english_name": "Kalapuya"
+ "jua": {
+ "english_name": "Júma"
},
- "kyc": {
- "english_name": "Kyaka"
+ "kak": {
+ "english_name": "Kallahan, Kayapa"
},
- "kyb": {
- "english_name": "Kalinga, Butbut"
+ "ala": {
+ "english_name": "Alago"
},
- "kya": {
- "english_name": "Kwaya"
+ "bei": {
+ "english_name": "Bekati'"
},
- "kyg": {
- "english_name": "Keyagana"
+ "slw": {
+ "english_name": "Sialum"
},
- "kyf": {
- "english_name": "Kouya"
+ "bhq": {
+ "english_name": "Tukang Besi South"
},
- "kye": {
- "english_name": "Krache"
+ "nyu": {
+ "english_name": "Nyungwe"
},
- "kyd": {
- "english_name": "Karey"
+ "sty": {
+ "english_name": "Tatar, Siberian"
},
- "kyz": {
- "english_name": "Kayabí"
+ "kmn": {
+ "english_name": "Awtuw"
},
- "kyy": {
- "english_name": "Kambaira"
+ "sop": {
+ "english_name": "Songe"
},
- "kyx": {
- "english_name": "Rapoisi"
+ "aou": {
+ "english_name": "A'ou"
},
- "kys": {
- "english_name": "Kayan, Baram"
+ "nne": {
+ "english_name": "Ngandyera"
},
- "kyr": {
- "english_name": "Kuruáya"
+ "bzo": {
+ "english_name": "Bozaba"
},
- "kyq": {
- "english_name": "Kenga"
+ "lnj": {
+ "english_name": "Leningitij"
},
- "kyp": {
- "english_name": "Kang"
+ "isu": {
+ "english_name": "Isu (Menchum Division)"
},
- "kyw": {
- "english_name": "Kudmali"
+ "tsj": {
+ "english_name": "Tshangla"
},
- "kyv": {
- "english_name": "Kayort"
+ "hpo": {
+ "english_name": "Hpon"
},
- "kyu": {
- "english_name": "Kayah, Western"
+ "yxm": {
+ "english_name": "Yinwum"
},
- "kyt": {
- "english_name": "Kayagar"
+ "yag": {
+ "english_name": "Yámana"
},
- "tbp": {
- "english_name": "Taworta"
+ "cwt": {
+ "english_name": "Kuwaataay"
},
- "tbs": {
- "english_name": "Tanguat"
+ "tpu": {
+ "english_name": "Tampuan"
},
- "ryn": {
- "english_name": "Amami-Oshima, Northern"
+ "ntj": {
+ "english_name": "Ngaanyatjarra"
},
- "tbr": {
- "english_name": "Tumtum"
+ "pti": {
+ "english_name": "Pintiini"
},
- "xzp": {
- "english_name": "Zapotec, Ancient"
+ "dto": {
+ "english_name": "Dogon, Tommo So"
},
- "tbu": {
- "english_name": "Tubar"
+ "vay": {
+ "english_name": "Wayu"
},
- "tbt": {
- "english_name": "Tembo (Kitembo)"
+ "ban": {
+ "english_name": "Balinese"
},
- "tbw": {
- "english_name": "Tagbanwa"
+ "ivv": {
+ "english_name": "Ivatan"
},
- "xzm": {
- "english_name": "Zemgalian"
+ "kfw": {
+ "english_name": "Naga, Kharam"
},
- "tbv": {
- "english_name": "Tobo"
+ "gqa": {
+ "english_name": "Ga'anda"
},
- "xzh": {
- "english_name": "Zhang-Zhung"
+ "zgr": {
+ "english_name": "Magori"
},
- "tbi": {
- "english_name": "Gaam"
+ "nnw": {
+ "english_name": "Nuni, Southern"
},
- "tbh": {
- "english_name": "Thurawal"
+ "oyd": {
+ "english_name": "Oyda"
},
- "tbk": {
- "english_name": "Tagbanwa, Calamian"
+ "jhs": {
+ "english_name": "Jhankot Sign Language"
},
- "tbj": {
- "english_name": "Tiang"
+ "kxd": {
+ "english_name": "Brunei"
},
- "tbm": {
- "english_name": "Tagbu"
+ "dkr": {
+ "english_name": "Kuijau"
},
- "tbl": {
- "english_name": "Tboli"
+ "lmk": {
+ "english_name": "Lamkang"
},
- "tbo": {
- "english_name": "Tawala"
+ "znk": {
+ "english_name": "Manangkari"
},
- "tbn": {
- "english_name": "Tunebo, Barro Negro"
+ "gsn": {
+ "english_name": "Gusan"
},
- "tbc": {
- "english_name": "Takia"
+ "mrx": {
+ "english_name": "Maremgi"
},
- "gta": {
- "english_name": "Guató"
+ "csb": {
+ "english_name": "Kashubian"
},
- "vto": {
- "english_name": "Vitou"
+ "itw": {
+ "english_name": "Ito"
},
- "gtu": {
- "english_name": "Aghu-Tharnggala"
+ "gae": {
+ "english_name": "Guarequena"
},
- "ppi": {
- "english_name": "Paipai"
+ "obt": {
+ "english_name": "Breton, Old"
},
- "ulm": {
- "english_name": "Ulumanda'"
+ "ee": {
+ "english_name": "Ewe"
},
- "ahn": {
- "english_name": "Àhàn"
+ "mgu": {
+ "english_name": "Mailu"
},
- "ppn": {
- "english_name": "Papapana"
+ "pku": {
+ "english_name": "Paku"
},
- "ttj": {
- "english_name": "Tooro"
+ "cme": {
+ "english_name": "Cerma"
},
- "ahl": {
- "english_name": "Igo"
+ "srb": {
+ "english_name": "Sora"
},
- "ahm": {
- "english_name": "Aizi, Mobumrin"
+ "xrd": {
+ "english_name": "Gundungurra"
},
- "pps": {
- "english_name": "Popoloca, San Luís Temalacayuca"
+ "aer": {
+ "english_name": "Arrernte, Eastern"
},
- "ryu": {
- "english_name": "Okinawan, Central"
+ "tnq": {
+ "english_name": "Taino"
},
- "shw": {
- "english_name": "Shwai"
+ "sm": {
+ "english_name": "Samoan"
},
- "ppq": {
- "english_name": "Pei"
+ "yrw": {
+ "english_name": "Yarawata"
},
- "did": {
- "english_name": "Didinga"
+ "mmu": {
+ "english_name": "Mmaala"
},
- "ppu": {
- "english_name": "Papora"
+ "kva": {
+ "english_name": "Bagvalal"
},
"eja": {
"english_name": "Ejamat"
},
- "yuy": {
- "english_name": "Yugur, East"
+ "amm": {
+ "english_name": "Ama (Papua New Guinea)"
},
- "yux": {
- "english_name": "Yukaghir, Southern"
+ "asr": {
+ "english_name": "Asuri"
},
- "yuz": {
- "english_name": "Yuracare"
+ "bqm": {
+ "english_name": "Wumboko"
},
- "yuq": {
- "english_name": "Yuqui"
+ "bxa": {
+ "english_name": "Tairaha"
},
- "yup": {
- "english_name": "Yukpa"
+ "de": {
+ "english_name": "German",
+ "name": "Deutsch"
},
- "yur": {
- "english_name": "Yurok"
+ "sey": {
+ "english_name": "Secoya"
},
- "yut": {
- "english_name": "Yopno"
+ "pla": {
+ "english_name": "Miani"
},
- "yuw": {
- "english_name": "Yau (Morobe Province)"
+ "bgd": {
+ "english_name": "Bareli, Rathwi"
},
- "yui": {
- "english_name": "Yurutí"
+ "myp": {
+ "english_name": "Pirahã"
},
- "jwi": {
- "english_name": "Jwira-Pepesa"
+ "nkh": {
+ "english_name": "Naga, Khezha"
},
- "yuk": {
- "english_name": "Yuki"
+ "nqq": {
+ "english_name": "Naga, Kyan-Karyaw"
},
- "yuj": {
- "english_name": "Karkar-Yuri"
+ "gsw": {
+ "english_name": "German, Swiss"
},
- "yum": {
- "english_name": "Quechan"
+ "sjr": {
+ "english_name": "Siar-Lak"
},
- "yul": {
- "english_name": "Yulu"
+ "bkv": {
+ "english_name": "Bekwarra"
},
- "yun": {
- "english_name": "Bena (Nigeria)"
+ "zao": {
+ "english_name": "Zapotec, Ozolotepec"
},
- "yua": {
- "english_name": "Yucateco"
+ "ked": {
+ "english_name": "Kerewe"
},
- "yuc": {
- "english_name": "Yuchi"
+ "lby": {
+ "english_name": "Lamu-Lamu"
},
- "yub": {
- "english_name": "Yugambal"
+ "xoc": {
+ "english_name": "O'chi'chi'"
},
- "yue": {
- "english_name": "Chinese, Yue"
+ "biw": {
+ "english_name": "Kol (Cameroon)"
},
- "yud": {
- "english_name": "Arabic, Judeo-Tripolitanian"
+ "tya": {
+ "english_name": "Tauya"
},
- "yug": {
- "english_name": "Yug"
+ "bbe": {
+ "english_name": "Bangba"
},
- "yuf": {
- "english_name": "Havasupai-Walapai-Yavapai"
+ "pnz": {
+ "english_name": "Pana (Central African Republic)"
},
- "tns": {
- "english_name": "Tenis"
+ "nao": {
+ "english_name": "Naaba"
},
- "ian": {
- "english_name": "Iatmul"
+ "qwa": {
+ "english_name": "Quechua, Corongo Ancash"
},
- "iai": {
- "english_name": "Iaai"
+ "tmg": {
+ "english_name": "Ternateño"
},
- "yxg": {
- "english_name": "Yagara"
+ "rmt": {
+ "english_name": "Domari"
},
- "iap": {
- "english_name": "Iapama"
+ "ruh": {
+ "english_name": "Ruga"
},
- "iar": {
- "english_name": "Purari"
+ "ate": {
+ "english_name": "Atemble"
},
- "hud": {
- "english_name": "Huaulu"
+ "tsc": {
+ "english_name": "Tswa"
},
- "hue": {
- "english_name": "Huave, San Francisco Del Mar"
+ "nwe": {
+ "english_name": "Ngwe"
},
- "huf": {
- "english_name": "Humene"
+ "bgj": {
+ "english_name": "Bangolan"
},
- "hug": {
- "english_name": "Huachipaeri"
+ "wan": {
+ "english_name": "Wan"
},
- "hub": {
- "english_name": "Huambisa"
+ "enc": {
+ "english_name": "En"
},
- "huc": {
- "english_name": "=/Hua"
+ "bvm": {
+ "english_name": "Bamunka"
},
- "hul": {
- "english_name": "Hula"
+ "bvf": {
+ "english_name": "Boor"
},
- "hum": {
- "english_name": "Hungana"
+ "mak": {
+ "english_name": "Makasar"
},
- "huo": {
- "english_name": "Hu"
+ "dnv": {
+ "english_name": "Danu"
},
- "huh": {
- "english_name": "Huilliche"
+ "phl": {
+ "english_name": "Phalura"
},
- "hui": {
- "english_name": "Huli"
+ "mce": {
+ "english_name": "Mixtec, Itundujia"
},
- "huj": {
- "english_name": "Hmong, Northern Guiyang"
+ "luq": {
+ "english_name": "Lucumi"
},
- "huk": {
- "english_name": "Hulung"
+ "psl": {
+ "english_name": "Puerto Rican Sign Language"
},
- "hut": {
- "english_name": "Humla"
+ "nbq": {
+ "english_name": "Nggem"
},
- "huu": {
- "english_name": "Huitoto, Murui"
+ "guq": {
+ "english_name": "Aché"
},
- "huv": {
- "english_name": "Huave, San Mateo Del Mar"
+ "blk": {
+ "english_name": "Karen, Pa'o"
},
- "huw": {
- "english_name": "Hukumina"
+ "slz": {
+ "english_name": "Ma'ya"
},
- "hup": {
- "english_name": "Hupa"
+ "kkm": {
+ "english_name": "Kiong"
},
- "huq": {
- "english_name": "Tsat"
+ "teq": {
+ "english_name": "Temein"
},
- "hur": {
- "english_name": "Halkomelem"
+ "lou": {
+ "english_name": "Creole French, Louisiana"
},
- "hus": {
- "english_name": "Huastec"
+ "bza": {
+ "english_name": "Bandi"
},
- "hux": {
- "english_name": "Huitoto, Nüpode"
+ "bdj": {
+ "english_name": "Bai"
},
- "huy": {
- "english_name": "Hulaulá"
+ "plw": {
+ "english_name": "Palawano, Brooke's Point"
},
- "huz": {
- "english_name": "Hunzib"
+ "mfp": {
+ "english_name": "Malay, Makassar"
},
- "pre": {
- "english_name": "Principense"
+ "kia": {
+ "english_name": "Kim"
},
- "ane": {
- "english_name": "Xârâcùù"
+ "kzd": {
+ "english_name": "Kadai"
},
- "prg": {
- "english_name": "Prussian"
+ "xpa": {
+ "english_name": "Pirriya"
},
- "ang": {
- "english_name": "English, Old (ca. 450-1100)"
+ "tor": {
+ "english_name": "Banda, Togbo-Vara"
},
- "ana": {
- "english_name": "Andaqui"
+ "ksw": {
+ "english_name": "Karen, S'gaw"
},
- "prc": {
- "english_name": "Parachi"
+ "lua": {
+ "english_name": "Luba-Lulua"
},
- "prb": {
- "english_name": "Lua'"
+ "kbn": {
+ "english_name": "Kare (Central African Republic)"
},
- "anl": {
- "english_name": "Chin, Anu-Hkongso"
+ "dma": {
+ "english_name": "Duma"
},
- "anm": {
- "english_name": "Anal"
+ "mdn": {
+ "english_name": "Mbati"
},
- "ann": {
- "english_name": "Obolo"
+ "mha": {
+ "english_name": "Manda (India)"
},
- "ano": {
- "english_name": "Andoque"
+ "zmd": {
+ "english_name": "Maridan"
},
- "anh": {
- "english_name": "Nend"
+ "pqm": {
+ "english_name": "Malecite-Passamaquoddy"
},
- "prh": {
- "english_name": "Porohanon"
+ "ghc": {
+ "english_name": "Gaelic, Hiberno-Scottish"
},
- "anj": {
- "english_name": "Anor"
+ "ema": {
+ "english_name": "Emai-Iuleha-Ora"
},
- "ank": {
- "english_name": "Goemai"
+ "ylr": {
+ "english_name": "Yalarnnga"
},
- "pru": {
- "english_name": "Puragi"
+ "aeu": {
+ "english_name": "Akeu"
},
- "anu": {
- "english_name": "Anuak"
+ "njn": {
+ "english_name": "Naga, Liangmai"
},
- "anv": {
- "english_name": "Denya"
+ "xgw": {
+ "english_name": "Guwa"
},
- "anw": {
- "english_name": "Anaang"
+ "jpr": {
+ "english_name": "Judeo-Persian"
},
- "prq": {
- "english_name": "Ashéninka Perené"
+ "mbb": {
+ "english_name": "Manobo, Western Bukidnon"
},
- "anq": {
- "english_name": "Jarawa (India)"
+ "oty": {
+ "english_name": "Tamil, Old"
},
- "prs": {
- "english_name": "Dari"
+ "liq": {
+ "english_name": "Libido"
},
- "prr": {
- "english_name": "Puri"
+ "aib": {
+ "english_name": "Ainu (China)"
},
- "pry": {
- "english_name": "Pray 3"
+ "mzt": {
+ "english_name": "Mintil"
},
- "prx": {
- "english_name": "Purik"
+ "qvz": {
+ "english_name": "Quichua, Northern Pastaza"
},
- "anz": {
- "english_name": "Anem"
+ "daq": {
+ "english_name": "Maria, Dandami"
},
- "prz": {
- "english_name": "Providencia Sign Language"
+ "bbm": {
+ "english_name": "Babango"
},
- "gkp": {
- "english_name": "Kpelle, Guinea"
+ "crs": {
+ "english_name": "Creole French, Seselwa"
},
- "gko": {
- "english_name": "Kok-Nar"
+ "orc": {
+ "english_name": "Orma"
},
- "gkn": {
- "english_name": "Gokana"
+ "liy": {
+ "english_name": "Banda-Bambari"
},
- "gka": {
- "english_name": "Guya"
+ "teu": {
+ "english_name": "Soo"
},
- "gke": {
- "english_name": "Ndai"
+ "clu": {
+ "english_name": "Caluyanun"
},
- "fcs": {
- "english_name": "Quebec Sign Language"
+ "el": {
+ "english_name": "Greek, Modern (1453-)",
+ "name": "Ελληνικά"
},
- "uya": {
- "english_name": "Doko-Uyanga"
+ "deh": {
+ "english_name": "Dehwari"
},
- "nlq": {
- "english_name": "Naga, Lao"
+ "quv": {
+ "english_name": "Sacapulteco"
},
- "tkg": {
- "english_name": "Malagasy, Tesaka"
+ "plt": {
+ "english_name": "Malagasy, Plateau"
},
- "tkd": {
- "english_name": "Tukudede"
+ "iws": {
+ "english_name": "Iwam, Sepik"
},
- "tke": {
- "english_name": "Takwane"
+ "qws": {
+ "english_name": "Quechua, Sihuas Ancash"
},
- "nlu": {
- "english_name": "Nchumbulu"
+ "pua": {
+ "english_name": "Purepecha, Western Highland"
},
- "nlw": {
- "english_name": "Walangama"
+ "orv": {
+ "english_name": "Russian, Old"
},
- "nlv": {
- "english_name": "Nahuatl, Orizaba"
+ "pmt": {
+ "english_name": "Tuamotuan"
},
- "nly": {
- "english_name": "Nyamal"
+ "law": {
+ "english_name": "Lauje"
},
- "nlx": {
- "english_name": "Nahali"
+ "mzj": {
+ "english_name": "Manya"
},
- "tkl": {
- "english_name": "Tokelau"
+ "sia": {
+ "english_name": "Sami, Akkala"
},
- "nlz": {
- "english_name": "Nalögo"
+ "mrr": {
+ "english_name": "Maria (India)"
},
- "nla": {
- "english_name": "Ngombale"
+ "mfn": {
+ "english_name": "Mbembe, Cross River"
},
- "tkw": {
- "english_name": "Teanu"
+ "bng": {
+ "english_name": "Benga"
},
- "nlc": {
- "english_name": "Nalca"
+ "ren": {
+ "english_name": "Rengao"
},
- "tku": {
- "english_name": "Totonac, Upper Necaxa"
+ "dmx": {
+ "english_name": "Dema"
},
- "nle": {
- "english_name": "Nyala, East"
+ "sht": {
+ "english_name": "Shasta"
},
- "tks": {
- "english_name": "Takestani"
+ "nhh": {
+ "english_name": "Nahari"
},
- "nlg": {
- "english_name": "Gela"
+ "bkg": {
+ "english_name": "Buraka"
},
- "tkq": {
- "english_name": "Tee"
+ "ket": {
+ "english_name": "Ket"
},
- "nli": {
- "english_name": "Grangali"
+ "zam": {
+ "english_name": "Zapotec, Miahuatlán"
},
- "nlk": {
- "english_name": "Yali, Ninia"
+ "rwo": {
+ "english_name": "Rawa"
},
- "nlj": {
- "english_name": "Nyali"
+ "bdu": {
+ "english_name": "Oroko"
},
- "tkz": {
- "english_name": "Takua"
+ "ztp": {
+ "english_name": "Zapotec, Loxicha"
},
- "nll": {
- "english_name": "Nihali"
+ "xnu": {
+ "english_name": "Nukunul"
},
- "nlo": {
- "english_name": "Ngul"
+ "tpt": {
+ "english_name": "Tepehua, Tlachichilco"
},
- "ssy": {
- "english_name": "Saho"
+ "mqq": {
+ "english_name": "Minokok"
},
- "dyy": {
- "english_name": "Dyaabugay"
+ "saf": {
+ "english_name": "Safaliba"
},
- "ssz": {
- "english_name": "Sengseng"
+ "hmv": {
+ "english_name": "Hmong Dô"
},
- "ssu": {
- "english_name": "Susuami"
+ "hss": {
+ "english_name": "Harsusi"
},
- "dyu": {
- "english_name": "Dyula"
+ "bcr": {
+ "english_name": "Babine"
},
- "ssv": {
- "english_name": "Shark Bay"
+ "twy": {
+ "english_name": "Tawoyan"
},
- "ssq": {
- "english_name": "So'a"
+ "ko": {
+ "english_name": "Korean",
+ "name": "한국어"
},
- "ssp": {
- "english_name": "Spanish Sign Language"
+ "rwa": {
+ "english_name": "Rawo"
},
- "sss": {
- "english_name": "Sô"
+ "pro": {
+ "english_name": "Provençal, Old (to 1500)"
},
- "ssr": {
- "english_name": "Swiss-French Sign Language"
+ "vbb": {
+ "english_name": "Babar, Southeast"
},
- "ssm": {
- "english_name": "Semnam"
+ "inp": {
+ "english_name": "Iñapari"
},
- "dym": {
- "english_name": "Dogon, Yanda Dom"
+ "tpj": {
+ "english_name": "Tapieté"
},
- "dyn": {
- "english_name": "Dyangadi"
+ "stn": {
+ "english_name": "Owa"
},
- "dyo": {
- "english_name": "Jola-Fonyi"
+ "jao": {
+ "english_name": "Yanyuwa"
},
- "ssi": {
- "english_name": "Sansi"
+ "mn": {
+ "english_name": "Mongolian",
+ "name": "Монгол"
},
- "dyi": {
- "english_name": "Senoufo, Djimini"
+ "oog": {
+ "english_name": "Ong"
},
- "ssk": {
- "english_name": "Sunam"
+ "abm": {
+ "english_name": "Abanyom"
},
- "ssj": {
- "english_name": "Sausi"
+ "yly": {
+ "english_name": "Nyâlayu"
},
- "dyd": {
- "english_name": "Dyugun"
+ "mde": {
+ "english_name": "Maba (Chad)"
},
- "ssd": {
- "english_name": "Siroi"
+ "moh": {
+ "english_name": "Mohawk"
},
- "ssg": {
- "english_name": "Seimat"
+ "ica": {
+ "english_name": "Ede Ica"
},
- "dyg": {
- "english_name": "Agta, Villa Viciosa"
+ "urx": {
+ "english_name": "Urimo"
},
- "dya": {
- "english_name": "Dyan"
+ "mcr": {
+ "english_name": "Menya"
},
- "dyb": {
- "english_name": "Dyaberdyaber"
+ "mgn": {
+ "english_name": "Mbangi"
},
- "ssb": {
- "english_name": "Sama, Southern"
+ "att": {
+ "english_name": "Atta, Pamplona"
},
- "rms": {
- "english_name": "Romanian Sign Language"
+ "mfx": {
+ "english_name": "Melo"
},
- "rmp": {
- "english_name": "Rempi"
+ "chc": {
+ "english_name": "Catawba"
},
- "rmq": {
- "english_name": "Caló"
+ "kkf": {
+ "english_name": "Monpa, Kalaktang"
},
- "rmv": {
- "english_name": "Romanova"
+ "dbd": {
+ "english_name": "Dadiya"
},
- "rmw": {
- "english_name": "Romani, Welsh"
+ "fuh": {
+ "english_name": "Fulfulde, Western Niger"
},
- "rmt": {
- "english_name": "Domari"
+ "myi": {
+ "english_name": "Mina (India)"
},
- "lnz": {
- "english_name": "Lonzo"
+ "oav": {
+ "english_name": "Avar, Old"
},
- "lnu": {
- "english_name": "Longuda"
+ "ruq": {
+ "english_name": "Romanian, Megleno"
},
- "lnw": {
- "english_name": "Lanima"
+ "mrm": {
+ "english_name": "Merlav"
},
- "rmy": {
- "english_name": "Romani, Vlax"
+ "mmd": {
+ "english_name": "Maonan"
},
- "lns": {
- "english_name": "Lamnso'"
+ "tbx": {
+ "english_name": "Kapin"
},
- "lnm": {
- "english_name": "Langam"
+ "khj": {
+ "english_name": "Kuturmi"
},
- "lnl": {
- "english_name": "Banda, South Central"
+ "dit": {
+ "english_name": "Dirari"
},
- "lno": {
- "english_name": "Lango (Sudan)"
+ "njr": {
+ "english_name": "Njerep"
},
- "lnn": {
- "english_name": "Lorediakarkar"
+ "buo": {
+ "english_name": "Terei"
},
- "lni": {
- "english_name": "Daantanai'"
+ "pip": {
+ "english_name": "Pero"
},
- "lnh": {
- "english_name": "Lanoh"
+ "ia": {
+ "english_name": "Interlingua (International Auxiliary Language Association)"
},
- "rmd": {
- "english_name": "Danish, Traveller"
+ "zrp": {
+ "english_name": "Zarphatic"
},
- "lnj": {
- "english_name": "Leningitij"
+ "ymr": {
+ "english_name": "Malasar"
},
- "lnd": {
- "english_name": "Lundayeh"
+ "mrt": {
+ "english_name": "Marghi Central"
},
- "lng": {
- "english_name": "Langobardic"
+ "jnd": {
+ "english_name": "Jandavra"
},
- "rmi": {
- "english_name": "Lomavren"
+ "tjo": {
+ "english_name": "Tamazight, Temacine"
},
- "lna": {
- "english_name": "Langbashe"
+ "quy": {
+ "english_name": "Quechua, Ayacucho"
},
- "rmo": {
- "english_name": "Romani, Sinte"
+ "emw": {
+ "english_name": "Emplawas"
},
- "rml": {
- "english_name": "Romani, Baltic"
+ "vit": {
+ "english_name": "Viti"
},
- "lnb": {
- "english_name": "Mbalanhu"
+ "mor": {
+ "english_name": "Moro"
},
- "pox": {
- "english_name": "Polabian"
+ "xsi": {
+ "english_name": "Sio"
},
- "poy": {
- "english_name": "Pogolo"
+ "xke": {
+ "english_name": "Kereho"
},
- "pov": {
- "english_name": "Crioulo, Upper Guinea"
+ "tby": {
+ "english_name": "Tabaru"
},
- "pow": {
- "english_name": "Popoloca, San Felipe Otlaltepec"
+ "gil": {
+ "english_name": "Gilbertese"
},
- "pot": {
- "english_name": "Potawatomi"
+ "ffi": {
+ "english_name": "Foia Foia"
},
- "pos": {
- "english_name": "Popoluca, Sayula"
+ "lwg": {
+ "english_name": "Wanga"
},
- "pop": {
- "english_name": "Pwapwâ"
+ "tga": {
+ "english_name": "Sagalla"
},
- "poq": {
- "english_name": "Popoluca, Texistepec"
+ "bcu": {
+ "english_name": "Awad Bing"
},
- "pon": {
- "english_name": "Pohnpeian"
+ "plg": {
+ "english_name": "Pilagá"
},
- "poo": {
- "english_name": "Pomo, Central"
+ "tpw": {
+ "english_name": "Tupí"
},
- "pom": {
- "english_name": "Pomo, Southeastern"
+ "xad": {
+ "english_name": "Adai"
},
- "pok": {
- "english_name": "Pokangá"
+ "pnn": {
+ "english_name": "Pinai-Hagahai"
},
- "poh": {
- "english_name": "Poqomchi'"
+ "jms": {
+ "english_name": "Mashi (Nigeria)"
},
- "poi": {
- "english_name": "Popoluca, Highland"
+ "kbc": {
+ "english_name": "Kadiwéu"
},
- "pof": {
- "english_name": "Poke"
+ "stf": {
+ "english_name": "Seta"
},
- "pog": {
- "english_name": "Potiguára"
+ "tob": {
+ "english_name": "Toba"
},
- "pod": {
- "english_name": "Ponares"
+ "aqz": {
+ "english_name": "Akuntsu"
},
- "poe": {
- "english_name": "Popoloca, San Juan Atzingo"
+ "mrz": {
+ "english_name": "Marind"
},
- "poc": {
- "english_name": "Poqomam"
+ "bbc": {
+ "english_name": "Batak Toba"
},
- "tnn": {
- "english_name": "Tanna, North"
+ "szb": {
+ "english_name": "Ngalum"
},
- "mqa": {
- "english_name": "Maba (Indonesia)"
+ "tml": {
+ "english_name": "Citak, Tamnim"
},
- "mqc": {
- "english_name": "Mangole"
+ "gqr": {
+ "english_name": "Gor"
},
- "mqb": {
- "english_name": "Mbuko"
+ "ntk": {
+ "english_name": "Ikoma-Nata-Isenye"
},
- "mqe": {
- "english_name": "Matepi"
+ "mxr": {
+ "english_name": "Murik (Malaysia)"
},
- "mqg": {
- "english_name": "Malay, Kota Bangun Kutai"
+ "jbw": {
+ "english_name": "Yawijibaya"
},
- "mqf": {
- "english_name": "Momuna"
+ "alf": {
+ "english_name": "Alege"
},
- "mqi": {
- "english_name": "Mariri"
+ "gxx": {
+ "english_name": "Wè Southern"
},
- "mqh": {
- "english_name": "Mixtec, Tlazoyaltepec"
+ "ors": {
+ "english_name": "Orang Seletar"
},
- "mqk": {
- "english_name": "Manobo, Rajah Kabunsuwan"
+ "bfl": {
+ "english_name": "Banda-Ndélé"
},
- "mqj": {
- "english_name": "Mamasa"
+ "ssd": {
+ "english_name": "Siroi"
},
- "mqm": {
- "english_name": "Marquesan, South"
+ "krl": {
+ "english_name": "Karelian"
},
- "mql": {
- "english_name": "Mbelime"
+ "thr": {
+ "english_name": "Tharu, Rana"
},
- "mqo": {
- "english_name": "Modole"
+ "mvl": {
+ "english_name": "Mbara (Australia)"
},
- "mqn": {
- "english_name": "Moronene"
+ "bwx": {
+ "english_name": "Bunu, Bu-Nao"
},
- "mqq": {
- "english_name": "Minokok"
+ "ele": {
+ "english_name": "Elepi"
},
- "mqp": {
- "english_name": "Manipa"
+ "myu": {
+ "english_name": "Mundurukú"
},
- "mqs": {
- "english_name": "Makian, West"
+ "jup": {
+ "english_name": "Hupdë"
},
- "mqr": {
- "english_name": "Mander"
+ "bvh": {
+ "english_name": "Bure"
},
- "mqu": {
- "english_name": "Mandari"
+ "odu": {
+ "english_name": "Odual"
},
- "mqt": {
- "english_name": "Mok"
+ "wrv": {
+ "english_name": "Waruna"
},
- "mqw": {
- "english_name": "Murupi"
+ "afs": {
+ "english_name": "Creole, Afro-Seminole"
},
- "mqv": {
- "english_name": "Mosimo"
+ "sws": {
+ "english_name": "Seluwasan"
},
- "mqy": {
- "english_name": "Manggarai"
+ "anb": {
+ "english_name": "Andoa"
},
- "mqx": {
- "english_name": "Mamuju"
+ "hmu": {
+ "english_name": "Hamap"
},
- "mqz": {
- "english_name": "Pano"
+ "xng": {
+ "english_name": "Mongolian, Middle"
},
- "uha": {
- "english_name": "Uhami"
+ "cra": {
+ "english_name": "Chara"
},
- "tnh": {
- "english_name": "Maiani"
+ "msb": {
+ "english_name": "Masbatenyo"
},
- "tix": {
- "english_name": "Tiwa, Southern"
+ "uda": {
+ "english_name": "Uda"
},
- "tiz": {
- "english_name": "Tai Hongjin"
+ "gdg": {
+ "english_name": "Ga'dang"
},
- "yhl": {
- "english_name": "Phowa, Hlepho"
+ "tkr": {
+ "english_name": "Tsakhur"
},
- "yha": {
- "english_name": "Buyang, Baha"
+ "onr": {
+ "english_name": "One, Northern"
},
- "yhd": {
- "english_name": "Arabic, Judeo-Iraqi"
+ "hbu": {
+ "english_name": "Habu"
},
- "tiu": {
- "english_name": "Adasen"
+ "abb": {
+ "english_name": "Bankon"
},
- "tiv": {
- "english_name": "Tiv"
+ "suc": {
+ "english_name": "Subanon, Western"
},
- "tip": {
- "english_name": "Trimuris"
+ "lmc": {
+ "english_name": "Limilngan"
},
- "tiq": {
- "english_name": "Tiéfo"
+ "thi": {
+ "english_name": "Tai Long"
},
- "tis": {
- "english_name": "Itneg, Masadiit"
+ "pmf": {
+ "english_name": "Pamona"
},
- "tim": {
- "english_name": "Timbe"
+ "umn": {
+ "english_name": "Naga, Makyan"
},
- "tif": {
- "english_name": "Tifal"
+ "xla": {
+ "english_name": "Kamula"
},
- "wbv": {
- "english_name": "Wajarri"
+ "wam": {
+ "english_name": "Wampanoag"
},
- "wbw": {
- "english_name": "Woi"
+ "ghh": {
+ "english_name": "Ghale, Northern"
},
- "wbt": {
- "english_name": "Wanman"
+ "fut": {
+ "english_name": "Futuna-Aniwa"
},
- "wbr": {
- "english_name": "Wagdi"
+ "sck": {
+ "english_name": "Sadri"
},
- "wbp": {
- "english_name": "Warlpiri"
+ "sd": {
+ "english_name": "Sindhi"
},
- "wbq": {
- "english_name": "Waddar"
+ "xrt": {
+ "english_name": "Aranama-Tamique"
},
- "wbf": {
- "english_name": "Wara"
+ "ahk": {
+ "english_name": "Akha"
},
- "wbe": {
- "english_name": "Waritai"
+ "dja": {
+ "english_name": "Djadjawurrung"
},
- "wbb": {
- "english_name": "Wabo"
+ "kyn": {
+ "english_name": "Binukidnon, Northern"
},
- "wba": {
- "english_name": "Warao"
+ "ymd": {
+ "english_name": "Muda"
},
- "wbl": {
- "english_name": "Wakhi"
+ "afh": {
+ "english_name": "Afrihili"
},
- "wbm": {
- "english_name": "Wa"
+ "tba": {
+ "english_name": "Aikanã"
},
- "wbj": {
- "english_name": "Alagwa"
+ "ebr": {
+ "english_name": "Ebrié"
},
- "wbk": {
- "english_name": "Waigali"
+ "asz": {
+ "english_name": "As"
},
- "wbh": {
- "english_name": "Wanda"
+ "pkr": {
+ "english_name": "Kurumba, Attapady"
},
- "wbi": {
- "english_name": "Vwanji"
+ "gss": {
+ "english_name": "Greek Sign Language"
},
- "gvj": {
- "english_name": "Guajá"
+ "xwc": {
+ "english_name": "Woccon"
},
- "gvn": {
- "english_name": "Kuku-Yalanji"
+ "tmk": {
+ "english_name": "Tamang, Northwestern"
},
- "gvo": {
- "english_name": "Gavião Do Jiparaná"
+ "kyw": {
+ "english_name": "Kudmali"
},
- "gvl": {
- "english_name": "Gulay"
+ "acv": {
+ "english_name": "Achumawi"
},
- "gvm": {
- "english_name": "Gurmana"
+ "goc": {
+ "english_name": "Gorakor"
},
- "gvc": {
- "english_name": "Guanano"
+ "mqu": {
+ "english_name": "Mandari"
},
- "gva": {
- "english_name": "Guana (Paraguay)"
+ "lrt": {
+ "english_name": "Malay, Larantuka"
},
- "gvf": {
- "english_name": "Golin"
+ "lda": {
+ "english_name": "Kla-Dan"
},
- "gve": {
- "english_name": "Duwet"
+ "jeg": {
+ "english_name": "Jeng"
},
- "gvy": {
- "english_name": "Guyani"
+ "kym": {
+ "english_name": "Kpatili"
},
- "gvr": {
- "english_name": "Gurung, Western"
+ "sbe": {
+ "english_name": "Saliba"
},
- "gvs": {
- "english_name": "Gumawana"
+ "swp": {
+ "english_name": "Suau"
},
- "gvp": {
- "english_name": "Gavião, Pará"
+ "raq": {
+ "english_name": "Saam"
},
- "om": {
- "english_name": "Oromo"
+ "mxe": {
+ "english_name": "Mele-Fila"
},
- "oj": {
- "english_name": "Ojibwa"
+ "mfg": {
+ "english_name": "Mogofin"
},
- "oc": {
- "name": "Occitan (aprèp 1500)",
- "english_name": "Occitan (post 1500)"
+ "ygu": {
+ "english_name": "Yugul"
},
- "sqh": {
- "english_name": "Shau"
+ "yur": {
+ "english_name": "Yurok"
},
- "os": {
- "english_name": "Ossetian"
+ "rki": {
+ "english_name": "Rakhine"
},
- "or": {
- "name": "Oriya (macrolanguage)",
- "english_name": "Oriya (macrolanguage)"
+ "kpd": {
+ "english_name": "Koba"
},
- "yap": {
- "english_name": "Yapese"
+ "pev": {
+ "english_name": "Pémono"
},
- "ehu": {
- "english_name": "Ehueun"
+ "ndw": {
+ "english_name": "Ndobo"
},
- "yan": {
- "english_name": "Mayangna"
+ "mid": {
+ "english_name": "Mandaic"
},
- "rmu": {
- "english_name": "Romani, Tavringer"
+ "eze": {
+ "english_name": "Uzekwe"
},
- "jub": {
- "english_name": "Wannu"
+ "kny": {
+ "english_name": "Kanyok"
},
- "juc": {
- "english_name": "Jurchen"
+ "kwh": {
+ "english_name": "Kowiai"
},
- "jua": {
- "english_name": "Júma"
+ "thn": {
+ "english_name": "Thachanadan"
},
- "jud": {
- "english_name": "Worodougou"
+ "rdb": {
+ "english_name": "Rudbari"
},
- "juk": {
- "english_name": "Wapan"
+ "dib": {
+ "english_name": "Dinka, South Central"
},
- "juh": {
- "english_name": "Hõne"
+ "wed": {
+ "english_name": "Wedau"
},
- "jui": {
- "english_name": "Ngadjuri"
+ "zpr": {
+ "english_name": "Zapotec, Santiago Xanica"
},
- "jun": {
- "english_name": "Juang"
+ "nyx": {
+ "english_name": "Nganyaywana"
},
- "juo": {
- "english_name": "Jiba"
+ "plz": {
+ "english_name": "Paluan"
},
- "jul": {
- "english_name": "Jirel"
+ "pop": {
+ "english_name": "Pwapwâ"
},
- "jum": {
- "english_name": "Jumjum"
+ "msx": {
+ "english_name": "Moresada"
},
- "jur": {
- "english_name": "Jurúna"
+ "tgo": {
+ "english_name": "Sudest"
},
- "jus": {
- "english_name": "Jumla Sign Language"
+ "gaf": {
+ "english_name": "Gende"
},
- "jup": {
- "english_name": "Hupdë"
+ "gew": {
+ "english_name": "Gera"
},
- "juw": {
- "english_name": "Wãpha"
+ "dhm": {
+ "english_name": "Zemba"
},
- "jut": {
- "english_name": "Jutish"
+ "tbh": {
+ "english_name": "Thurawal"
},
- "juu": {
- "english_name": "Ju"
+ "asq": {
+ "english_name": "Austrian Sign Language"
},
- "juy": {
- "english_name": "Juray"
+ "uha": {
+ "english_name": "Uhami"
},
- "cbb": {
- "english_name": "Cabiyarí"
+ "chb": {
+ "english_name": "Chibcha"
},
- "cbc": {
- "english_name": "Carapana"
+ "awt": {
+ "english_name": "Araweté"
},
- "cbg": {
- "english_name": "Chimila"
+ "mho": {
+ "english_name": "Mashi (Zambia)"
},
- "cbd": {
- "english_name": "Carijona"
+ "ibb": {
+ "english_name": "Ibibio"
},
- "cbe": {
- "english_name": "Chipiajes"
+ "klx": {
+ "english_name": "Koluwawa"
},
- "cbj": {
- "english_name": "Ede Cabe"
+ "msj": {
+ "english_name": "Ma (Democratic Republic of Congo)"
},
- "cbk": {
- "english_name": "Chavacano"
+ "acq": {
+ "english_name": "Arabic, Ta'izzi-Adeni"
},
- "cbh": {
- "english_name": "Cagua"
+ "ggk": {
+ "english_name": "Kungarakany"
},
- "cbi": {
- "english_name": "Chachi"
+ "szg": {
+ "english_name": "Sengele"
},
- "cbn": {
- "english_name": "Nyahkur"
+ "igl": {
+ "english_name": "Igala"
},
- "cbo": {
- "english_name": "Izora"
+ "kxu": {
+ "english_name": "Kui (India)"
},
- "cbl": {
- "english_name": "Chin, Bualkhaw"
+ "slr": {
+ "english_name": "Salar"
},
- "cbr": {
- "english_name": "Cashibo-Cacataibo"
+ "cnl": {
+ "english_name": "Chinantec, Lalana"
},
- "cbs": {
- "english_name": "Cashinahua"
+ "kfb": {
+ "english_name": "Kolami, Northwestern"
},
- "cbv": {
- "english_name": "Cacua"
+ "pao": {
+ "english_name": "Paiute, Northern"
},
- "cbw": {
- "english_name": "Kinabalian"
+ "rnp": {
+ "english_name": "Rongpo"
},
- "cbt": {
- "english_name": "Chayahuita"
+ "kph": {
+ "english_name": "Kplang"
},
- "cbu": {
- "english_name": "Candoshi-Shapra"
+ "kzi": {
+ "english_name": "Kelabit"
},
- "cby": {
- "english_name": "Carabayo"
+ "asp": {
+ "english_name": "Algerian Sign Language"
},
- "igw": {
- "english_name": "Igwe"
+ "yxu": {
+ "english_name": "Yuyu"
},
- "igs": {
- "english_name": "Interglossa"
+ "waa": {
+ "english_name": "Walla Walla"
},
- "igg": {
- "english_name": "Igana"
+ "cms": {
+ "english_name": "Messapic"
},
- "ige": {
- "english_name": "Igede"
+ "skr": {
+ "english_name": "Seraiki"
},
- "igb": {
- "english_name": "Ebira"
+ "nak": {
+ "english_name": "Nakanai"
},
- "igo": {
- "english_name": "Isebe"
+ "zpt": {
+ "english_name": "Zapotec, San Vicente Coatlán"
},
- "ign": {
- "english_name": "Ignaciano"
+ "tgy": {
+ "english_name": "Togoyo"
},
- "igm": {
- "english_name": "Kanggape"
+ "vto": {
+ "english_name": "Vitou"
},
- "igl": {
- "english_name": "Igala"
+ "bof": {
+ "english_name": "Bolon"
},
- "hwo": {
- "english_name": "Hwana"
+ "awv": {
+ "english_name": "Awyu, Jair"
},
- "hwc": {
- "english_name": "Creole English, Hawai'i"
+ "smj": {
+ "english_name": "Lule Sami"
},
- "hwa": {
- "english_name": "Wané"
+ "csd": {
+ "english_name": "Chiangmai Sign Language"
},
- "tlu": {
- "english_name": "Tulehu"
+ "amu": {
+ "english_name": "Amuzgo, Guerrero"
},
- "hmi": {
- "english_name": "Hmong, Northern Huishui"
+ "xtw": {
+ "english_name": "Tawandê"
},
- "pto": {
- "english_name": "Zo'é"
+ "onb": {
+ "english_name": "Lingao"
},
- "ptn": {
- "english_name": "Patani"
+ "ttt": {
+ "english_name": "Tat, Muslim"
},
- "all": {
- "english_name": "Allar"
+ "biq": {
+ "english_name": "Bipi"
},
- "alm": {
- "english_name": "Amblong"
+ "mbw": {
+ "english_name": "Maring"
},
- "alj": {
- "english_name": "Alangan"
+ "ybk": {
+ "english_name": "Bokha"
},
- "alk": {
- "english_name": "Alak"
+ "umc": {
+ "english_name": "Marrucinian"
},
- "pti": {
- "english_name": "Pintiini"
+ "bnx": {
+ "english_name": "Bangubangu"
},
- "ali": {
- "english_name": "Amaimon"
+ "ve": {
+ "english_name": "Venda",
+ "name": "Venda"
},
- "alf": {
- "english_name": "Alege"
+ "xnb": {
+ "english_name": "Kanakanabu"
},
- "ald": {
- "english_name": "Alladian"
+ "yup": {
+ "english_name": "Yukpa"
},
- "ale": {
- "english_name": "Aleut"
+ "jiv": {
+ "english_name": "Shuar"
},
- "alc": {
- "english_name": "Qawasqar"
+ "sry": {
+ "english_name": "Sera"
},
- "pta": {
- "english_name": "Pai Tavytera"
+ "xrq": {
+ "english_name": "Karranga"
},
- "ala": {
- "english_name": "Alago"
+ "gjm": {
+ "english_name": "Gunditjmara"
},
- "alz": {
- "english_name": "Alur"
+ "byw": {
+ "english_name": "Belhariya"
},
- "pty": {
- "english_name": "Pathiya"
+ "kux": {
+ "english_name": "Kukatja"
},
- "aly": {
- "english_name": "Alyawarr"
+ "win": {
+ "english_name": "Ho-Chunk"
},
- "ptw": {
- "english_name": "Pentlatch"
+ "mep": {
+ "english_name": "Miriwung"
},
- "ptv": {
- "english_name": "Port Vato"
+ "oin": {
+ "english_name": "One, Inebu"
},
- "ptu": {
- "english_name": "Bambam"
+ "htx": {
+ "english_name": "Hittite, Middle"
},
- "alu": {
- "english_name": "'Are'are"
+ "cuv": {
+ "english_name": "Cuvok"
},
- "alr": {
- "english_name": "Alutor"
+ "cod": {
+ "english_name": "Cocama-Cocamilla"
},
- "ptr": {
- "english_name": "Piamatsina"
+ "tow": {
+ "english_name": "Jemez"
},
- "alp": {
- "english_name": "Alune"
+ "ekp": {
+ "english_name": "Ekpeye"
},
- "alq": {
- "english_name": "Algonquin"
+ "qui": {
+ "english_name": "Quileute"
},
- "rob": {
- "english_name": "Tae'"
+ "vmf": {
+ "english_name": "Mainfränkisch"
},
- "faz": {
- "english_name": "Fars, Northwestern"
+ "li": {
+ "english_name": "Limburgan"
},
- "fax": {
- "english_name": "Fala"
+ "med": {
+ "english_name": "Melpa"
},
- "fay": {
- "english_name": "Fars, Southwestern"
+ "xed": {
+ "english_name": "Hdi"
},
- "far": {
- "english_name": "Fataleka"
+ "hgm": {
+ "english_name": "Hai//om"
},
- "fap": {
- "english_name": "Palor"
+ "syl": {
+ "english_name": "Sylheti"
},
- "fat": {
- "english_name": "Fanti"
+ "aur": {
+ "english_name": "Aruek"
},
- "fau": {
- "english_name": "Fayu"
+ "alt": {
+ "english_name": "Altai, Southern"
},
- "faj": {
- "english_name": "Faita"
+ "kna": {
+ "english_name": "Dera (Nigeria)"
},
- "fak": {
- "english_name": "Fang (Cameroon)"
+ "yud": {
+ "english_name": "Arabic, Judeo-Tripolitanian"
},
- "fah": {
- "english_name": "Fali, Baissa"
+ "afi": {
+ "english_name": "Akrukay"
},
- "fai": {
- "english_name": "Faiwol"
+ "bku": {
+ "english_name": "Buhid"
},
- "fan": {
- "english_name": "Fang (Equatorial Guinea)"
+ "yeu": {
+ "english_name": "Yerukula"
},
- "rof": {
- "english_name": "Rombo"
+ "gwc": {
+ "english_name": "Kalami"
},
- "fal": {
- "english_name": "Fali, South"
+ "hwa": {
+ "english_name": "Wané"
},
- "fam": {
- "english_name": "Fam"
+ "klz": {
+ "english_name": "Kabola"
},
- "fab": {
- "english_name": "Fa d'Ambu"
+ "kzo": {
+ "english_name": "Kaningi"
},
- "uwa": {
- "english_name": "Kuku-Uwanh"
+ "ngs": {
+ "english_name": "Gvoko"
},
- "faa": {
- "english_name": "Fasu"
+ "bbr": {
+ "english_name": "Girawa"
},
- "faf": {
- "english_name": "Fagani"
+ "as": {
+ "english_name": "Assamese"
},
- "fag": {
- "english_name": "Finongan"
+ "qun": {
+ "english_name": "Quinault"
},
- "fad": {
- "english_name": "Wagi"
+ "tbj": {
+ "english_name": "Tiang"
},
- "teh": {
- "english_name": "Tehuelche"
+ "snv": {
+ "english_name": "Sa'ban"
},
- "tei": {
- "english_name": "Torricelli"
+ "tcd": {
+ "english_name": "Tafi"
},
- "nby": {
- "english_name": "Ningera"
+ "ndn": {
+ "english_name": "Ngundi"
},
- "tek": {
- "english_name": "Teke, Ibali"
+ "uku": {
+ "english_name": "Ukue"
},
- "tem": {
- "english_name": "Timne"
+ "cde": {
+ "english_name": "Chenchu"
},
- "ten": {
- "english_name": "Tama (Colombia)"
+ "nwr": {
+ "english_name": "Nawaru"
},
- "teo": {
- "english_name": "Teso"
+ "wgo": {
+ "english_name": "Waigeo"
},
- "nbs": {
- "english_name": "Namibian Sign Language"
+ "afe": {
+ "english_name": "Putukwam"
},
- "nbr": {
- "english_name": "Numana-Nunku-Gbantu-Numbu"
+ "mou": {
+ "english_name": "Mogum"
},
- "nbq": {
- "english_name": "Nggem"
+ "dbj": {
+ "english_name": "Ida'an"
},
- "nbp": {
- "english_name": "Nnam"
+ "dbf": {
+ "english_name": "Edopi"
},
- "nbw": {
- "english_name": "Ngbandi, Southern"
+ "nch": {
+ "english_name": "Nahuatl, Central Huasteca"
},
- "nbv": {
- "english_name": "Ngamambo"
+ "bsi": {
+ "english_name": "Bassossi"
},
- "nbu": {
- "english_name": "Naga, Rongmei"
+ "jng": {
+ "english_name": "Yangman"
},
- "nbt": {
- "english_name": "Na"
+ "geq": {
+ "english_name": "Geme"
},
- "nbk": {
- "english_name": "Nake"
+ "cjv": {
+ "english_name": "Chuave"
},
- "nbj": {
- "english_name": "Ngarinman"
+ "khv": {
+ "english_name": "Khvarshi"
},
- "nbi": {
- "english_name": "Naga, Mao"
+ "llh": {
+ "english_name": "Lamu"
},
- "nbh": {
- "english_name": "Ngamo"
+ "bxd": {
+ "english_name": "Pela"
},
- "nbo": {
- "english_name": "Nkukoli"
+ "ush": {
+ "english_name": "Ushojo"
},
- "nbn": {
- "english_name": "Kuri"
+ "zyp": {
+ "english_name": "Chin, Zyphe"
},
- "nbm": {
- "english_name": "Ngbaka Ma'bo"
+ "okg": {
+ "english_name": "Koko Babangk"
},
- "nbc": {
- "english_name": "Naga, Chang"
+ "tkp": {
+ "english_name": "Tikopia"
},
- "nbb": {
- "english_name": "Ndoe"
+ "kql": {
+ "english_name": "Kyenele"
},
- "nba": {
- "english_name": "Nyemba"
+ "spl": {
+ "english_name": "Selepet"
},
- "tes": {
- "english_name": "Tengger"
+ "mer": {
+ "english_name": "Meru"
},
- "nbg": {
- "english_name": "Nagarchal"
+ "csy": {
+ "english_name": "Chin, Siyin"
},
- "ror": {
- "english_name": "Rongga"
+ "abw": {
+ "english_name": "Pal"
},
- "nbe": {
- "english_name": "Naga, Konyak"
+ "bn": {
+ "english_name": "Bengali",
+ "name": "বাংলা"
},
- "nbd": {
- "english_name": "Ngbinda"
+ "puc": {
+ "english_name": "Punan Merap"
},
- "sug": {
- "english_name": "Suganga"
+ "xte": {
+ "english_name": "Ketengban"
},
- "sue": {
- "english_name": "Suena"
+ "lwh": {
+ "english_name": "Lachi, White"
},
- "suc": {
- "english_name": "Subanon, Western"
+ "mlc": {
+ "english_name": "Cao Lan"
},
- "sub": {
- "english_name": "Suku"
+ "nlg": {
+ "english_name": "Gela"
},
- "sua": {
- "english_name": "Sulka"
+ "onu": {
+ "english_name": "Unua"
},
- "sbu": {
- "english_name": "Bhoti, Stod"
+ "uzn": {
+ "english_name": "Uzbek, Northern"
},
- "suk": {
- "english_name": "Sukuma"
+ "mvg": {
+ "english_name": "Mixtec, Yucuañe"
},
- "suj": {
- "english_name": "Shubi"
+ "miz": {
+ "english_name": "Mixtec, Coatzospan"
},
- "sui": {
- "english_name": "Suki"
+ "inn": {
+ "english_name": "Isinai"
},
- "rou": {
- "english_name": "Runga"
+ "ofo": {
+ "english_name": "Ofo"
},
- "suw": {
- "english_name": "Sumbwa"
+ "kuo": {
+ "english_name": "Kumukio"
},
- "sbz": {
- "english_name": "Sara Kaba"
+ "isg": {
+ "english_name": "Irish Sign Language"
},
- "sut": {
- "english_name": "Subtiaba"
+ "bsc": {
+ "english_name": "Bassari"
},
- "sus": {
- "english_name": "Susu"
+ "ula": {
+ "english_name": "Fungwa"
},
- "sur": {
- "english_name": "Mwaghavul"
+ "djo": {
+ "english_name": "Jangkang"
},
- "suq": {
- "english_name": "Suri"
+ "lfa": {
+ "english_name": "Lefa"
},
- "row": {
- "english_name": "Dela-Oenale"
+ "ddr": {
+ "english_name": "Dhudhuroa"
},
- "sbx": {
- "english_name": "Seberuang"
+ "dbb": {
+ "english_name": "Deno"
},
- "suy": {
- "english_name": "Suyá"
+ "jet": {
+ "english_name": "Manem"
},
- "sux": {
- "english_name": "Sumerian"
+ "kfu": {
+ "english_name": "Katkari"
},
- "sco": {
- "english_name": "Scots"
+ "bxc": {
+ "english_name": "Molengue"
},
- "sby": {
- "english_name": "Soli"
+ "sni": {
+ "english_name": "Sensi"
},
- "sbb": {
- "english_name": "Simbo"
+ "ase": {
+ "english_name": "American Sign Language"
},
- "sbc": {
- "english_name": "Kele (Papua New Guinea)"
+ "nby": {
+ "english_name": "Ningera"
},
- "sba": {
- "english_name": "Ngambay"
+ "kuk": {
+ "english_name": "Kepo'"
},
- "sbf": {
- "english_name": "Shabo"
+ "noj": {
+ "english_name": "Nonuya"
},
- "sbg": {
- "english_name": "Seget"
+ "bvp": {
+ "english_name": "Bumang"
},
- "rkt": {
- "english_name": "Rangpuri"
+ "myw": {
+ "english_name": "Muyuw"
},
- "rkw": {
- "english_name": "Arakwal"
+ "zbw": {
+ "english_name": "Berawan, West"
},
- "sbd": {
- "english_name": "Samo, Southern"
+ "bjb": {
+ "english_name": "Banggarla"
},
- "sbe": {
- "english_name": "Saliba"
+ "ffm": {
+ "english_name": "Fulfulde, Maasina"
},
- "sbj": {
- "english_name": "Surbakhal"
+ "ijn": {
+ "english_name": "Kalabari"
},
- "rka": {
- "english_name": "Kraol"
+ "rmh": {
+ "english_name": "Murkim"
},
- "rkb": {
- "english_name": "Rikbaktsa"
+ "nxm": {
+ "english_name": "Numidian"
},
- "sbk": {
- "english_name": "Safwa"
+ "tpr": {
+ "english_name": "Tuparí"
},
- "rkm": {
- "english_name": "Marka"
+ "hul": {
+ "english_name": "Hula"
},
- "rkh": {
- "english_name": "Rakahanga-Manihiki"
+ "bqa": {
+ "english_name": "Tchumbuli"
},
- "rki": {
- "english_name": "Rakhine"
+ "kmc": {
+ "english_name": "Dong, Southern"
},
- "sbi": {
- "english_name": "Seti"
+ "jus": {
+ "english_name": "Jumla Sign Language"
},
- "sbn": {
- "english_name": "Bhil, Sindhi"
+ "zqe": {
+ "english_name": "Zhuang, Qiubei"
},
- "sbl": {
- "english_name": "Sambal, Botolan"
+ "wms": {
+ "english_name": "Wambon"
},
- "sbm": {
- "english_name": "Sagala"
+ "sej": {
+ "english_name": "Sene"
},
- "yva": {
- "english_name": "Yawa"
+ "nsr": {
+ "english_name": "Maritime Sign Language"
},
- "pzn": {
- "english_name": "Naga, Para"
+ "jib": {
+ "english_name": "Jibu"
},
- "sce": {
- "english_name": "Dongxiang"
+ "dip": {
+ "english_name": "Dinka, Northeastern"
},
- "oyy": {
- "english_name": "Oya'oya"
+ "mae": {
+ "english_name": "Bo-Rukul"
},
- "oym": {
- "english_name": "Wayampi"
+ "smx": {
+ "english_name": "Samba"
},
- "oyd": {
- "english_name": "Oyda"
+ "ikx": {
+ "english_name": "Ik"
},
- "oyb": {
- "english_name": "Oy"
+ "baj": {
+ "english_name": "Barakai"
},
- "lha": {
- "english_name": "Laha (Viet Nam)"
+ "apc": {
+ "english_name": "Arabic, North Levantine"
},
- "lhn": {
- "english_name": "Lahanan"
+ "kby": {
+ "english_name": "Kanuri, Manga"
},
- "lhm": {
- "english_name": "Lhomi"
+ "czo": {
+ "english_name": "Chinese, Min Zhong"
},
- "lhl": {
- "english_name": "Lohar, Lahul"
+ "hop": {
+ "english_name": "Hopi"
},
- "lhi": {
- "english_name": "Lahu Shi"
+ "sgj": {
+ "english_name": "Surgujia"
},
- "lhh": {
- "english_name": "Laha (Indonesia)"
+ "ldh": {
+ "english_name": "Lamja-Dengsa-Tola"
},
- "lhu": {
- "english_name": "Lahu"
+ "ulm": {
+ "english_name": "Ulumanda'"
},
- "lht": {
- "english_name": "Lo-Toga"
+ "da": {
+ "english_name": "Danish",
+ "name": "Dansk"
},
- "lhs": {
- "english_name": "Mlahsö"
+ "psy": {
+ "english_name": "Piscataway"
},
- "lhp": {
- "english_name": "Lhokpu"
+ "ahb": {
+ "english_name": "Axamb"
},
- "ynl": {
- "english_name": "Yangulam"
+ "nkv": {
+ "english_name": "Nyika (Malawi and Zambia)"
},
- "ynn": {
- "english_name": "Yana"
+ "doi": {
+ "english_name": "Dogri (macrolanguage)"
},
- "yno": {
- "english_name": "Yong"
+ "pmq": {
+ "english_name": "Pame, Northern"
},
- "ynk": {
- "english_name": "Yupik, Naukan"
+ "tdf": {
+ "english_name": "Talieng"
},
- "ynd": {
- "english_name": "Yandruwandha"
+ "zwa": {
+ "english_name": "Zay"
},
- "yne": {
- "english_name": "Lang'e"
+ "scv": {
+ "english_name": "Sheni"
},
- "yng": {
- "english_name": "Yango"
+ "xcb": {
+ "english_name": "Cumbric"
},
- "yna": {
- "english_name": "Aluo"
+ "scx": {
+ "english_name": "Sicel"
},
- "ynu": {
- "english_name": "Yahuna"
+ "ihw": {
+ "english_name": "Bidhawal"
},
- "ynq": {
- "english_name": "Yendang"
+ "bqj": {
+ "english_name": "Bandial"
},
- "yns": {
- "english_name": "Yansi"
+ "nga": {
+ "english_name": "Ngbaka"
},
- "tln": {
- "english_name": "Talondo'"
+ "nbs": {
+ "english_name": "Namibian Sign Language"
},
- "izh": {
- "english_name": "Ingrian"
+ "soj": {
+ "english_name": "Soi"
},
- "izr": {
- "english_name": "Izere"
+ "row": {
+ "english_name": "Dela-Oenale"
},
- "izz": {
- "english_name": "Izii"
+ "hbs": {
+ "english_name": "Serbo-Croatian"
},
- "wlx": {
- "english_name": "Wali (Ghana)"
+ "sug": {
+ "english_name": "Suganga"
},
- "wly": {
- "english_name": "Waling"
+ "ztx": {
+ "english_name": "Zapotec, Zaachila"
},
- "wlr": {
- "english_name": "Wailapa"
+ "lpo": {
+ "english_name": "Lipo"
},
- "wls": {
- "english_name": "Wallisian"
+ "hvn": {
+ "english_name": "Sabu"
},
- "wlu": {
- "english_name": "Wuliwuli"
+ "unr": {
+ "english_name": "Mundari"
},
- "wlv": {
- "english_name": "Wichí Lhamtés Vejoz"
+ "adi": {
+ "english_name": "Adi"
},
- "wlw": {
- "english_name": "Walak"
+ "gox": {
+ "english_name": "Gobu"
},
- "wli": {
- "english_name": "Waioli"
+ "qyp": {
+ "english_name": "Quiripi"
},
- "wlk": {
- "english_name": "Wailaki"
+ "nxd": {
+ "english_name": "Ngando (Democratic Republic of Congo)"
},
- "wll": {
- "english_name": "Wali (Sudan)"
+ "goy": {
+ "english_name": "Goundo"
},
- "wlm": {
- "english_name": "Welsh, Middle"
+ "gse": {
+ "english_name": "Ghanaian Sign Language"
},
- "wlo": {
- "english_name": "Wolio"
+ "kda": {
+ "english_name": "Worimi"
},
- "wla": {
- "english_name": "Walio"
+ "wbh": {
+ "english_name": "Wanda"
},
- "wlc": {
- "english_name": "Comorian, Mwali"
+ "hro": {
+ "english_name": "Haroi"
},
- "wle": {
- "english_name": "Wolane"
+ "lvs": {
+ "english_name": "Latvian, Standard"
},
- "wlg": {
- "english_name": "Kunbarlang"
+ "dol": {
+ "english_name": "Doso"
},
- "gpn": {
- "english_name": "Taiap"
+ "hwc": {
+ "english_name": "Creole English, Hawai'i"
},
- "gpe": {
- "english_name": "Pidgin English, Ghanaian"
+ "maw": {
+ "english_name": "Mampruli"
},
- "gpa": {
- "english_name": "Gupa-Abawa"
+ "syb": {
+ "english_name": "Subanen, Central"
},
- "efi": {
- "english_name": "Efik"
+ "lsa": {
+ "english_name": "Lasgerdi"
},
- "efa": {
- "english_name": "Efai"
+ "mwp": {
+ "english_name": "Kala Lagaw Ya"
},
- "efe": {
- "english_name": "Efe"
+ "wlg": {
+ "english_name": "Kunbarlang"
},
- "jsl": {
- "english_name": "Japanese Sign Language"
+ "xbr": {
+ "english_name": "Kambera"
},
- "scq": {
- "english_name": "Sa'och"
+ "mau": {
+ "english_name": "Mazatec, Huautla"
},
- "scp": {
- "english_name": "Helambu Sherpa"
+ "kid": {
+ "english_name": "Koshin"
},
- "cde": {
- "english_name": "Chenchu"
+ "aaz": {
+ "english_name": "Amarasi"
},
- "cdf": {
- "english_name": "Chiru"
+ "kzx": {
+ "english_name": "Kamarian"
},
- "cdg": {
- "english_name": "Chamari"
+ "tro": {
+ "english_name": "Naga, Tarao"
},
- "cda": {
- "english_name": "Choni"
+ "vmb": {
+ "english_name": "Barbaram"
},
- "rtc": {
- "english_name": "Chin, Rungtu"
+ "cbb": {
+ "english_name": "Cabiyarí"
},
- "rtm": {
- "english_name": "Rotuman"
+ "enf": {
+ "english_name": "Enets, Forest"
},
- "cdm": {
- "english_name": "Chepang"
+ "dgu": {
+ "english_name": "Degaru"
},
- "cdn": {
- "english_name": "Chaudangsi"
+ "kju": {
+ "english_name": "Kashaya"
},
- "cdo": {
- "english_name": "Chinese, Min Dong"
+ "kre": {
+ "english_name": "Panará"
},
- "cdh": {
- "english_name": "Chambeali"
+ "kaq": {
+ "english_name": "Capanahua"
},
- "cdi": {
- "english_name": "Chodri"
+ "ojg": {
+ "english_name": "Ojibwa, Eastern"
},
- "cdj": {
- "english_name": "Churahi"
+ "tgs": {
+ "english_name": "Nume"
},
- "rtw": {
- "english_name": "Rathawi"
+ "pax": {
+ "english_name": "Pankararé"
},
- "cdr": {
- "english_name": "Cinda-Regi-Tiyal"
+ "mwk": {
+ "english_name": "Maninkakan, Kita"
},
- "cds": {
- "english_name": "Chadian Sign Language"
+ "woi": {
+ "english_name": "Kamang"
},
- "tcz": {
- "english_name": "Chin, Thado"
+ "kun": {
+ "english_name": "Kunama"
},
- "cdy": {
- "english_name": "Chadong"
+ "dis": {
+ "english_name": "Dimasa"
},
- "cdz": {
- "english_name": "Koda"
+ "cad": {
+ "english_name": "Caddo"
},
- "bfc": {
- "english_name": "Bai, Northern"
+ "odt": {
+ "english_name": "Dutch, Old"
},
- "bfb": {
- "english_name": "Bareli, Pauri"
+ "mgg": {
+ "english_name": "Mpumpong"
},
- "bfa": {
- "english_name": "Bari"
+ "lue": {
+ "english_name": "Luvale"
},
- "bfg": {
- "english_name": "Kayan, Busang"
+ "frk": {
+ "english_name": "Frankish"
},
- "bff": {
- "english_name": "Bofi"
+ "aye": {
+ "english_name": "Ayere"
},
- "bfe": {
- "english_name": "Betaf"
+ "loa": {
+ "english_name": "Loloda"
},
- "bfd": {
- "english_name": "Bafut"
+ "kjc": {
+ "english_name": "Konjo, Coastal"
},
- "bfk": {
- "english_name": "Ban Khor Sign Language"
+ "dpp": {
+ "english_name": "Papar"
},
- "bfj": {
- "english_name": "Bafanji"
+ "ymo": {
+ "english_name": "Yangum Mon"
},
- "bfi": {
- "english_name": "British Sign Language"
+ "kce": {
+ "english_name": "Kaivi"
},
- "bfh": {
- "english_name": "Blafe"
+ "mhy": {
+ "english_name": "Ma'anyan"
},
- "bfo": {
- "english_name": "Birifor, Malba"
+ "jig": {
+ "english_name": "Djingili"
},
- "bfn": {
- "english_name": "Bunak"
+ "gol": {
+ "english_name": "Gola"
},
- "bfm": {
- "english_name": "Mmen"
+ "mza": {
+ "english_name": "Mixtec, Santa María Zacatepec"
},
- "bfl": {
- "english_name": "Banda-Ndélé"
+ "bdl": {
+ "english_name": "Bajau, Indonesian"
},
- "bfs": {
- "english_name": "Bai, Southern"
+ "btt": {
+ "english_name": "Bete-Bendi"
},
- "bfr": {
- "english_name": "Bazigar"
+ "lg": {
+ "english_name": "Ganda"
},
- "bfq": {
- "english_name": "Badaga"
+ "gbm": {
+ "english_name": "Garhwali"
},
- "bfp": {
- "english_name": "Beba"
+ "xut": {
+ "english_name": "Kuthant"
},
- "bfw": {
- "english_name": "Bondo"
+ "cas": {
+ "english_name": "Tsimané"
},
- "bfu": {
- "english_name": "Gahri"
+ "mig": {
+ "english_name": "Mixtec, San Miguel El Grande"
},
- "bft": {
- "english_name": "Balti"
+ "chw": {
+ "english_name": "Chuwabu"
},
- "bfz": {
- "english_name": "Pahari, Mahasu"
+ "tvk": {
+ "english_name": "Ambrym, Southeast"
},
- "bfy": {
- "english_name": "Bagheli"
+ "dna": {
+ "english_name": "Dani, Upper Grand Valley"
},
- "bfx": {
- "english_name": "Bantayanon"
+ "pau": {
+ "english_name": "Palauan"
},
- "tct": {
- "english_name": "T'en"
+ "flr": {
+ "english_name": "Fuliiru"
},
- "hir": {
- "english_name": "Himarimã"
+ "gdq": {
+ "english_name": "Mehri"
},
- "tcu": {
- "english_name": "Tarahumara, Southeastern"
+ "sii": {
+ "english_name": "Shom Peng"
},
- "hit": {
- "english_name": "Hittite"
+ "gbb": {
+ "english_name": "Kaytetye"
},
- "hiw": {
- "english_name": "Hiw"
+ "yii": {
+ "english_name": "Yidiny"
},
- "hix": {
- "english_name": "Hixkaryána"
+ "nnd": {
+ "english_name": "Ambae, West"
},
- "tcs": {
- "english_name": "Creole, Torres Strait"
+ "drg": {
+ "english_name": "Rungus"
},
- "hia": {
- "english_name": "Lamang"
+ "gza": {
+ "english_name": "Ganza"
},
- "hib": {
- "english_name": "Hibito"
+ "nyk": {
+ "english_name": "Nyaneka"
},
- "hid": {
- "english_name": "Hidatsa"
+ "pht": {
+ "english_name": "Phu Thai"
},
- "tcp": {
- "english_name": "Chin, Tawr"
+ "myr": {
+ "english_name": "Muniche"
},
- "hif": {
- "english_name": "Hindi, Fiji"
+ "boz": {
+ "english_name": "Bozo, Tiéyaxo"
},
- "hig": {
- "english_name": "Kamwe"
+ "vnp": {
+ "english_name": "Vunapu"
},
- "hih": {
- "english_name": "Pamosu"
+ "niu": {
+ "english_name": "Niuean"
},
- "hii": {
- "english_name": "Hinduri"
+ "zik": {
+ "english_name": "Zimakani"
},
- "hij": {
- "english_name": "Hijuk"
+ "diq": {
+ "english_name": "Dimli (individual language)"
},
- "hik": {
- "english_name": "Seit-Kaitetu"
+ "oru": {
+ "english_name": "Ormuri"
},
- "hil": {
- "english_name": "Hiligaynon"
+ "mzq": {
+ "english_name": "Mori Atas"
},
- "hio": {
- "english_name": "Tsoa"
+ "tgh": {
+ "english_name": "Creole English, Tobagonian"
},
- "tcn": {
- "english_name": "Tichurong"
+ "wbv": {
+ "english_name": "Wajarri"
},
- "tco": {
- "english_name": "Taungyo"
+ "lrn": {
+ "english_name": "Lorang"
},
- "tcl": {
- "english_name": "Taman (Myanmar)"
+ "waf": {
+ "english_name": "Wakoná"
},
- "tcm": {
- "english_name": "Tanahmerah"
+ "mte": {
+ "english_name": "Mono (Solomon Islands)"
},
- "tck": {
- "english_name": "Tchitchege"
+ "hns": {
+ "english_name": "Hindustani, Caribbean"
},
- "arp": {
- "english_name": "Arapaho"
+ "xrr": {
+ "english_name": "Raetic"
},
- "arq": {
- "english_name": "Arabic, Algerian"
+ "grz": {
+ "english_name": "Guramalum"
},
- "arr": {
- "english_name": "Karo (Brazil)"
+ "toz": {
+ "english_name": "To"
},
- "ars": {
- "english_name": "Arabic, Najdi"
+ "lei": {
+ "english_name": "Lemio"
},
- "aru": {
- "english_name": "Aruá (Amazonas State)"
+ "mso": {
+ "english_name": "Mombum"
},
- "arv": {
- "english_name": "Arbore"
+ "tra": {
+ "english_name": "Tirahi"
},
- "arw": {
- "english_name": "Arawak"
+ "adg": {
+ "english_name": "Andegerebinha"
},
- "arx": {
- "english_name": "Aruá (Rodonia State)"
+ "oyb": {
+ "english_name": "Oy"
},
- "ary": {
- "english_name": "Arabic, Moroccan"
+ "mds": {
+ "english_name": "Maria (Papua New Guinea)"
},
- "arz": {
- "english_name": "Arabic, Egyptian"
+ "upv": {
+ "english_name": "Uripiv-Wala-Rano-Atchin"
},
- "tci": {
- "english_name": "Wára"
+ "cbr": {
+ "english_name": "Cashibo-Cacataibo"
},
- "roc": {
- "english_name": "Roglai, Cacgia"
+ "kmk": {
+ "english_name": "Kalinga, Limos"
},
- "tcf": {
- "english_name": "Me'phaa, Malinaltepec"
+ "oua": {
+ "english_name": "Tagargrent"
},
- "arb": {
- "english_name": "Arabic, Standard"
+ "oui": {
+ "english_name": "Uighur, Old"
},
- "arc": {
- "english_name": "Aramaic, Official (700-300 BCE)"
+ "slq": {
+ "english_name": "Salchuq"
},
- "ard": {
- "english_name": "Arabana"
+ "tvu": {
+ "english_name": "Tunen"
},
- "are": {
- "english_name": "Arrarnta, Western"
+ "loz": {
+ "english_name": "Lozi"
},
- "tcg": {
- "english_name": "Tamagario"
+ "kvc": {
+ "english_name": "Kove"
},
- "arh": {
- "english_name": "Arhuaco"
+ "tys": {
+ "english_name": "Tày Sa Pa"
},
- "ari": {
- "english_name": "Arikara"
+ "sxr": {
+ "english_name": "Saaroa"
},
- "arj": {
- "english_name": "Arapaso"
+ "xmq": {
+ "english_name": "Kuku-Mangk"
},
- "ark": {
- "english_name": "Arikapú"
+ "bfg": {
+ "english_name": "Kayan, Busang"
},
- "arl": {
- "english_name": "Arabela"
+ "mbu": {
+ "english_name": "Mbula-Bwazza"
},
- "tcd": {
- "english_name": "Tafi"
+ "ykn": {
+ "english_name": "Kua-nsi"
},
- "arn": {
- "english_name": "Mapudungun"
+ "bkj": {
+ "english_name": "Pande"
},
- "aro": {
- "english_name": "Araona"
+ "ega": {
+ "english_name": "Ega"
},
- "uuu": {
- "english_name": "U"
+ "wes": {
+ "english_name": "Pidgin, Cameroon"
},
- "fgr": {
- "english_name": "Fongoro"
+ "kbu": {
+ "english_name": "Kabutra"
},
- "uur": {
- "english_name": "Ura (Vanuatu)"
+ "dsh": {
+ "english_name": "Daasanach"
},
- "uum": {
- "english_name": "Urum"
+ "wnn": {
+ "english_name": "Wunumara"
},
- "uun": {
- "english_name": "Kulon-Pazeh"
+ "raz": {
+ "english_name": "Rahambuu"
},
- "tgr": {
- "english_name": "Tareng"
+ "bej": {
+ "english_name": "Beja"
},
- "tgs": {
- "english_name": "Nume"
+ "put": {
+ "english_name": "Putoh"
},
- "tgp": {
- "english_name": "Tangoa"
+ "bas": {
+ "english_name": "Basa (Cameroon)"
},
- "tgq": {
- "english_name": "Tring"
+ "mtd": {
+ "english_name": "Mualang"
},
- "tgv": {
- "english_name": "Tingui-Boto"
+ "ihb": {
+ "english_name": "Iha Based Pidgin"
},
- "tgw": {
- "english_name": "Senoufo, Tagwana"
+ "kcq": {
+ "english_name": "Kamo"
},
- "tgt": {
- "english_name": "Tagbanwa, Central"
+ "blx": {
+ "english_name": "Ayta, Mag-Indi"
},
- "tgu": {
- "english_name": "Tanggu"
+ "sbi": {
+ "english_name": "Seti"
},
- "tgz": {
- "english_name": "Tagalaka"
+ "ojw": {
+ "english_name": "Ojibwa, Western"
},
- "tgx": {
- "english_name": "Tagish"
+ "gry": {
+ "english_name": "Grebo, Barclayville"
},
- "tgy": {
- "english_name": "Togoyo"
+ "pmr": {
+ "english_name": "Paynamar"
},
- "tgb": {
- "english_name": "Tobilung"
+ "nkb": {
+ "english_name": "Naga, Khoibu"
},
- "tgc": {
- "english_name": "Tigak"
+ "sba": {
+ "english_name": "Ngambay"
},
- "tga": {
- "english_name": "Sagalla"
+ "avm": {
+ "english_name": "Angkamuthi"
},
- "tgf": {
- "english_name": "Chalikha"
+ "ryu": {
+ "english_name": "Okinawan, Central"
},
- "tgd": {
- "english_name": "Ciwogai"
+ "irk": {
+ "english_name": "Iraqw"
},
- "tge": {
- "english_name": "Tamang, Eastern Gorkha"
+ "rmv": {
+ "english_name": "Romanova"
},
- "tgj": {
- "english_name": "Tagin"
+ "kxt": {
+ "english_name": "Koiwat"
},
- "tgh": {
- "english_name": "Creole English, Tobagonian"
+ "nek": {
+ "english_name": "Neku"
},
- "tgi": {
- "english_name": "Lawunuia"
+ "xku": {
+ "english_name": "Kaamba"
},
- "tgn": {
- "english_name": "Tandaganon"
+ "szp": {
+ "english_name": "Suabo"
},
- "tgo": {
- "english_name": "Sudest"
+ "uum": {
+ "english_name": "Urum"
},
- "duh": {
- "english_name": "Dungra Bhil"
+ "nvo": {
+ "english_name": "Nyokon"
},
- "ps": {
- "name": "Pushto",
- "english_name": "Pushto"
+ "gkn": {
+ "english_name": "Gokana"
},
- "duj": {
- "english_name": "Dhuwal"
+ "ii": {
+ "english_name": "Yi, Sichuan"
},
- "duk": {
- "english_name": "Uyajitaya"
+ "xkv": {
+ "english_name": "Kgalagadi"
},
- "dul": {
- "english_name": "Agta, Alabat Island"
+ "mgj": {
+ "english_name": "Abureni"
},
- "dum": {
- "english_name": "Dutch, Middle (ca. 1050-1350)"
+ "ig": {
+ "english_name": "Igbo"
},
- "pt": {
- "name": "Português",
- "english_name": "Portuguese"
+ "ukh": {
+ "english_name": "Ukhwejo"
},
- "duo": {
- "english_name": "Agta, Dupaninan"
+ "lki": {
+ "english_name": "Laki"
},
- "dua": {
- "english_name": "Duala"
+ "lil": {
+ "english_name": "Lillooet"
},
- "dub": {
- "english_name": "Dubli"
+ "kxz": {
+ "english_name": "Kerewo"
},
- "duc": {
- "english_name": "Duna"
+ "yaw": {
+ "english_name": "Yawalapití"
},
- "dud": {
- "english_name": "Hun-Saare"
+ "wmh": {
+ "english_name": "Waima'a"
},
- "due": {
- "english_name": "Agta, Umiray Dumaget"
+ "kps": {
+ "english_name": "Tehit"
},
- "duf": {
- "english_name": "Dumbea"
+ "gcr": {
+ "english_name": "Creole French, Guianese"
},
- "dug": {
- "english_name": "Duruma"
+ "bvd": {
+ "english_name": "Baeggu"
},
- "dux": {
- "english_name": "Duungooma"
+ "bjr": {
+ "english_name": "Binumarien"
},
- "duy": {
- "english_name": "Agta, Dicamay"
+ "llx": {
+ "english_name": "Lauan"
},
- "duz": {
- "english_name": "Duli"
+ "kyi": {
+ "english_name": "Kiput"
},
- "pa": {
- "name": "ਪੰਜਾਬੀ",
- "english_name": "Panjabi"
+ "awa": {
+ "english_name": "Awadhi"
},
- "dup": {
- "english_name": "Duano"
+ "mpe": {
+ "english_name": "Majang"
},
- "duq": {
- "english_name": "Dusun Malang"
+ "mlu": {
+ "english_name": "To'abaita"
},
- "dur": {
- "english_name": "Dii"
+ "bux": {
+ "english_name": "Boghom"
},
- "dus": {
- "english_name": "Dumi"
+ "ong": {
+ "english_name": "Olo"
},
- "swu": {
- "english_name": "Suwawa"
+ "mbj": {
+ "english_name": "Nadëb"
},
- "duu": {
- "english_name": "Drung"
+ "yub": {
+ "english_name": "Yugambal"
},
- "duv": {
- "english_name": "Duvle"
+ "mrl": {
+ "english_name": "Mortlockese"
},
- "duw": {
- "english_name": "Dusun Witu"
+ "tav": {
+ "english_name": "Tatuyo"
},
- "rit": {
- "english_name": "Ritarungo"
+ "umd": {
+ "english_name": "Umbindhamu"
},
- "riu": {
- "english_name": "Riung"
+ "ncd": {
+ "english_name": "Nachering"
},
- "rir": {
- "english_name": "Ribun"
+ "les": {
+ "english_name": "Lese"
},
- "rin": {
- "english_name": "Nungu"
+ "yet": {
+ "english_name": "Yetfa"
},
- "ril": {
- "english_name": "Riang (Myanmar)"
+ "agm": {
+ "english_name": "Angaataha"
},
- "rim": {
- "english_name": "Nyaturu"
+ "the": {
+ "english_name": "Tharu, Chitwania"
},
- "rif": {
- "english_name": "Tarifit"
+ "lix": {
+ "english_name": "Liabuku"
},
- "rie": {
- "english_name": "Rien"
+ "qvp": {
+ "english_name": "Quechua, Pacaraos"
},
- "ria": {
- "english_name": "Riang (India)"
+ "eno": {
+ "english_name": "Enggano"
},
- "imy": {
- "english_name": "Milyan"
+ "pcn": {
+ "english_name": "Piti"
},
- "rop": {
- "english_name": "Kriol"
+ "gyg": {
+ "english_name": "Gbayi"
},
- "lji": {
- "english_name": "Laiyolo"
+ "gok": {
+ "english_name": "Gowli"
},
- "ljl": {
- "english_name": "Li'o"
+ "bpo": {
+ "english_name": "Anasi"
},
- "lja": {
- "english_name": "Golpa"
+ "mwm": {
+ "english_name": "Sar"
},
- "lje": {
- "english_name": "Rampi"
+ "ptu": {
+ "english_name": "Bambam"
},
- "ljx": {
- "english_name": "Yuru"
+ "meu": {
+ "english_name": "Motu"
},
- "ljp": {
- "english_name": "Lampung Api"
+ "gvs": {
+ "english_name": "Gumawana"
},
- "ljw": {
- "english_name": "Yirandali"
+ "ckn": {
+ "english_name": "Chin, Kaang"
},
- "uzs": {
- "english_name": "Uzbek, Southern"
+ "nrl": {
+ "english_name": "Ngarluma"
},
- "zzj": {
- "english_name": "Zhuang, Zuojiang"
+ "mqj": {
+ "english_name": "Mamasa"
},
- "zza": {
- "english_name": "Zaza"
+ "mea": {
+ "english_name": "Menka"
},
- "ylu": {
- "english_name": "Aribwaung"
+ "kzf": {
+ "english_name": "Kaili, Da'a"
},
- "ylr": {
- "english_name": "Yalarnnga"
+ "lla": {
+ "english_name": "Lala-Roba"
},
- "yly": {
- "english_name": "Nyâlayu"
+ "wae": {
+ "english_name": "Walser"
},
- "ylg": {
- "english_name": "Yelogu"
+ "nny": {
+ "english_name": "Nyangga"
},
- "yle": {
- "english_name": "Yele"
+ "kpf": {
+ "english_name": "Komba"
},
- "ylb": {
- "english_name": "Yaleba"
+ "wut": {
+ "english_name": "Wutung"
},
- "yla": {
- "english_name": "Yaul"
+ "aii": {
+ "english_name": "Neo-Aramaic, Assyrian"
},
- "yln": {
- "english_name": "Buyang, Langnian"
+ "urv": {
+ "english_name": "Uruava"
},
- "ylo": {
- "english_name": "Yi, Naluo"
+ "six": {
+ "english_name": "Sumau"
},
- "yll": {
- "english_name": "Yil"
+ "ngo": {
+ "english_name": "Ngoni"
},
- "ylm": {
- "english_name": "Limi"
+ "nod": {
+ "english_name": "Thai, Northern"
},
- "yli": {
- "english_name": "Yali, Angguruk"
+ "mdg": {
+ "english_name": "Massalat"
},
- "xpk": {
- "english_name": "Pano, Kulina"
+ "lew": {
+ "english_name": "Kaili, Ledo"
},
- "xpj": {
- "english_name": "Mpalitjanh"
+ "lzl": {
+ "english_name": "Litzlitz"
},
- "xpi": {
- "english_name": "Pictish"
+ "kld": {
+ "english_name": "Gamilaraay"
},
- "xpo": {
- "english_name": "Pochutec"
+ "ksg": {
+ "english_name": "Kusaghe"
},
- "xpn": {
- "english_name": "Kapinawá"
+ "qup": {
+ "english_name": "Quechua, Southern Pastaza"
},
- "ixl": {
- "english_name": "Ixil"
+ "wud": {
+ "english_name": "Wudu"
},
- "xpc": {
- "english_name": "Pecheneg"
+ "pbp": {
+ "english_name": "Badyara"
},
- "ixc": {
- "english_name": "Ixcatec"
+ "ohu": {
+ "english_name": "Hungarian, Old"
},
- "xpa": {
- "english_name": "Pirriya"
+ "say": {
+ "english_name": "Saya"
},
- "xpg": {
- "english_name": "Phrygian"
+ "nse": {
+ "english_name": "Nsenga"
},
- "xpe": {
- "english_name": "Kpelle, Liberia"
+ "mlw": {
+ "english_name": "Moloko"
},
- "xpy": {
- "english_name": "Puyo"
+ "ktp": {
+ "english_name": "Kaduo"
},
- "xps": {
- "english_name": "Pisidian"
+ "zum": {
+ "english_name": "Kumzari"
},
- "xpr": {
- "english_name": "Parthian"
+ "urf": {
+ "english_name": "Uradhi"
},
- "xpq": {
- "english_name": "Mohegan-Pequot"
+ "ako": {
+ "english_name": "Akurio"
},
- "xpp": {
- "english_name": "Puyo-Paekche"
+ "pny": {
+ "english_name": "Pinyin"
},
- "xpu": {
- "english_name": "Punic"
+ "kxn": {
+ "english_name": "Melanau, Kanowit-Tanjong"
},
- "xpt": {
- "english_name": "Punthamara"
+ "msr": {
+ "english_name": "Mongolian Sign Language"
},
- "wnb": {
- "english_name": "Wanambre"
+ "bgt": {
+ "english_name": "Bughotu"
},
- "wnc": {
- "english_name": "Wantoat"
+ "aho": {
+ "english_name": "Ahom"
},
- "wng": {
- "english_name": "Wanggom"
+ "rys": {
+ "english_name": "Yaeyama"
},
- "wnd": {
- "english_name": "Wandarang"
+ "bot": {
+ "english_name": "Bongo"
},
- "wne": {
- "english_name": "Waneci"
+ "gus": {
+ "english_name": "Guinean Sign Language"
},
- "wnk": {
- "english_name": "Wanukaka"
+ "ssj": {
+ "english_name": "Sausi"
},
- "wni": {
- "english_name": "Comorian, Ndzwani"
+ "kqo": {
+ "english_name": "Krahn, Eastern"
},
- "wnn": {
- "english_name": "Wunumara"
+ "mwi": {
+ "english_name": "Labo"
},
- "wno": {
- "english_name": "Wano"
+ "faf": {
+ "english_name": "Fagani"
},
- "wnm": {
- "english_name": "Wanggamala"
+ "bdx": {
+ "english_name": "Budong-Budong"
},
- "wnp": {
- "english_name": "Wanap"
+ "mnd": {
+ "english_name": "Mondé"
},
- "wnw": {
- "english_name": "Wintu"
+ "neb": {
+ "english_name": "Toura (Côte d'Ivoire)"
},
- "wnu": {
- "english_name": "Usan"
+ "hmf": {
+ "english_name": "Hmong Don"
},
- "wny": {
- "english_name": "Wanyi"
+ "agk": {
+ "english_name": "Agta, Isarog"
},
- "tni": {
- "english_name": "Tandia"
+ "nts": {
+ "english_name": "Natagaimas"
},
- "grv": {
- "english_name": "Grebo, Central"
+ "mkn": {
+ "english_name": "Malay, Kupang"
},
- "grw": {
- "english_name": "Gweda"
+ "nty": {
+ "english_name": "Mantsi"
},
- "grt": {
- "english_name": "Garo"
+ "zpf": {
+ "english_name": "Zapotec, San Pedro Quiatoni"
},
- "gru": {
- "english_name": "Kistane"
+ "ers": {
+ "english_name": "Ersu"
},
- "grr": {
- "english_name": "Taznatit"
+ "cle": {
+ "english_name": "Chinantec, Lealao"
},
- "grs": {
- "english_name": "Gresi"
+ "xhc": {
+ "english_name": "Hunnic"
},
- "grq": {
- "english_name": "Gorovu"
+ "xpy": {
+ "english_name": "Puyo"
},
- "grz": {
- "english_name": "Guramalum"
+ "fia": {
+ "english_name": "Nobiin"
},
- "tpu": {
- "english_name": "Tampuan"
+ "yko": {
+ "english_name": "Yasa"
},
- "grx": {
- "english_name": "Guriaso"
+ "nug": {
+ "english_name": "Nungali"
},
- "gry": {
- "english_name": "Grebo, Barclayville"
+ "tof": {
+ "english_name": "Gizrra"
},
- "grg": {
- "english_name": "Madi"
+ "mzo": {
+ "english_name": "Matipuhy"
},
- "grd": {
- "english_name": "Guruntum-Mbaaru"
+ "sln": {
+ "english_name": "Salinan"
},
- "grb": {
- "english_name": "Grebo"
+ "sjm": {
+ "english_name": "Mapun"
},
- "grc": {
- "english_name": "Greek, Ancient (to 1453)"
+ "ngw": {
+ "english_name": "Ngwaba"
},
- "gra": {
- "english_name": "Garasia, Rajput"
+ "zmy": {
+ "english_name": "Mariyedi"
},
- "gro": {
- "english_name": "Groma"
+ "gbl": {
+ "english_name": "Gamit"
},
- "grm": {
- "english_name": "Kota Marudu Talantang"
+ "lad": {
+ "english_name": "Ladino"
},
- "grj": {
- "english_name": "Grebo, Southern"
+ "bhe": {
+ "english_name": "Bhaya"
},
- "grh": {
- "english_name": "Gbiri-Niragu"
+ "xpe": {
+ "english_name": "Kpelle, Liberia"
},
- "gri": {
- "english_name": "Ghari"
+ "tg": {
+ "english_name": "Tajik"
},
- "ugn": {
- "english_name": "Ugandan Sign Language"
+ "xpc": {
+ "english_name": "Pecheneg"
},
- "jqr": {
- "english_name": "Jaqaru"
+ "chj": {
+ "english_name": "Chinantec, Ojitlán"
},
- "iba": {
- "english_name": "Iban"
+ "kfr": {
+ "english_name": "Kachchi"
},
- "ibb": {
- "english_name": "Ibibio"
+ "ero": {
+ "english_name": "Horpa"
},
- "rro": {
- "english_name": "Waima"
+ "mrs": {
+ "english_name": "Maragus"
},
- "cfm": {
- "english_name": "Chin, Falam"
+ "ntu": {
+ "english_name": "Natügu"
},
- "rri": {
- "english_name": "Ririo"
+ "abg": {
+ "english_name": "Abaga"
},
- "cfg": {
- "english_name": "Como Karim"
+ "pon": {
+ "english_name": "Pohnpeian"
},
- "cfd": {
- "english_name": "Cara"
+ "mzc": {
+ "english_name": "Madagascar Sign Language"
},
- "cfa": {
- "english_name": "Dijim-Bwilim"
+ "pre": {
+ "english_name": "Principense"
},
- "rrt": {
- "english_name": "Arritinngithigh"
+ "dtr": {
+ "english_name": "Lotud"
},
- "bde": {
- "english_name": "Bade"
+ "lun": {
+ "english_name": "Lunda"
},
- "bdd": {
- "english_name": "Bunama"
+ "bpg": {
+ "english_name": "Bonggo"
},
- "bdg": {
- "english_name": "Bonggi"
+ "bee": {
+ "english_name": "Byangsi"
},
- "bdf": {
- "english_name": "Biage"
+ "oum": {
+ "english_name": "Ouma"
},
- "bda": {
- "english_name": "Bayot"
+ "dir": {
+ "english_name": "Dirim"
},
- "bdc": {
- "english_name": "Emberá-Baudó"
+ "sxu": {
+ "english_name": "Saxon, Upper"
},
- "caj": {
- "english_name": "Chané"
+ "kfq": {
+ "english_name": "Korku"
},
- "bdm": {
- "english_name": "Buduma"
+ "ald": {
+ "english_name": "Alladian"
},
- "bdl": {
- "english_name": "Bajau, Indonesian"
+ "kkc": {
+ "english_name": "Odoodee"
},
- "bdo": {
- "english_name": "Morom"
+ "kza": {
+ "english_name": "Karaboro, Western"
},
- "bdn": {
- "english_name": "Baldemu"
+ "rmi": {
+ "english_name": "Lomavren"
},
- "bdi": {
- "english_name": "Burun"
+ "pwo": {
+ "english_name": "Karen, Pwo Western"
},
- "bdh": {
- "english_name": "Baka (Sudan)"
+ "krf": {
+ "english_name": "Koro (Vanuatu)"
},
- "bdk": {
- "english_name": "Budukh"
+ "kky": {
+ "english_name": "Guguyimidjir"
},
- "bdj": {
- "english_name": "Bai"
+ "hz": {
+ "english_name": "Herero"
},
- "bdu": {
- "english_name": "Oroko"
+ "snz": {
+ "english_name": "Sinsauru"
},
- "bdt": {
- "english_name": "Bokoto"
+ "ecr": {
+ "english_name": "Eteocretan"
},
- "bdw": {
- "english_name": "Baham"
+ "nas": {
+ "english_name": "Naasioi"
},
- "bdv": {
- "english_name": "Bodo Parja"
+ "kyj": {
+ "english_name": "Karao"
},
- "bdq": {
- "english_name": "Bahnar"
+ "tge": {
+ "english_name": "Tamang, Eastern Gorkha"
},
- "bdp": {
- "english_name": "Bende"
+ "nou": {
+ "english_name": "Ewage-Notu"
},
- "bds": {
- "english_name": "Burunge"
+ "ixl": {
+ "english_name": "Ixil"
},
- "bdr": {
- "english_name": "Bajau, West Coast"
+ "llq": {
+ "english_name": "Lolak"
},
- "bdy": {
- "english_name": "Bandjalang"
+ "dtt": {
+ "english_name": "Dogon, Toro Tegu"
},
- "bdx": {
- "english_name": "Budong-Budong"
+ "hms": {
+ "english_name": "Miao, Southern Qiandong"
},
- "bdz": {
- "english_name": "Badeshi"
+ "lrg": {
+ "english_name": "Laragia"
},
- "tcy": {
- "english_name": "Tulu"
+ "nbv": {
+ "english_name": "Ngamambo"
},
- "hks": {
- "english_name": "Hong Kong Sign Language"
+ "skj": {
+ "english_name": "Seke (Nepal)"
},
- "hkk": {
- "english_name": "Hunjara-Kaina Ke"
+ "frq": {
+ "english_name": "Forak"
},
- "hka": {
- "english_name": "Kahe"
+ "kqs": {
+ "english_name": "Kissi, Northern"
},
- "ibr": {
- "english_name": "Ibuoro"
+ "fan": {
+ "english_name": "Fang (Equatorial Guinea)"
},
- "hke": {
- "english_name": "Hunde"
+ "nhf": {
+ "english_name": "Nhuwala"
},
- "ibu": {
- "english_name": "Ibu"
+ "eth": {
+ "english_name": "Ethiopian Sign Language"
},
- "tcx": {
- "english_name": "Toda"
+ "swm": {
+ "english_name": "Samosa"
},
- "apz": {
- "english_name": "Safeyoka"
+ "ywl": {
+ "english_name": "Lalu, Western"
},
- "apx": {
- "english_name": "Aputai"
+ "mpt": {
+ "english_name": "Mian"
},
- "apy": {
- "english_name": "Apalaí"
+ "dv": {
+ "english_name": "Dhivehi"
},
- "tcw": {
- "english_name": "Totonac, Tecpatlán"
+ "orw": {
+ "english_name": "Oro Win"
},
- "apr": {
- "english_name": "Arop-Lokep"
+ "mlh": {
+ "english_name": "Mape"
},
- "aps": {
- "english_name": "Arop-Sissano"
+ "xcu": {
+ "english_name": "Curonian"
},
- "app": {
- "english_name": "Apma"
+ "nin": {
+ "english_name": "Ninzo"
},
- "apq": {
- "english_name": "A-Pucikwar"
+ "cen": {
+ "english_name": "Cen"
},
- "apv": {
- "english_name": "Alapmunte"
+ "dam": {
+ "english_name": "Damakawa"
},
- "apw": {
- "english_name": "Apache, Western"
+ "jrt": {
+ "english_name": "Jorto"
},
- "apt": {
- "english_name": "Apatani"
+ "wok": {
+ "english_name": "Longto"
},
- "apu": {
- "english_name": "Apurinã"
+ "mmw": {
+ "english_name": "Emae"
},
- "apj": {
- "english_name": "Apache, Jicarilla"
+ "bfu": {
+ "english_name": "Gahri"
},
- "apk": {
- "english_name": "Apache, Kiowa"
+ "beh": {
+ "english_name": "Biali"
},
- "aph": {
- "english_name": "Athpariya"
+ "kbj": {
+ "english_name": "Kari"
},
- "api": {
- "english_name": "Apiaká"
+ "ksu": {
+ "english_name": "Khamyang"
},
- "apn": {
- "english_name": "Apinayé"
+ "mxp": {
+ "english_name": "Mixe, Tlahuitoltepec"
},
- "apo": {
- "english_name": "Ambul"
+ "ygp": {
+ "english_name": "Gepo"
},
- "apl": {
- "english_name": "Apache, Lipan"
+ "he": {
+ "english_name": "Hebrew",
+ "name": "עברית"
},
- "apm": {
- "english_name": "Apache, Mescalero-Chiricahua"
+ "inh": {
+ "english_name": "Ingush"
},
- "apb": {
- "english_name": "Sa'a"
+ "phk": {
+ "english_name": "Phake"
},
- "apc": {
- "english_name": "Arabic, North Levantine"
+ "sgc": {
+ "english_name": "Kipsigis"
},
- "apf": {
- "english_name": "Agta, Pahanan"
+ "noi": {
+ "english_name": "Noiri"
},
- "apg": {
- "english_name": "Ampanang"
+ "xbm": {
+ "english_name": "Breton, Middle"
},
- "apd": {
- "english_name": "Arabic, Sudanese"
+ "krn": {
+ "english_name": "Sapo"
},
- "ape": {
- "english_name": "Bukiyip"
+ "pbo": {
+ "english_name": "Papel"
},
- "usa": {
- "english_name": "Usarufa"
+ "nli": {
+ "english_name": "Grangali"
},
- "usk": {
- "english_name": "Usaghade"
+ "frm": {
+ "english_name": "French, Middle (ca. 1400-1600)"
},
- "usi": {
- "english_name": "Usui"
+ "urr": {
+ "english_name": "Lehalurup"
},
- "ush": {
- "english_name": "Ushojo"
+ "zkg": {
+ "english_name": "Koguryo"
},
- "usu": {
- "english_name": "Uya"
+ "xpu": {
+ "english_name": "Punic"
},
- "fer": {
- "english_name": "Feroge"
+ "pie": {
+ "english_name": "Piro"
},
- "usp": {
- "english_name": "Uspanteco"
+ "pfe": {
+ "english_name": "Peere"
},
- "tau": {
- "english_name": "Tanana, Upper"
+ "ral": {
+ "english_name": "Ralte"
},
- "tav": {
- "english_name": "Tatuyo"
+ "luj": {
+ "english_name": "Luna"
},
- "taw": {
- "english_name": "Tai"
+ "wiy": {
+ "english_name": "Wiyot"
},
- "tap": {
- "english_name": "Taabwa"
+ "tpo": {
+ "english_name": "Tai Pao"
},
- "taq": {
- "english_name": "Tamasheq"
+ "sjl": {
+ "english_name": "Sajalong"
},
- "tar": {
- "english_name": "Tarahumara, Central"
+ "nix": {
+ "english_name": "Hema"
},
- "tas": {
- "english_name": "Tay Boi"
+ "axg": {
+ "english_name": "Arára, Mato Grosso"
},
- "tax": {
- "english_name": "Tamki"
+ "kve": {
+ "english_name": "Kalabakan"
},
- "tay": {
- "english_name": "Atayal"
+ "lor": {
+ "english_name": "Téén"
},
- "taz": {
- "english_name": "Tocho"
+ "goq": {
+ "english_name": "Gorap"
},
- "tad": {
- "english_name": "Tause"
+ "ted": {
+ "english_name": "Krumen, Tepo"
},
- "tae": {
- "english_name": "Tariana"
+ "ddj": {
+ "english_name": "Jaru"
},
- "taf": {
- "english_name": "Tapirapé"
+ "ayy": {
+ "english_name": "Ayta, Tayabas"
},
- "tag": {
- "english_name": "Tagoi"
+ "tno": {
+ "english_name": "Toromono"
},
- "taa": {
- "english_name": "Tanana, Lower"
+ "bkp": {
+ "english_name": "Boko (Democratic Republic of Congo)"
},
- "tab": {
- "english_name": "Tabassaran"
+ "mqi": {
+ "english_name": "Mariri"
},
- "tac": {
- "english_name": "Tarahumara, Lowland"
+ "kdp": {
+ "english_name": "Kaningdon-Nindem"
},
- "tal": {
- "english_name": "Tal"
+ "pac": {
+ "english_name": "Pacoh"
},
- "tan": {
- "english_name": "Tangale"
+ "cfg": {
+ "english_name": "Como Karim"
},
- "tao": {
- "english_name": "Yami"
+ "huc": {
+ "english_name": "=/Hua"
},
- "taj": {
- "english_name": "Tamang, Eastern"
+ "mgk": {
+ "english_name": "Mawes"
},
- "tak": {
- "english_name": "Tala"
+ "xtl": {
+ "english_name": "Mixtec, Tijaltepec"
},
- "dwr": {
- "english_name": "Dawro"
+ "bjz": {
+ "english_name": "Baruga"
},
- "dws": {
- "english_name": "Dutton World Speedwords"
+ "xkx": {
+ "english_name": "Karore"
},
- "siq": {
- "english_name": "Sonia"
+ "svr": {
+ "english_name": "Savara"
},
- "sip": {
- "english_name": "Sikkimese"
+ "mwe": {
+ "english_name": "Mwera (Chimwera)"
},
- "siw": {
- "english_name": "Siwai"
+ "dji": {
+ "english_name": "Djinang"
},
- "dww": {
- "english_name": "Dawawa"
+ "kl": {
+ "english_name": "Kalaallisut"
},
- "siu": {
- "english_name": "Sinagen"
+ "kjs": {
+ "english_name": "Kewa, East"
},
- "siz": {
- "english_name": "Siwi"
+ "nki": {
+ "english_name": "Naga, Thangal"
},
- "siy": {
- "english_name": "Sivandi"
+ "twb": {
+ "english_name": "Tawbuid, Western"
},
- "six": {
- "english_name": "Sumau"
+ "sqq": {
+ "english_name": "Sou"
},
- "sib": {
- "english_name": "Sebop"
+ "nso": {
+ "english_name": "Pedi",
+ "name": "Pedi"
},
- "sia": {
- "english_name": "Sami, Akkala"
+ "kzb": {
+ "english_name": "Kaibobo"
},
- "dwa": {
- "english_name": "Diri"
+ "lto": {
+ "english_name": "Tsotso"
},
- "sig": {
- "english_name": "Paasaal"
+ "weu": {
+ "english_name": "Chin, Rawngtu"
},
- "sif": {
- "english_name": "Siamou"
+ "bft": {
+ "english_name": "Balti"
},
- "sie": {
- "english_name": "Simaa"
+ "lax": {
+ "english_name": "Tiwa"
},
- "sid": {
- "english_name": "Sidamo"
+ "jgb": {
+ "english_name": "Ngbee"
},
- "sik": {
- "english_name": "Sikiana"
+ "hbb": {
+ "english_name": "Huba"
},
- "sij": {
- "english_name": "Numbami"
+ "yra": {
+ "english_name": "Yerakai"
},
- "sii": {
- "english_name": "Shom Peng"
+ "rac": {
+ "english_name": "Rasawa"
},
- "sih": {
- "english_name": "Zire"
+ "ctg": {
+ "english_name": "Chittagonian"
},
- "sim": {
- "english_name": "Mende (Papua New Guinea)"
+ "tvl": {
+ "english_name": "Tuvalu"
},
- "sil": {
- "english_name": "Sisaala, Tumulung"
+ "kpt": {
+ "english_name": "Karata"
},
- "kbj": {
- "english_name": "Kari"
+ "bhv": {
+ "english_name": "Bahau"
},
- "kbk": {
- "english_name": "Koiari, Grass"
+ "pbs": {
+ "english_name": "Pame, Central"
},
- "kbh": {
- "english_name": "Camsá"
+ "lce": {
+ "english_name": "Loncong"
},
- "kbi": {
- "english_name": "Kaptiau"
+ "myy": {
+ "english_name": "Macuna"
},
- "kbn": {
- "english_name": "Kare (Central African Republic)"
+ "awr": {
+ "english_name": "Awera"
},
- "kbo": {
- "english_name": "Keliko"
+ "brv": {
+ "english_name": "Bru, Western"
},
- "kbl": {
- "english_name": "Kanembu"
+ "bio": {
+ "english_name": "Nai"
},
- "kbm": {
- "english_name": "Iwal"
+ "shd": {
+ "english_name": "Kundal Shahi"
},
- "kbb": {
- "english_name": "Kaxuiâna"
+ "zmf": {
+ "english_name": "Mfinu"
},
- "kbc": {
- "english_name": "Kadiwéu"
+ "aoa": {
+ "english_name": "Angolar"
},
- "kba": {
- "english_name": "Kalarko"
+ "ats": {
+ "english_name": "Gros Ventre"
},
- "kbg": {
- "english_name": "Khamba"
+ "doz": {
+ "english_name": "Dorze"
},
- "kbd": {
- "english_name": "Kabardian"
+ "acn": {
+ "english_name": "Achang"
},
- "kbe": {
- "english_name": "Kanju"
+ "smn": {
+ "english_name": "Sami, Inari"
},
- "kbz": {
- "english_name": "Duhwa"
+ "pwb": {
+ "english_name": "Panawa"
},
- "kbx": {
- "english_name": "Ap Ma"
+ "xfa": {
+ "english_name": "Faliscan"
},
- "kby": {
- "english_name": "Kanuri, Manga"
+ "tjm": {
+ "english_name": "Timucua"
},
- "kbr": {
- "english_name": "Kafa"
+ "wtk": {
+ "english_name": "Watakataui"
},
- "kbs": {
- "english_name": "Kande"
+ "bzf": {
+ "english_name": "Boikin"
},
- "kbp": {
- "english_name": "Kabiyè"
+ "sfb": {
+ "english_name": "Langue des signes de Belgique Francophone"
},
- "kbq": {
- "english_name": "Kamano"
+ "clw": {
+ "english_name": "Chulym"
},
- "kbv": {
- "english_name": "Dera (Indonesia)"
+ "mum": {
+ "english_name": "Maiwala"
},
- "kbw": {
- "english_name": "Kaiep"
+ "ksa": {
+ "english_name": "Shuwa-Zamani"
},
- "kbt": {
- "english_name": "Abadi"
+ "bcj": {
+ "english_name": "Bardi"
},
- "kbu": {
- "english_name": "Kabutra"
+ "pto": {
+ "english_name": "Zo'é"
},
- "byz": {
- "english_name": "Banaro"
+ "jgk": {
+ "english_name": "Gwak"
},
- "byx": {
- "english_name": "Qaqet"
+ "ncu": {
+ "english_name": "Chumburung"
},
- "byv": {
- "english_name": "Medumba"
+ "usi": {
+ "english_name": "Usui"
},
- "byw": {
- "english_name": "Belhariya"
+ "nhd": {
+ "english_name": "Chiripá"
},
- "byt": {
- "english_name": "Berti"
+ "wiv": {
+ "english_name": "Vitu"
},
- "byr": {
- "english_name": "Baruya"
+ "mkb": {
+ "english_name": "Mal Paharia"
},
- "bys": {
- "english_name": "Burak"
+ "atm": {
+ "english_name": "Ata"
},
- "byp": {
- "english_name": "Bumaji"
+ "wrw": {
+ "english_name": "Gugu Warra"
},
- "byq": {
- "english_name": "Basay"
+ "tkt": {
+ "english_name": "Tharu, Kathoriya"
},
- "byn": {
- "name": "Bilin",
- "english_name": "Bilin"
+ "msk": {
+ "english_name": "Mansaka"
},
- "byo": {
- "english_name": "Biyo"
+ "oke": {
+ "english_name": "Okpe (Southwestern Edo)"
},
- "byl": {
- "english_name": "Bayono"
+ "nun": {
+ "english_name": "Anong"
},
- "bym": {
- "english_name": "Bidyara"
+ "ajp": {
+ "english_name": "Arabic, South Levantine"
},
- "byj": {
- "english_name": "Bina (Nigeria)"
+ "bov": {
+ "english_name": "Tuwuli"
},
- "byk": {
- "english_name": "Biao"
+ "xub": {
+ "english_name": "Kurumba, Betta"
},
- "byh": {
- "english_name": "Bhujel"
+ "yby": {
+ "english_name": "Yaweyuha"
},
- "byi": {
- "english_name": "Buyu"
+ "toj": {
+ "english_name": "Tojolabal"
},
- "byf": {
- "english_name": "Bete"
+ "nyf": {
+ "english_name": "Giryama"
},
- "byg": {
- "english_name": "Baygo"
+ "xhv": {
+ "english_name": "Khua"
},
- "byd": {
- "english_name": "Benyadu'"
+ "koo": {
+ "english_name": "Konzo"
},
- "bye": {
- "english_name": "Pouye"
+ "nhv": {
+ "english_name": "Nahuatl, Temascaltepec"
},
- "byb": {
- "english_name": "Bikya"
+ "jrb": {
+ "english_name": "Judeo-Arabic"
},
- "byc": {
- "english_name": "Ubaghara"
+ "bgq": {
+ "english_name": "Bagri"
},
- "bya": {
- "english_name": "Batak"
+ "quc": {
+ "english_name": "K'iche'"
},
- "rau": {
- "english_name": "Raute"
+ "kqj": {
+ "english_name": "Koromira"
},
- "nfd": {
- "english_name": "Ahwai"
+ "ved": {
+ "english_name": "Veddah"
},
- "nfa": {
- "english_name": "Dhao"
+ "mwa": {
+ "english_name": "Mwatebu"
},
- "nfl": {
- "english_name": "Ayiwo"
+ "mxz": {
+ "english_name": "Masela, Central"
},
- "nfu": {
- "english_name": "Mfumte"
+ "ojb": {
+ "english_name": "Ojibwa, Northwestern"
},
- "nfr": {
- "english_name": "Nafaanra"
+ "dmu": {
+ "english_name": "Dubu"
},
- "oui": {
- "english_name": "Uighur, Old"
+ "zkd": {
+ "english_name": "Kadu"
},
- "oum": {
- "english_name": "Ouma"
+ "vas": {
+ "english_name": "Vasavi"
},
- "pqa": {
- "english_name": "Pa'a"
+ "pom": {
+ "english_name": "Pomo, Southeastern"
},
- "oub": {
- "english_name": "Glio-Oubi"
+ "cte": {
+ "english_name": "Chinantec, Tepinapa"
},
- "oua": {
- "english_name": "Tagargrent"
+ "aby": {
+ "english_name": "Aneme Wake"
},
- "oue": {
- "english_name": "Oune"
+ "mkk": {
+ "english_name": "Byep"
},
- "pqm": {
- "english_name": "Malecite-Passamaquoddy"
+ "dak": {
+ "english_name": "Dakota"
},
- "lts": {
- "english_name": "Tachoni"
+ "swx": {
+ "english_name": "Suruahá"
},
- "ltu": {
- "english_name": "Latu"
+ "xas": {
+ "english_name": "Kamas"
},
- "ltc": {
- "english_name": "Chinese, Late Middle"
+ "rei": {
+ "english_name": "Reli"
},
- "ltg": {
- "english_name": "Latgalian"
+ "taj": {
+ "english_name": "Tamang, Eastern"
},
- "lti": {
- "english_name": "Leti (Indonesia)"
+ "zma": {
+ "english_name": "Manda (Australia)"
},
- "lto": {
- "english_name": "Tsotso"
+ "nri": {
+ "english_name": "Naga, Chokri"
},
- "ltn": {
- "english_name": "Latundê"
+ "sqt": {
+ "english_name": "Soqotri"
},
- "zxx": {
- "english_name": "No linguistic content"
+ "gag": {
+ "english_name": "Gagauz"
},
- "ybx": {
- "english_name": "Yawiyo"
+ "oda": {
+ "english_name": "Odut"
},
- "yby": {
- "english_name": "Yaweyuha"
+ "lsl": {
+ "english_name": "Latvian Sign Language"
},
- "ybh": {
- "english_name": "Yakha"
+ "bzn": {
+ "english_name": "Boano (Maluku)"
},
- "ybi": {
- "english_name": "Yamphu"
+ "blb": {
+ "english_name": "Bilua"
},
- "ybj": {
- "english_name": "Hasha"
+ "fuj": {
+ "english_name": "Ko"
},
- "ybk": {
- "english_name": "Bokha"
+ "mkg": {
+ "english_name": "Mak (China)"
},
- "ybl": {
- "english_name": "Yukuben"
+ "yea": {
+ "english_name": "Ravula"
},
- "ybm": {
- "english_name": "Yaben"
+ "ybe": {
+ "english_name": "Yugur, West"
},
- "ybn": {
- "english_name": "Yabaâna"
+ "czn": {
+ "english_name": "Chatino, Zenzontepec"
},
- "ybo": {
- "english_name": "Yabong"
+ "qxp": {
+ "english_name": "Quechua, Puno"
},
- "yba": {
- "english_name": "Yala"
+ "mrv": {
+ "english_name": "Mangareva"
},
- "ybb": {
- "english_name": "Yemba"
+ "bfj": {
+ "english_name": "Bafanji"
},
- "ybe": {
- "english_name": "Yugur, West"
+ "bkr": {
+ "english_name": "Bakumpai"
},
- "xrm": {
- "english_name": "Armazic"
+ "bwc": {
+ "english_name": "Bwile"
},
- "xrn": {
- "english_name": "Arin"
+ "dgt": {
+ "english_name": "Ndra'ngith"
},
- "xri": {
- "english_name": "Krikati-Timbira"
+ "kbz": {
+ "english_name": "Duhwa"
},
- "xre": {
- "english_name": "Kreye"
+ "mts": {
+ "english_name": "Yora"
},
- "xrd": {
- "english_name": "Gundungurra"
+ "vrs": {
+ "english_name": "Varisi"
},
- "xrg": {
- "english_name": "Minang"
+ "gqi": {
+ "english_name": "Guiqiong"
},
- "xra": {
- "english_name": "Krahô"
+ "rn": {
+ "english_name": "Rundi"
},
- "xrb": {
- "english_name": "Karaboro, Eastern"
+ "oka": {
+ "english_name": "Okanagan"
},
- "hr": {
- "name": "hrvatski",
- "english_name": "Croatian"
+ "jmc": {
+ "english_name": "Machame"
},
- "xru": {
- "english_name": "Marriammu"
+ "lur": {
+ "english_name": "Laura"
},
- "xrt": {
- "english_name": "Aranama-Tamique"
+ "bcb": {
+ "english_name": "Bainouk-Samik"
},
- "xrw": {
- "english_name": "Karawa"
+ "pui": {
+ "english_name": "Puinave"
},
- "xrq": {
- "english_name": "Karranga"
+ "nnm": {
+ "english_name": "Namia"
},
- "xrr": {
- "english_name": "Raetic"
+ "kov": {
+ "english_name": "Kudu-Camo"
},
- "whg": {
- "english_name": "Wahgi, North"
+ "ycp": {
+ "english_name": "Chepya"
},
- "sol": {
- "english_name": "Solos"
+ "yah": {
+ "english_name": "Yazgulyam"
},
- "wha": {
- "english_name": "Manusela"
+ "ifm": {
+ "english_name": "Teke-Fuumu"
},
- "whk": {
- "english_name": "Kenyah, Wahau"
+ "agx": {
+ "english_name": "Aghul"
},
- "whu": {
- "english_name": "Kayan, Wahau"
+ "omo": {
+ "english_name": "Utarmbung"
},
- "soo": {
- "english_name": "Songo"
+ "nnc": {
+ "english_name": "Nancere"
},
- "dmc": {
- "english_name": "Gavak"
+ "bys": {
+ "english_name": "Burak"
},
- "qu": {
- "english_name": "Quechua"
+ "str": {
+ "english_name": "Salish, Straits"
},
- "thh": {
- "english_name": "Tarahumara, Northern"
+ "oco": {
+ "english_name": "Cornish, Old"
},
- "ebg": {
- "english_name": "Ebughu"
+ "prn": {
+ "english_name": "Prasuni"
},
- "ebo": {
- "english_name": "Teke-Ebo"
+ "wmb": {
+ "english_name": "Wambaya"
},
- "ebk": {
- "english_name": "Bontok, Eastern"
+ "cdz": {
+ "english_name": "Koda"
},
- "ebu": {
- "english_name": "Embu"
+ "mif": {
+ "english_name": "Mofu-Gudur"
},
- "ebr": {
- "english_name": "Ebrié"
+ "bta": {
+ "english_name": "Bata"
},
- "dlg": {
- "english_name": "Dolgan"
+ "lpa": {
+ "english_name": "Lelepa"
},
- "dlk": {
- "english_name": "Dahalik"
+ "csj": {
+ "english_name": "Chin, Songlai"
},
- "dln": {
- "english_name": "Darlong"
+ "kum": {
+ "english_name": "Kumyk"
},
- "dlm": {
- "english_name": "Dalmatian"
+ "app": {
+ "english_name": "Apma"
},
- "dmu": {
- "english_name": "Dubu"
+ "kse": {
+ "english_name": "Kuni"
},
- "jor": {
- "english_name": "Jorá"
+ "mag": {
+ "english_name": "Magahi"
},
- "jos": {
- "english_name": "Jordanian Sign Language"
+ "yua": {
+ "english_name": "Yucateco"
},
- "jow": {
- "english_name": "Jowulu"
+ "sbd": {
+ "english_name": "Samo, Southern"
},
- "job": {
- "english_name": "Joba"
+ "mpb": {
+ "english_name": "Mullukmulluk"
},
- "jod": {
- "english_name": "Wojenaka"
+ "xwr": {
+ "english_name": "Kwerba Mamberamo"
},
- "rpt": {
- "english_name": "Rapting"
+ "ahr": {
+ "english_name": "Ahirani"
},
- "rpn": {
- "english_name": "Repanbitip"
+ "rmp": {
+ "english_name": "Rempi"
},
- "bbo": {
- "english_name": "Bobo Madaré, Northern"
+ "veo": {
+ "english_name": "Ventureño"
},
- "bbn": {
- "english_name": "Uneapa"
+ "eit": {
+ "english_name": "Eitiep"
},
- "bbm": {
- "english_name": "Babango"
+ "apy": {
+ "english_name": "Apalaí"
},
- "bbl": {
- "english_name": "Bats"
+ "pbf": {
+ "english_name": "Popoloca, Coyotepec"
},
- "bbk": {
- "english_name": "Babanki"
+ "tbz": {
+ "english_name": "Ditammari"
},
- "bbj": {
- "english_name": "Ghomálá'"
+ "rim": {
+ "english_name": "Nyaturu"
},
- "bbi": {
- "english_name": "Barombi"
+ "mpq": {
+ "english_name": "Matís"
},
- "bbh": {
- "english_name": "Bugan"
+ "yda": {
+ "english_name": "Yanda"
},
- "bbg": {
- "english_name": "Barama"
+ "ist": {
+ "english_name": "Istriot"
},
- "bbf": {
- "english_name": "Baibai"
+ "mxt": {
+ "english_name": "Mixtec, Jamiltepec"
},
- "bbe": {
- "english_name": "Bangba"
+ "swg": {
+ "english_name": "Swabian"
},
- "bbd": {
- "english_name": "Bau"
+ "bwd": {
+ "english_name": "Bwaidoka"
},
- "bbc": {
- "english_name": "Batak Toba"
+ "zgm": {
+ "english_name": "Zhuang, Minz"
},
- "bbb": {
- "english_name": "Barai"
+ "ysp": {
+ "english_name": "Lolopo, Southern"
},
- "bba": {
- "english_name": "Baatonum"
+ "ksc": {
+ "english_name": "Kalinga, Southern"
},
- "bbz": {
- "english_name": "Creole Arabic, Babalia"
+ "xkh": {
+ "english_name": "Karahawyana"
},
- "bby": {
- "english_name": "Befang"
+ "tfo": {
+ "english_name": "Tefaro"
},
- "bbx": {
- "english_name": "Bubia"
+ "rmu": {
+ "english_name": "Romani, Tavringer"
},
- "bbw": {
- "english_name": "Baba"
+ "xjb": {
+ "english_name": "Minjungbal"
},
- "bbv": {
- "english_name": "Karnai"
+ "tbd": {
+ "english_name": "Kaki Ae"
},
- "bbu": {
- "english_name": "Kulung (Nigeria)"
+ "kyb": {
+ "english_name": "Kalinga, Butbut"
},
- "bbt": {
- "english_name": "Mburku"
+ "doc": {
+ "english_name": "Dong, Northern"
},
- "bbs": {
- "english_name": "Bakpinka"
+ "rsi": {
+ "english_name": "Rennellese Sign Language"
},
- "bbr": {
- "english_name": "Girawa"
+ "otn": {
+ "english_name": "Otomi, Tenango"
},
- "bbq": {
- "english_name": "Bamali"
+ "nwg": {
+ "english_name": "Ngayawung"
},
- "bbp": {
- "english_name": "Banda, West Central"
+ "xdy": {
+ "english_name": "Dayak, Malayic"
},
- "hmy": {
- "english_name": "Hmong, Southern Guiyang"
+ "njx": {
+ "english_name": "Kunyi"
},
- "hmz": {
- "english_name": "Hmong Shua"
+ "sxc": {
+ "english_name": "Sicanian"
},
- "hmt": {
- "english_name": "Hamtai"
+ "aoe": {
+ "english_name": "Angal Enen"
},
- "hmu": {
- "english_name": "Hamap"
+ "gdh": {
+ "english_name": "Gadjerawang"
},
- "hmv": {
- "english_name": "Hmong Dô"
+ "tn": {
+ "english_name": "Tswana"
},
- "hmw": {
- "english_name": "Hmong, Western Mashan"
+ "pnh": {
+ "english_name": "Penrhyn"
},
- "hmp": {
- "english_name": "Hmong, Northern Mashan"
+ "mvv": {
+ "english_name": "Murut, Tagal"
},
- "hmq": {
- "english_name": "Miao, Eastern Qiandong"
+ "kvf": {
+ "english_name": "Kabalai"
},
- "hmr": {
- "english_name": "Hmar"
+ "etb": {
+ "english_name": "Etebi"
},
- "hms": {
- "english_name": "Miao, Southern Qiandong"
+ "sel": {
+ "english_name": "Selkup"
},
- "hml": {
- "english_name": "Hmong, Luopohe"
+ "tcu": {
+ "english_name": "Tarahumara, Southeastern"
},
- "hmm": {
- "english_name": "Hmong, Central Mashan"
+ "bjp": {
+ "english_name": "Fanamaket"
},
- "hmn": {
- "english_name": "Hmong"
+ "aft": {
+ "english_name": "Afitti"
},
- "hmh": {
- "english_name": "Hmong, Southwestern Huishui"
+ "kje": {
+ "english_name": "Kisar"
},
- "bln": {
- "english_name": "Bikol, Southern Catanduanes"
+ "xud": {
+ "english_name": "Umiida"
},
- "hmj": {
- "english_name": "Ge"
+ "yac": {
+ "english_name": "Yali, Pass Valley"
},
- "hmk": {
- "english_name": "Maek"
+ "amz": {
+ "english_name": "Atampaya"
},
- "hmd": {
- "english_name": "Miao, Large Flowery"
+ "ekk": {
+ "english_name": "Estonian, Standard"
},
- "hme": {
- "english_name": "Hmong, Eastern Huishui"
+ "npl": {
+ "english_name": "Nahuatl, Southeastern Puebla"
},
- "hmf": {
- "english_name": "Hmong Don"
+ "bjy": {
+ "english_name": "Bayali"
},
- "hmg": {
- "english_name": "Hmong, Southwestern Guiyang"
+ "xai": {
+ "english_name": "Kaimbé"
},
- "hma": {
- "english_name": "Hmong, Southern Mashan"
+ "mxg": {
+ "english_name": "Mbangala"
},
- "hmb": {
- "english_name": "Songhay, Humburi Senni"
+ "jac": {
+ "english_name": "Popti'"
},
- "hmc": {
- "english_name": "Hmong, Central Huishui"
+ "luu": {
+ "english_name": "Lumba-Yakkha"
},
- "tja": {
- "english_name": "Tajuasohn"
+ "cko": {
+ "english_name": "Anufo"
},
- "nom": {
- "english_name": "Nocamán"
+ "kxl": {
+ "english_name": "Kurux, Nepali"
},
- "avt": {
- "english_name": "Au"
+ "mtt": {
+ "english_name": "Mota"
},
- "avu": {
- "english_name": "Avokaya"
+ "tgp": {
+ "english_name": "Tangoa"
},
- "avv": {
- "english_name": "Avá-Canoeiro"
+ "oti": {
+ "english_name": "Oti"
},
- "avs": {
- "english_name": "Aushiri"
+ "bqq": {
+ "english_name": "Biritai"
},
- "avl": {
- "english_name": "Arabic, Eastern Egyptian Bedawi"
+ "sur": {
+ "english_name": "Mwaghavul"
},
- "avm": {
- "english_name": "Angkamuthi"
+ "nus": {
+ "english_name": "Nuer"
},
- "avn": {
- "english_name": "Avatime"
+ "miu": {
+ "english_name": "Mixtec, Cacaloxtepec"
},
- "avo": {
- "english_name": "Agavotaguerra"
+ "gel": {
+ "english_name": "ut-Ma'in"
},
- "avi": {
- "english_name": "Avikam"
+ "yij": {
+ "english_name": "Yindjibarndi"
},
- "avk": {
- "english_name": "Kotava"
+ "ypo": {
+ "english_name": "Phola, Alo"
},
- "avd": {
- "english_name": "Alviri-Vidari"
+ "mxj": {
+ "english_name": "Miju-Mishmi"
},
- "avb": {
- "english_name": "Avau"
+ "jni": {
+ "english_name": "Janji"
},
- "fkk": {
- "english_name": "Kirya-Konzəl"
+ "mwv": {
+ "english_name": "Mentawai"
},
- "tjg": {
- "english_name": "Tunjung"
+ "ncb": {
+ "english_name": "Nicobarese, Central"
},
- "tji": {
- "english_name": "Tujia, Northern"
+ "wwr": {
+ "english_name": "Warrwa"
},
- "fkv": {
- "english_name": "Finnish, Kven"
+ "scg": {
+ "english_name": "Sanggau"
},
- "tjl": {
- "english_name": "Tai Laing"
+ "ncm": {
+ "english_name": "Nambo"
},
- "tjn": {
- "english_name": "Tonjon"
+ "ari": {
+ "english_name": "Arikara"
},
- "mfa": {
- "english_name": "Malay, Pattani"
+ "lmo": {
+ "english_name": "Lombard"
},
- "mfb": {
- "english_name": "Bangka"
+ "ibl": {
+ "english_name": "Ibaloi"
},
- "mfc": {
- "english_name": "Mba"
+ "yil": {
+ "english_name": "Yindjilandji"
},
- "mfd": {
- "english_name": "Mendankwe-Nkwen"
+ "tls": {
+ "english_name": "Tambotalo"
},
- "mfe": {
- "english_name": "Morisyen"
+ "lcm": {
+ "english_name": "Tungag"
},
- "mff": {
- "english_name": "Naki"
+ "xeg": {
+ "english_name": "//Xegwi"
},
- "mfg": {
- "english_name": "Mogofin"
+ "zak": {
+ "english_name": "Zanaki"
},
- "mfh": {
- "english_name": "Matal"
+ "izz": {
+ "english_name": "Izii"
},
- "mfi": {
- "english_name": "Wandala"
+ "wnm": {
+ "english_name": "Wanggamala"
},
- "mfj": {
- "english_name": "Mefele"
+ "mda": {
+ "english_name": "Mada (Nigeria)"
},
- "mfk": {
- "english_name": "Mofu, North"
+ "nuu": {
+ "english_name": "Ngbundu"
},
- "mfl": {
- "english_name": "Putai"
+ "sri": {
+ "english_name": "Siriano"
},
- "mfm": {
- "english_name": "Marghi South"
+ "ahn": {
+ "english_name": "Àhàn"
},
- "mfn": {
- "english_name": "Mbembe, Cross River"
+ "myb": {
+ "english_name": "Mbay"
},
- "mfo": {
- "english_name": "Mbe"
+ "acs": {
+ "english_name": "Acroá"
},
- "mfp": {
- "english_name": "Malay, Makassar"
+ "bld": {
+ "english_name": "Bolango"
},
- "mfq": {
- "english_name": "Moba"
+ "boi": {
+ "english_name": "Barbareño"
},
- "mfr": {
- "english_name": "Marithiel"
+ "nef": {
+ "english_name": "Nefamese"
},
- "mfs": {
- "english_name": "Mexican Sign Language"
+ "cu": {
+ "english_name": "Slavic, Church"
},
- "mft": {
- "english_name": "Mokerang"
+ "kpa": {
+ "english_name": "Kutto"
},
- "mfu": {
- "english_name": "Mbwela"
+ "kfj": {
+ "english_name": "Kemiehua"
},
- "mfv": {
- "english_name": "Mandjak"
+ "nyr": {
+ "english_name": "Nyiha (Malawi)"
},
- "mfw": {
- "english_name": "Mulaha"
+ "tou": {
+ "english_name": "Tho"
},
- "mfx": {
- "english_name": "Melo"
+ "ssx": {
+ "english_name": "Samberigi"
},
- "mfy": {
- "english_name": "Mayo"
+ "myh": {
+ "english_name": "Makah"
},
- "mfz": {
- "english_name": "Mabaan"
+ "vsl": {
+ "english_name": "Venezuelan Sign Language"
},
- "tce": {
- "english_name": "Tutchone, Southern"
+ "atq": {
+ "english_name": "Aralle-Tabulahan"
},
- "tcb": {
- "english_name": "Tanacross"
+ "kuc": {
+ "english_name": "Kwinsu"
},
- "tcc": {
- "english_name": "Datooga"
+ "pid": {
+ "english_name": "Piaroa"
},
- "tca": {
- "english_name": "Ticuna"
+ "emy": {
+ "english_name": "Mayan, Epigraphic"
},
- "sku": {
- "english_name": "Sakao"
+ "kxx": {
+ "english_name": "Likuba"
},
- "skt": {
- "english_name": "Sakata"
+ "hik": {
+ "english_name": "Seit-Kaitetu"
},
- "skw": {
- "english_name": "Creole Dutch, Skepi"
+ "kmp": {
+ "english_name": "Gimme"
},
- "skv": {
- "english_name": "Skou"
+ "ljl": {
+ "english_name": "Li'o"
},
- "skq": {
- "english_name": "Sininkere"
+ "syi": {
+ "english_name": "Seki"
},
- "skp": {
- "english_name": "Sekapan"
+ "bxv": {
+ "english_name": "Berakou"
},
- "sks": {
- "english_name": "Maia"
+ "cjs": {
+ "english_name": "Shor"
},
- "skr": {
- "english_name": "Seraiki"
+ "hhr": {
+ "english_name": "Kerak"
},
- "sky": {
- "english_name": "Sikaiana"
+ "apl": {
+ "english_name": "Apache, Lipan"
},
- "skx": {
- "english_name": "Seko Padang"
+ "vmi": {
+ "english_name": "Miwa"
},
- "skz": {
- "english_name": "Sekar"
+ "oia": {
+ "english_name": "Oirata"
},
- "ske": {
- "english_name": "Seke (Vanuatu)"
+ "ihp": {
+ "english_name": "Iha"
},
- "skd": {
- "english_name": "Miwok, Southern Sierra"
+ "ssf": {
+ "english_name": "Thao"
},
- "skg": {
- "english_name": "Malagasy, Sakalava"
+ "gn": {
+ "english_name": "Guarani"
},
- "skf": {
- "english_name": "Sakirabiá"
+ "yiq": {
+ "english_name": "Miqie"
},
- "ska": {
- "english_name": "Skagit"
+ "cdy": {
+ "english_name": "Chadong"
},
- "skc": {
- "english_name": "Ma Manda"
+ "hbn": {
+ "english_name": "Heiban"
},
- "skb": {
- "english_name": "Saek"
+ "efi": {
+ "english_name": "Efik"
},
- "skm": {
- "english_name": "Kutong"
+ "new": {
+ "english_name": "Newari"
},
- "sko": {
- "english_name": "Seko Tengah"
+ "tlv": {
+ "english_name": "Taliabu"
},
- "skn": {
- "english_name": "Subanon, Kolibugan"
+ "zka": {
+ "english_name": "Kaimbulawa"
},
- "ski": {
- "english_name": "Sika"
+ "sbk": {
+ "english_name": "Safwa"
},
- "skh": {
- "english_name": "Sikule"
+ "dtd": {
+ "english_name": "Ditidaht"
},
- "skk": {
- "english_name": "Sok"
+ "ggg": {
+ "english_name": "Gurgula"
},
- "skj": {
- "english_name": "Seke (Nepal)"
+ "ncg": {
+ "english_name": "Nisga'a"
},
- "kdl": {
- "english_name": "Tsikimba"
+ "pgl": {
+ "english_name": "Irish, Primitive"
},
- "kdm": {
- "english_name": "Kagoma"
+ "tsz": {
+ "english_name": "Purepecha"
},
- "kdn": {
- "english_name": "Kunda"
+ "tlf": {
+ "english_name": "Telefol"
},
- "kdh": {
- "english_name": "Tem"
+ "nke": {
+ "english_name": "Duke"
},
- "kdi": {
- "english_name": "Kumam"
+ "daw": {
+ "english_name": "Davawenyo"
},
- "kdj": {
- "english_name": "Karamojong"
+ "xrg": {
+ "english_name": "Minang"
},
- "kdk": {
- "english_name": "Numèè"
+ "nco": {
+ "english_name": "Sibe"
},
- "kdd": {
- "english_name": "Yankunytjatjara"
+ "jui": {
+ "english_name": "Ngadjuri"
},
- "kde": {
- "english_name": "Makonde"
+ "ng": {
+ "english_name": "Ndonga"
},
- "kdf": {
- "english_name": "Mamusi"
+ "zoh": {
+ "english_name": "Zoque, Chimalapa"
},
- "kdg": {
- "english_name": "Seba"
+ "mjg": {
+ "english_name": "Tu"
},
- "kda": {
- "english_name": "Worimi"
+ "ur": {
+ "english_name": "Urdu"
},
- "kdc": {
- "english_name": "Kutu"
+ "kli": {
+ "english_name": "Kalumpang"
},
- "kdx": {
- "english_name": "Kam"
+ "atz": {
+ "english_name": "Arta"
},
- "kdy": {
- "english_name": "Keder"
+ "cic": {
+ "english_name": "Chickasaw"
},
- "kdz": {
- "english_name": "Kwaja"
+ "lmb": {
+ "english_name": "Merei"
},
- "kdt": {
- "english_name": "Kuy"
+ "ecs": {
+ "english_name": "Ecuadorian Sign Language"
},
- "kdu": {
- "english_name": "Kadaru"
+ "ywq": {
+ "english_name": "Yi, Wuding-Luquan"
},
- "kdw": {
- "english_name": "Koneraw"
+ "lri": {
+ "english_name": "Marachi"
},
- "kdp": {
- "english_name": "Kaningdon-Nindem"
+ "xvs": {
+ "english_name": "Vestinian"
},
- "kdq": {
- "english_name": "Koch"
+ "mwx": {
+ "english_name": "Mediak"
},
- "kdr": {
- "english_name": "Karaim"
+ "haa": {
+ "english_name": "Han"
},
- "ndi": {
- "english_name": "Samba Leko"
+ "iru": {
+ "english_name": "Irula"
},
- "ndh": {
- "english_name": "Ndali"
+ "gbu": {
+ "english_name": "Gagadu"
},
- "ndk": {
- "english_name": "Ndaka"
+ "bzd": {
+ "english_name": "Bribri"
},
- "ndj": {
- "english_name": "Ndamba"
+ "xip": {
+ "english_name": "Xipináwa"
},
- "ndm": {
- "english_name": "Ndam"
+ "jnj": {
+ "english_name": "Yemsa"
},
- "ndl": {
- "english_name": "Ndolo"
+ "bmt": {
+ "english_name": "Biao Mon"
},
- "ndn": {
- "english_name": "Ngundi"
+ "tli": {
+ "english_name": "Tlingit"
},
- "nda": {
- "english_name": "Ndasa"
+ "pcp": {
+ "english_name": "Pacahuara"
},
- "ndc": {
- "english_name": "Ndau"
+ "rma": {
+ "english_name": "Rama"
},
- "ndb": {
- "english_name": "Kenswei Nsei"
+ "kdf": {
+ "english_name": "Mamusi"
},
- "ndd": {
- "english_name": "Nde-Nsele-Nta"
+ "bga": {
+ "english_name": "Gwamhi-Wuri"
},
- "ndg": {
- "english_name": "Ndengereko"
+ "jns": {
+ "english_name": "Jaunsari"
},
- "ndf": {
- "english_name": "Nadruvian"
+ "apx": {
+ "english_name": "Aputai"
},
- "ndy": {
- "english_name": "Lutos"
+ "dbg": {
+ "english_name": "Dogon, Dogul Dom"
},
- "ndx": {
- "english_name": "Nduga"
+ "nii": {
+ "english_name": "Nii"
},
- "ndz": {
- "english_name": "Ndogo"
+ "aip": {
+ "english_name": "Burumakok"
},
- "ndq": {
- "english_name": "Ndombe"
+ "swk": {
+ "english_name": "Sena, Malawi"
},
- "ndp": {
- "english_name": "Ndo"
+ "koc": {
+ "english_name": "Kpati"
},
- "nds": {
- "english_name": "German, Low"
+ "clk": {
+ "english_name": "Idu-Mishmi"
},
- "ndr": {
- "english_name": "Ndoola"
+ "lcd": {
+ "english_name": "Lola"
},
- "ndu": {
- "english_name": "Dugun"
+ "msz": {
+ "english_name": "Momare"
},
- "ndt": {
- "english_name": "Ndunga"
+ "baf": {
+ "english_name": "Nubaca"
},
- "ndw": {
- "english_name": "Ndobo"
+ "too": {
+ "english_name": "Totonac, Xicotepec De Juárez"
},
- "ndv": {
- "english_name": "Ndut"
+ "gej": {
+ "english_name": "Gen"
},
- "owl": {
- "english_name": "Welsh, Old"
+ "tcw": {
+ "english_name": "Totonac, Tecpatlán"
},
- "owi": {
- "english_name": "Owiniga"
+ "xns": {
+ "english_name": "Kanashi"
},
- "vaj": {
- "english_name": "Vasekela Bushman"
+ "dje": {
+ "english_name": "Zarma"
},
- "vah": {
- "english_name": "Varhadi-Nagpuri"
+ "skb": {
+ "english_name": "Saek"
},
- "vai": {
- "english_name": "Vai"
+ "erg": {
+ "english_name": "Sie"
},
- "van": {
- "english_name": "Valman"
+ "xod": {
+ "english_name": "Kokoda"
},
- "vao": {
- "english_name": "Vao"
+ "abv": {
+ "english_name": "Arabic, Baharna"
},
- "val": {
- "english_name": "Vehes"
+ "iqw": {
+ "english_name": "Ikwo"
},
- "vam": {
- "english_name": "Vanimo"
+ "nmu": {
+ "english_name": "Maidu, Northeast"
},
- "vaa": {
- "english_name": "Vaagri Booli"
+ "pkc": {
+ "english_name": "Paekche"
},
- "vaf": {
- "english_name": "Vafsi"
+ "nop": {
+ "english_name": "Numanggang"
},
- "vag": {
- "english_name": "Vagla"
+ "mkl": {
+ "english_name": "Mokole"
},
- "vae": {
- "english_name": "Vale"
+ "blc": {
+ "english_name": "Bella Coola"
},
- "vay": {
- "english_name": "Wayu"
+ "bgu": {
+ "english_name": "Mbongno"
},
- "var": {
- "english_name": "Huarijio"
+ "mqm": {
+ "english_name": "Marquesan, South"
},
- "vas": {
- "english_name": "Vasavi"
+ "gwg": {
+ "english_name": "Moo"
},
- "vap": {
- "english_name": "Vaiphei"
+ "kzy": {
+ "english_name": "Kango (Tshopo District)"
},
- "vav": {
- "english_name": "Varli"
+ "ywr": {
+ "english_name": "Yawuru"
},
- "vau": {
- "english_name": "Vanuma"
+ "osc": {
+ "english_name": "Oscan"
},
- "bcl": {
- "english_name": "Bikol, Central"
+ "khy": {
+ "english_name": "Kele (Democratic Republic of Congo)"
},
- "bch": {
- "english_name": "Bariai"
+ "kef": {
+ "english_name": "Kpessi"
},
- "bci": {
- "english_name": "Baoulé"
+ "kwv": {
+ "english_name": "Sara Kaba Náà"
},
- "lvu": {
- "english_name": "Levuka"
+ "svx": {
+ "english_name": "Skalvian"
},
- "lvs": {
- "english_name": "Latvian, Standard"
+ "rwm": {
+ "english_name": "Amba (Uganda)"
},
- "bcd": {
- "english_name": "Babar, North"
+ "sdf": {
+ "english_name": "Sarli"
},
- "lva": {
- "english_name": "Maku'a"
+ "wtm": {
+ "english_name": "Mewati"
},
- "bce": {
- "english_name": "Bamenyam"
+ "ikt": {
+ "english_name": "Inuinnaqtun"
},
- "lvk": {
- "english_name": "Lavukaleve"
+ "pdu": {
+ "english_name": "Kayan"
},
- "myy": {
- "english_name": "Macuna"
+ "fcs": {
+ "english_name": "Quebec Sign Language"
},
- "myx": {
- "english_name": "Masaaba"
+ "ott": {
+ "english_name": "Otomi, Temoaya"
},
- "myz": {
- "english_name": "Mandaic, Classical"
+ "nyn": {
+ "english_name": "Nyankole"
},
- "myp": {
- "english_name": "Pirahã"
+ "scu": {
+ "english_name": "Shumcho"
},
- "mys": {
- "english_name": "Mesmes"
+ "pwg": {
+ "english_name": "Gapapaiwa"
},
- "myr": {
- "english_name": "Muniche"
+ "wbp": {
+ "english_name": "Warlpiri"
},
- "myu": {
- "english_name": "Mundurukú"
+ "pmk": {
+ "english_name": "Pamlico"
},
- "myw": {
- "english_name": "Muyuw"
+ "olr": {
+ "english_name": "Olrat"
},
- "myv": {
- "english_name": "Erzya"
+ "huj": {
+ "english_name": "Hmong, Northern Guiyang"
},
- "myi": {
- "english_name": "Mina (India)"
+ "cek": {
+ "english_name": "Chin, Eastern Khumi"
},
- "myh": {
- "english_name": "Makah"
+ "ena": {
+ "english_name": "Apali"
},
- "myk": {
- "english_name": "Senoufo, Mamara"
+ "txn": {
+ "english_name": "Tarangan, West"
},
- "myj": {
- "english_name": "Mangayat"
+ "kng": {
+ "english_name": "Koongo"
},
- "mym": {
- "english_name": "Me'en"
+ "njs": {
+ "english_name": "Nisa"
},
- "myl": {
- "english_name": "Moma"
+ "mes": {
+ "english_name": "Masmaje"
},
- "myo": {
- "english_name": "Anfillo"
+ "sth": {
+ "english_name": "Shelta"
},
- "myc": {
- "english_name": "Mayeka"
+ "pia": {
+ "english_name": "Pima Bajo"
},
- "myb": {
- "english_name": "Mbay"
+ "zmn": {
+ "english_name": "Mbangwe"
},
- "mye": {
- "english_name": "Myene"
+ "mvn": {
+ "english_name": "Minaveha"
},
- "myd": {
- "english_name": "Maramba"
+ "tcb": {
+ "english_name": "Tanacross"
},
- "myg": {
- "english_name": "Manta"
+ "mcm": {
+ "english_name": "Creole Portuguese, Malaccan"
},
- "myf": {
- "english_name": "Bambassi"
- }
- },
- "google": {},
- "duckduckgo": [
- "ar-XA",
- "bg-BG",
- "ca-CT",
- "ca-ES",
- "cs-CZ",
- "da-DK",
- "de-AT",
- "de-CH",
- "de-DE",
- "el-GR",
- "en-AU",
- "en-CA",
- "en-ID",
- "en-IE",
- "en-IN",
- "en-MY",
- "en-NZ",
- "en-PH",
- "en-SG",
- "en-UK",
- "en-US",
- "en-ZA",
- "es-AR",
- "es-CL",
- "es-CO",
- "es-ES",
- "es-MX",
- "es-PE",
- "es-US",
- "et-EE",
- "fi-FI",
- "fr-BE",
- "fr-CA",
- "fr-CH",
- "fr-FR",
- "he-IL",
- "hr-HR",
- "hu-HU",
- "id-ID",
- "it-CH",
- "it-IT",
- "jp-JP",
- "kr-KR",
- "lt-LT",
- "lv-LV",
- "ms-MY",
- "nl-BE",
- "nl-NL",
- "no-NO",
- "pl-PL",
- "pt-BR",
- "pt-PT",
- "ro-RO",
- "ru-RU",
- "sk-SK",
- "sl-SL",
- "sv-SE",
- "th-TH",
- "tl-PH",
- "tr-TR",
- "tzh-HK",
- "tzh-TW",
- "vi-VN",
- "wt-WT",
- "zh-CN"
- ],
- "google news": {},
- "qwant": [
- "bg-BG",
- "br-FR",
- "ca-AD",
- "ca-ES",
- "ca-FR",
- "co-FR",
- "cs-CZ",
- "cy-GB",
- "da-DK",
- "de-AT",
- "de-CH",
- "de-DE",
- "el-GR",
- "en-AU",
- "en-CA",
- "en-GB",
- "en-IE",
- "en-IN",
- "en-MY",
- "en-NZ",
- "en-PH",
- "en-SG",
- "en-US",
- "es-AD",
- "es-AR",
- "es-CL",
- "es-ES",
- "es-MX",
- "et-EE",
- "eu-ES",
- "eu-FR",
- "fi-FI",
- "fr-AD",
- "fr-BE",
- "fr-CA",
- "fr-CH",
- "fr-FR",
- "gd-GB",
- "he-IL",
- "hu-HU",
- "it-CH",
- "it-IT",
- "ja-JP",
- "ko-KR",
- "ms-MY",
- "nl-BE",
- "nl-NL",
- "no-NO",
- "pl-PL",
- "pt-AD",
- "pt-BR",
- "pt-PT",
- "ro-RO",
- "ru-RU",
- "sv-SE",
- "th-TH",
- "tr-TR"
- ],
- "wikipedia": {
- "gv": {
- "articles": 4966,
- "name": "Gaelg",
- "english_name": "Manx"
+ "umr": {
+ "english_name": "Umbugarla"
},
- "sco": {
- "articles": 52700,
- "name": "Scots",
- "english_name": "Scots"
+ "msv": {
+ "english_name": "Maslam"
},
- "scn": {
- "articles": 26052,
- "name": "Sicilianu",
- "english_name": "Sicilian"
+ "xul": {
+ "english_name": "Ngunawal"
},
- "wuu": {
- "articles": 12505,
- "name": "吴语",
- "english_name": "Wu"
+ "dop": {
+ "english_name": "Lukpa"
},
- "tcy": {
- "articles": 970,
- "name": "ತುಳು",
- "english_name": "Tulu"
+ "txs": {
+ "english_name": "Tonsea"
},
- "cdo": {
- "articles": 13994,
- "name": "Mìng-dĕ̤ng-ngṳ̄",
- "english_name": "Min Dong"
+ "onp": {
+ "english_name": "Sartang"
},
- "gu": {
- "articles": 28113,
- "name": "ગુજરાતી",
- "english_name": "Gujarati"
+ "yzk": {
+ "english_name": "Zokhuo"
},
- "kbd": {
- "articles": 1576,
- "name": "Адыгэбзэ (Adighabze)",
- "english_name": "Kabardian Circassian"
+ "ank": {
+ "english_name": "Goemai"
+ }
+ },
+ "yahoo": [
+ "ar",
+ "bg",
+ "cs",
+ "da",
+ "de",
+ "el",
+ "en",
+ "es",
+ "et",
+ "fi",
+ "fr",
+ "he",
+ "hr",
+ "hu",
+ "it",
+ "ja",
+ "ko",
+ "lt",
+ "lv",
+ "nl",
+ "no",
+ "pl",
+ "pt",
+ "ro",
+ "ru",
+ "sk",
+ "sl",
+ "sv",
+ "th",
+ "tr",
+ "zh-CHS",
+ "zh-CHT"
+ ],
+ "swisscows": [],
+ "wikipedia": {
+ "nl": {
+ "articles": 1954031,
+ "english_name": "Dutch",
+ "name": "Nederlands"
},
- "got": {
- "articles": 577,
- "name": "𐌲𐌿𐍄𐌹𐍃𐌺",
- "english_name": "Gothic"
+ "ceb": {
+ "articles": 5376890,
+ "english_name": "Cebuano",
+ "name": "Sinugboanong Binisaya"
},
- "gd": {
- "articles": 14736,
- "name": "Gàidhlig",
- "english_name": "Scottish Gaelic"
+ "jam": {
+ "articles": 1632,
+ "english_name": "Jamaican Patois",
+ "name": "Jumiekan Kryuol"
},
- "jbo": {
- "articles": 1229,
- "name": "Lojban",
- "english_name": "Lojban"
+ "crh": {
+ "articles": 6172,
+ "english_name": "Crimean Tatar",
+ "name": "Qırımtatarca"
},
- "ga": {
- "articles": 48149,
- "name": "Gaeilge",
- "english_name": "Irish"
+ "st": {
+ "articles": 544,
+ "english_name": "Sesotho",
+ "name": "Sesotho"
},
- "gn": {
- "articles": 3619,
- "name": "Avañe'ẽ",
- "english_name": "Guarani"
+ "id": {
+ "articles": 449446,
+ "english_name": "Indonesian",
+ "name": "Bahasa Indonesia"
},
- "kbp": {
- "articles": 1450,
- "name": "Kabɩyɛ",
- "english_name": "Kabiye"
+ "szl": {
+ "articles": 7812,
+ "english_name": "Silesian",
+ "name": "Ślůnski"
},
- "gl": {
- "articles": 151099,
- "name": "Galego",
- "english_name": "Galician"
+ "zh-yue": {
+ "articles": 70490,
+ "english_name": "Cantonese",
+ "name": "粵語"
},
- "als": {
- "articles": 25014,
- "name": "Alemannisch",
- "english_name": "Alemannic"
+ "ca": {
+ "articles": 599790,
+ "english_name": "Catalan",
+ "name": "Català"
},
- "lg": {
- "articles": 1155,
- "name": "Luganda",
- "english_name": "Luganda"
+ "ab": {
+ "articles": 3452,
+ "english_name": "Abkhazian",
+ "name": "Аҧсуа"
},
- "hak": {
- "articles": 8843,
- "name": "Hak-kâ-fa / 客家話",
- "english_name": "Hakka"
+ "lad": {
+ "articles": 3828,
+ "english_name": "Ladino",
+ "name": "Dzhudezmo"
},
- "lb": {
- "articles": 54478,
- "name": "Lëtzebuergesch",
- "english_name": "Luxembourgish"
+ "rue": {
+ "articles": 6891,
+ "english_name": "Rusyn",
+ "name": "Русиньскый"
},
- "szl": {
- "articles": 7513,
- "name": "Ślůnski",
- "english_name": "Silesian"
+ "om": {
+ "articles": 775,
+ "english_name": "Oromo",
+ "name": "Oromoo"
},
- "vep": {
- "articles": 5802,
- "name": "Vepsän",
- "english_name": "Vepsian"
+ "azb": {
+ "articles": 118928,
+ "english_name": "South Azerbaijani",
+ "name": "تۆرکجه"
},
- "la": {
- "articles": 129128,
- "name": "Latina",
- "english_name": "Latin"
+ "sr": {
+ "articles": 614180,
+ "english_name": "Serbian",
+ "name": "Српски / Srpski"
},
- "ln": {
- "articles": 3046,
- "name": "Lingala",
- "english_name": "Lingala"
+ "tg": {
+ "articles": 96078,
+ "english_name": "Tajik",
+ "name": "Тоҷикӣ"
},
- "frp": {
- "articles": 3146,
- "name": "Arpitan",
- "english_name": "Franco-Provençal"
+ "ee": {
+ "articles": 350,
+ "english_name": "Ewe",
+ "name": "Eʋegbe"
},
- "tt": {
- "articles": 80846,
- "name": "Tatarça / Татарча",
- "english_name": "Tatar"
+ "hsb": {
+ "articles": 13357,
+ "english_name": "Upper Sorbian",
+ "name": "Hornjoserbsce"
},
- "tr": {
- "articles": 315699,
- "name": "Türkçe",
- "english_name": "Turkish"
+ "pag": {
+ "articles": 2521,
+ "english_name": "Pangasinan",
+ "name": "Pangasinan"
},
- "cbk-zam": {
- "articles": 2996,
- "name": "Chavacano de Zamboanga",
- "english_name": "Zamboanga Chavacano"
+ "tyv": {
+ "articles": 1738,
+ "english_name": "Tuvan",
+ "name": "Тыва"
},
- "li": {
- "articles": 12244,
- "name": "Limburgs",
- "english_name": "Limburgish"
+ "got": {
+ "articles": 588,
+ "english_name": "Gothic",
+ "name": "𐌲𐌿𐍄𐌹𐍃𐌺"
},
- "lv": {
- "articles": 87649,
- "name": "Latviešu",
- "english_name": "Latvian"
+ "ss": {
+ "articles": 450,
+ "english_name": "Swati",
+ "name": "SiSwati"
},
- "to": {
- "articles": 1692,
- "name": "faka Tonga",
- "english_name": "Tongan"
+ "stq": {
+ "articles": 3998,
+ "english_name": "Saterland Frisian",
+ "name": "Seeltersk"
},
- "tl": {
- "articles": 81327,
- "name": "Tagalog",
- "english_name": "Tagalog"
+ "is": {
+ "articles": 46096,
+ "english_name": "Icelandic",
+ "name": "Íslenska"
},
- "jam": {
- "articles": 1630,
- "name": "Jumiekan Kryuol",
- "english_name": "Jamaican Patois"
+ "az": {
+ "articles": 141672,
+ "english_name": "Azerbaijani",
+ "name": "Azərbaycanca"
},
"vec": {
- "articles": 11226,
- "name": "Vèneto",
- "english_name": "Venetian"
+ "articles": 11266,
+ "english_name": "Venetian",
+ "name": "Vèneto"
},
- "th": {
- "articles": 126603,
- "name": "ไทย",
- "english_name": "Thai"
+ "na": {
+ "articles": 1305,
+ "english_name": "Nauruan",
+ "name": "dorerin Naoero"
},
- "ti": {
- "articles": 168,
- "name": "ትግርኛ",
- "english_name": "Tigrinya"
+ "an": {
+ "articles": 34148,
+ "english_name": "Aragonese",
+ "name": "Aragonés"
},
- "tg": {
- "articles": 95443,
- "name": "Тоҷикӣ",
- "english_name": "Tajik"
+ "tk": {
+ "articles": 5514,
+ "english_name": "Turkmen",
+ "name": "Türkmen"
},
- "te": {
- "articles": 69303,
- "name": "తెలుగు",
- "english_name": "Telugu"
+ "zea": {
+ "articles": 4580,
+ "english_name": "Zeelandic",
+ "name": "Zeêuws"
},
- "ksh": {
- "articles": 2840,
- "name": "Ripoarisch",
- "english_name": "Ripuarian"
+ "la": {
+ "articles": 129779,
+ "english_name": "Latin",
+ "name": "Latina"
},
- "pcd": {
- "articles": 3775,
- "name": "Picard",
- "english_name": "Picard"
+ "kv": {
+ "articles": 5308,
+ "english_name": "Komi",
+ "name": "Коми"
},
- "ta": {
- "articles": 117845,
- "name": "தமிழ்",
- "english_name": "Tamil"
+ "vo": {
+ "articles": 122174,
+ "english_name": "Volapük",
+ "name": "Volapük"
},
- "yi": {
- "articles": 14493,
- "name": "ייִדיש",
- "english_name": "Yiddish"
+ "el": {
+ "articles": 157114,
+ "english_name": "Greek",
+ "name": "Ελληνικά"
},
- "lrc": {
- "articles": 5368,
- "name": "لۊری شومالی",
- "english_name": "Northern Luri"
+ "hu": {
+ "articles": 442291,
+ "english_name": "Hungarian",
+ "name": "Magyar"
},
- "xmf": {
- "articles": 12602,
- "name": "მარგალური (Margaluri)",
- "english_name": "Mingrelian"
+ "bi": {
+ "articles": 1179,
+ "english_name": "Bislama",
+ "name": "Bislama"
},
- "ceb": {
- "articles": 5380865,
- "name": "Sinugboanong Binisaya",
- "english_name": "Cebuano"
+ "fr": {
+ "articles": 2070378,
+ "english_name": "French",
+ "name": "Français"
},
- "yo": {
- "articles": 31717,
- "name": "Yorùbá",
- "english_name": "Yoruba"
+ "th": {
+ "articles": 128977,
+ "english_name": "Thai",
+ "name": "ไทย"
+ },
+ "zh": {
+ "articles": 1038913,
+ "english_name": "Chinese",
+ "name": "中文"
},
"de": {
- "articles": 2220065,
- "name": "Deutsch",
- "english_name": "German"
+ "articles": 2256718,
+ "english_name": "German",
+ "name": "Deutsch"
},
- "da": {
- "articles": 239987,
- "name": "Dansk",
- "english_name": "Danish"
+ "pms": {
+ "articles": 64391,
+ "english_name": "Piedmontese",
+ "name": "Piemontèis"
},
- "za": {
- "articles": 1868,
- "name": "Cuengh",
- "english_name": "Zhuang"
+ "gn": {
+ "articles": 3637,
+ "english_name": "Guarani",
+ "name": "Avañe'ẽ"
},
- "pdc": {
- "articles": 1845,
- "name": "Deitsch",
- "english_name": "Pennsylvania German"
+ "lo": {
+ "articles": 3101,
+ "english_name": "Lao",
+ "name": "ລາວ"
},
"bxr": {
- "articles": 2093,
- "name": "Буряад",
- "english_name": "Buryat"
- },
- "dz": {
- "articles": 219,
- "name": "ཇོང་ཁ",
- "english_name": "Dzongkha"
+ "articles": 2124,
+ "english_name": "Buryat",
+ "name": "Буряад"
},
- "hif": {
- "articles": 9761,
- "name": "Fiji Hindi",
- "english_name": "Fiji Hindi"
+ "ast": {
+ "articles": 99530,
+ "english_name": "Asturian",
+ "name": "Asturianu"
},
- "rm": {
- "articles": 3543,
- "name": "Rumantsch",
- "english_name": "Romansh"
+ "wo": {
+ "articles": 1177,
+ "english_name": "Wolof",
+ "name": "Wolof"
},
- "dv": {
- "articles": 3022,
- "name": "ދިވެހިބަސް",
- "english_name": "Divehi"
+ "pap": {
+ "articles": 1953,
+ "english_name": "Papiamentu",
+ "name": "Papiamentu"
},
- "qu": {
- "articles": 20755,
- "name": "Runa Simi",
- "english_name": "Quechua"
+ "fa": {
+ "articles": 655431,
+ "english_name": "Persian",
+ "name": "فارسی"
},
- "vls": {
- "articles": 6536,
- "name": "West-Vlams",
- "english_name": "West Flemish"
+ "roa-tara": {
+ "articles": 9243,
+ "english_name": "Tarantino",
+ "name": "Tarandíne"
},
- "bar": {
- "articles": 26645,
- "name": "Boarisch",
- "english_name": "Bavarian"
+ "af": {
+ "articles": 68807,
+ "english_name": "Afrikaans",
+ "name": "Afrikaans"
},
- "ang": {
- "articles": 3039,
- "name": "Englisc",
- "english_name": "Anglo-Saxon"
+ "lbe": {
+ "articles": 1216,
+ "english_name": "Lak",
+ "name": "Лакку"
},
- "eml": {
- "articles": 11187,
- "name": "Emiliàn e rumagnòl",
- "english_name": "Emilian-Romagnol"
+ "frp": {
+ "articles": 3254,
+ "english_name": "Franco-Provençal",
+ "name": "Arpitan"
},
- "kn": {
- "articles": 23709,
- "name": "ಕನ್ನಡ",
- "english_name": "Kannada"
+ "mt": {
+ "articles": 3336,
+ "english_name": "Maltese",
+ "name": "Malti"
},
- "fiu-vro": {
- "articles": 5448,
- "name": "Võro",
- "english_name": "Võro"
+ "bcl": {
+ "articles": 8664,
+ "english_name": "Central Bicolano",
+ "name": "Bikol"
},
- "bpy": {
- "articles": 25080,
- "name": "ইমার ঠার/বিষ্ণুপ্রিয়া মণিপুরী",
- "english_name": "Bishnupriya Manipuri"
+ "bh": {
+ "articles": 6686,
+ "english_name": "Bihari",
+ "name": "भोजपुरी"
},
- "crh": {
- "articles": 5977,
- "name": "Qırımtatarca",
- "english_name": "Crimean Tatar"
+ "csb": {
+ "articles": 5258,
+ "english_name": "Kashubian",
+ "name": "Kaszëbsczi"
},
- "mhr": {
- "articles": 10025,
- "name": "Олык Марий (Olyk Marij)",
- "english_name": "Meadow Mari"
+ "scn": {
+ "articles": 26060,
+ "english_name": "Sicilian",
+ "name": "Sicilianu"
},
- "diq": {
- "articles": 9036,
- "name": "Zazaki",
- "english_name": "Zazaki"
+ "sw": {
+ "articles": 47744,
+ "english_name": "Swahili",
+ "name": "Kiswahili"
},
- "el": {
- "articles": 152453,
- "name": "Ελληνικά",
- "english_name": "Greek"
+ "kw": {
+ "articles": 3839,
+ "english_name": "Cornish",
+ "name": "Kernewek/Karnuack"
},
- "eo": {
- "articles": 249972,
- "name": "Esperanto",
- "english_name": "Esperanto"
+ "lrc": {
+ "articles": 5357,
+ "english_name": "Northern Luri",
+ "name": "لۊری شومالی"
},
- "en": {
- "articles": 5717839,
- "name": "English",
- "english_name": "English"
+ "wa": {
+ "articles": 14790,
+ "english_name": "Walloon",
+ "name": "Walon"
},
- "zh": {
- "articles": 1022608,
- "name": "中文",
- "english_name": "Chinese"
+ "arz": {
+ "articles": 20166,
+ "english_name": "Egyptian Arabic",
+ "name": "مصرى (Maṣri)"
},
- "pms": {
- "articles": 64375,
- "name": "Piemontèis",
- "english_name": "Piedmontese"
+ "pfl": {
+ "articles": 2502,
+ "english_name": "Palatinate German",
+ "name": "Pälzisch"
},
- "ee": {
- "articles": 345,
- "name": "Eʋegbe",
- "english_name": "Ewe"
+ "tt": {
+ "articles": 82594,
+ "english_name": "Tatar",
+ "name": "Tatarça / Татарча"
},
- "tpi": {
- "articles": 1481,
- "name": "Tok Pisin",
- "english_name": "Tok Pisin"
+ "ks": {
+ "articles": 324,
+ "english_name": "Kashmiri",
+ "name": "कश्मीरी / كشميري"
},
- "arz": {
- "articles": 19444,
- "name": "مصرى (Maṣri)",
- "english_name": "Egyptian Arabic"
+ "srn": {
+ "articles": 1061,
+ "english_name": "Sranan",
+ "name": "Sranantongo"
},
"lfn": {
- "articles": 2868,
- "name": "Lingua franca nova",
- "english_name": "Lingua Franca Nova"
+ "articles": 3083,
+ "english_name": "Lingua Franca Nova",
+ "name": "Lingua franca nova"
},
- "mdf": {
- "articles": 1185,
- "name": "Мокшень (Mokshanj Kälj)",
- "english_name": "Moksha"
+ "kbd": {
+ "articles": 1578,
+ "english_name": "Kabardian Circassian",
+ "name": "Адыгэбзэ (Adighabze)"
},
- "kaa": {
- "articles": 1908,
- "name": "Qaraqalpaqsha",
- "english_name": "Karakalpak"
+ "simple": {
+ "articles": 141947,
+ "english_name": "Simple English",
+ "name": "Simple English"
},
- "olo": {
- "articles": 2700,
- "name": "Karjalan",
- "english_name": "Livvi-Karelian"
+ "sc": {
+ "articles": 5907,
+ "english_name": "Sardinian",
+ "name": "Sardu"
},
- "arc": {
- "articles": 1628,
- "name": "ܐܪܡܝܐ",
- "english_name": "Aramaic"
+ "ta": {
+ "articles": 119140,
+ "english_name": "Tamil",
+ "name": "தமிழ்"
},
- "cr": {
- "articles": 104,
- "name": "Nehiyaw",
- "english_name": "Cree"
+ "lg": {
+ "articles": 1155,
+ "english_name": "Luganda",
+ "name": "Luganda"
},
- "eu": {
- "articles": 304835,
- "name": "Euskara",
- "english_name": "Basque"
+ "ckb": {
+ "articles": 22870,
+ "english_name": "Sorani",
+ "name": "Soranî / کوردی"
},
- "et": {
- "articles": 180987,
- "name": "Eesti",
- "english_name": "Estonian"
+ "ht": {
+ "articles": 54219,
+ "english_name": "Haitian",
+ "name": "Krèyol ayisyen"
},
- "tet": {
- "articles": 1431,
- "name": "Tetun",
- "english_name": "Tetum"
+ "ve": {
+ "articles": 265,
+ "english_name": "Venda",
+ "name": "Tshivenda"
},
- "es": {
- "articles": 1474724,
- "name": "Español",
- "english_name": "Spanish"
+ "nds": {
+ "articles": 41178,
+ "english_name": "Low Saxon",
+ "name": "Plattdüütsch"
},
- "ba": {
- "articles": 43988,
- "name": "Башҡорт",
- "english_name": "Bashkir"
+ "km": {
+ "articles": 7105,
+ "english_name": "Khmer",
+ "name": "ភាសាខ្មែរ"
},
- "gom": {
- "articles": 3514,
- "name": "गोंयची कोंकणी / Gõychi Konknni",
- "english_name": "Goan Konkani"
+ "ay": {
+ "articles": 4402,
+ "english_name": "Aymara",
+ "name": "Aymar"
},
- "ru": {
- "articles": 1497272,
- "name": "Русский",
- "english_name": "Russian"
+ "mg": {
+ "articles": 90635,
+ "english_name": "Malagasy",
+ "name": "Malagasy"
},
- "roa-tara": {
- "articles": 9242,
- "name": "Tarandíne",
- "english_name": "Tarantino"
+ "frr": {
+ "articles": 8460,
+ "english_name": "North Frisian",
+ "name": "Nordfriisk"
},
- "ha": {
- "articles": 1913,
- "name": "هَوُسَ",
- "english_name": "Hausa"
+ "zh-classical": {
+ "articles": 8663,
+ "english_name": "Classical Chinese",
+ "name": "古文 / 文言文"
},
- "ak": {
- "articles": 561,
- "name": "Akana",
- "english_name": "Akan"
+ "ny": {
+ "articles": 487,
+ "english_name": "Chichewa",
+ "name": "Chichewa"
},
- "lad": {
- "articles": 3805,
- "name": "Dzhudezmo",
- "english_name": "Ladino"
+ "eo": {
+ "articles": 253490,
+ "english_name": "Esperanto",
+ "name": "Esperanto"
},
- "new": {
- "articles": 72159,
- "name": "नेपाल भाषा",
- "english_name": "Newar"
+ "dty": {
+ "articles": 2967,
+ "english_name": "Doteli",
+ "name": "डोटेली"
},
- "rn": {
- "articles": 611,
- "name": "Kirundi",
- "english_name": "Kirundi"
+ "ki": {
+ "articles": 1358,
+ "english_name": "Kikuyu",
+ "name": "Gĩkũyũ"
},
- "ro": {
- "articles": 388471,
- "name": "Română",
- "english_name": "Romanian"
+ "ko": {
+ "articles": 438644,
+ "english_name": "Korean",
+ "name": "한국어"
},
- "dsb": {
- "articles": 3189,
- "name": "Dolnoserbski",
- "english_name": "Lower Sorbian"
+ "ig": {
+ "articles": 1376,
+ "english_name": "Igbo",
+ "name": "Igbo"
},
- "bn": {
- "articles": 60805,
- "name": "বাংলা",
- "english_name": "Bengali"
+ "sah": {
+ "articles": 11943,
+ "english_name": "Sakha",
+ "name": "Саха тыла (Saxa Tyla)"
},
- "gor": {
- "articles": 1776,
- "name": "Hulontalo",
- "english_name": "Gorontalo"
+ "ar": {
+ "articles": 656175,
+ "english_name": "Arabic",
+ "name": "العربية"
},
- "hsb": {
- "articles": 13181,
- "name": "Hornjoserbsce",
- "english_name": "Upper Sorbian"
+ "mk": {
+ "articles": 98050,
+ "english_name": "Macedonian",
+ "name": "Македонски"
},
- "be": {
- "articles": 157264,
- "name": "Беларуская",
- "english_name": "Belarusian"
+ "ff": {
+ "articles": 228,
+ "english_name": "Fula",
+ "name": "Fulfulde"
},
- "bg": {
- "articles": 245706,
- "name": "Български",
- "english_name": "Bulgarian"
+ "he": {
+ "articles": 236237,
+ "english_name": "Hebrew",
+ "name": "עברית"
},
- "myv": {
- "articles": 5353,
- "name": "Эрзянь (Erzjanj Kelj)",
- "english_name": "Erzya"
+ "inh": {
+ "articles": 791,
+ "english_name": "Ingush",
+ "name": "Гӏалгӏай"
},
- "uk": {
- "articles": 816473,
- "name": "Українська",
- "english_name": "Ukrainian"
+ "av": {
+ "articles": 2309,
+ "english_name": "Avar",
+ "name": "Авар"
},
- "wa": {
- "articles": 14717,
- "name": "Walon",
- "english_name": "Walloon"
+ "mai": {
+ "articles": 13164,
+ "english_name": "Maithili",
+ "name": "मैथिली"
},
- "ast": {
- "articles": 86717,
- "name": "Asturianu",
- "english_name": "Asturian"
+ "zu": {
+ "articles": 1050,
+ "english_name": "Zulu",
+ "name": "isiZulu"
},
- "wo": {
- "articles": 1170,
- "name": "Wolof",
- "english_name": "Wolof"
+ "eml": {
+ "articles": 11866,
+ "english_name": "Emilian-Romagnol",
+ "name": "Emiliàn e rumagnòl"
},
- "bm": {
- "articles": 646,
- "name": "Bamanankan",
- "english_name": "Bambara"
+ "ti": {
+ "articles": 168,
+ "english_name": "Tigrinya",
+ "name": "ትግርኛ"
},
- "jv": {
- "articles": 54946,
- "name": "Basa Jawa",
- "english_name": "Javanese"
+ "lmo": {
+ "articles": 38071,
+ "english_name": "Lombard",
+ "name": "Lumbaart"
},
- "bo": {
- "articles": 5822,
- "name": "བོད་སྐད",
- "english_name": "Tibetan"
+ "et": {
+ "articles": 185271,
+ "english_name": "Estonian",
+ "name": "Eesti"
},
- "bh": {
- "articles": 7671,
- "name": "भोजपुरी",
- "english_name": "Bihari"
+ "myv": {
+ "articles": 5415,
+ "english_name": "Erzya",
+ "name": "Эрзянь (Erzjanj Kelj)"
},
- "bi": {
- "articles": 1176,
- "name": "Bislama",
- "english_name": "Bislama"
+ "si": {
+ "articles": 14918,
+ "english_name": "Sinhalese",
+ "name": "සිංහල"
},
- "rue": {
- "articles": 6698,
- "name": "Русиньскый",
- "english_name": "Rusyn"
+ "ln": {
+ "articles": 3049,
+ "english_name": "Lingala",
+ "name": "Lingala"
},
- "map-bms": {
- "articles": 13333,
- "name": "Basa Banyumasan",
- "english_name": "Banyumasan"
+ "shn": {
+ "articles": 3239,
+ "english_name": "ၽႃႇသႃႇတႆး ",
+ "name": "Shan"
},
- "tum": {
- "articles": 572,
- "name": "chiTumbuka",
- "english_name": "Tumbuka"
+ "sh": {
+ "articles": 447497,
+ "english_name": "Serbo-Croatian",
+ "name": "Srpskohrvatski / Српскохрватски"
},
- "br": {
- "articles": 65468,
- "name": "Brezhoneg",
- "english_name": "Breton"
+ "it": {
+ "articles": 1491690,
+ "english_name": "Italian",
+ "name": "Italiano"
},
- "bs": {
- "articles": 78388,
- "name": "Bosanski",
- "english_name": "Bosnian"
+ "pam": {
+ "articles": 8825,
+ "english_name": "Kapampangan",
+ "name": "Kapampangan"
},
- "lez": {
- "articles": 3954,
- "name": "Лезги чІал (Lezgi č’al)",
- "english_name": "Lezgian"
+ "fy": {
+ "articles": 41308,
+ "english_name": "West Frisian",
+ "name": "Frysk"
},
- "ja": {
- "articles": 1121035,
- "name": "日本語",
- "english_name": "Japanese"
+ "ha": {
+ "articles": 2740,
+ "english_name": "Hausa",
+ "name": "Hausa / هَوُسَ"
},
- "om": {
- "articles": 772,
- "name": "Oromoo",
- "english_name": "Oromo"
+ "diq": {
+ "articles": 9107,
+ "english_name": "Zazaki",
+ "name": "Zazaki"
},
- "glk": {
- "articles": 5656,
- "name": "گیلکی",
- "english_name": "Gilaki"
+ "ty": {
+ "articles": 1199,
+ "english_name": "Tahitian",
+ "name": "Reo Mā`ohi"
},
- "ace": {
- "articles": 7451,
- "name": "Bahsa Acèh",
- "english_name": "Acehnese"
+ "sa": {
+ "articles": 11357,
+ "english_name": "Sanskrit",
+ "name": "संस्कृतम्"
},
- "ilo": {
- "articles": 11422,
- "name": "Ilokano",
- "english_name": "Ilokano"
+ "ku": {
+ "articles": 24022,
+ "english_name": "Kurdish",
+ "name": "Kurdî / كوردی"
},
- "roa-rup": {
- "articles": 1212,
- "name": "Armãneashce",
- "english_name": "Aromanian"
+ "io": {
+ "articles": 28134,
+ "english_name": "Ido",
+ "name": "Ido"
},
- "oc": {
- "articles": 84869,
- "name": "Occitan",
- "english_name": "Occitan"
+ "bjn": {
+ "articles": 1918,
+ "english_name": "Banjar",
+ "name": "Bahasa Banjar"
},
- "ltg": {
- "articles": 807,
- "name": "Latgaļu",
- "english_name": "Latgalian"
+ "mwl": {
+ "articles": 3674,
+ "english_name": "Mirandese",
+ "name": "Mirandés"
},
- "be-tarask": {
- "articles": 64277,
- "name": "Беларуская (тарашкевіца)",
- "english_name": "Belarusian (Taraškievica)"
+ "se": {
+ "articles": 7464,
+ "english_name": "Northern Sami",
+ "name": "Sámegiella"
},
- "st": {
- "articles": 543,
- "name": "Sesotho",
- "english_name": "Sesotho"
+ "tet": {
+ "articles": 1440,
+ "english_name": "Tetum",
+ "name": "Tetun"
},
- "lo": {
- "articles": 2952,
- "name": "ລາວ",
- "english_name": "Lao"
+ "gom": {
+ "articles": 3598,
+ "english_name": "Goan Konkani",
+ "name": "गोंयची कोंकणी / Gõychi Konknni"
},
- "krc": {
- "articles": 2027,
- "name": "Къарачай-Малкъар (Qarachay-Malqar)",
- "english_name": "Karachay-Balkar"
+ "lij": {
+ "articles": 3456,
+ "english_name": "Ligurian",
+ "name": "Líguru"
},
- "nds": {
- "articles": 31150,
- "name": "Plattdüütsch",
- "english_name": "Low Saxon"
+ "ga": {
+ "articles": 49639,
+ "english_name": "Irish",
+ "name": "Gaeilge"
},
- "os": {
- "articles": 11084,
- "name": "Иронау",
- "english_name": "Ossetian"
+ "roa-rup": {
+ "articles": 1216,
+ "english_name": "Aromanian",
+ "name": "Armãneashce"
},
- "or": {
- "articles": 14248,
- "name": "ଓଡ଼ିଆ",
- "english_name": "Oriya"
+ "pdc": {
+ "articles": 1858,
+ "english_name": "Pennsylvania German",
+ "name": "Deitsch"
},
- "udm": {
- "articles": 4508,
- "name": "Удмурт кыл",
- "english_name": "Udmurt"
+ "cs": {
+ "articles": 419392,
+ "english_name": "Czech",
+ "name": "Čeština"
},
- "xh": {
- "articles": 748,
- "name": "isiXhosa",
- "english_name": "Xhosa"
+ "uz": {
+ "articles": 130227,
+ "english_name": "Uzbek",
+ "name": "O‘zbek"
},
"ch": {
"articles": 472,
- "name": "Chamoru",
- "english_name": "Chamorro"
+ "english_name": "Chamorro",
+ "name": "Chamoru"
},
- "co": {
- "articles": 5567,
- "name": "Corsu",
- "english_name": "Corsican"
+ "rn": {
+ "articles": 609,
+ "english_name": "Kirundi",
+ "name": "Kirundi"
},
- "nso": {
- "articles": 8089,
- "name": "Sepedi",
- "english_name": "Northern Sotho"
+ "or": {
+ "articles": 14550,
+ "english_name": "Oriya",
+ "name": "ଓଡ଼ିଆ"
},
- "simple": {
- "articles": 138362,
- "name": "Simple English",
- "english_name": "Simple English"
+ "gl": {
+ "articles": 153607,
+ "english_name": "Galician",
+ "name": "Galego"
},
- "bjn": {
- "articles": 1853,
- "name": "Bahasa Banjar",
- "english_name": "Banjar"
+ "atj": {
+ "articles": 626,
+ "english_name": "Atikamekw",
+ "name": "Atikamekw"
},
- "ca": {
- "articles": 589895,
- "name": "Català",
- "english_name": "Catalan"
+ "pi": {
+ "articles": 2535,
+ "english_name": "Pali",
+ "name": "पाऴि"
},
- "lmo": {
- "articles": 37698,
- "name": "Lumbaart",
- "english_name": "Lombard"
+ "fur": {
+ "articles": 3289,
+ "english_name": "Friulian",
+ "name": "Furlan"
},
- "ce": {
- "articles": 208693,
- "name": "Нохчийн",
- "english_name": "Chechen"
+ "li": {
+ "articles": 12316,
+ "english_name": "Limburgish",
+ "name": "Limburgs"
},
- "ts": {
- "articles": 566,
- "name": "Xitsonga",
- "english_name": "Tsonga"
+ "yi": {
+ "articles": 14571,
+ "english_name": "Yiddish",
+ "name": "ייִדיש"
},
- "cy": {
- "articles": 101280,
- "name": "Cymraeg",
- "english_name": "Welsh"
+ "lv": {
+ "articles": 90266,
+ "english_name": "Latvian",
+ "name": "Latviešu"
},
- "ab": {
- "articles": 3427,
- "name": "Аҧсуа",
- "english_name": "Abkhazian"
+ "ro": {
+ "articles": 390804,
+ "english_name": "Romanian",
+ "name": "Română"
},
- "cs": {
- "articles": 412770,
- "name": "Čeština",
- "english_name": "Czech"
+ "bm": {
+ "articles": 651,
+ "english_name": "Bambara",
+ "name": "Bamanankan"
},
- "ty": {
- "articles": 1195,
- "name": "Reo Mā`ohi",
- "english_name": "Tahitian"
+ "ja": {
+ "articles": 1134685,
+ "english_name": "Japanese",
+ "name": "日本語"
},
- "ady": {
- "articles": 408,
- "name": "Адыгэбзэ",
- "english_name": "Adyghe"
+ "cy": {
+ "articles": 102137,
+ "english_name": "Welsh",
+ "name": "Cymraeg"
+ },
+ "wuu": {
+ "articles": 16289,
+ "english_name": "Wu",
+ "name": "吴语"
},
"cv": {
- "articles": 41433,
- "name": "Чăваш",
- "english_name": "Chuvash"
+ "articles": 41622,
+ "english_name": "Chuvash",
+ "name": "Чăваш"
},
- "cu": {
- "articles": 660,
- "name": "Словѣньскъ",
- "english_name": "Old Church Slavonic"
+ "ady": {
+ "articles": 411,
+ "english_name": "Adyghe",
+ "name": "Адыгэбзэ"
},
- "ve": {
- "articles": 267,
- "name": "Tshivenda",
- "english_name": "Venda"
+ "min": {
+ "articles": 222492,
+ "english_name": "Minangkabau",
+ "name": "Minangkabau"
},
- "koi": {
- "articles": 3449,
- "name": "Перем Коми (Perem Komi)",
- "english_name": "Komi-Permyak"
+ "be-tarask": {
+ "articles": 65655,
+ "english_name": "Belarusian (Taraškievica)",
+ "name": "Беларуская (тарашкевіца)"
},
- "ps": {
- "articles": 9106,
- "name": "پښتو",
- "english_name": "Pashto"
+ "kl": {
+ "articles": 1663,
+ "english_name": "Greenlandic",
+ "name": "Kalaallisut"
},
- "fj": {
- "articles": 424,
- "name": "Na Vosa Vakaviti",
- "english_name": "Fijian"
+ "am": {
+ "articles": 14482,
+ "english_name": "Amharic",
+ "name": "አማርኛ"
},
- "srn": {
- "articles": 1059,
- "name": "Sranantongo",
- "english_name": "Sranan"
+ "ie": {
+ "articles": 4303,
+ "english_name": "Interlingue",
+ "name": "Interlingue"
},
- "pt": {
- "articles": 1005169,
- "name": "Português",
- "english_name": "Portuguese"
+ "sn": {
+ "articles": 4227,
+ "english_name": "Shona",
+ "name": "chiShona"
+ },
+ "pnb": {
+ "articles": 47107,
+ "english_name": "Western Punjabi",
+ "name": "شاہ مکھی پنجابی (Shāhmukhī Pañjābī)"
},
"sm": {
- "articles": 799,
- "name": "Gagana Samoa",
- "english_name": "Samoan"
+ "articles": 801,
+ "english_name": "Samoan",
+ "name": "Gagana Samoa"
},
- "ext": {
- "articles": 3013,
- "name": "Estremeñu",
- "english_name": "Extremaduran"
+ "hak": {
+ "articles": 8894,
+ "english_name": "Hakka",
+ "name": "Hak-kâ-fa / 客家話"
},
- "lt": {
- "articles": 189496,
- "name": "Lietuvių",
- "english_name": "Lithuanian"
+ "nso": {
+ "articles": 8094,
+ "english_name": "Northern Sotho",
+ "name": "Sepedi"
},
- "zh-min-nan": {
- "articles": 227444,
- "name": "Bân-lâm-gú",
- "english_name": "Min Nan"
+ "fj": {
+ "articles": 425,
+ "english_name": "Fijian",
+ "name": "Na Vosa Vakaviti"
},
- "frr": {
- "articles": 7705,
- "name": "Nordfriisk",
- "english_name": "North Frisian"
+ "da": {
+ "articles": 242006,
+ "english_name": "Danish",
+ "name": "Dansk"
},
- "chr": {
- "articles": 854,
- "name": "ᏣᎳᎩ",
- "english_name": "Cherokee"
+ "ky": {
+ "articles": 79376,
+ "english_name": "Kirghiz",
+ "name": "Кыргызча"
},
- "pa": {
- "articles": 30223,
- "name": "ਪੰਜਾਬੀ",
- "english_name": "Punjabi"
+ "to": {
+ "articles": 1693,
+ "english_name": "Tongan",
+ "name": "faka Tonga"
},
- "xal": {
- "articles": 2036,
- "name": "Хальмг",
- "english_name": "Kalmyk"
+ "udm": {
+ "articles": 4565,
+ "english_name": "Udmurt",
+ "name": "Удмурт кыл"
},
- "chy": {
- "articles": 609,
- "name": "Tsetsêhestâhese",
- "english_name": "Cheyenne"
+ "nds-nl": {
+ "articles": 6812,
+ "english_name": "Dutch Low Saxon",
+ "name": "Nedersaksisch"
},
- "pi": {
- "articles": 2530,
- "name": "पाऴि",
- "english_name": "Pali"
+ "kaa": {
+ "articles": 1910,
+ "english_name": "Karakalpak",
+ "name": "Qaraqalpaqsha"
},
- "war": {
- "articles": 1263242,
- "name": "Winaray",
- "english_name": "Waray-Waray"
+ "as": {
+ "articles": 5141,
+ "english_name": "Assamese",
+ "name": "অসমীয়া"
},
- "pl": {
- "articles": 1300041,
- "name": "Polski",
- "english_name": "Polish"
+ "sg": {
+ "articles": 258,
+ "english_name": "Sango",
+ "name": "Sängö"
},
- "tk": {
- "articles": 5491,
- "name": "Türkmen",
- "english_name": "Turkmen"
+ "ik": {
+ "articles": 262,
+ "english_name": "Inupiak",
+ "name": "Iñupiak"
},
- "hy": {
- "articles": 245745,
- "name": "Հայերեն",
- "english_name": "Armenian"
+ "gd": {
+ "articles": 14774,
+ "english_name": "Scottish Gaelic",
+ "name": "Gàidhlig"
},
- "an": {
- "articles": 33544,
- "name": "Aragonés",
- "english_name": "Aragonese"
+ "tpi": {
+ "articles": 1486,
+ "english_name": "Tok Pisin",
+ "name": "Tok Pisin"
},
- "nrm": {
- "articles": 4003,
- "name": "Nouormand/Normaund",
- "english_name": "Norman"
+ "lez": {
+ "articles": 3963,
+ "english_name": "Lezgian",
+ "name": "Лезги чІал (Lezgi č’al)"
},
- "hr": {
- "articles": 198726,
- "name": "Hrvatski",
- "english_name": "Croatian"
+ "new": {
+ "articles": 72212,
+ "english_name": "Newar",
+ "name": "नेपाल भाषा"
},
- "iu": {
- "articles": 402,
- "name": "ᐃᓄᒃᑎᑐᑦ",
- "english_name": "Inuktitut"
+ "kg": {
+ "articles": 1184,
+ "english_name": "Kongo",
+ "name": "KiKongo"
},
- "pfl": {
- "articles": 2259,
- "name": "Pälzisch",
- "english_name": "Palatinate German"
+ "cdo": {
+ "articles": 14111,
+ "english_name": "Min Dong",
+ "name": "Mìng-dĕ̤ng-ngṳ̄"
},
- "ht": {
- "articles": 53067,
- "name": "Krèyol ayisyen",
- "english_name": "Haitian"
+ "oc": {
+ "articles": 85227,
+ "english_name": "Occitan",
+ "name": "Occitan"
},
- "hu": {
- "articles": 436930,
- "name": "Magyar",
- "english_name": "Hungarian"
+ "nap": {
+ "articles": 14576,
+ "english_name": "Neapolitan",
+ "name": "Nnapulitano"
},
- "gan": {
- "articles": 6405,
- "name": "贛語",
- "english_name": "Gan"
+ "be": {
+ "articles": 160751,
+ "english_name": "Belarusian",
+ "name": "Беларуская"
},
- "bat-smg": {
- "articles": 16307,
- "name": "Žemaitėška",
- "english_name": "Samogitian"
+ "kk": {
+ "articles": 223486,
+ "english_name": "Kazakh",
+ "name": "Қазақша"
},
- "hi": {
- "articles": 126671,
- "name": "हिन्दी",
- "english_name": "Hindi"
+ "bs": {
+ "articles": 79235,
+ "english_name": "Bosnian",
+ "name": "Bosanski"
},
- "tw": {
- "articles": 650,
- "name": "Twi",
- "english_name": "Twi"
+ "bug": {
+ "articles": 14121,
+ "english_name": "Buginese",
+ "name": "Basa Ugi"
},
- "gag": {
- "articles": 2760,
- "name": "Gagauz",
- "english_name": "Gagauz"
+ "sq": {
+ "articles": 75615,
+ "english_name": "Albanian",
+ "name": "Shqip"
},
- "kg": {
- "articles": 1181,
- "name": "KiKongo",
- "english_name": "Kongo"
+ "mhr": {
+ "articles": 10046,
+ "english_name": "Meadow Mari",
+ "name": "Олык Марий (Olyk Marij)"
},
- "pnb": {
- "articles": 46645,
- "name": "شاہ مکھی پنجابی (Shāhmukhī Pañjābī)",
- "english_name": "Western Punjabi"
+ "eu": {
+ "articles": 309974,
+ "english_name": "Basque",
+ "name": "Euskara"
},
- "bug": {
- "articles": 14117,
- "name": "Basa Ugi",
- "english_name": "Buginese"
+ "ka": {
+ "articles": 126147,
+ "english_name": "Georgian",
+ "name": "ქართული"
},
- "he": {
- "articles": 230405,
- "name": "עברית",
- "english_name": "Hebrew"
+ "ba": {
+ "articles": 46046,
+ "english_name": "Bashkir",
+ "name": "Башҡорт"
},
- "mg": {
- "articles": 85263,
- "name": "Malagasy",
- "english_name": "Malagasy"
+ "hi": {
+ "articles": 128996,
+ "english_name": "Hindi",
+ "name": "हिन्दी"
},
- "fur": {
- "articles": 3284,
- "name": "Furlan",
- "english_name": "Friulian"
+ "rw": {
+ "articles": 1822,
+ "english_name": "Kinyarwanda",
+ "name": "Ikinyarwanda"
},
- "uz": {
- "articles": 129308,
- "name": "O‘zbek",
- "english_name": "Uzbek"
+ "pnt": {
+ "articles": 462,
+ "english_name": "Pontic",
+ "name": "Ποντιακά"
},
- "ml": {
- "articles": 58717,
- "name": "മലയാളം",
- "english_name": "Malayalam"
+ "kab": {
+ "articles": 2860,
+ "english_name": "Kabyle",
+ "name": "Taqbaylit"
},
- "azb": {
- "articles": 101690,
- "name": "تۆرکجه",
- "english_name": "South Azerbaijani"
+ "nv": {
+ "articles": 6991,
+ "english_name": "Navajo",
+ "name": "Diné bizaad"
},
- "mn": {
- "articles": 18326,
- "name": "Монгол",
- "english_name": "Mongolian"
+ "mrj": {
+ "articles": 10269,
+ "english_name": "Hill Mari",
+ "name": "Кырык Мары (Kyryk Mary)"
},
- "mi": {
- "articles": 7145,
- "name": "Māori",
- "english_name": "Maori"
+ "mn": {
+ "articles": 18356,
+ "english_name": "Mongolian",
+ "name": "Монгол"
},
- "ik": {
- "articles": 260,
- "name": "Iñupiak",
- "english_name": "Inupiak"
+ "ang": {
+ "articles": 3077,
+ "english_name": "Anglo-Saxon",
+ "name": "Englisc"
},
- "mk": {
- "articles": 96187,
- "name": "Македонски",
- "english_name": "Macedonian"
+ "tw": {
+ "articles": 657,
+ "english_name": "Twi",
+ "name": "Twi"
},
"ur": {
- "articles": 140514,
- "name": "اردو",
- "english_name": "Urdu"
+ "articles": 142712,
+ "english_name": "Urdu",
+ "name": "اردو"
},
- "zea": {
- "articles": 4417,
- "name": "Zeêuws",
- "english_name": "Zeelandic"
+ "tn": {
+ "articles": 640,
+ "english_name": "Tswana",
+ "name": "Setswana"
},
- "mt": {
- "articles": 3330,
- "name": "Malti",
- "english_name": "Maltese"
+ "krc": {
+ "articles": 2028,
+ "english_name": "Karachay-Balkar",
+ "name": "Къарачай-Малкъар (Qarachay-Malqar)"
},
- "dty": {
- "articles": 2935,
- "name": "डोटेली",
- "english_name": "Doteli"
+ "sk": {
+ "articles": 228015,
+ "english_name": "Slovak",
+ "name": "Slovenčina"
},
- "stq": {
- "articles": 3966,
- "name": "Seeltersk",
- "english_name": "Saterland Frisian"
+ "sv": {
+ "articles": 3760984,
+ "english_name": "Swedish",
+ "name": "Svenska"
},
- "ms": {
- "articles": 319749,
- "name": "Bahasa Melayu",
- "english_name": "Malay"
+ "pl": {
+ "articles": 1314525,
+ "english_name": "Polish",
+ "name": "Polski"
},
- "mr": {
- "articles": 51938,
- "name": "मराठी",
- "english_name": "Marathi"
+ "uk": {
+ "articles": 878251,
+ "english_name": "Ukrainian",
+ "name": "Українська"
},
- "inh": {
- "articles": 781,
- "name": "Гӏалгӏай",
- "english_name": "Ingush"
+ "pt": {
+ "articles": 1014081,
+ "english_name": "Portuguese",
+ "name": "Português"
},
- "ug": {
- "articles": 4092,
- "name": "ئۇيغۇر تىلى",
- "english_name": "Uyghur"
+ "xal": {
+ "articles": 2075,
+ "english_name": "Kalmyk",
+ "name": "Хальмг"
},
- "mwl": {
- "articles": 3653,
- "name": "Mirandés",
- "english_name": "Mirandese"
+ "nn": {
+ "articles": 141839,
+ "english_name": "Norwegian (Nynorsk)",
+ "name": "Nynorsk"
},
- "my": {
- "articles": 39501,
- "name": "မြန်မာဘာသာ",
- "english_name": "Burmese"
+ "fo": {
+ "articles": 12891,
+ "english_name": "Faroese",
+ "name": "Føroyskt"
},
- "ki": {
- "articles": 1357,
- "name": "Gĩkũyũ",
- "english_name": "Kikuyu"
+ "gor": {
+ "articles": 1926,
+ "english_name": "Gorontalo",
+ "name": "Hulontalo"
},
- "pih": {
- "articles": 672,
- "name": "Norfuk",
- "english_name": "Norfolk"
+ "te": {
+ "articles": 69978,
+ "english_name": "Telugu",
+ "name": "తెలుగు"
},
- "sah": {
- "articles": 11663,
- "name": "Саха тыла (Saxa Tyla)",
- "english_name": "Sakha"
+ "lb": {
+ "articles": 55377,
+ "english_name": "Luxembourgish",
+ "name": "Lëtzebuergesch"
},
- "ss": {
- "articles": 448,
- "name": "SiSwati",
- "english_name": "Swati"
+ "chy": {
+ "articles": 611,
+ "english_name": "Cheyenne",
+ "name": "Tsetsêhestâhese"
},
- "af": {
- "articles": 58995,
- "name": "Afrikaans",
- "english_name": "Afrikaans"
+ "bn": {
+ "articles": 63523,
+ "english_name": "Bengali",
+ "name": "বাংলা"
},
- "tn": {
- "articles": 641,
- "name": "Setswana",
- "english_name": "Tswana"
+ "hy": {
+ "articles": 250045,
+ "english_name": "Armenian",
+ "name": "Հայերեն"
},
- "vi": {
- "articles": 1188863,
- "name": "Tiếng Việt",
- "english_name": "Vietnamese"
+ "ug": {
+ "articles": 4104,
+ "english_name": "Uyghur",
+ "name": "ئۇيغۇر تىلى"
},
- "is": {
- "articles": 45775,
- "name": "Íslenska",
- "english_name": "Icelandic"
+ "bg": {
+ "articles": 248452,
+ "english_name": "Bulgarian",
+ "name": "Български"
},
- "am": {
- "articles": 14359,
- "name": "አማርኛ",
- "english_name": "Amharic"
+ "arc": {
+ "articles": 1628,
+ "english_name": "Aramaic",
+ "name": "ܐܪܡܝܐ"
},
- "it": {
- "articles": 1461380,
- "name": "Italiano",
- "english_name": "Italian"
+ "hr": {
+ "articles": 201383,
+ "english_name": "Croatian",
+ "name": "Hrvatski"
},
- "vo": {
- "articles": 121490,
- "name": "Volapük",
- "english_name": "Volapük"
+ "ml": {
+ "articles": 61227,
+ "english_name": "Malayalam",
+ "name": "മലയാളം"
},
- "ay": {
- "articles": 4383,
- "name": "Aymar",
- "english_name": "Aymara"
+ "so": {
+ "articles": 5530,
+ "english_name": "Somali",
+ "name": "Soomaali"
},
- "as": {
- "articles": 4991,
- "name": "অসমীয়া",
- "english_name": "Assamese"
+ "bpy": {
+ "articles": 25081,
+ "english_name": "Bishnupriya Manipuri",
+ "name": "ইমার ঠার/বিষ্ণুপ্রিয়া মণিপুরী"
},
- "ar": {
- "articles": 609711,
- "name": "العربية",
- "english_name": "Arabic"
+ "tr": {
+ "articles": 321169,
+ "english_name": "Turkish",
+ "name": "Türkçe"
},
- "lbe": {
- "articles": 1216,
- "name": "Лакку",
- "english_name": "Lak"
+ "mr": {
+ "articles": 52667,
+ "english_name": "Marathi",
+ "name": "मराठी"
},
- "km": {
- "articles": 6712,
- "name": "ភាសាខ្មែរ",
- "english_name": "Khmer"
+ "ce": {
+ "articles": 208906,
+ "english_name": "Chechen",
+ "name": "Нохчийн"
},
- "io": {
- "articles": 27921,
- "name": "Ido",
- "english_name": "Ido"
+ "yo": {
+ "articles": 31774,
+ "english_name": "Yoruba",
+ "name": "Yorùbá"
},
- "av": {
- "articles": 2306,
- "name": "Авар",
- "english_name": "Avar"
+ "no": {
+ "articles": 500849,
+ "english_name": "Norwegian (Bokmål)",
+ "name": "Norsk (Bokmål)"
},
- "ia": {
- "articles": 20764,
- "name": "Interlingua",
- "english_name": "Interlingua"
+ "fi": {
+ "articles": 449407,
+ "english_name": "Finnish",
+ "name": "Suomi"
},
- "haw": {
- "articles": 2960,
- "name": "Hawai`i",
- "english_name": "Hawaiian"
+ "nah": {
+ "articles": 6925,
+ "english_name": "Nahuatl",
+ "name": "Nāhuatl"
},
- "az": {
- "articles": 137984,
- "name": "Azərbaycanca",
- "english_name": "Azerbaijani"
+ "ia": {
+ "articles": 21225,
+ "english_name": "Interlingua",
+ "name": "Interlingua"
},
- "ie": {
- "articles": 4046,
- "name": "Interlingue",
- "english_name": "Interlingue"
+ "tl": {
+ "articles": 77677,
+ "english_name": "Tagalog",
+ "name": "Tagalog"
},
- "id": {
- "articles": 439613,
- "name": "Bahasa Indonesia",
- "english_name": "Indonesian"
+ "vep": {
+ "articles": 5880,
+ "english_name": "Vepsian",
+ "name": "Vepsän"
},
- "nds-nl": {
- "articles": 8656,
- "name": "Nedersaksisch",
- "english_name": "Dutch Low Saxon"
+ "ne": {
+ "articles": 31633,
+ "english_name": "Nepali",
+ "name": "नेपाली"
},
- "sat": {
- "articles": 378,
- "name": "Santali",
- "english_name": "ᱥᱟᱱᱛᱟᱲᱤ"
+ "cr": {
+ "articles": 103,
+ "english_name": "Cree",
+ "name": "Nehiyaw"
},
- "pap": {
- "articles": 1933,
- "name": "Papiamentu",
- "english_name": "Papiamentu"
+ "gv": {
+ "articles": 4968,
+ "english_name": "Manx",
+ "name": "Gaelg"
},
- "ks": {
- "articles": 323,
- "name": "कश्मीरी / كشميري",
- "english_name": "Kashmiri"
+ "hif": {
+ "articles": 9756,
+ "english_name": "Fiji Hindi",
+ "name": "Fiji Hindi"
},
- "nl": {
- "articles": 1942104,
- "name": "Nederlands",
- "english_name": "Dutch"
+ "ksh": {
+ "articles": 2842,
+ "english_name": "Ripuarian",
+ "name": "Ripoarisch"
},
- "nn": {
- "articles": 139512,
- "name": "Nynorsk",
- "english_name": "Norwegian (Nynorsk)"
+ "jbo": {
+ "articles": 1233,
+ "english_name": "Lojban",
+ "name": "Lojban"
},
- "no": {
- "articles": 494547,
- "name": "Norsk (Bokmål)",
- "english_name": "Norwegian (Bokmål)"
+ "ilo": {
+ "articles": 11592,
+ "english_name": "Ilokano",
+ "name": "Ilokano"
},
- "na": {
- "articles": 1305,
- "name": "dorerin Naoero",
- "english_name": "Nauruan"
+ "ltg": {
+ "articles": 815,
+ "english_name": "Latgalian",
+ "name": "Latgaļu"
},
- "nah": {
- "articles": 6921,
- "name": "Nāhuatl",
- "english_name": "Nahuatl"
+ "dv": {
+ "articles": 3024,
+ "english_name": "Divehi",
+ "name": "ދިވެހިބަސް"
},
- "ne": {
- "articles": 30697,
- "name": "नेपाली",
- "english_name": "Nepali"
+ "vls": {
+ "articles": 6703,
+ "english_name": "West Flemish",
+ "name": "West-Vlams"
},
- "lij": {
- "articles": 3425,
- "name": "Líguru",
- "english_name": "Ligurian"
+ "co": {
+ "articles": 5643,
+ "english_name": "Corsican",
+ "name": "Corsu"
},
- "csb": {
- "articles": 5246,
- "name": "Kaszëbsczi",
- "english_name": "Kashubian"
+ "bat-smg": {
+ "articles": 16427,
+ "english_name": "Samogitian",
+ "name": "Žemaitėška"
},
- "tyv": {
- "articles": 1722,
- "name": "Тыва",
- "english_name": "Tuvan"
+ "zh-min-nan": {
+ "articles": 227702,
+ "english_name": "Min Nan",
+ "name": "Bân-lâm-gú"
},
- "ny": {
- "articles": 426,
- "name": "Chichewa",
- "english_name": "Chichewa"
+ "glk": {
+ "articles": 5666,
+ "english_name": "Gilaki",
+ "name": "گیلکی"
},
- "nap": {
- "articles": 14555,
- "name": "Nnapulitano",
- "english_name": "Neapolitan"
+ "bo": {
+ "articles": 5827,
+ "english_name": "Tibetan",
+ "name": "བོད་སྐད"
},
- "rmy": {
- "articles": 658,
- "name": "romani - रोमानी",
- "english_name": "Romani"
+ "sl": {
+ "articles": 163198,
+ "english_name": "Slovenian",
+ "name": "Slovenščina"
},
- "ig": {
- "articles": 1361,
- "name": "Igbo",
- "english_name": "Igbo"
+ "os": {
+ "articles": 11225,
+ "english_name": "Ossetian",
+ "name": "Иронау"
},
- "pag": {
- "articles": 2609,
- "name": "Pangasinan",
- "english_name": "Pangasinan"
+ "sat": {
+ "articles": 532,
+ "english_name": "Santali",
+ "name": "ᱥᱟᱱᱛᱟᱲᱤ"
},
- "zu": {
- "articles": 1024,
- "name": "isiZulu",
- "english_name": "Zulu"
+ "qu": {
+ "articles": 20900,
+ "english_name": "Quechua",
+ "name": "Runa Simi"
},
- "kw": {
- "articles": 3821,
- "name": "Kernewek/Karnuack",
- "english_name": "Cornish"
+ "za": {
+ "articles": 1867,
+ "english_name": "Zhuang",
+ "name": "Cuengh"
},
- "atj": {
- "articles": 596,
- "name": "Atikamekw",
- "english_name": "Atikamekw"
+ "tcy": {
+ "articles": 994,
+ "english_name": "Tulu",
+ "name": "ತುಳು"
},
- "pam": {
- "articles": 8555,
- "name": "Kapampangan",
- "english_name": "Kapampangan"
+ "ps": {
+ "articles": 9702,
+ "english_name": "Pashto",
+ "name": "پښتو"
},
- "nv": {
- "articles": 6116,
- "name": "Diné bizaad",
- "english_name": "Navajo"
+ "pih": {
+ "articles": 681,
+ "english_name": "Norfolk",
+ "name": "Norfuk"
},
- "sn": {
- "articles": 3945,
- "name": "chiShona",
- "english_name": "Shona"
+ "cbk-zam": {
+ "articles": 3000,
+ "english_name": "Zamboanga Chavacano",
+ "name": "Chavacano de Zamboanga"
},
- "kab": {
- "articles": 2869,
- "name": "Taqbaylit",
- "english_name": "Kabyle"
+ "mdf": {
+ "articles": 1188,
+ "english_name": "Moksha",
+ "name": "Мокшень (Mokshanj Kälj)"
},
- "fr": {
- "articles": 2040551,
- "name": "Français",
- "english_name": "French"
+ "mi": {
+ "articles": 7145,
+ "english_name": "Maori",
+ "name": "Māori"
},
- "mrj": {
- "articles": 10268,
- "name": "Кырык Мары (Kyryk Mary)",
- "english_name": "Hill Mari"
+ "sco": {
+ "articles": 53388,
+ "english_name": "Scots",
+ "name": "Scots"
},
- "zh-yue": {
- "articles": 68440,
- "name": "粵語",
- "english_name": "Cantonese"
+ "dsb": {
+ "articles": 3210,
+ "english_name": "Lower Sorbian",
+ "name": "Dolnoserbski"
},
- "fy": {
- "articles": 40760,
- "name": "Frysk",
- "english_name": "West Frisian"
+ "gag": {
+ "articles": 2763,
+ "english_name": "Gagauz",
+ "name": "Gagauz"
},
- "pnt": {
- "articles": 458,
- "name": "Ποντιακά",
- "english_name": "Pontic"
+ "haw": {
+ "articles": 3234,
+ "english_name": "Hawaiian",
+ "name": "Hawai`i"
},
- "fa": {
- "articles": 641921,
- "name": "فارسی",
- "english_name": "Persian"
+ "rm": {
+ "articles": 3564,
+ "english_name": "Romansh",
+ "name": "Rumantsch"
},
- "rw": {
- "articles": 1823,
- "name": "Ikinyarwanda",
- "english_name": "Kinyarwanda"
+ "bar": {
+ "articles": 27285,
+ "english_name": "Bavarian",
+ "name": "Boarisch"
},
- "ff": {
- "articles": 227,
- "name": "Fulfulde",
- "english_name": "Fula"
+ "kn": {
+ "articles": 24065,
+ "english_name": "Kannada",
+ "name": "ಕನ್ನಡ"
},
- "mai": {
- "articles": 12902,
- "name": "मैथिली",
- "english_name": "Maithili"
+ "olo": {
+ "articles": 2812,
+ "english_name": "Livvi-Karelian",
+ "name": "Karjalan"
},
- "fi": {
- "articles": 444426,
- "name": "Suomi",
- "english_name": "Finnish"
+ "als": {
+ "articles": 25337,
+ "english_name": "Alemannic",
+ "name": "Alemannisch"
},
- "mzn": {
- "articles": 12724,
- "name": "مَزِروني",
- "english_name": "Mazandarani"
+ "kbp": {
+ "articles": 1479,
+ "english_name": "Kabiye",
+ "name": "Kabɩyɛ"
},
- "sa": {
- "articles": 11350,
- "name": "संस्कृतम्",
- "english_name": "Sanskrit"
+ "map-bms": {
+ "articles": 13336,
+ "english_name": "Banyumasan",
+ "name": "Basa Banyumasan"
},
- "zh-classical": {
- "articles": 8200,
- "name": "古文 / 文言文",
- "english_name": "Classical Chinese"
+ "koi": {
+ "articles": 3451,
+ "english_name": "Komi-Permyak",
+ "name": "Перем Коми (Perem Komi)"
},
- "fo": {
- "articles": 12792,
- "name": "Føroyskt",
- "english_name": "Faroese"
+ "pcd": {
+ "articles": 4258,
+ "english_name": "Picard",
+ "name": "Picard"
},
- "bcl": {
- "articles": 8161,
- "name": "Bikol",
- "english_name": "Central Bicolano"
+ "ru": {
+ "articles": 1519724,
+ "english_name": "Russian",
+ "name": "Русский"
},
- "ka": {
- "articles": 124386,
- "name": "ქართული",
- "english_name": "Georgian"
+ "su": {
+ "articles": 39840,
+ "english_name": "Sundanese",
+ "name": "Basa Sunda"
},
- "nov": {
- "articles": 1659,
- "name": "Novial",
- "english_name": "Novial"
+ "lt": {
+ "articles": 193352,
+ "english_name": "Lithuanian",
+ "name": "Lietuvių"
},
- "ckb": {
- "articles": 22151,
- "name": "Soranî / کوردی",
- "english_name": "Sorani"
+ "vi": {
+ "articles": 1198961,
+ "english_name": "Vietnamese",
+ "name": "Tiếng Việt"
},
- "kk": {
- "articles": 222362,
- "name": "Қазақша",
- "english_name": "Kazakh"
+ "ms": {
+ "articles": 323274,
+ "english_name": "Malay",
+ "name": "Bahasa Melayu"
},
- "sr": {
- "articles": 610270,
- "name": "Српски / Srpski",
- "english_name": "Serbian"
+ "my": {
+ "articles": 42128,
+ "english_name": "Burmese",
+ "name": "မြန်မာဘာသာ"
},
- "sq": {
- "articles": 74713,
- "name": "Shqip",
- "english_name": "Albanian"
+ "jv": {
+ "articles": 55104,
+ "english_name": "Javanese",
+ "name": "Basa Jawa"
},
- "min": {
- "articles": 222296,
- "name": "Minangkabau",
- "english_name": "Minangkabau"
+ "war": {
+ "articles": 1263483,
+ "english_name": "Waray-Waray",
+ "name": "Winaray"
},
- "ko": {
- "articles": 427108,
- "name": "한국어",
- "english_name": "Korean"
+ "cu": {
+ "articles": 669,
+ "english_name": "Old Church Slavonic",
+ "name": "Словѣньскъ"
},
- "sv": {
- "articles": 3767201,
- "name": "Svenska",
- "english_name": "Swedish"
+ "ace": {
+ "articles": 7602,
+ "english_name": "Acehnese",
+ "name": "Bahsa Acèh"
},
- "su": {
- "articles": 39667,
- "name": "Basa Sunda",
- "english_name": "Sundanese"
+ "gan": {
+ "articles": 6411,
+ "english_name": "Gan",
+ "name": "贛語"
},
- "kl": {
- "articles": 1658,
- "name": "Kalaallisut",
- "english_name": "Greenlandic"
+ "xh": {
+ "articles": 751,
+ "english_name": "Xhosa",
+ "name": "isiXhosa"
},
- "sk": {
- "articles": 227102,
- "name": "Slovenčina",
- "english_name": "Slovak"
+ "rmy": {
+ "articles": 660,
+ "english_name": "Romani",
+ "name": "romani - रोमानी"
},
- "si": {
- "articles": 14849,
- "name": "සිංහල",
- "english_name": "Sinhalese"
+ "xmf": {
+ "articles": 12678,
+ "english_name": "Mingrelian",
+ "name": "მარგალური (Margaluri)"
},
- "sh": {
- "articles": 445848,
- "name": "Srpskohrvatski / Српскохрватски",
- "english_name": "Serbo-Croatian"
+ "en": {
+ "articles": 5781855,
+ "english_name": "English",
+ "name": "English"
},
- "so": {
- "articles": 5871,
- "name": "Soomaali",
- "english_name": "Somali"
+ "nov": {
+ "articles": 1661,
+ "english_name": "Novial",
+ "name": "Novial"
},
- "kv": {
- "articles": 5301,
- "name": "Коми",
- "english_name": "Komi"
+ "ak": {
+ "articles": 567,
+ "english_name": "Akan",
+ "name": "Akana"
},
- "ku": {
- "articles": 23646,
- "name": "Kurdî / كوردی",
- "english_name": "Kurdish"
+ "fiu-vro": {
+ "articles": 5463,
+ "english_name": "Võro",
+ "name": "Võro"
},
- "sl": {
- "articles": 162300,
- "name": "Slovenščina",
- "english_name": "Slovenian"
+ "mzn": {
+ "articles": 12786,
+ "english_name": "Mazandarani",
+ "name": "مَزِروني"
},
- "sc": {
- "articles": 5886,
- "name": "Sardu",
- "english_name": "Sardinian"
+ "ts": {
+ "articles": 583,
+ "english_name": "Tsonga",
+ "name": "Xitsonga"
},
- "ky": {
- "articles": 79728,
- "name": "Кыргызча",
- "english_name": "Kirghiz"
+ "dz": {
+ "articles": 218,
+ "english_name": "Dzongkha",
+ "name": "ཇོང་ཁ"
},
- "sg": {
- "articles": 255,
- "name": "Sängö",
- "english_name": "Sango"
+ "es": {
+ "articles": 1497393,
+ "english_name": "Spanish",
+ "name": "Español"
},
- "sw": {
- "articles": 45275,
- "name": "Kiswahili",
- "english_name": "Swahili"
+ "gu": {
+ "articles": 28289,
+ "english_name": "Gujarati",
+ "name": "ગુજરાતી"
},
- "se": {
- "articles": 7443,
- "name": "Sámegiella",
- "english_name": "Northern Sami"
+ "br": {
+ "articles": 66053,
+ "english_name": "Breton",
+ "name": "Brezhoneg"
},
"sd": {
- "articles": 10440,
- "name": "سنڌي، سندھی ، सिन्ध",
- "english_name": "Sindhi"
+ "articles": 11114,
+ "english_name": "Sindhi",
+ "name": "سنڌي، سندھی ، सिन्ध"
+ },
+ "nrm": {
+ "articles": 4029,
+ "english_name": "Norman",
+ "name": "Nouormand/Normaund"
+ },
+ "iu": {
+ "articles": 401,
+ "english_name": "Inuktitut",
+ "name": "ᐃᓄᒃᑎᑐᑦ"
+ },
+ "tum": {
+ "articles": 572,
+ "english_name": "Tumbuka",
+ "name": "chiTumbuka"
+ },
+ "chr": {
+ "articles": 855,
+ "english_name": "Cherokee",
+ "name": "ᏣᎳᎩ"
+ },
+ "pa": {
+ "articles": 30886,
+ "english_name": "Punjabi",
+ "name": "ਪੰਜਾਬੀ"
+ },
+ "ext": {
+ "articles": 3020,
+ "english_name": "Extremaduran",
+ "name": "Estremeñu"
}
},
- "bing news": [
- "ar",
- "bg",
- "ca",
- "cs",
- "da",
- "de",
- "el",
- "en",
- "es",
- "et",
- "fa",
- "fi",
- "fr",
- "he",
- "hr",
- "hu",
- "id",
- "is",
- "it",
- "ja",
- "ko",
- "lt",
- "lv",
- "ms",
- "nl",
- "no",
- "pl",
- "pt-BR",
- "pt-PT",
- "ro",
- "ru",
- "sk",
- "sl",
- "sq",
- "sr",
- "sv",
- "th",
- "tr",
- "uk",
- "vi",
- "zh-CHS",
- "zh-CHT"
- ],
- "yahoo news": [
- "ar",
- "bg",
- "cs",
- "da",
- "de",
- "el",
- "en",
- "es",
- "et",
- "fi",
- "fr",
- "he",
- "hr",
- "hu",
- "it",
- "ja",
- "ko",
- "lt",
- "lv",
- "nl",
- "no",
- "pl",
- "pt",
- "ro",
- "ru",
- "sk",
- "sl",
- "sv",
- "th",
- "tr",
- "zh-CHS",
- "zh-CHT"
- ],
- "swisscows": [
- "ar-SA",
- "browser",
- "da-DK",
- "de-AT",
- "de-CH",
- "de-DE",
- "en-AU",
- "en-CA",
- "en-GB",
- "en-IE",
- "en-IN",
- "en-MY",
- "en-NZ",
- "en-PH",
- "en-US",
- "en-ZA",
- "es-AR",
- "es-CL",
- "es-ES",
- "es-MX",
- "es-US",
- "fi-FI",
- "fr-BE",
- "fr-CA",
- "fr-CH",
- "fr-FR",
- "it-IT",
- "ja-JP",
- "ko-KR",
- "lv-LV",
- "nl-BE",
- "nl-NL",
- "no-NO",
- "pl-PL",
- "pt-BR",
- "pt-PT",
- "ru-RU",
- "sv-SE",
- "tr-TR",
- "uk-UA",
- "zh-CN",
- "zh-HK",
- "zh-TW"
- ],
"qwant images": [
"bg-BG",
"br-FR",
@@ -25429,1567 +25850,1609 @@
"th-TH",
"tr-TR"
],
- "wikidata": {
- "gv": {
- "articles": 4966,
- "name": "Gaelg",
- "english_name": "Manx"
+ "google": {
+ "nl": {
+ "name": "Nederlands"
},
- "sco": {
- "articles": 52700,
- "name": "Scots",
- "english_name": "Scots"
+ "eo": {
+ "name": "Esperanto"
},
- "scn": {
- "articles": 26052,
- "name": "Sicilianu",
- "english_name": "Sicilian"
+ "ko": {
+ "name": "한국어"
},
- "wuu": {
- "articles": 12505,
- "name": "吴语",
- "english_name": "Wu"
+ "id": {
+ "name": "Indonesia"
},
- "tcy": {
- "articles": 970,
- "name": "ತುಳು",
- "english_name": "Tulu"
+ "ca": {
+ "name": "Català"
},
- "cdo": {
- "articles": 13994,
- "name": "Mìng-dĕ̤ng-ngṳ̄",
- "english_name": "Min Dong"
+ "ar": {
+ "name": "العربية"
},
- "gu": {
- "articles": 28113,
- "name": "ગુજરાતી",
- "english_name": "Gujarati"
+ "sl": {
+ "name": "Slovenščina"
},
- "kbd": {
- "articles": 1576,
- "name": "Адыгэбзэ (Adighabze)",
- "english_name": "Kabardian Circassian"
+ "sr": {
+ "name": "Српски"
},
- "got": {
- "articles": 577,
- "name": "𐌲𐌿𐍄𐌹𐍃𐌺",
- "english_name": "Gothic"
+ "sv": {
+ "name": "Svenska"
},
- "gd": {
- "articles": 14736,
- "name": "Gàidhlig",
- "english_name": "Scottish Gaelic"
+ "be": {
+ "name": "Беларуская"
},
- "jbo": {
- "articles": 1229,
- "name": "Lojban",
- "english_name": "Lojban"
+ "et": {
+ "name": "Eesti"
},
- "ga": {
- "articles": 48149,
- "name": "Gaeilge",
- "english_name": "Irish"
+ "sw": {
+ "name": "Kiswahili"
},
- "gn": {
- "articles": 3619,
- "name": "Avañe'ẽ",
- "english_name": "Guarani"
+ "is": {
+ "name": "Íslenska"
},
- "kbp": {
- "articles": 1450,
- "name": "Kabɩyɛ",
- "english_name": "Kabiye"
+ "it": {
+ "name": "Italiano"
},
- "gl": {
- "articles": 151099,
- "name": "Galego",
- "english_name": "Galician"
+ "hi": {
+ "name": "हिन्दी"
},
- "als": {
- "articles": 25014,
- "name": "Alemannisch",
- "english_name": "Alemannic"
+ "pl": {
+ "name": "Polski"
},
- "lg": {
- "articles": 1155,
- "name": "Luganda",
- "english_name": "Luganda"
+ "el": {
+ "name": "Ελληνικά"
},
- "hak": {
- "articles": 8843,
- "name": "Hak-kâ-fa / 客家話",
- "english_name": "Hakka"
+ "hu": {
+ "name": "Magyar"
},
- "lb": {
- "articles": 54478,
- "name": "Lëtzebuergesch",
- "english_name": "Luxembourgish"
+ "fr": {
+ "name": "Français"
},
- "szl": {
- "articles": 7513,
- "name": "Ślůnski",
- "english_name": "Silesian"
+ "th": {
+ "name": "ไทย"
},
- "vep": {
- "articles": 5802,
- "name": "Vepsän",
- "english_name": "Vepsian"
+ "tl": {
+ "name": "Filipino"
},
- "la": {
- "articles": 129128,
- "name": "Latina",
- "english_name": "Latin"
+ "de": {
+ "name": "Deutsch"
},
- "ln": {
- "articles": 3046,
- "name": "Lingala",
- "english_name": "Lingala"
+ "ru": {
+ "name": "Русский"
},
- "frp": {
- "articles": 3146,
- "name": "Arpitan",
- "english_name": "Franco-Provençal"
+ "sk": {
+ "name": "Slovenčina"
},
- "tt": {
- "articles": 80846,
- "name": "Tatarça / Татарча",
- "english_name": "Tatar"
+ "lt": {
+ "name": "Lietuvių"
},
- "tr": {
- "articles": 315699,
- "name": "Türkçe",
- "english_name": "Turkish"
+ "vi": {
+ "name": "Tiếng Việt"
},
- "cbk-zam": {
- "articles": 2996,
- "name": "Chavacano de Zamboanga",
- "english_name": "Zamboanga Chavacano"
+ "uk": {
+ "name": "Українська"
},
- "li": {
- "articles": 12244,
- "name": "Limburgs",
- "english_name": "Limburgish"
+ "pt": {
+ "name": "Português"
},
- "lv": {
- "articles": 87649,
- "name": "Latviešu",
- "english_name": "Latvian"
+ "zh-TW": {
+ "name": "中文 (繁體)"
},
- "to": {
- "articles": 1692,
- "name": "faka Tonga",
- "english_name": "Tongan"
+ "cs": {
+ "name": "Čeština"
},
- "tl": {
- "articles": 81327,
- "name": "Tagalog",
- "english_name": "Tagalog"
+ "fa": {
+ "name": "فارسی"
},
- "jam": {
- "articles": 1630,
- "name": "Jumiekan Kryuol",
- "english_name": "Jamaican Patois"
+ "af": {
+ "name": "Afrikaans"
},
- "vec": {
- "articles": 11226,
- "name": "Vèneto",
- "english_name": "Venetian"
+ "hy": {
+ "name": "Հայերեն"
},
- "th": {
- "articles": 126603,
- "name": "ไทย",
- "english_name": "Thai"
+ "bg": {
+ "name": "Български"
},
- "ti": {
- "articles": 168,
- "name": "ትግርኛ",
- "english_name": "Tigrinya"
+ "hr": {
+ "name": "Hrvatski"
},
- "tg": {
- "articles": 95443,
- "name": "Тоҷикӣ",
- "english_name": "Tajik"
+ "en": {
+ "name": "English"
},
- "te": {
- "articles": 69303,
- "name": "తెలుగు",
- "english_name": "Telugu"
+ "tr": {
+ "name": "Türkçe"
},
- "ksh": {
- "articles": 2840,
- "name": "Ripoarisch",
- "english_name": "Ripuarian"
+ "lv": {
+ "name": "Latviešu"
},
- "pcd": {
- "articles": 3775,
- "name": "Picard",
- "english_name": "Picard"
+ "ro": {
+ "name": "Română"
},
- "ta": {
- "articles": 117845,
- "name": "தமிழ்",
- "english_name": "Tamil"
+ "zh-CN": {
+ "name": "中文 (简体)"
},
- "yi": {
- "articles": 14493,
- "name": "ייִדיש",
- "english_name": "Yiddish"
+ "ja": {
+ "name": "日本語"
},
- "lrc": {
- "articles": 5368,
- "name": "لۊری شومالی",
- "english_name": "Northern Luri"
+ "iw": {
+ "name": "עברית"
},
- "xmf": {
- "articles": 12602,
- "name": "მარგალური (Margaluri)",
- "english_name": "Mingrelian"
+ "es": {
+ "name": "Español"
+ },
+ "fi": {
+ "name": "Suomi"
+ },
+ "no": {
+ "name": "Norsk"
+ },
+ "da": {
+ "name": "Dansk"
+ }
+ },
+ "wikidata": {
+ "nl": {
+ "articles": 1954031,
+ "english_name": "Dutch",
+ "name": "Nederlands"
},
"ceb": {
- "articles": 5380865,
- "name": "Sinugboanong Binisaya",
- "english_name": "Cebuano"
+ "articles": 5376890,
+ "english_name": "Cebuano",
+ "name": "Sinugboanong Binisaya"
},
- "yo": {
- "articles": 31717,
- "name": "Yorùbá",
- "english_name": "Yoruba"
+ "jam": {
+ "articles": 1632,
+ "english_name": "Jamaican Patois",
+ "name": "Jumiekan Kryuol"
},
- "de": {
- "articles": 2220065,
- "name": "Deutsch",
- "english_name": "German"
+ "crh": {
+ "articles": 6172,
+ "english_name": "Crimean Tatar",
+ "name": "Qırımtatarca"
},
- "da": {
- "articles": 239987,
- "name": "Dansk",
- "english_name": "Danish"
+ "st": {
+ "articles": 544,
+ "english_name": "Sesotho",
+ "name": "Sesotho"
},
- "za": {
- "articles": 1868,
- "name": "Cuengh",
- "english_name": "Zhuang"
+ "id": {
+ "articles": 449446,
+ "english_name": "Indonesian",
+ "name": "Bahasa Indonesia"
},
- "pdc": {
- "articles": 1845,
- "name": "Deitsch",
- "english_name": "Pennsylvania German"
+ "szl": {
+ "articles": 7812,
+ "english_name": "Silesian",
+ "name": "Ślůnski"
},
- "bxr": {
- "articles": 2093,
- "name": "Буряад",
- "english_name": "Buryat"
+ "zh-yue": {
+ "articles": 70490,
+ "english_name": "Cantonese",
+ "name": "粵語"
},
- "dz": {
- "articles": 219,
- "name": "ཇོང་ཁ",
- "english_name": "Dzongkha"
+ "ca": {
+ "articles": 599790,
+ "english_name": "Catalan",
+ "name": "Català"
},
- "hif": {
- "articles": 9761,
- "name": "Fiji Hindi",
- "english_name": "Fiji Hindi"
+ "ab": {
+ "articles": 3452,
+ "english_name": "Abkhazian",
+ "name": "Аҧсуа"
},
- "rm": {
- "articles": 3543,
- "name": "Rumantsch",
- "english_name": "Romansh"
+ "lad": {
+ "articles": 3828,
+ "english_name": "Ladino",
+ "name": "Dzhudezmo"
},
- "dv": {
- "articles": 3022,
- "name": "ދިވެހިބަސް",
- "english_name": "Divehi"
+ "rue": {
+ "articles": 6891,
+ "english_name": "Rusyn",
+ "name": "Русиньскый"
},
- "qu": {
- "articles": 20755,
- "name": "Runa Simi",
- "english_name": "Quechua"
+ "om": {
+ "articles": 775,
+ "english_name": "Oromo",
+ "name": "Oromoo"
},
- "vls": {
- "articles": 6536,
- "name": "West-Vlams",
- "english_name": "West Flemish"
+ "azb": {
+ "articles": 118928,
+ "english_name": "South Azerbaijani",
+ "name": "تۆرکجه"
},
- "bar": {
- "articles": 26645,
- "name": "Boarisch",
- "english_name": "Bavarian"
+ "sr": {
+ "articles": 614180,
+ "english_name": "Serbian",
+ "name": "Српски / Srpski"
},
- "ang": {
- "articles": 3039,
- "name": "Englisc",
- "english_name": "Anglo-Saxon"
+ "tg": {
+ "articles": 96078,
+ "english_name": "Tajik",
+ "name": "Тоҷикӣ"
},
- "eml": {
- "articles": 11187,
- "name": "Emiliàn e rumagnòl",
- "english_name": "Emilian-Romagnol"
+ "ee": {
+ "articles": 350,
+ "english_name": "Ewe",
+ "name": "Eʋegbe"
},
- "kn": {
- "articles": 23709,
- "name": "ಕನ್ನಡ",
- "english_name": "Kannada"
+ "hsb": {
+ "articles": 13357,
+ "english_name": "Upper Sorbian",
+ "name": "Hornjoserbsce"
},
- "fiu-vro": {
- "articles": 5448,
- "name": "Võro",
- "english_name": "Võro"
+ "pag": {
+ "articles": 2521,
+ "english_name": "Pangasinan",
+ "name": "Pangasinan"
},
- "bpy": {
- "articles": 25080,
- "name": "ইমার ঠার/বিষ্ণুপ্রিয়া মণিপুরী",
- "english_name": "Bishnupriya Manipuri"
+ "tyv": {
+ "articles": 1738,
+ "english_name": "Tuvan",
+ "name": "Тыва"
},
- "crh": {
- "articles": 5977,
- "name": "Qırımtatarca",
- "english_name": "Crimean Tatar"
+ "got": {
+ "articles": 588,
+ "english_name": "Gothic",
+ "name": "𐌲𐌿𐍄𐌹𐍃𐌺"
},
- "mhr": {
- "articles": 10025,
- "name": "Олык Марий (Olyk Marij)",
- "english_name": "Meadow Mari"
+ "ss": {
+ "articles": 450,
+ "english_name": "Swati",
+ "name": "SiSwati"
},
- "diq": {
- "articles": 9036,
- "name": "Zazaki",
- "english_name": "Zazaki"
+ "stq": {
+ "articles": 3998,
+ "english_name": "Saterland Frisian",
+ "name": "Seeltersk"
},
- "el": {
- "articles": 152453,
- "name": "Ελληνικά",
- "english_name": "Greek"
+ "is": {
+ "articles": 46096,
+ "english_name": "Icelandic",
+ "name": "Íslenska"
},
- "eo": {
- "articles": 249972,
- "name": "Esperanto",
- "english_name": "Esperanto"
+ "az": {
+ "articles": 141672,
+ "english_name": "Azerbaijani",
+ "name": "Azərbaycanca"
},
- "en": {
- "articles": 5717839,
- "name": "English",
- "english_name": "English"
+ "vec": {
+ "articles": 11266,
+ "english_name": "Venetian",
+ "name": "Vèneto"
},
- "zh": {
- "articles": 1022608,
- "name": "中文",
- "english_name": "Chinese"
+ "na": {
+ "articles": 1305,
+ "english_name": "Nauruan",
+ "name": "dorerin Naoero"
},
- "pms": {
- "articles": 64375,
- "name": "Piemontèis",
- "english_name": "Piedmontese"
+ "an": {
+ "articles": 34148,
+ "english_name": "Aragonese",
+ "name": "Aragonés"
},
- "ee": {
- "articles": 345,
- "name": "Eʋegbe",
- "english_name": "Ewe"
+ "tk": {
+ "articles": 5514,
+ "english_name": "Turkmen",
+ "name": "Türkmen"
},
- "tpi": {
- "articles": 1481,
- "name": "Tok Pisin",
- "english_name": "Tok Pisin"
+ "zea": {
+ "articles": 4580,
+ "english_name": "Zeelandic",
+ "name": "Zeêuws"
},
- "arz": {
- "articles": 19444,
- "name": "مصرى (Maṣri)",
- "english_name": "Egyptian Arabic"
+ "la": {
+ "articles": 129779,
+ "english_name": "Latin",
+ "name": "Latina"
},
- "lfn": {
- "articles": 2868,
- "name": "Lingua franca nova",
- "english_name": "Lingua Franca Nova"
+ "kv": {
+ "articles": 5308,
+ "english_name": "Komi",
+ "name": "Коми"
},
- "mdf": {
- "articles": 1185,
- "name": "Мокшень (Mokshanj Kälj)",
- "english_name": "Moksha"
+ "vo": {
+ "articles": 122174,
+ "english_name": "Volapük",
+ "name": "Volapük"
},
- "kaa": {
- "articles": 1908,
- "name": "Qaraqalpaqsha",
- "english_name": "Karakalpak"
+ "el": {
+ "articles": 157114,
+ "english_name": "Greek",
+ "name": "Ελληνικά"
},
- "olo": {
- "articles": 2700,
- "name": "Karjalan",
- "english_name": "Livvi-Karelian"
+ "hu": {
+ "articles": 442291,
+ "english_name": "Hungarian",
+ "name": "Magyar"
},
- "arc": {
- "articles": 1628,
- "name": "ܐܪܡܝܐ",
- "english_name": "Aramaic"
+ "bi": {
+ "articles": 1179,
+ "english_name": "Bislama",
+ "name": "Bislama"
},
- "cr": {
- "articles": 104,
- "name": "Nehiyaw",
- "english_name": "Cree"
+ "fr": {
+ "articles": 2070378,
+ "english_name": "French",
+ "name": "Français"
},
- "eu": {
- "articles": 304835,
- "name": "Euskara",
- "english_name": "Basque"
+ "th": {
+ "articles": 128977,
+ "english_name": "Thai",
+ "name": "ไทย"
},
- "et": {
- "articles": 180987,
- "name": "Eesti",
- "english_name": "Estonian"
+ "zh": {
+ "articles": 1038913,
+ "english_name": "Chinese",
+ "name": "中文"
},
- "tet": {
- "articles": 1431,
- "name": "Tetun",
- "english_name": "Tetum"
+ "de": {
+ "articles": 2256718,
+ "english_name": "German",
+ "name": "Deutsch"
},
- "es": {
- "articles": 1474724,
- "name": "Español",
- "english_name": "Spanish"
+ "pms": {
+ "articles": 64391,
+ "english_name": "Piedmontese",
+ "name": "Piemontèis"
},
- "ba": {
- "articles": 43988,
- "name": "Башҡорт",
- "english_name": "Bashkir"
+ "gn": {
+ "articles": 3637,
+ "english_name": "Guarani",
+ "name": "Avañe'ẽ"
},
- "gom": {
- "articles": 3514,
- "name": "गोंयची कोंकणी / Gõychi Konknni",
- "english_name": "Goan Konkani"
+ "lo": {
+ "articles": 3101,
+ "english_name": "Lao",
+ "name": "ລາວ"
},
- "ru": {
- "articles": 1497272,
- "name": "Русский",
- "english_name": "Russian"
+ "bxr": {
+ "articles": 2124,
+ "english_name": "Buryat",
+ "name": "Буряад"
},
- "roa-tara": {
- "articles": 9242,
- "name": "Tarandíne",
- "english_name": "Tarantino"
+ "ast": {
+ "articles": 99530,
+ "english_name": "Asturian",
+ "name": "Asturianu"
},
- "ha": {
- "articles": 1913,
- "name": "هَوُسَ",
- "english_name": "Hausa"
+ "wo": {
+ "articles": 1177,
+ "english_name": "Wolof",
+ "name": "Wolof"
},
- "ak": {
- "articles": 561,
- "name": "Akana",
- "english_name": "Akan"
+ "pap": {
+ "articles": 1953,
+ "english_name": "Papiamentu",
+ "name": "Papiamentu"
},
- "lad": {
- "articles": 3805,
- "name": "Dzhudezmo",
- "english_name": "Ladino"
+ "fa": {
+ "articles": 655431,
+ "english_name": "Persian",
+ "name": "فارسی"
},
- "new": {
- "articles": 72159,
- "name": "नेपाल भाषा",
- "english_name": "Newar"
+ "roa-tara": {
+ "articles": 9243,
+ "english_name": "Tarantino",
+ "name": "Tarandíne"
},
- "rn": {
- "articles": 611,
- "name": "Kirundi",
- "english_name": "Kirundi"
+ "af": {
+ "articles": 68807,
+ "english_name": "Afrikaans",
+ "name": "Afrikaans"
},
- "ro": {
- "articles": 388471,
- "name": "Română",
- "english_name": "Romanian"
+ "lbe": {
+ "articles": 1216,
+ "english_name": "Lak",
+ "name": "Лакку"
},
- "dsb": {
- "articles": 3189,
- "name": "Dolnoserbski",
- "english_name": "Lower Sorbian"
+ "frp": {
+ "articles": 3254,
+ "english_name": "Franco-Provençal",
+ "name": "Arpitan"
},
- "bn": {
- "articles": 60805,
- "name": "বাংলা",
- "english_name": "Bengali"
+ "mt": {
+ "articles": 3336,
+ "english_name": "Maltese",
+ "name": "Malti"
},
- "gor": {
- "articles": 1776,
- "name": "Hulontalo",
- "english_name": "Gorontalo"
+ "bcl": {
+ "articles": 8664,
+ "english_name": "Central Bicolano",
+ "name": "Bikol"
},
- "hsb": {
- "articles": 13181,
- "name": "Hornjoserbsce",
- "english_name": "Upper Sorbian"
+ "bh": {
+ "articles": 6686,
+ "english_name": "Bihari",
+ "name": "भोजपुरी"
},
- "be": {
- "articles": 157264,
- "name": "Беларуская",
- "english_name": "Belarusian"
+ "csb": {
+ "articles": 5258,
+ "english_name": "Kashubian",
+ "name": "Kaszëbsczi"
},
- "bg": {
- "articles": 245706,
- "name": "Български",
- "english_name": "Bulgarian"
+ "scn": {
+ "articles": 26060,
+ "english_name": "Sicilian",
+ "name": "Sicilianu"
},
- "myv": {
- "articles": 5353,
- "name": "Эрзянь (Erzjanj Kelj)",
- "english_name": "Erzya"
+ "sw": {
+ "articles": 47744,
+ "english_name": "Swahili",
+ "name": "Kiswahili"
},
- "uk": {
- "articles": 816473,
- "name": "Українська",
- "english_name": "Ukrainian"
+ "kw": {
+ "articles": 3839,
+ "english_name": "Cornish",
+ "name": "Kernewek/Karnuack"
+ },
+ "lrc": {
+ "articles": 5357,
+ "english_name": "Northern Luri",
+ "name": "لۊری شومالی"
},
"wa": {
- "articles": 14717,
- "name": "Walon",
- "english_name": "Walloon"
+ "articles": 14790,
+ "english_name": "Walloon",
+ "name": "Walon"
},
- "ast": {
- "articles": 86717,
- "name": "Asturianu",
- "english_name": "Asturian"
+ "arz": {
+ "articles": 20166,
+ "english_name": "Egyptian Arabic",
+ "name": "مصرى (Maṣri)"
},
- "wo": {
- "articles": 1170,
- "name": "Wolof",
- "english_name": "Wolof"
+ "pfl": {
+ "articles": 2502,
+ "english_name": "Palatinate German",
+ "name": "Pälzisch"
},
- "bm": {
- "articles": 646,
- "name": "Bamanankan",
- "english_name": "Bambara"
+ "tt": {
+ "articles": 82594,
+ "english_name": "Tatar",
+ "name": "Tatarça / Татарча"
},
- "jv": {
- "articles": 54946,
- "name": "Basa Jawa",
- "english_name": "Javanese"
+ "ks": {
+ "articles": 324,
+ "english_name": "Kashmiri",
+ "name": "कश्मीरी / كشميري"
},
- "bo": {
- "articles": 5822,
- "name": "བོད་སྐད",
- "english_name": "Tibetan"
+ "srn": {
+ "articles": 1061,
+ "english_name": "Sranan",
+ "name": "Sranantongo"
},
- "bh": {
- "articles": 7671,
- "name": "भोजपुरी",
- "english_name": "Bihari"
+ "lfn": {
+ "articles": 3083,
+ "english_name": "Lingua Franca Nova",
+ "name": "Lingua franca nova"
},
- "bi": {
- "articles": 1176,
- "name": "Bislama",
- "english_name": "Bislama"
+ "kbd": {
+ "articles": 1578,
+ "english_name": "Kabardian Circassian",
+ "name": "Адыгэбзэ (Adighabze)"
},
- "rue": {
- "articles": 6698,
- "name": "Русиньскый",
- "english_name": "Rusyn"
+ "simple": {
+ "articles": 141947,
+ "english_name": "Simple English",
+ "name": "Simple English"
},
- "map-bms": {
- "articles": 13333,
- "name": "Basa Banyumasan",
- "english_name": "Banyumasan"
+ "sc": {
+ "articles": 5907,
+ "english_name": "Sardinian",
+ "name": "Sardu"
},
- "tum": {
- "articles": 572,
- "name": "chiTumbuka",
- "english_name": "Tumbuka"
+ "ta": {
+ "articles": 119140,
+ "english_name": "Tamil",
+ "name": "தமிழ்"
},
- "br": {
- "articles": 65468,
- "name": "Brezhoneg",
- "english_name": "Breton"
+ "lg": {
+ "articles": 1155,
+ "english_name": "Luganda",
+ "name": "Luganda"
},
- "bs": {
- "articles": 78388,
- "name": "Bosanski",
- "english_name": "Bosnian"
+ "ckb": {
+ "articles": 22870,
+ "english_name": "Sorani",
+ "name": "Soranî / کوردی"
},
- "lez": {
- "articles": 3954,
- "name": "Лезги чІал (Lezgi č’al)",
- "english_name": "Lezgian"
+ "ht": {
+ "articles": 54219,
+ "english_name": "Haitian",
+ "name": "Krèyol ayisyen"
},
- "ja": {
- "articles": 1121035,
- "name": "日本語",
- "english_name": "Japanese"
+ "ve": {
+ "articles": 265,
+ "english_name": "Venda",
+ "name": "Tshivenda"
},
- "om": {
- "articles": 772,
- "name": "Oromoo",
- "english_name": "Oromo"
+ "nds": {
+ "articles": 41178,
+ "english_name": "Low Saxon",
+ "name": "Plattdüütsch"
},
- "glk": {
- "articles": 5656,
- "name": "گیلکی",
- "english_name": "Gilaki"
+ "km": {
+ "articles": 7105,
+ "english_name": "Khmer",
+ "name": "ភាសាខ្មែរ"
},
- "ace": {
- "articles": 7451,
- "name": "Bahsa Acèh",
- "english_name": "Acehnese"
+ "ay": {
+ "articles": 4402,
+ "english_name": "Aymara",
+ "name": "Aymar"
},
- "ilo": {
- "articles": 11422,
- "name": "Ilokano",
- "english_name": "Ilokano"
+ "mg": {
+ "articles": 90635,
+ "english_name": "Malagasy",
+ "name": "Malagasy"
},
- "roa-rup": {
- "articles": 1212,
- "name": "Armãneashce",
- "english_name": "Aromanian"
+ "frr": {
+ "articles": 8460,
+ "english_name": "North Frisian",
+ "name": "Nordfriisk"
},
- "oc": {
- "articles": 84869,
- "name": "Occitan",
- "english_name": "Occitan"
+ "zh-classical": {
+ "articles": 8663,
+ "english_name": "Classical Chinese",
+ "name": "古文 / 文言文"
},
- "ltg": {
- "articles": 807,
- "name": "Latgaļu",
- "english_name": "Latgalian"
+ "ny": {
+ "articles": 487,
+ "english_name": "Chichewa",
+ "name": "Chichewa"
},
- "be-tarask": {
- "articles": 64277,
- "name": "Беларуская (тарашкевіца)",
- "english_name": "Belarusian (Taraškievica)"
+ "eo": {
+ "articles": 253490,
+ "english_name": "Esperanto",
+ "name": "Esperanto"
},
- "st": {
- "articles": 543,
- "name": "Sesotho",
- "english_name": "Sesotho"
+ "dty": {
+ "articles": 2967,
+ "english_name": "Doteli",
+ "name": "डोटेली"
},
- "lo": {
- "articles": 2952,
- "name": "ລາວ",
- "english_name": "Lao"
+ "ki": {
+ "articles": 1358,
+ "english_name": "Kikuyu",
+ "name": "Gĩkũyũ"
},
- "krc": {
- "articles": 2027,
- "name": "Къарачай-Малкъар (Qarachay-Malqar)",
- "english_name": "Karachay-Balkar"
+ "ko": {
+ "articles": 438644,
+ "english_name": "Korean",
+ "name": "한국어"
},
- "nds": {
- "articles": 31150,
- "name": "Plattdüütsch",
- "english_name": "Low Saxon"
+ "ig": {
+ "articles": 1376,
+ "english_name": "Igbo",
+ "name": "Igbo"
},
- "os": {
- "articles": 11084,
- "name": "Иронау",
- "english_name": "Ossetian"
+ "sah": {
+ "articles": 11943,
+ "english_name": "Sakha",
+ "name": "Саха тыла (Saxa Tyla)"
},
- "or": {
- "articles": 14248,
- "name": "ଓଡ଼ିଆ",
- "english_name": "Oriya"
+ "ar": {
+ "articles": 656175,
+ "english_name": "Arabic",
+ "name": "العربية"
},
- "udm": {
- "articles": 4508,
- "name": "Удмурт кыл",
- "english_name": "Udmurt"
+ "mk": {
+ "articles": 98050,
+ "english_name": "Macedonian",
+ "name": "Македонски"
},
- "xh": {
- "articles": 748,
- "name": "isiXhosa",
- "english_name": "Xhosa"
+ "ff": {
+ "articles": 228,
+ "english_name": "Fula",
+ "name": "Fulfulde"
},
- "ch": {
- "articles": 472,
- "name": "Chamoru",
- "english_name": "Chamorro"
+ "he": {
+ "articles": 236237,
+ "english_name": "Hebrew",
+ "name": "עברית"
},
- "co": {
- "articles": 5567,
- "name": "Corsu",
- "english_name": "Corsican"
+ "inh": {
+ "articles": 791,
+ "english_name": "Ingush",
+ "name": "Гӏалгӏай"
},
- "nso": {
- "articles": 8089,
- "name": "Sepedi",
- "english_name": "Northern Sotho"
+ "av": {
+ "articles": 2309,
+ "english_name": "Avar",
+ "name": "Авар"
},
- "simple": {
- "articles": 138362,
- "name": "Simple English",
- "english_name": "Simple English"
+ "mai": {
+ "articles": 13164,
+ "english_name": "Maithili",
+ "name": "मैथिली"
},
- "bjn": {
- "articles": 1853,
- "name": "Bahasa Banjar",
- "english_name": "Banjar"
+ "zu": {
+ "articles": 1050,
+ "english_name": "Zulu",
+ "name": "isiZulu"
},
- "ca": {
- "articles": 589895,
- "name": "Català",
- "english_name": "Catalan"
+ "eml": {
+ "articles": 11866,
+ "english_name": "Emilian-Romagnol",
+ "name": "Emiliàn e rumagnòl"
+ },
+ "ti": {
+ "articles": 168,
+ "english_name": "Tigrinya",
+ "name": "ትግርኛ"
},
"lmo": {
- "articles": 37698,
- "name": "Lumbaart",
- "english_name": "Lombard"
+ "articles": 38071,
+ "english_name": "Lombard",
+ "name": "Lumbaart"
},
- "ce": {
- "articles": 208693,
- "name": "Нохчийн",
- "english_name": "Chechen"
+ "et": {
+ "articles": 185271,
+ "english_name": "Estonian",
+ "name": "Eesti"
},
- "ts": {
- "articles": 566,
- "name": "Xitsonga",
- "english_name": "Tsonga"
+ "myv": {
+ "articles": 5415,
+ "english_name": "Erzya",
+ "name": "Эрзянь (Erzjanj Kelj)"
},
- "cy": {
- "articles": 101280,
- "name": "Cymraeg",
- "english_name": "Welsh"
+ "si": {
+ "articles": 14918,
+ "english_name": "Sinhalese",
+ "name": "සිංහල"
},
- "ab": {
- "articles": 3427,
- "name": "Аҧсуа",
- "english_name": "Abkhazian"
+ "ln": {
+ "articles": 3049,
+ "english_name": "Lingala",
+ "name": "Lingala"
},
- "cs": {
- "articles": 412770,
- "name": "Čeština",
- "english_name": "Czech"
+ "shn": {
+ "articles": 3239,
+ "english_name": "ၽႃႇသႃႇတႆး ",
+ "name": "Shan"
},
- "ty": {
- "articles": 1195,
- "name": "Reo Mā`ohi",
- "english_name": "Tahitian"
+ "sh": {
+ "articles": 447497,
+ "english_name": "Serbo-Croatian",
+ "name": "Srpskohrvatski / Српскохрватски"
},
- "ady": {
- "articles": 408,
- "name": "Адыгэбзэ",
- "english_name": "Adyghe"
+ "it": {
+ "articles": 1491690,
+ "english_name": "Italian",
+ "name": "Italiano"
},
- "cv": {
- "articles": 41433,
- "name": "Чăваш",
- "english_name": "Chuvash"
+ "pam": {
+ "articles": 8825,
+ "english_name": "Kapampangan",
+ "name": "Kapampangan"
},
- "cu": {
- "articles": 660,
- "name": "Словѣньскъ",
- "english_name": "Old Church Slavonic"
+ "fy": {
+ "articles": 41308,
+ "english_name": "West Frisian",
+ "name": "Frysk"
},
- "ve": {
- "articles": 267,
- "name": "Tshivenda",
- "english_name": "Venda"
+ "ha": {
+ "articles": 2740,
+ "english_name": "Hausa",
+ "name": "Hausa / هَوُسَ"
},
- "koi": {
- "articles": 3449,
- "name": "Перем Коми (Perem Komi)",
- "english_name": "Komi-Permyak"
+ "diq": {
+ "articles": 9107,
+ "english_name": "Zazaki",
+ "name": "Zazaki"
},
- "ps": {
- "articles": 9106,
- "name": "پښتو",
- "english_name": "Pashto"
+ "ty": {
+ "articles": 1199,
+ "english_name": "Tahitian",
+ "name": "Reo Mā`ohi"
},
- "fj": {
- "articles": 424,
- "name": "Na Vosa Vakaviti",
- "english_name": "Fijian"
+ "sa": {
+ "articles": 11357,
+ "english_name": "Sanskrit",
+ "name": "संस्कृतम्"
},
- "srn": {
- "articles": 1059,
- "name": "Sranantongo",
- "english_name": "Sranan"
+ "ku": {
+ "articles": 24022,
+ "english_name": "Kurdish",
+ "name": "Kurdî / كوردی"
},
- "pt": {
- "articles": 1005169,
- "name": "Português",
- "english_name": "Portuguese"
+ "io": {
+ "articles": 28134,
+ "english_name": "Ido",
+ "name": "Ido"
},
- "sm": {
- "articles": 799,
- "name": "Gagana Samoa",
- "english_name": "Samoan"
+ "bjn": {
+ "articles": 1918,
+ "english_name": "Banjar",
+ "name": "Bahasa Banjar"
},
- "ext": {
- "articles": 3013,
- "name": "Estremeñu",
- "english_name": "Extremaduran"
+ "mwl": {
+ "articles": 3674,
+ "english_name": "Mirandese",
+ "name": "Mirandés"
},
- "lt": {
- "articles": 189496,
- "name": "Lietuvių",
- "english_name": "Lithuanian"
+ "se": {
+ "articles": 7464,
+ "english_name": "Northern Sami",
+ "name": "Sámegiella"
},
- "zh-min-nan": {
- "articles": 227444,
- "name": "Bân-lâm-gú",
- "english_name": "Min Nan"
+ "tet": {
+ "articles": 1440,
+ "english_name": "Tetum",
+ "name": "Tetun"
},
- "frr": {
- "articles": 7705,
- "name": "Nordfriisk",
- "english_name": "North Frisian"
+ "gom": {
+ "articles": 3598,
+ "english_name": "Goan Konkani",
+ "name": "गोंयची कोंकणी / Gõychi Konknni"
},
- "chr": {
- "articles": 854,
- "name": "ᏣᎳᎩ",
- "english_name": "Cherokee"
+ "lij": {
+ "articles": 3456,
+ "english_name": "Ligurian",
+ "name": "Líguru"
},
- "pa": {
- "articles": 30223,
- "name": "ਪੰਜਾਬੀ",
- "english_name": "Punjabi"
+ "ga": {
+ "articles": 49639,
+ "english_name": "Irish",
+ "name": "Gaeilge"
},
- "xal": {
- "articles": 2036,
- "name": "Хальмг",
- "english_name": "Kalmyk"
+ "roa-rup": {
+ "articles": 1216,
+ "english_name": "Aromanian",
+ "name": "Armãneashce"
},
- "chy": {
+ "pdc": {
+ "articles": 1858,
+ "english_name": "Pennsylvania German",
+ "name": "Deitsch"
+ },
+ "cs": {
+ "articles": 419392,
+ "english_name": "Czech",
+ "name": "Čeština"
+ },
+ "uz": {
+ "articles": 130227,
+ "english_name": "Uzbek",
+ "name": "O‘zbek"
+ },
+ "ch": {
+ "articles": 472,
+ "english_name": "Chamorro",
+ "name": "Chamoru"
+ },
+ "rn": {
"articles": 609,
- "name": "Tsetsêhestâhese",
- "english_name": "Cheyenne"
+ "english_name": "Kirundi",
+ "name": "Kirundi"
+ },
+ "or": {
+ "articles": 14550,
+ "english_name": "Oriya",
+ "name": "ଓଡ଼ିଆ"
+ },
+ "gl": {
+ "articles": 153607,
+ "english_name": "Galician",
+ "name": "Galego"
+ },
+ "atj": {
+ "articles": 626,
+ "english_name": "Atikamekw",
+ "name": "Atikamekw"
},
"pi": {
- "articles": 2530,
- "name": "पाऴि",
- "english_name": "Pali"
+ "articles": 2535,
+ "english_name": "Pali",
+ "name": "पाऴि"
},
- "war": {
- "articles": 1263242,
- "name": "Winaray",
- "english_name": "Waray-Waray"
+ "fur": {
+ "articles": 3289,
+ "english_name": "Friulian",
+ "name": "Furlan"
},
- "pl": {
- "articles": 1300041,
- "name": "Polski",
- "english_name": "Polish"
+ "li": {
+ "articles": 12316,
+ "english_name": "Limburgish",
+ "name": "Limburgs"
},
- "tk": {
- "articles": 5491,
- "name": "Türkmen",
- "english_name": "Turkmen"
+ "yi": {
+ "articles": 14571,
+ "english_name": "Yiddish",
+ "name": "ייִדיש"
},
- "hy": {
- "articles": 245745,
- "name": "Հայերեն",
- "english_name": "Armenian"
+ "lv": {
+ "articles": 90266,
+ "english_name": "Latvian",
+ "name": "Latviešu"
},
- "an": {
- "articles": 33544,
- "name": "Aragonés",
- "english_name": "Aragonese"
+ "ro": {
+ "articles": 390804,
+ "english_name": "Romanian",
+ "name": "Română"
},
- "nrm": {
- "articles": 4003,
- "name": "Nouormand/Normaund",
- "english_name": "Norman"
+ "bm": {
+ "articles": 651,
+ "english_name": "Bambara",
+ "name": "Bamanankan"
},
- "hr": {
- "articles": 198726,
- "name": "Hrvatski",
- "english_name": "Croatian"
+ "ja": {
+ "articles": 1134685,
+ "english_name": "Japanese",
+ "name": "日本語"
},
- "iu": {
- "articles": 402,
- "name": "ᐃᓄᒃᑎᑐᑦ",
- "english_name": "Inuktitut"
+ "cy": {
+ "articles": 102137,
+ "english_name": "Welsh",
+ "name": "Cymraeg"
},
- "pfl": {
- "articles": 2259,
- "name": "Pälzisch",
- "english_name": "Palatinate German"
+ "wuu": {
+ "articles": 16289,
+ "english_name": "Wu",
+ "name": "吴语"
},
- "ht": {
- "articles": 53067,
- "name": "Krèyol ayisyen",
- "english_name": "Haitian"
+ "cv": {
+ "articles": 41622,
+ "english_name": "Chuvash",
+ "name": "Чăваш"
},
- "hu": {
- "articles": 436930,
- "name": "Magyar",
- "english_name": "Hungarian"
+ "ady": {
+ "articles": 411,
+ "english_name": "Adyghe",
+ "name": "Адыгэбзэ"
},
- "gan": {
- "articles": 6405,
- "name": "贛語",
- "english_name": "Gan"
+ "min": {
+ "articles": 222492,
+ "english_name": "Minangkabau",
+ "name": "Minangkabau"
},
- "bat-smg": {
- "articles": 16307,
- "name": "Žemaitėška",
- "english_name": "Samogitian"
+ "be-tarask": {
+ "articles": 65655,
+ "english_name": "Belarusian (Taraškievica)",
+ "name": "Беларуская (тарашкевіца)"
},
- "hi": {
- "articles": 126671,
- "name": "हिन्दी",
- "english_name": "Hindi"
+ "kl": {
+ "articles": 1663,
+ "english_name": "Greenlandic",
+ "name": "Kalaallisut"
},
- "tw": {
- "articles": 650,
- "name": "Twi",
- "english_name": "Twi"
+ "am": {
+ "articles": 14482,
+ "english_name": "Amharic",
+ "name": "አማርኛ"
},
- "gag": {
- "articles": 2760,
- "name": "Gagauz",
- "english_name": "Gagauz"
+ "ie": {
+ "articles": 4303,
+ "english_name": "Interlingue",
+ "name": "Interlingue"
},
- "kg": {
- "articles": 1181,
- "name": "KiKongo",
- "english_name": "Kongo"
+ "sn": {
+ "articles": 4227,
+ "english_name": "Shona",
+ "name": "chiShona"
},
"pnb": {
- "articles": 46645,
- "name": "شاہ مکھی پنجابی (Shāhmukhī Pañjābī)",
- "english_name": "Western Punjabi"
+ "articles": 47107,
+ "english_name": "Western Punjabi",
+ "name": "شاہ مکھی پنجابی (Shāhmukhī Pañjābī)"
},
- "bug": {
- "articles": 14117,
- "name": "Basa Ugi",
- "english_name": "Buginese"
+ "sm": {
+ "articles": 801,
+ "english_name": "Samoan",
+ "name": "Gagana Samoa"
},
- "he": {
- "articles": 230405,
- "name": "עברית",
- "english_name": "Hebrew"
+ "hak": {
+ "articles": 8894,
+ "english_name": "Hakka",
+ "name": "Hak-kâ-fa / 客家話"
},
- "mg": {
- "articles": 85263,
- "name": "Malagasy",
- "english_name": "Malagasy"
+ "nso": {
+ "articles": 8094,
+ "english_name": "Northern Sotho",
+ "name": "Sepedi"
},
- "fur": {
- "articles": 3284,
- "name": "Furlan",
- "english_name": "Friulian"
+ "fj": {
+ "articles": 425,
+ "english_name": "Fijian",
+ "name": "Na Vosa Vakaviti"
},
- "uz": {
- "articles": 129308,
- "name": "O‘zbek",
- "english_name": "Uzbek"
+ "da": {
+ "articles": 242006,
+ "english_name": "Danish",
+ "name": "Dansk"
},
- "ml": {
- "articles": 58717,
- "name": "മലയാളം",
- "english_name": "Malayalam"
+ "ky": {
+ "articles": 79376,
+ "english_name": "Kirghiz",
+ "name": "Кыргызча"
},
- "azb": {
- "articles": 101690,
- "name": "تۆرکجه",
- "english_name": "South Azerbaijani"
+ "to": {
+ "articles": 1693,
+ "english_name": "Tongan",
+ "name": "faka Tonga"
},
- "mn": {
- "articles": 18326,
- "name": "Монгол",
- "english_name": "Mongolian"
+ "udm": {
+ "articles": 4565,
+ "english_name": "Udmurt",
+ "name": "Удмурт кыл"
},
- "mi": {
- "articles": 7145,
- "name": "Māori",
- "english_name": "Maori"
+ "nds-nl": {
+ "articles": 6812,
+ "english_name": "Dutch Low Saxon",
+ "name": "Nedersaksisch"
+ },
+ "kaa": {
+ "articles": 1910,
+ "english_name": "Karakalpak",
+ "name": "Qaraqalpaqsha"
+ },
+ "as": {
+ "articles": 5141,
+ "english_name": "Assamese",
+ "name": "অসমীয়া"
+ },
+ "sg": {
+ "articles": 258,
+ "english_name": "Sango",
+ "name": "Sängö"
},
"ik": {
- "articles": 260,
- "name": "Iñupiak",
- "english_name": "Inupiak"
+ "articles": 262,
+ "english_name": "Inupiak",
+ "name": "Iñupiak"
},
- "mk": {
- "articles": 96187,
- "name": "Македонски",
- "english_name": "Macedonian"
+ "gd": {
+ "articles": 14774,
+ "english_name": "Scottish Gaelic",
+ "name": "Gàidhlig"
},
- "ur": {
- "articles": 140514,
- "name": "اردو",
- "english_name": "Urdu"
+ "tpi": {
+ "articles": 1486,
+ "english_name": "Tok Pisin",
+ "name": "Tok Pisin"
},
- "zea": {
- "articles": 4417,
- "name": "Zeêuws",
- "english_name": "Zeelandic"
+ "lez": {
+ "articles": 3963,
+ "english_name": "Lezgian",
+ "name": "Лезги чІал (Lezgi č’al)"
},
- "mt": {
- "articles": 3330,
- "name": "Malti",
- "english_name": "Maltese"
+ "new": {
+ "articles": 72212,
+ "english_name": "Newar",
+ "name": "नेपाल भाषा"
},
- "dty": {
- "articles": 2935,
- "name": "डोटेली",
- "english_name": "Doteli"
+ "kg": {
+ "articles": 1184,
+ "english_name": "Kongo",
+ "name": "KiKongo"
},
- "stq": {
- "articles": 3966,
- "name": "Seeltersk",
- "english_name": "Saterland Frisian"
+ "cdo": {
+ "articles": 14111,
+ "english_name": "Min Dong",
+ "name": "Mìng-dĕ̤ng-ngṳ̄"
},
- "ms": {
- "articles": 319749,
- "name": "Bahasa Melayu",
- "english_name": "Malay"
+ "oc": {
+ "articles": 85227,
+ "english_name": "Occitan",
+ "name": "Occitan"
},
- "mr": {
- "articles": 51938,
- "name": "मराठी",
- "english_name": "Marathi"
+ "nap": {
+ "articles": 14576,
+ "english_name": "Neapolitan",
+ "name": "Nnapulitano"
},
- "inh": {
- "articles": 781,
- "name": "Гӏалгӏай",
- "english_name": "Ingush"
+ "be": {
+ "articles": 160751,
+ "english_name": "Belarusian",
+ "name": "Беларуская"
},
- "ug": {
- "articles": 4092,
- "name": "ئۇيغۇر تىلى",
- "english_name": "Uyghur"
+ "kk": {
+ "articles": 223486,
+ "english_name": "Kazakh",
+ "name": "Қазақша"
},
- "mwl": {
- "articles": 3653,
- "name": "Mirandés",
- "english_name": "Mirandese"
+ "bs": {
+ "articles": 79235,
+ "english_name": "Bosnian",
+ "name": "Bosanski"
},
- "my": {
- "articles": 39501,
- "name": "မြန်မာဘာသာ",
- "english_name": "Burmese"
+ "bug": {
+ "articles": 14121,
+ "english_name": "Buginese",
+ "name": "Basa Ugi"
},
- "ki": {
- "articles": 1357,
- "name": "Gĩkũyũ",
- "english_name": "Kikuyu"
+ "sq": {
+ "articles": 75615,
+ "english_name": "Albanian",
+ "name": "Shqip"
},
- "pih": {
- "articles": 672,
- "name": "Norfuk",
- "english_name": "Norfolk"
+ "mhr": {
+ "articles": 10046,
+ "english_name": "Meadow Mari",
+ "name": "Олык Марий (Olyk Marij)"
},
- "sah": {
- "articles": 11663,
- "name": "Саха тыла (Saxa Tyla)",
- "english_name": "Sakha"
+ "eu": {
+ "articles": 309974,
+ "english_name": "Basque",
+ "name": "Euskara"
},
- "ss": {
- "articles": 448,
- "name": "SiSwati",
- "english_name": "Swati"
+ "ka": {
+ "articles": 126147,
+ "english_name": "Georgian",
+ "name": "ქართული"
},
- "af": {
- "articles": 58995,
- "name": "Afrikaans",
- "english_name": "Afrikaans"
+ "ba": {
+ "articles": 46046,
+ "english_name": "Bashkir",
+ "name": "Башҡорт"
+ },
+ "hi": {
+ "articles": 128996,
+ "english_name": "Hindi",
+ "name": "हिन्दी"
+ },
+ "rw": {
+ "articles": 1822,
+ "english_name": "Kinyarwanda",
+ "name": "Ikinyarwanda"
+ },
+ "pnt": {
+ "articles": 462,
+ "english_name": "Pontic",
+ "name": "Ποντιακά"
+ },
+ "kab": {
+ "articles": 2860,
+ "english_name": "Kabyle",
+ "name": "Taqbaylit"
+ },
+ "nv": {
+ "articles": 6991,
+ "english_name": "Navajo",
+ "name": "Diné bizaad"
+ },
+ "mrj": {
+ "articles": 10269,
+ "english_name": "Hill Mari",
+ "name": "Кырык Мары (Kyryk Mary)"
+ },
+ "mn": {
+ "articles": 18356,
+ "english_name": "Mongolian",
+ "name": "Монгол"
+ },
+ "ang": {
+ "articles": 3077,
+ "english_name": "Anglo-Saxon",
+ "name": "Englisc"
+ },
+ "tw": {
+ "articles": 657,
+ "english_name": "Twi",
+ "name": "Twi"
+ },
+ "ur": {
+ "articles": 142712,
+ "english_name": "Urdu",
+ "name": "اردو"
},
"tn": {
- "articles": 641,
- "name": "Setswana",
- "english_name": "Tswana"
+ "articles": 640,
+ "english_name": "Tswana",
+ "name": "Setswana"
},
- "vi": {
- "articles": 1188863,
- "name": "Tiếng Việt",
- "english_name": "Vietnamese"
+ "krc": {
+ "articles": 2028,
+ "english_name": "Karachay-Balkar",
+ "name": "Къарачай-Малкъар (Qarachay-Malqar)"
},
- "is": {
- "articles": 45775,
- "name": "Íslenska",
- "english_name": "Icelandic"
+ "sk": {
+ "articles": 228015,
+ "english_name": "Slovak",
+ "name": "Slovenčina"
},
- "am": {
- "articles": 14359,
- "name": "አማርኛ",
- "english_name": "Amharic"
+ "sv": {
+ "articles": 3760984,
+ "english_name": "Swedish",
+ "name": "Svenska"
},
- "it": {
- "articles": 1461380,
- "name": "Italiano",
- "english_name": "Italian"
+ "pl": {
+ "articles": 1314525,
+ "english_name": "Polish",
+ "name": "Polski"
},
- "vo": {
- "articles": 121490,
- "name": "Volapük",
- "english_name": "Volapük"
+ "uk": {
+ "articles": 878251,
+ "english_name": "Ukrainian",
+ "name": "Українська"
},
- "ay": {
- "articles": 4383,
- "name": "Aymar",
- "english_name": "Aymara"
+ "pt": {
+ "articles": 1014081,
+ "english_name": "Portuguese",
+ "name": "Português"
},
- "as": {
- "articles": 4991,
- "name": "অসমীয়া",
- "english_name": "Assamese"
+ "xal": {
+ "articles": 2075,
+ "english_name": "Kalmyk",
+ "name": "Хальмг"
},
- "ar": {
- "articles": 609711,
- "name": "العربية",
- "english_name": "Arabic"
+ "nn": {
+ "articles": 141839,
+ "english_name": "Norwegian (Nynorsk)",
+ "name": "Nynorsk"
},
- "lbe": {
- "articles": 1216,
- "name": "Лакку",
- "english_name": "Lak"
+ "fo": {
+ "articles": 12891,
+ "english_name": "Faroese",
+ "name": "Føroyskt"
},
- "km": {
- "articles": 6712,
- "name": "ភាសាខ្មែរ",
- "english_name": "Khmer"
+ "gor": {
+ "articles": 1926,
+ "english_name": "Gorontalo",
+ "name": "Hulontalo"
},
- "io": {
- "articles": 27921,
- "name": "Ido",
- "english_name": "Ido"
+ "te": {
+ "articles": 69978,
+ "english_name": "Telugu",
+ "name": "తెలుగు"
},
- "av": {
- "articles": 2306,
- "name": "Авар",
- "english_name": "Avar"
+ "lb": {
+ "articles": 55377,
+ "english_name": "Luxembourgish",
+ "name": "Lëtzebuergesch"
},
- "ia": {
- "articles": 20764,
- "name": "Interlingua",
- "english_name": "Interlingua"
+ "chy": {
+ "articles": 611,
+ "english_name": "Cheyenne",
+ "name": "Tsetsêhestâhese"
},
- "haw": {
- "articles": 2960,
- "name": "Hawai`i",
- "english_name": "Hawaiian"
+ "bn": {
+ "articles": 63523,
+ "english_name": "Bengali",
+ "name": "বাংলা"
},
- "az": {
- "articles": 137984,
- "name": "Azərbaycanca",
- "english_name": "Azerbaijani"
+ "hy": {
+ "articles": 250045,
+ "english_name": "Armenian",
+ "name": "Հայերեն"
},
- "ie": {
- "articles": 4046,
- "name": "Interlingue",
- "english_name": "Interlingue"
+ "ug": {
+ "articles": 4104,
+ "english_name": "Uyghur",
+ "name": "ئۇيغۇر تىلى"
},
- "id": {
- "articles": 439613,
- "name": "Bahasa Indonesia",
- "english_name": "Indonesian"
+ "bg": {
+ "articles": 248452,
+ "english_name": "Bulgarian",
+ "name": "Български"
},
- "nds-nl": {
- "articles": 8656,
- "name": "Nedersaksisch",
- "english_name": "Dutch Low Saxon"
+ "arc": {
+ "articles": 1628,
+ "english_name": "Aramaic",
+ "name": "ܐܪܡܝܐ"
},
- "sat": {
- "articles": 378,
- "name": "Santali",
- "english_name": "ᱥᱟᱱᱛᱟᱲᱤ"
+ "hr": {
+ "articles": 201383,
+ "english_name": "Croatian",
+ "name": "Hrvatski"
},
- "pap": {
- "articles": 1933,
- "name": "Papiamentu",
- "english_name": "Papiamentu"
+ "ml": {
+ "articles": 61227,
+ "english_name": "Malayalam",
+ "name": "മലയാളം"
},
- "ks": {
- "articles": 323,
- "name": "कश्मीरी / كشميري",
- "english_name": "Kashmiri"
+ "so": {
+ "articles": 5530,
+ "english_name": "Somali",
+ "name": "Soomaali"
},
- "nl": {
- "articles": 1942104,
- "name": "Nederlands",
- "english_name": "Dutch"
+ "bpy": {
+ "articles": 25081,
+ "english_name": "Bishnupriya Manipuri",
+ "name": "ইমার ঠার/বিষ্ণুপ্রিয়া মণিপুরী"
},
- "nn": {
- "articles": 139512,
- "name": "Nynorsk",
- "english_name": "Norwegian (Nynorsk)"
+ "tr": {
+ "articles": 321169,
+ "english_name": "Turkish",
+ "name": "Türkçe"
+ },
+ "mr": {
+ "articles": 52667,
+ "english_name": "Marathi",
+ "name": "मराठी"
+ },
+ "ce": {
+ "articles": 208906,
+ "english_name": "Chechen",
+ "name": "Нохчийн"
+ },
+ "yo": {
+ "articles": 31774,
+ "english_name": "Yoruba",
+ "name": "Yorùbá"
},
"no": {
- "articles": 494547,
- "name": "Norsk (Bokmål)",
- "english_name": "Norwegian (Bokmål)"
+ "articles": 500849,
+ "english_name": "Norwegian (Bokmål)",
+ "name": "Norsk (Bokmål)"
},
- "na": {
- "articles": 1305,
- "name": "dorerin Naoero",
- "english_name": "Nauruan"
+ "fi": {
+ "articles": 449407,
+ "english_name": "Finnish",
+ "name": "Suomi"
},
"nah": {
- "articles": 6921,
- "name": "Nāhuatl",
- "english_name": "Nahuatl"
+ "articles": 6925,
+ "english_name": "Nahuatl",
+ "name": "Nāhuatl"
+ },
+ "ia": {
+ "articles": 21225,
+ "english_name": "Interlingua",
+ "name": "Interlingua"
+ },
+ "tl": {
+ "articles": 77677,
+ "english_name": "Tagalog",
+ "name": "Tagalog"
+ },
+ "vep": {
+ "articles": 5880,
+ "english_name": "Vepsian",
+ "name": "Vepsän"
},
"ne": {
- "articles": 30697,
- "name": "नेपाली",
- "english_name": "Nepali"
+ "articles": 31633,
+ "english_name": "Nepali",
+ "name": "नेपाली"
},
- "lij": {
- "articles": 3425,
- "name": "Líguru",
- "english_name": "Ligurian"
+ "cr": {
+ "articles": 103,
+ "english_name": "Cree",
+ "name": "Nehiyaw"
},
- "csb": {
- "articles": 5246,
- "name": "Kaszëbsczi",
- "english_name": "Kashubian"
+ "gv": {
+ "articles": 4968,
+ "english_name": "Manx",
+ "name": "Gaelg"
},
- "tyv": {
- "articles": 1722,
- "name": "Тыва",
- "english_name": "Tuvan"
+ "hif": {
+ "articles": 9756,
+ "english_name": "Fiji Hindi",
+ "name": "Fiji Hindi"
},
- "ny": {
- "articles": 426,
- "name": "Chichewa",
- "english_name": "Chichewa"
+ "ksh": {
+ "articles": 2842,
+ "english_name": "Ripuarian",
+ "name": "Ripoarisch"
},
- "nap": {
- "articles": 14555,
- "name": "Nnapulitano",
- "english_name": "Neapolitan"
+ "jbo": {
+ "articles": 1233,
+ "english_name": "Lojban",
+ "name": "Lojban"
},
- "rmy": {
- "articles": 658,
- "name": "romani - रोमानी",
- "english_name": "Romani"
+ "ilo": {
+ "articles": 11592,
+ "english_name": "Ilokano",
+ "name": "Ilokano"
},
- "ig": {
- "articles": 1361,
- "name": "Igbo",
- "english_name": "Igbo"
+ "ltg": {
+ "articles": 815,
+ "english_name": "Latgalian",
+ "name": "Latgaļu"
},
- "pag": {
- "articles": 2609,
- "name": "Pangasinan",
- "english_name": "Pangasinan"
+ "dv": {
+ "articles": 3024,
+ "english_name": "Divehi",
+ "name": "ދިވެހިބަސް"
},
- "zu": {
- "articles": 1024,
- "name": "isiZulu",
- "english_name": "Zulu"
+ "vls": {
+ "articles": 6703,
+ "english_name": "West Flemish",
+ "name": "West-Vlams"
},
- "kw": {
- "articles": 3821,
- "name": "Kernewek/Karnuack",
- "english_name": "Cornish"
+ "co": {
+ "articles": 5643,
+ "english_name": "Corsican",
+ "name": "Corsu"
},
- "atj": {
- "articles": 596,
- "name": "Atikamekw",
- "english_name": "Atikamekw"
+ "bat-smg": {
+ "articles": 16427,
+ "english_name": "Samogitian",
+ "name": "Žemaitėška"
},
- "pam": {
- "articles": 8555,
- "name": "Kapampangan",
- "english_name": "Kapampangan"
+ "zh-min-nan": {
+ "articles": 227702,
+ "english_name": "Min Nan",
+ "name": "Bân-lâm-gú"
},
- "nv": {
- "articles": 6116,
- "name": "Diné bizaad",
- "english_name": "Navajo"
+ "glk": {
+ "articles": 5666,
+ "english_name": "Gilaki",
+ "name": "گیلکی"
},
- "sn": {
- "articles": 3945,
- "name": "chiShona",
- "english_name": "Shona"
+ "bo": {
+ "articles": 5827,
+ "english_name": "Tibetan",
+ "name": "བོད་སྐད"
},
- "kab": {
- "articles": 2869,
- "name": "Taqbaylit",
- "english_name": "Kabyle"
+ "sl": {
+ "articles": 163198,
+ "english_name": "Slovenian",
+ "name": "Slovenščina"
},
- "fr": {
- "articles": 2040551,
- "name": "Français",
- "english_name": "French"
+ "os": {
+ "articles": 11225,
+ "english_name": "Ossetian",
+ "name": "Иронау"
},
- "mrj": {
- "articles": 10268,
- "name": "Кырык Мары (Kyryk Mary)",
- "english_name": "Hill Mari"
+ "sat": {
+ "articles": 532,
+ "english_name": "Santali",
+ "name": "ᱥᱟᱱᱛᱟᱲᱤ"
},
- "zh-yue": {
- "articles": 68440,
- "name": "粵語",
- "english_name": "Cantonese"
+ "qu": {
+ "articles": 20900,
+ "english_name": "Quechua",
+ "name": "Runa Simi"
},
- "fy": {
- "articles": 40760,
- "name": "Frysk",
- "english_name": "West Frisian"
+ "za": {
+ "articles": 1867,
+ "english_name": "Zhuang",
+ "name": "Cuengh"
},
- "pnt": {
- "articles": 458,
- "name": "Ποντιακά",
- "english_name": "Pontic"
+ "tcy": {
+ "articles": 994,
+ "english_name": "Tulu",
+ "name": "ತುಳು"
},
- "fa": {
- "articles": 641921,
- "name": "فارسی",
- "english_name": "Persian"
+ "ps": {
+ "articles": 9702,
+ "english_name": "Pashto",
+ "name": "پښتو"
},
- "rw": {
- "articles": 1823,
- "name": "Ikinyarwanda",
- "english_name": "Kinyarwanda"
+ "pih": {
+ "articles": 681,
+ "english_name": "Norfolk",
+ "name": "Norfuk"
},
- "ff": {
- "articles": 227,
- "name": "Fulfulde",
- "english_name": "Fula"
+ "cbk-zam": {
+ "articles": 3000,
+ "english_name": "Zamboanga Chavacano",
+ "name": "Chavacano de Zamboanga"
},
- "mai": {
- "articles": 12902,
- "name": "मैथिली",
- "english_name": "Maithili"
+ "mdf": {
+ "articles": 1188,
+ "english_name": "Moksha",
+ "name": "Мокшень (Mokshanj Kälj)"
},
- "fi": {
- "articles": 444426,
- "name": "Suomi",
- "english_name": "Finnish"
+ "mi": {
+ "articles": 7145,
+ "english_name": "Maori",
+ "name": "Māori"
},
- "mzn": {
- "articles": 12724,
- "name": "مَزِروني",
- "english_name": "Mazandarani"
+ "sco": {
+ "articles": 53388,
+ "english_name": "Scots",
+ "name": "Scots"
},
- "sa": {
- "articles": 11350,
- "name": "संस्कृतम्",
- "english_name": "Sanskrit"
+ "dsb": {
+ "articles": 3210,
+ "english_name": "Lower Sorbian",
+ "name": "Dolnoserbski"
},
- "zh-classical": {
- "articles": 8200,
- "name": "古文 / 文言文",
- "english_name": "Classical Chinese"
+ "gag": {
+ "articles": 2763,
+ "english_name": "Gagauz",
+ "name": "Gagauz"
},
- "fo": {
- "articles": 12792,
- "name": "Føroyskt",
- "english_name": "Faroese"
+ "haw": {
+ "articles": 3234,
+ "english_name": "Hawaiian",
+ "name": "Hawai`i"
},
- "bcl": {
- "articles": 8161,
- "name": "Bikol",
- "english_name": "Central Bicolano"
+ "rm": {
+ "articles": 3564,
+ "english_name": "Romansh",
+ "name": "Rumantsch"
},
- "ka": {
- "articles": 124386,
- "name": "ქართული",
- "english_name": "Georgian"
+ "bar": {
+ "articles": 27285,
+ "english_name": "Bavarian",
+ "name": "Boarisch"
},
- "nov": {
- "articles": 1659,
- "name": "Novial",
- "english_name": "Novial"
+ "kn": {
+ "articles": 24065,
+ "english_name": "Kannada",
+ "name": "ಕನ್ನಡ"
},
- "ckb": {
- "articles": 22151,
- "name": "Soranî / کوردی",
- "english_name": "Sorani"
+ "olo": {
+ "articles": 2812,
+ "english_name": "Livvi-Karelian",
+ "name": "Karjalan"
},
- "kk": {
- "articles": 222362,
- "name": "Қазақша",
- "english_name": "Kazakh"
+ "als": {
+ "articles": 25337,
+ "english_name": "Alemannic",
+ "name": "Alemannisch"
},
- "sr": {
- "articles": 610270,
- "name": "Српски / Srpski",
- "english_name": "Serbian"
+ "kbp": {
+ "articles": 1479,
+ "english_name": "Kabiye",
+ "name": "Kabɩyɛ"
},
- "sq": {
- "articles": 74713,
- "name": "Shqip",
- "english_name": "Albanian"
+ "map-bms": {
+ "articles": 13336,
+ "english_name": "Banyumasan",
+ "name": "Basa Banyumasan"
},
- "min": {
- "articles": 222296,
- "name": "Minangkabau",
- "english_name": "Minangkabau"
+ "koi": {
+ "articles": 3451,
+ "english_name": "Komi-Permyak",
+ "name": "Перем Коми (Perem Komi)"
},
- "ko": {
- "articles": 427108,
- "name": "한국어",
- "english_name": "Korean"
+ "pcd": {
+ "articles": 4258,
+ "english_name": "Picard",
+ "name": "Picard"
},
- "sv": {
- "articles": 3767201,
- "name": "Svenska",
- "english_name": "Swedish"
+ "ru": {
+ "articles": 1519724,
+ "english_name": "Russian",
+ "name": "Русский"
},
"su": {
- "articles": 39667,
- "name": "Basa Sunda",
- "english_name": "Sundanese"
+ "articles": 39840,
+ "english_name": "Sundanese",
+ "name": "Basa Sunda"
},
- "kl": {
- "articles": 1658,
- "name": "Kalaallisut",
- "english_name": "Greenlandic"
+ "lt": {
+ "articles": 193352,
+ "english_name": "Lithuanian",
+ "name": "Lietuvių"
},
- "sk": {
- "articles": 227102,
- "name": "Slovenčina",
- "english_name": "Slovak"
+ "vi": {
+ "articles": 1198961,
+ "english_name": "Vietnamese",
+ "name": "Tiếng Việt"
},
- "si": {
- "articles": 14849,
- "name": "සිංහල",
- "english_name": "Sinhalese"
+ "ms": {
+ "articles": 323274,
+ "english_name": "Malay",
+ "name": "Bahasa Melayu"
},
- "sh": {
- "articles": 445848,
- "name": "Srpskohrvatski / Српскохрватски",
- "english_name": "Serbo-Croatian"
+ "my": {
+ "articles": 42128,
+ "english_name": "Burmese",
+ "name": "မြန်မာဘာသာ"
},
- "so": {
- "articles": 5871,
- "name": "Soomaali",
- "english_name": "Somali"
+ "jv": {
+ "articles": 55104,
+ "english_name": "Javanese",
+ "name": "Basa Jawa"
},
- "kv": {
- "articles": 5301,
- "name": "Коми",
- "english_name": "Komi"
+ "war": {
+ "articles": 1263483,
+ "english_name": "Waray-Waray",
+ "name": "Winaray"
},
- "ku": {
- "articles": 23646,
- "name": "Kurdî / كوردی",
- "english_name": "Kurdish"
+ "cu": {
+ "articles": 669,
+ "english_name": "Old Church Slavonic",
+ "name": "Словѣньскъ"
},
- "sl": {
- "articles": 162300,
- "name": "Slovenščina",
- "english_name": "Slovenian"
+ "ace": {
+ "articles": 7602,
+ "english_name": "Acehnese",
+ "name": "Bahsa Acèh"
},
- "sc": {
- "articles": 5886,
- "name": "Sardu",
- "english_name": "Sardinian"
+ "gan": {
+ "articles": 6411,
+ "english_name": "Gan",
+ "name": "贛語"
},
- "ky": {
- "articles": 79728,
- "name": "Кыргызча",
- "english_name": "Kirghiz"
+ "xh": {
+ "articles": 751,
+ "english_name": "Xhosa",
+ "name": "isiXhosa"
},
- "sg": {
- "articles": 255,
- "name": "Sängö",
- "english_name": "Sango"
+ "rmy": {
+ "articles": 660,
+ "english_name": "Romani",
+ "name": "romani - रोमानी"
},
- "sw": {
- "articles": 45275,
- "name": "Kiswahili",
- "english_name": "Swahili"
+ "xmf": {
+ "articles": 12678,
+ "english_name": "Mingrelian",
+ "name": "მარგალური (Margaluri)"
},
- "se": {
- "articles": 7443,
- "name": "Sámegiella",
- "english_name": "Northern Sami"
+ "en": {
+ "articles": 5781855,
+ "english_name": "English",
+ "name": "English"
+ },
+ "nov": {
+ "articles": 1661,
+ "english_name": "Novial",
+ "name": "Novial"
+ },
+ "ak": {
+ "articles": 567,
+ "english_name": "Akan",
+ "name": "Akana"
+ },
+ "fiu-vro": {
+ "articles": 5463,
+ "english_name": "Võro",
+ "name": "Võro"
+ },
+ "mzn": {
+ "articles": 12786,
+ "english_name": "Mazandarani",
+ "name": "مَزِروني"
+ },
+ "ts": {
+ "articles": 583,
+ "english_name": "Tsonga",
+ "name": "Xitsonga"
+ },
+ "dz": {
+ "articles": 218,
+ "english_name": "Dzongkha",
+ "name": "ཇོང་ཁ"
+ },
+ "es": {
+ "articles": 1497393,
+ "english_name": "Spanish",
+ "name": "Español"
+ },
+ "gu": {
+ "articles": 28289,
+ "english_name": "Gujarati",
+ "name": "ગુજરાતી"
+ },
+ "br": {
+ "articles": 66053,
+ "english_name": "Breton",
+ "name": "Brezhoneg"
},
"sd": {
- "articles": 10440,
- "name": "سنڌي، سندھی ، सिन्ध",
- "english_name": "Sindhi"
+ "articles": 11114,
+ "english_name": "Sindhi",
+ "name": "سنڌي، سندھی ، सिन्ध"
+ },
+ "nrm": {
+ "articles": 4029,
+ "english_name": "Norman",
+ "name": "Nouormand/Normaund"
+ },
+ "iu": {
+ "articles": 401,
+ "english_name": "Inuktitut",
+ "name": "ᐃᓄᒃᑎᑐᑦ"
+ },
+ "tum": {
+ "articles": 572,
+ "english_name": "Tumbuka",
+ "name": "chiTumbuka"
+ },
+ "chr": {
+ "articles": 855,
+ "english_name": "Cherokee",
+ "name": "ᏣᎳᎩ"
+ },
+ "pa": {
+ "articles": 30886,
+ "english_name": "Punjabi",
+ "name": "ਪੰਜਾਬੀ"
+ },
+ "ext": {
+ "articles": 3020,
+ "english_name": "Extremaduran",
+ "name": "Estremeñu"
}
},
- "bing videos": [
- "ar-SA",
- "de-AT",
- "de-CH",
- "de-DE",
- "en-AU",
- "en-CA",
- "en-GB",
- "en-ID",
- "en-IN",
- "en-MY",
- "en-US",
- "en-ZA",
- "es-AR",
- "es-ES",
- "es-MX",
- "es-US",
- "fr-BE",
- "fr-CA",
- "fr-CH",
- "fr-FR",
- "it-IT",
- "ja-JP",
- "ko-KR",
- "nl-BE",
- "nl-NL",
- "no-NO",
- "pl-PL",
- "pt-BR",
- "ru-RU",
- "sv-SE",
- "tr-TR",
- "zh-CN",
- "zh-HK",
- "zh-TW"
- ],
- "ddg definitions": [
- "ar-XA",
- "bg-BG",
- "ca-CT",
- "ca-ES",
- "cs-CZ",
- "da-DK",
- "de-AT",
- "de-CH",
- "de-DE",
- "el-GR",
- "en-AU",
- "en-CA",
- "en-ID",
- "en-IE",
- "en-IN",
- "en-MY",
- "en-NZ",
- "en-PH",
- "en-SG",
- "en-UK",
- "en-US",
- "en-ZA",
- "es-AR",
- "es-CL",
- "es-CO",
- "es-ES",
- "es-MX",
- "es-PE",
- "es-US",
- "et-EE",
- "fi-FI",
- "fr-BE",
- "fr-CA",
- "fr-CH",
- "fr-FR",
- "he-IL",
- "hr-HR",
- "hu-HU",
- "id-ID",
- "it-CH",
- "it-IT",
- "jp-JP",
- "kr-KR",
- "lt-LT",
- "lv-LV",
- "ms-MY",
- "nl-BE",
- "nl-NL",
- "no-NO",
- "pl-PL",
- "pt-BR",
- "pt-PT",
- "ro-RO",
- "ru-RU",
- "sk-SK",
- "sl-SL",
- "sv-SE",
- "th-TH",
- "tl-PH",
- "tr-TR",
- "tzh-HK",
- "tzh-TW",
- "vi-VN",
- "wt-WT",
- "zh-CN"
- ],
- "yahoo": [
+ "yahoo news": [
"ar",
"bg",
"cs",
@@ -27022,204 +27485,5 @@
"tr",
"zh-CHS",
"zh-CHT"
- ],
- "bing images": [
- "ar-SA",
- "de-AT",
- "de-CH",
- "de-DE",
- "en-AU",
- "en-CA",
- "en-GB",
- "en-ID",
- "en-IN",
- "en-MY",
- "en-US",
- "en-ZA",
- "es-AR",
- "es-ES",
- "es-MX",
- "es-US",
- "fr-BE",
- "fr-CA",
- "fr-CH",
- "fr-FR",
- "it-IT",
- "ja-JP",
- "ko-KR",
- "nl-BE",
- "nl-NL",
- "no-NO",
- "pl-PL",
- "pt-BR",
- "ru-RU",
- "sv-SE",
- "tr-TR",
- "zh-CN",
- "zh-HK",
- "zh-TW"
- ],
- "qwant social": [
- "bg-BG",
- "br-FR",
- "ca-AD",
- "ca-ES",
- "ca-FR",
- "co-FR",
- "cs-CZ",
- "cy-GB",
- "da-DK",
- "de-AT",
- "de-CH",
- "de-DE",
- "el-GR",
- "en-AU",
- "en-CA",
- "en-GB",
- "en-IE",
- "en-IN",
- "en-MY",
- "en-NZ",
- "en-PH",
- "en-SG",
- "en-US",
- "es-AD",
- "es-AR",
- "es-CL",
- "es-ES",
- "es-MX",
- "et-EE",
- "eu-ES",
- "eu-FR",
- "fi-FI",
- "fr-AD",
- "fr-BE",
- "fr-CA",
- "fr-CH",
- "fr-FR",
- "gd-GB",
- "he-IL",
- "hu-HU",
- "it-CH",
- "it-IT",
- "ja-JP",
- "ko-KR",
- "ms-MY",
- "nl-BE",
- "nl-NL",
- "no-NO",
- "pl-PL",
- "pt-AD",
- "pt-BR",
- "pt-PT",
- "ro-RO",
- "ru-RU",
- "sv-SE",
- "th-TH",
- "tr-TR"
- ],
- "bing": [
- "ar",
- "bg",
- "ca",
- "cs",
- "da",
- "de",
- "el",
- "en",
- "es",
- "et",
- "fa",
- "fi",
- "fr",
- "he",
- "hr",
- "hu",
- "id",
- "is",
- "it",
- "ja",
- "ko",
- "lt",
- "lv",
- "ms",
- "nl",
- "no",
- "pl",
- "pt-BR",
- "pt-PT",
- "ro",
- "ru",
- "sk",
- "sl",
- "sq",
- "sr",
- "sv",
- "th",
- "tr",
- "uk",
- "vi",
- "zh-CHS",
- "zh-CHT"
- ],
- "qwant news": [
- "bg-BG",
- "br-FR",
- "ca-AD",
- "ca-ES",
- "ca-FR",
- "co-FR",
- "cs-CZ",
- "cy-GB",
- "da-DK",
- "de-AT",
- "de-CH",
- "de-DE",
- "el-GR",
- "en-AU",
- "en-CA",
- "en-GB",
- "en-IE",
- "en-IN",
- "en-MY",
- "en-NZ",
- "en-PH",
- "en-SG",
- "en-US",
- "es-AD",
- "es-AR",
- "es-CL",
- "es-ES",
- "es-MX",
- "et-EE",
- "eu-ES",
- "eu-FR",
- "fi-FI",
- "fr-AD",
- "fr-BE",
- "fr-CA",
- "fr-CH",
- "fr-FR",
- "gd-GB",
- "he-IL",
- "hu-HU",
- "it-CH",
- "it-IT",
- "ja-JP",
- "ko-KR",
- "ms-MY",
- "nl-BE",
- "nl-NL",
- "no-NO",
- "pl-PL",
- "pt-AD",
- "pt-BR",
- "pt-PT",
- "ro-RO",
- "ru-RU",
- "sv-SE",
- "th-TH",
- "tr-TR"
- ],
- "gigablast": []
+ ]
} \ No newline at end of file
diff --git a/searx/data/useragents.json b/searx/data/useragents.json
index 850bc418a..abb81000c 100644
--- a/searx/data/useragents.json
+++ b/searx/data/useragents.json
@@ -1,14 +1,15 @@
{
- "ua": "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}",
"versions": [
- "61.0.1",
- "61.0",
- "60.0.2",
- "60.0.1",
- "60.0"
+ "70.0.1",
+ "70.0",
+ "69.0.3",
+ "69.0.2",
+ "69.0.1",
+ "69.0"
],
"os": [
"Windows NT 10; WOW64",
"X11; Linux x86_64"
- ]
+ ],
+ "ua": "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}"
} \ No newline at end of file
diff --git a/searx/engines/__init__.py b/searx/engines/__init__.py
index c2f9f3da4..2393f52b6 100644
--- a/searx/engines/__init__.py
+++ b/searx/engines/__init__.py
@@ -27,7 +27,7 @@ from json import loads
from requests import get
from searx import settings
from searx import logger
-from searx.utils import load_module, match_language
+from searx.utils import load_module, match_language, get_engine_from_settings
logger = logger.getChild('engines')
@@ -53,15 +53,21 @@ engine_default_args = {'paging': False,
'disabled': False,
'suspend_end_time': 0,
'continuous_errors': 0,
- 'time_range_support': False}
+ 'time_range_support': False,
+ 'offline': False}
def load_engine(engine_data):
-
- if '_' in engine_data['name']:
- logger.error('Engine name conains underscore: "{}"'.format(engine_data['name']))
+ engine_name = engine_data['name']
+ if '_' in engine_name:
+ logger.error('Engine name contains underscore: "{}"'.format(engine_name))
sys.exit(1)
+ if engine_name.lower() != engine_name:
+ logger.warn('Engine name is not lowercase: "{}", converting to lowercase'.format(engine_name))
+ engine_name = engine_name.lower()
+ engine_data['name'] = engine_name
+
engine_module = engine_data['engine']
try:
@@ -113,8 +119,7 @@ def load_engine(engine_data):
iso_lang not in getattr(engine, 'supported_languages'):
language_aliases[iso_lang] = engine_lang
- if language_aliases:
- setattr(engine, 'language_aliases', language_aliases)
+ setattr(engine, 'language_aliases', language_aliases)
# assign language fetching method if auxiliary method exists
if hasattr(engine, '_fetch_supported_languages'):
@@ -124,14 +129,16 @@ def load_engine(engine_data):
engine.stats = {
'result_count': 0,
'search_count': 0,
- 'page_load_time': 0,
- 'page_load_count': 0,
'engine_time': 0,
'engine_time_count': 0,
'score_count': 0,
'errors': 0
}
+ if not engine.offline:
+ engine.stats['page_load_time'] = 0
+ engine.stats['page_load_count'] = 0
+
for category_name in engine.categories:
categories.setdefault(category_name, []).append(engine)
@@ -169,11 +176,6 @@ def get_engines_stats():
results_num = \
engine.stats['result_count'] / float(engine.stats['search_count'])
- if engine.stats['page_load_count'] != 0:
- load_times = engine.stats['page_load_time'] / float(engine.stats['page_load_count']) # noqa
- else:
- load_times = 0
-
if engine.stats['engine_time_count'] != 0:
this_engine_time = engine.stats['engine_time'] / float(engine.stats['engine_time_count']) # noqa
else:
@@ -185,14 +187,19 @@ def get_engines_stats():
else:
score = score_per_result = 0.0
- max_pageload = max(load_times, max_pageload)
+ if not engine.offline:
+ load_times = 0
+ if engine.stats['page_load_count'] != 0:
+ load_times = engine.stats['page_load_time'] / float(engine.stats['page_load_count']) # noqa
+ max_pageload = max(load_times, max_pageload)
+ pageloads.append({'avg': load_times, 'name': engine.name})
+
max_engine_times = max(this_engine_time, max_engine_times)
max_results = max(results_num, max_results)
max_score = max(score, max_score)
max_score_per_result = max(score_per_result, max_score_per_result)
max_errors = max(max_errors, engine.stats['errors'])
- pageloads.append({'avg': load_times, 'name': engine.name})
engine_times.append({'avg': this_engine_time, 'name': engine.name})
results.append({'avg': results_num, 'name': engine.name})
scores.append({'avg': score, 'name': engine.name})
@@ -249,12 +256,14 @@ def load_engines(engine_list):
def initialize_engines(engine_list):
load_engines(engine_list)
+
+ def engine_init(engine_name, init_fn):
+ init_fn(get_engine_from_settings(engine_name))
+ logger.debug('%s engine: Initialized', engine_name)
+
for engine_name, engine in engines.items():
if hasattr(engine, 'init'):
init_fn = getattr(engine, 'init')
-
- def engine_init():
- init_fn()
- logger.debug('%s engine initialized', engine_name)
- logger.debug('Starting background initialization of %s engine', engine_name)
- threading.Thread(target=engine_init).start()
+ if init_fn:
+ logger.debug('%s engine: Starting background initialization', engine_name)
+ threading.Thread(target=engine_init, args=(engine_name, init_fn)).start()
diff --git a/searx/engines/apkmirror.py b/searx/engines/apkmirror.py
new file mode 100644
index 000000000..f2ee12b29
--- /dev/null
+++ b/searx/engines/apkmirror.py
@@ -0,0 +1,61 @@
+"""
+ APK Mirror
+
+ @website https://www.apkmirror.com
+
+ @using-api no
+ @results HTML
+ @stable no (HTML can change)
+ @parse url, title, thumbnail_src
+"""
+
+from lxml import html
+from searx.engines.xpath import extract_text
+from searx.url_utils import urlencode
+
+# engine dependent config
+categories = ['it']
+paging = True
+
+# I am not 100% certain about this, as apkmirror appears to be a wordpress site,
+# which might support time_range searching. If you want to implement it, go ahead.
+time_range_support = False
+
+# search-url
+base_url = 'https://www.apkmirror.com'
+search_url = base_url + '/?post_type=app_release&searchtype=apk&page={pageno}&{query}'
+
+
+# do search-request
+def request(query, params):
+
+ params['url'] = search_url.format(pageno=params['pageno'],
+ query=urlencode({'s': query}))
+ return params
+
+
+# get response from search-request
+def response(resp):
+ results = []
+
+ dom = html.fromstring(resp.text)
+
+ # parse results
+ for result in dom.xpath('.//div[@id="content"]/div[@class="listWidget"]/div[@class="appRow"]'):
+
+ link = result.xpath('.//h5/a')[0]
+ url = base_url + link.attrib.get('href') + '#downloads'
+ title = extract_text(link)
+ thumbnail_src = base_url + result.xpath('.//img')[0].attrib.get('src').replace('&w=32&h=32', '&w=64&h=64')
+
+ res = {
+ 'url': url,
+ 'title': title,
+ 'thumbnail_src': thumbnail_src
+ }
+
+ # append result
+ results.append(res)
+
+ # return results
+ return results
diff --git a/searx/engines/archlinux.py b/searx/engines/archlinux.py
index fc08112af..dce862f55 100644
--- a/searx/engines/archlinux.py
+++ b/searx/engines/archlinux.py
@@ -36,7 +36,7 @@ def locale_to_lang_code(locale):
# wikis for some languages were moved off from the main site, we need to make
# requests to correct URLs to be able to get results in those languages
lang_urls = {
- 'en': {
+ 'all': {
'base': 'https://wiki.archlinux.org',
'search': '/index.php?title=Special:Search&offset={offset}&{query}'
},
@@ -67,7 +67,7 @@ lang_urls = {
def get_lang_urls(language):
if language in lang_urls:
return lang_urls[language]
- return lang_urls['en']
+ return lang_urls['all']
# Language names to build search requests for
diff --git a/searx/engines/arxiv.py b/searx/engines/arxiv.py
index 5ef84f0c1..e3c871d17 100644
--- a/searx/engines/arxiv.py
+++ b/searx/engines/arxiv.py
@@ -17,6 +17,7 @@ from searx.url_utils import urlencode
categories = ['science']
+paging = True
base_url = 'http://export.arxiv.org/api/query?search_query=all:'\
+ '{query}&start={offset}&max_results={number_of_results}'
@@ -29,7 +30,7 @@ def request(query, params):
# basic search
offset = (params['pageno'] - 1) * number_of_results
- string_args = dict(query=query,
+ string_args = dict(query=query.decode('utf-8'),
offset=offset,
number_of_results=number_of_results)
diff --git a/searx/engines/asksteem.py b/searx/engines/asksteem.py
deleted file mode 100644
index 6738780fa..000000000
--- a/searx/engines/asksteem.py
+++ /dev/null
@@ -1,44 +0,0 @@
-"""
- Asksteem (general)
-
- @website https://asksteem.com/
- @provide-api yes
-
- @using-api yes
- @results JSON (https://github.com/Hoxly/asksteem-docs/wiki)
- @stable yes
- @parse url, title, content
-"""
-
-from json import loads
-from searx.url_utils import urlencode
-
-# engine dependent config
-categories = ['general']
-paging = True
-language_support = False
-disabled = True
-
-# search-url
-search_url = 'https://api.asksteem.com/search?{params}'
-result_url = 'https://steemit.com/@{author}/{title}'
-
-
-# do search-request
-def request(query, params):
- url = search_url.format(params=urlencode({'q': query, 'pg': params['pageno']}))
- params['url'] = url
- return params
-
-
-# get response from search-request
-def response(resp):
- json = loads(resp.text)
-
- results = []
-
- for result in json.get('results', []):
- results.append({'url': result_url.format(author=result['author'], title=result['permlink']),
- 'title': result['title'],
- 'content': result['summary']})
- return results
diff --git a/searx/engines/bing.py b/searx/engines/bing.py
index 2da40619d..ed0b87dbd 100644
--- a/searx/engines/bing.py
+++ b/searx/engines/bing.py
@@ -13,10 +13,14 @@
@todo publishedDate
"""
+import re
from lxml import html
+from searx import logger, utils
from searx.engines.xpath import extract_text
from searx.url_utils import urlencode
-from searx.utils import match_language, gen_useragent
+from searx.utils import match_language, gen_useragent, eval_xpath
+
+logger = logger.getChild('bing engine')
# engine dependent config
categories = ['general']
@@ -30,11 +34,18 @@ base_url = 'https://www.bing.com/'
search_string = 'search?{query}&first={offset}'
+def _get_offset_from_pageno(pageno):
+ return (pageno - 1) * 10 + 1
+
+
# do search-request
def request(query, params):
- offset = (params['pageno'] - 1) * 10 + 1
+ offset = _get_offset_from_pageno(params.get('pageno', 0))
- lang = match_language(params['language'], supported_languages, language_aliases)
+ if params['language'] == 'all':
+ lang = 'EN'
+ else:
+ lang = match_language(params['language'], supported_languages, language_aliases)
query = u'language:{} {}'.format(lang.split('-')[0].upper(), query.decode('utf-8')).encode('utf-8')
@@ -44,29 +55,21 @@ def request(query, params):
params['url'] = base_url + search_path
- params['headers']['User-Agent'] = gen_useragent('Windows NT 6.3; WOW64')
-
return params
# get response from search-request
def response(resp):
results = []
+ result_len = 0
dom = html.fromstring(resp.text)
-
- try:
- results.append({'number_of_results': int(dom.xpath('//span[@class="sb_count"]/text()')[0]
- .split()[0].replace(',', ''))})
- except:
- pass
-
# parse results
- for result in dom.xpath('//div[@class="sa_cc"]'):
- link = result.xpath('.//h3/a')[0]
+ for result in eval_xpath(dom, '//div[@class="sa_cc"]'):
+ link = eval_xpath(result, './/h3/a')[0]
url = link.attrib.get('href')
title = extract_text(link)
- content = extract_text(result.xpath('.//p'))
+ content = extract_text(eval_xpath(result, './/p'))
# append result
results.append({'url': url,
@@ -74,18 +77,35 @@ def response(resp):
'content': content})
# parse results again if nothing is found yet
- for result in dom.xpath('//li[@class="b_algo"]'):
- link = result.xpath('.//h2/a')[0]
+ for result in eval_xpath(dom, '//li[@class="b_algo"]'):
+ link = eval_xpath(result, './/h2/a')[0]
url = link.attrib.get('href')
title = extract_text(link)
- content = extract_text(result.xpath('.//p'))
+ content = extract_text(eval_xpath(result, './/p'))
# append result
results.append({'url': url,
'title': title,
'content': content})
- # return results
+ try:
+ result_len_container = "".join(eval_xpath(dom, '//span[@class="sb_count"]/text()'))
+ result_len_container = utils.to_string(result_len_container)
+ if "-" in result_len_container:
+ # Remove the part "from-to" for paginated request ...
+ result_len_container = result_len_container[result_len_container.find("-") * 2 + 2:]
+
+ result_len_container = re.sub('[^0-9]', '', result_len_container)
+ if len(result_len_container) > 0:
+ result_len = int(result_len_container)
+ except Exception as e:
+ logger.debug('result error :\n%s', e)
+ pass
+
+ if _get_offset_from_pageno(resp.search_params.get("pageno", 0)) > result_len:
+ return []
+
+ results.append({'number_of_results': result_len})
return results
@@ -93,9 +113,9 @@ def response(resp):
def _fetch_supported_languages(resp):
supported_languages = []
dom = html.fromstring(resp.text)
- options = dom.xpath('//div[@id="limit-languages"]//input')
+ options = eval_xpath(dom, '//div[@id="limit-languages"]//input')
for option in options:
- code = option.xpath('./@id')[0].replace('_', '-')
+ code = eval_xpath(option, './@id')[0].replace('_', '-')
if code == 'nb':
code = 'no'
supported_languages.append(code)
diff --git a/searx/engines/bing_images.py b/searx/engines/bing_images.py
index 66e14c01f..44e2c3bbc 100644
--- a/searx/engines/bing_images.py
+++ b/searx/engines/bing_images.py
@@ -10,9 +10,6 @@
@stable no (HTML can change)
@parse url, title, img_src
- @todo currently there are up to 35 images receive per page,
- because bing does not parse count=10.
- limited response to 10 images
"""
from lxml import html
@@ -28,10 +25,15 @@ safesearch = True
time_range_support = True
language_support = True
supported_languages_url = 'https://www.bing.com/account/general'
+number_of_results = 28
# search-url
base_url = 'https://www.bing.com/'
-search_string = 'images/search?{query}&count=10&first={offset}'
+search_string = 'images/search'\
+ '?{query}'\
+ '&count={count}'\
+ '&first={first}'\
+ '&FORM=IBASEP'
time_range_string = '&qft=+filterui:age-lt{interval}'
time_range_dict = {'day': '1440',
'week': '10080',
@@ -44,18 +46,16 @@ safesearch_types = {2: 'STRICT',
0: 'OFF'}
-_quote_keys_regex = re.compile('({|,)([a-z][a-z0-9]*):(")', re.I | re.U)
-
-
# do search-request
def request(query, params):
- offset = (params['pageno'] - 1) * 10 + 1
+ offset = ((params['pageno'] - 1) * number_of_results) + 1
search_path = search_string.format(
query=urlencode({'q': query}),
- offset=offset)
+ count=number_of_results,
+ first=offset)
- language = match_language(params['language'], supported_languages).lower()
+ language = match_language(params['language'], supported_languages, language_aliases).lower()
params['cookies']['SRCHHPGUSR'] = \
'ADLT=' + safesearch_types.get(params['safesearch'], 'DEMOTE')
@@ -77,34 +77,31 @@ def response(resp):
dom = html.fromstring(resp.text)
# parse results
- for result in dom.xpath('//div[@id="mmComponent_images_1"]/ul/li/div/div[@class="imgpt"]'):
- link = result.xpath('./a')[0]
-
- # TODO find actual title
- title = link.xpath('.//img/@alt')[0]
-
- # parse json-data (it is required to add a space, to make it parsable)
- json_data = loads(_quote_keys_regex.sub(r'\1"\2": \3', link.attrib.get('m')))
-
- url = json_data.get('purl')
- img_src = json_data.get('murl')
-
- thumb_json_data = loads(_quote_keys_regex.sub(r'\1"\2": \3', link.attrib.get('mad')))
- thumbnail = thumb_json_data.get('turl')
-
- # append result
- results.append({'template': 'images.html',
- 'url': url,
- 'title': title,
- 'content': '',
- 'thumbnail_src': thumbnail,
- 'img_src': img_src})
-
- # TODO stop parsing if 10 images are found
- # if len(results) >= 10:
- # break
+ for result in dom.xpath('//div[@class="imgpt"]'):
+
+ img_format = result.xpath('./div[contains(@class, "img_info")]/span/text()')[0]
+ # Microsoft seems to experiment with this code so don't make the path too specific,
+ # just catch the text section for the first anchor in img_info assuming this to be
+ # the originating site.
+ source = result.xpath('./div[contains(@class, "img_info")]//a/text()')[0]
+
+ try:
+ m = loads(result.xpath('./a/@m')[0])
+
+ # strip 'Unicode private use area' highlighting, they render to Tux
+ # the Linux penguin and a standing diamond on my machine...
+ title = m.get('t', '').replace(u'\ue000', '').replace(u'\ue001', '')
+ results.append({'template': 'images.html',
+ 'url': m['purl'],
+ 'thumbnail_src': m['turl'],
+ 'img_src': m['murl'],
+ 'content': '',
+ 'title': title,
+ 'source': source,
+ 'img_format': img_format})
+ except:
+ continue
- # return results
return results
diff --git a/searx/engines/bing_news.py b/searx/engines/bing_news.py
index 39048a1fc..669130c42 100644
--- a/searx/engines/bing_news.py
+++ b/searx/engines/bing_news.py
@@ -71,7 +71,10 @@ def request(query, params):
offset = (params['pageno'] - 1) * 10 + 1
- language = match_language(params['language'], supported_languages, language_aliases)
+ if params['language'] == 'all':
+ language = 'en-US'
+ else:
+ language = match_language(params['language'], supported_languages, language_aliases)
params['url'] = _get_url(query, language, offset, params['time_range'])
diff --git a/searx/engines/bing_videos.py b/searx/engines/bing_videos.py
index 7002ac861..f1e636819 100644
--- a/searx/engines/bing_videos.py
+++ b/searx/engines/bing_videos.py
@@ -13,7 +13,6 @@
from json import loads
from lxml import html
from searx.engines.bing_images import _fetch_supported_languages, supported_languages_url
-from searx.engines.xpath import extract_text
from searx.url_utils import urlencode
from searx.utils import match_language
@@ -22,11 +21,16 @@ categories = ['videos']
paging = True
safesearch = True
time_range_support = True
-number_of_results = 10
+number_of_results = 28
language_support = True
-search_url = 'https://www.bing.com/videos/asyncv2?{query}&async=content&'\
- 'first={offset}&count={number_of_results}&CW=1366&CH=25&FORM=R5VR5'
+base_url = 'https://www.bing.com/'
+search_string = 'videos/search'\
+ '?{query}'\
+ '&count={count}'\
+ '&first={first}'\
+ '&scope=video'\
+ '&FORM=QBLH'
time_range_string = '&qft=+filterui:videoage-lt{interval}'
time_range_dict = {'day': '1440',
'week': '10080',
@@ -41,20 +45,23 @@ safesearch_types = {2: 'STRICT',
# do search-request
def request(query, params):
- offset = (params['pageno'] - 1) * 10 + 1
+ offset = ((params['pageno'] - 1) * number_of_results) + 1
+
+ search_path = search_string.format(
+ query=urlencode({'q': query}),
+ count=number_of_results,
+ first=offset)
# safesearch cookie
params['cookies']['SRCHHPGUSR'] = \
'ADLT=' + safesearch_types.get(params['safesearch'], 'DEMOTE')
# language cookie
- language = match_language(params['language'], supported_languages).lower()
+ language = match_language(params['language'], supported_languages, language_aliases).lower()
params['cookies']['_EDGE_S'] = 'mkt=' + language + '&F=1'
# query and paging
- params['url'] = search_url.format(query=urlencode({'q': query}),
- offset=offset,
- number_of_results=number_of_results)
+ params['url'] = base_url + search_path
# time range
if params['time_range'] in time_range_dict:
@@ -70,19 +77,18 @@ def response(resp):
dom = html.fromstring(resp.text)
for result in dom.xpath('//div[@class="dg_u"]'):
- url = result.xpath('./div[@class="mc_vtvc"]/a/@href')[0]
- url = 'https://bing.com' + url
- title = extract_text(result.xpath('./div/a/div/div[@class="mc_vtvc_title"]/@title'))
- content = extract_text(result.xpath('./div/a/div/div/div/div/text()'))
- thumbnail = result.xpath('./div/a/div/div/img/@src')[0]
-
- results.append({'url': url,
- 'title': title,
- 'content': content,
- 'thumbnail': thumbnail,
- 'template': 'videos.html'})
-
- if len(results) >= number_of_results:
- break
+ try:
+ metadata = loads(result.xpath('.//div[@class="vrhdata"]/@vrhm')[0])
+ info = ' - '.join(result.xpath('.//div[@class="mc_vtvc_meta_block"]//span/text()')).strip()
+ content = '{0} - {1}'.format(metadata['du'], info)
+ thumbnail = '{0}th?id={1}'.format(base_url, metadata['thid'])
+ results.append({'url': metadata['murl'],
+ 'thumbnail': thumbnail,
+ 'title': metadata.get('vt', ''),
+ 'content': content,
+ 'template': 'videos.html'})
+
+ except:
+ continue
return results
diff --git a/searx/engines/btdigg.py b/searx/engines/btdigg.py
index 40438673f..82eedc24b 100644
--- a/searx/engines/btdigg.py
+++ b/searx/engines/btdigg.py
@@ -1,7 +1,7 @@
"""
BTDigg (Videos, Music, Files)
- @website https://btdigg.org
+ @website https://btdig.com
@provide-api yes (on demand)
@using-api no
@@ -21,7 +21,7 @@ categories = ['videos', 'music', 'files']
paging = True
# search-url
-url = 'https://btdigg.org'
+url = 'https://btdig.com'
search_url = url + '/search?q={search_term}&p={pageno}'
@@ -39,7 +39,7 @@ def response(resp):
dom = html.fromstring(resp.text)
- search_res = dom.xpath('//div[@id="search_res"]/table/tr')
+ search_res = dom.xpath('//div[@class="one_result"]')
# return empty array if nothing is found
if not search_res:
@@ -47,46 +47,39 @@ def response(resp):
# parse results
for result in search_res:
- link = result.xpath('.//td[@class="torrent_name"]//a')[0]
+ link = result.xpath('.//div[@class="torrent_name"]//a')[0]
href = urljoin(url, link.attrib.get('href'))
title = extract_text(link)
- content = extract_text(result.xpath('.//pre[@class="snippet"]')[0])
- content = "<br />".join(content.split("\n"))
- filesize = result.xpath('.//span[@class="attr_val"]/text()')[0].split()[0]
- filesize_multiplier = result.xpath('.//span[@class="attr_val"]/text()')[0].split()[1]
- files = result.xpath('.//span[@class="attr_val"]/text()')[1]
- seed = result.xpath('.//span[@class="attr_val"]/text()')[2]
+ excerpt = result.xpath('.//div[@class="torrent_excerpt"]')[0]
+ content = html.tostring(excerpt, encoding='unicode', method='text', with_tail=False)
+ # it is better to emit <br/> instead of |, but html tags are verboten
+ content = content.strip().replace('\n', ' | ')
+ content = ' '.join(content.split())
- # convert seed to int if possible
- if seed.isdigit():
- seed = int(seed)
- else:
- seed = 0
-
- leech = 0
+ filesize = result.xpath('.//span[@class="torrent_size"]/text()')[0].split()[0]
+ filesize_multiplier = result.xpath('.//span[@class="torrent_size"]/text()')[0].split()[1]
+ files = (result.xpath('.//span[@class="torrent_files"]/text()') or ['1'])[0]
# convert filesize to byte if possible
filesize = get_torrent_size(filesize, filesize_multiplier)
# convert files to int if possible
- if files.isdigit():
+ try:
files = int(files)
- else:
+ except:
files = None
- magnetlink = result.xpath('.//td[@class="ttth"]//a')[0].attrib['href']
+ magnetlink = result.xpath('.//div[@class="torrent_magnet"]//a')[0].attrib['href']
# append result
results.append({'url': href,
'title': title,
'content': content,
- 'seed': seed,
- 'leech': leech,
'filesize': filesize,
'files': files,
'magnetlink': magnetlink,
'template': 'torrent.html'})
# return results sorted by seeder
- return sorted(results, key=itemgetter('seed'), reverse=True)
+ return results
diff --git a/searx/engines/dailymotion.py b/searx/engines/dailymotion.py
index 8268b6257..1038e64bf 100644
--- a/searx/engines/dailymotion.py
+++ b/searx/engines/dailymotion.py
@@ -15,7 +15,7 @@
from json import loads
from datetime import datetime
from searx.url_utils import urlencode
-from searx.utils import match_language
+from searx.utils import match_language, html_to_text
# engine dependent config
categories = ['videos']
@@ -26,14 +26,17 @@ language_support = True
# see http://www.dailymotion.com/doc/api/obj-video.html
search_url = 'https://api.dailymotion.com/videos?fields=created_time,title,description,duration,url,thumbnail_360_url,id&sort=relevance&limit=5&page={pageno}&{query}' # noqa
embedded_url = '<iframe frameborder="0" width="540" height="304" ' +\
- 'data-src="//www.dailymotion.com/embed/video/{videoid}" allowfullscreen></iframe>'
+ 'data-src="https://www.dailymotion.com/embed/video/{videoid}" allowfullscreen></iframe>'
supported_languages_url = 'https://api.dailymotion.com/languages'
# do search-request
def request(query, params):
- locale = match_language(params['language'], supported_languages)
+ if params['language'] == 'all':
+ locale = 'en-US'
+ else:
+ locale = match_language(params['language'], supported_languages)
params['url'] = search_url.format(
query=urlencode({'search': query, 'localization': locale}),
@@ -56,7 +59,7 @@ def response(resp):
for res in search_res['list']:
title = res['title']
url = res['url']
- content = res['description']
+ content = html_to_text(res['description'])
thumbnail = res['thumbnail_360_url']
publishedDate = datetime.fromtimestamp(res['created_time'], None)
embedded = embedded_url.format(videoid=res['id'])
diff --git a/searx/engines/deviantart.py b/searx/engines/deviantart.py
index bb85c6dc5..a0e27e622 100644
--- a/searx/engines/deviantart.py
+++ b/searx/engines/deviantart.py
@@ -24,7 +24,7 @@ time_range_support = True
# search-url
base_url = 'https://www.deviantart.com/'
-search_url = base_url + 'browse/all/?offset={offset}&{query}'
+search_url = base_url + 'search?page={page}&{query}'
time_range_url = '&order={range}'
time_range_dict = {'day': 11,
@@ -37,9 +37,7 @@ def request(query, params):
if params['time_range'] and params['time_range'] not in time_range_dict:
return params
- offset = (params['pageno'] - 1) * 24
-
- params['url'] = search_url.format(offset=offset,
+ params['url'] = search_url.format(page=params['pageno'],
query=urlencode({'q': query}))
if params['time_range'] in time_range_dict:
params['url'] += time_range_url.format(range=time_range_dict[params['time_range']])
@@ -57,28 +55,27 @@ def response(resp):
dom = html.fromstring(resp.text)
- regex = re.compile(r'\/200H\/')
-
# parse results
- for result in dom.xpath('.//span[@class="thumb wide"]'):
- link = result.xpath('.//a[@class="torpedo-thumb-link"]')[0]
- url = link.attrib.get('href')
- title = extract_text(result.xpath('.//span[@class="title"]'))
- thumbnail_src = link.xpath('.//img')[0].attrib.get('src')
- img_src = regex.sub('/', thumbnail_src)
-
- # http to https, remove domain sharding
- thumbnail_src = re.sub(r"https?://(th|fc)\d+.", "https://th01.", thumbnail_src)
- thumbnail_src = re.sub(r"http://", "https://", thumbnail_src)
-
- url = re.sub(r"http://(.*)\.deviantart\.com/", "https://\\1.deviantart.com/", url)
-
- # append result
- results.append({'url': url,
- 'title': title,
- 'img_src': img_src,
- 'thumbnail_src': thumbnail_src,
- 'template': 'images.html'})
+ for row in dom.xpath('//div[contains(@data-hook, "content_row")]'):
+ for result in row.xpath('./div'):
+ link = result.xpath('.//a[@data-hook="deviation_link"]')[0]
+ url = link.attrib.get('href')
+ title = link.attrib.get('title')
+ thumbnail_src = result.xpath('.//img')[0].attrib.get('src')
+ img_src = thumbnail_src
+
+ # http to https, remove domain sharding
+ thumbnail_src = re.sub(r"https?://(th|fc)\d+.", "https://th01.", thumbnail_src)
+ thumbnail_src = re.sub(r"http://", "https://", thumbnail_src)
+
+ url = re.sub(r"http://(.*)\.deviantart\.com/", "https://\\1.deviantart.com/", url)
+
+ # append result
+ results.append({'url': url,
+ 'title': title,
+ 'img_src': img_src,
+ 'thumbnail_src': thumbnail_src,
+ 'template': 'images.html'})
# return results
return results
diff --git a/searx/engines/dictzone.py b/searx/engines/dictzone.py
index 7cc44df73..423af0971 100644
--- a/searx/engines/dictzone.py
+++ b/searx/engines/dictzone.py
@@ -11,11 +11,11 @@
import re
from lxml import html
-from searx.utils import is_valid_lang
+from searx.utils import is_valid_lang, eval_xpath
from searx.url_utils import urljoin
categories = ['general']
-url = u'http://dictzone.com/{from_lang}-{to_lang}-dictionary/{query}'
+url = u'https://dictzone.com/{from_lang}-{to_lang}-dictionary/{query}'
weight = 100
parser_re = re.compile(b'.*?([a-z]+)-([a-z]+) ([^ ]+)$', re.I)
@@ -47,14 +47,14 @@ def response(resp):
dom = html.fromstring(resp.text)
- for k, result in enumerate(dom.xpath(results_xpath)[1:]):
+ for k, result in enumerate(eval_xpath(dom, results_xpath)[1:]):
try:
- from_result, to_results_raw = result.xpath('./td')
+ from_result, to_results_raw = eval_xpath(result, './td')
except:
continue
to_results = []
- for to_result in to_results_raw.xpath('./p/a'):
+ for to_result in eval_xpath(to_results_raw, './p/a'):
t = to_result.text_content()
if t.strip():
to_results.append(to_result.text_content())
diff --git a/searx/engines/digg.py b/searx/engines/digg.py
index 4369ccb84..073410eb0 100644
--- a/searx/engines/digg.py
+++ b/searx/engines/digg.py
@@ -15,7 +15,8 @@ import string
from dateutil import parser
from json import loads
from lxml import html
-from searx.url_utils import quote_plus
+from searx.url_utils import urlencode
+from datetime import datetime
# engine dependent config
categories = ['news', 'social media']
@@ -23,7 +24,7 @@ paging = True
# search-url
base_url = 'https://digg.com/'
-search_url = base_url + 'api/search/{query}.json?position={position}&format=html'
+search_url = base_url + 'api/search/?{query}&from={position}&size=20&format=html'
# specific xpath variables
results_xpath = '//article'
@@ -38,9 +39,9 @@ digg_cookie_chars = string.ascii_uppercase + string.ascii_lowercase +\
# do search-request
def request(query, params):
- offset = (params['pageno'] - 1) * 10
+ offset = (params['pageno'] - 1) * 20
params['url'] = search_url.format(position=offset,
- query=quote_plus(query))
+ query=urlencode({'q': query}))
params['cookies']['frontend.auid'] = ''.join(random.choice(
digg_cookie_chars) for _ in range(22))
return params
@@ -52,30 +53,17 @@ def response(resp):
search_result = loads(resp.text)
- if 'html' not in search_result or search_result['html'] == '':
- return results
-
- dom = html.fromstring(search_result['html'])
-
# parse results
- for result in dom.xpath(results_xpath):
- url = result.attrib.get('data-contenturl')
- thumbnail = result.xpath('.//img')[0].attrib.get('src')
- title = ''.join(result.xpath(title_xpath))
- content = ''.join(result.xpath(content_xpath))
- pubdate = result.xpath(pubdate_xpath)[0].attrib.get('datetime')
- publishedDate = parser.parse(pubdate)
-
- # http to https
- thumbnail = thumbnail.replace("http://static.digg.com", "https://static.digg.com")
+ for result in search_result['mapped']:
+ published = datetime.strptime(result['created']['ISO'], "%Y-%m-%d %H:%M:%S")
# append result
- results.append({'url': url,
- 'title': title,
- 'content': content,
+ results.append({'url': result['url'],
+ 'title': result['title'],
+ 'content': result['excerpt'],
'template': 'videos.html',
- 'publishedDate': publishedDate,
- 'thumbnail': thumbnail})
+ 'publishedDate': published,
+ 'thumbnail': result['images']['thumbImage']})
# return results
return results
diff --git a/searx/engines/doku.py b/searx/engines/doku.py
index a391be444..d20e66026 100644
--- a/searx/engines/doku.py
+++ b/searx/engines/doku.py
@@ -11,6 +11,7 @@
from lxml.html import fromstring
from searx.engines.xpath import extract_text
+from searx.utils import eval_xpath
from searx.url_utils import urlencode
# engine dependent config
@@ -45,16 +46,16 @@ def response(resp):
# parse results
# Quickhits
- for r in doc.xpath('//div[@class="search_quickresult"]/ul/li'):
+ for r in eval_xpath(doc, '//div[@class="search_quickresult"]/ul/li'):
try:
- res_url = r.xpath('.//a[@class="wikilink1"]/@href')[-1]
+ res_url = eval_xpath(r, './/a[@class="wikilink1"]/@href')[-1]
except:
continue
if not res_url:
continue
- title = extract_text(r.xpath('.//a[@class="wikilink1"]/@title'))
+ title = extract_text(eval_xpath(r, './/a[@class="wikilink1"]/@title'))
# append result
results.append({'title': title,
@@ -62,13 +63,13 @@ def response(resp):
'url': base_url + res_url})
# Search results
- for r in doc.xpath('//dl[@class="search_results"]/*'):
+ for r in eval_xpath(doc, '//dl[@class="search_results"]/*'):
try:
if r.tag == "dt":
- res_url = r.xpath('.//a[@class="wikilink1"]/@href')[-1]
- title = extract_text(r.xpath('.//a[@class="wikilink1"]/@title'))
+ res_url = eval_xpath(r, './/a[@class="wikilink1"]/@href')[-1]
+ title = extract_text(eval_xpath(r, './/a[@class="wikilink1"]/@title'))
elif r.tag == "dd":
- content = extract_text(r.xpath('.'))
+ content = extract_text(eval_xpath(r, '.'))
# append result
results.append({'title': title,
diff --git a/searx/engines/duckduckgo.py b/searx/engines/duckduckgo.py
index 2c5dc50d8..0d2c0af2d 100644
--- a/searx/engines/duckduckgo.py
+++ b/searx/engines/duckduckgo.py
@@ -18,7 +18,7 @@ from json import loads
from searx.engines.xpath import extract_text
from searx.poolrequests import get
from searx.url_utils import urlencode
-from searx.utils import match_language
+from searx.utils import match_language, eval_xpath
# engine dependent config
categories = ['general']
@@ -54,6 +54,9 @@ content_xpath = './/a[@class="result__snippet"]'
# match query's language to a region code that duckduckgo will accept
def get_region_code(lang, lang_list=[]):
+ if lang == 'all':
+ return None
+
lang_code = match_language(lang, lang_list, language_aliases, 'wt-WT')
lang_parts = lang_code.split('-')
@@ -61,19 +64,37 @@ def get_region_code(lang, lang_list=[]):
return lang_parts[1].lower() + '-' + lang_parts[0].lower()
-# do search-request
def request(query, params):
- if params['time_range'] and params['time_range'] not in time_range_dict:
+ if params['time_range'] not in (None, 'None', '') and params['time_range'] not in time_range_dict:
return params
offset = (params['pageno'] - 1) * 30
region_code = get_region_code(params['language'], supported_languages)
- params['url'] = url.format(
- query=urlencode({'q': query, 'kl': region_code}), offset=offset, dc_param=offset)
-
- if params['time_range'] in time_range_dict:
- params['url'] += time_range_url.format(range=time_range_dict[params['time_range']])
+ params['url'] = 'https://duckduckgo.com/html/'
+ if params['pageno'] > 1:
+ params['method'] = 'POST'
+ params['data']['q'] = query
+ params['data']['s'] = offset
+ params['data']['dc'] = 30
+ params['data']['nextParams'] = ''
+ params['data']['v'] = 'l'
+ params['data']['o'] = 'json'
+ params['data']['api'] = '/d.js'
+ if params['time_range'] in time_range_dict:
+ params['data']['df'] = time_range_dict[params['time_range']]
+ if region_code:
+ params['data']['kl'] = region_code
+ else:
+ if region_code:
+ params['url'] = url.format(
+ query=urlencode({'q': query, 'kl': region_code}), offset=offset, dc_param=offset)
+ else:
+ params['url'] = url.format(
+ query=urlencode({'q': query}), offset=offset, dc_param=offset)
+
+ if params['time_range'] in time_range_dict:
+ params['url'] += time_range_url.format(range=time_range_dict[params['time_range']])
return params
@@ -85,17 +106,19 @@ def response(resp):
doc = fromstring(resp.text)
# parse results
- for r in doc.xpath(result_xpath):
+ for i, r in enumerate(eval_xpath(doc, result_xpath)):
+ if i >= 30:
+ break
try:
- res_url = r.xpath(url_xpath)[-1]
+ res_url = eval_xpath(r, url_xpath)[-1]
except:
continue
if not res_url:
continue
- title = extract_text(r.xpath(title_xpath))
- content = extract_text(r.xpath(content_xpath))
+ title = extract_text(eval_xpath(r, title_xpath))
+ content = extract_text(eval_xpath(r, content_xpath))
# append result
results.append({'title': title,
diff --git a/searx/engines/duckduckgo_definitions.py b/searx/engines/duckduckgo_definitions.py
index 957a13ea6..79d10c303 100644
--- a/searx/engines/duckduckgo_definitions.py
+++ b/searx/engines/duckduckgo_definitions.py
@@ -1,3 +1,14 @@
+"""
+DuckDuckGo (definitions)
+
+- `Instant Answer API`_
+- `DuckDuckGo query`_
+
+.. _Instant Answer API: https://duckduckgo.com/api
+.. _DuckDuckGo query: https://api.duckduckgo.com/?q=DuckDuckGo&format=json&pretty=1
+
+"""
+
import json
from lxml import html
from re import compile
@@ -25,7 +36,8 @@ def result_to_text(url, text, htmlResult):
def request(query, params):
params['url'] = url.format(query=urlencode({'q': query}))
language = match_language(params['language'], supported_languages, language_aliases)
- params['headers']['Accept-Language'] = language.split('-')[0]
+ language = language.split('-')[0]
+ params['headers']['Accept-Language'] = language
return params
@@ -43,8 +55,9 @@ def response(resp):
# add answer if there is one
answer = search_res.get('Answer', '')
- if answer != '':
- results.append({'answer': html_to_text(answer)})
+ if answer:
+ if search_res.get('AnswerType', '') not in ['calc']:
+ results.append({'answer': html_to_text(answer)})
# add infobox
if 'Definition' in search_res:
diff --git a/searx/engines/duckduckgo_images.py b/searx/engines/duckduckgo_images.py
index 7905d0bcd..89924b71c 100644
--- a/searx/engines/duckduckgo_images.py
+++ b/searx/engines/duckduckgo_images.py
@@ -35,9 +35,12 @@ site_url = 'https://duckduckgo.com/?{query}&iar=images&iax=1&ia=images'
# run query in site to get vqd number needed for requesting images
# TODO: find a way to get this number without an extra request (is it a hash of the query?)
-def get_vqd(query):
- res = get(site_url.format(query=urlencode({'q': query})))
+def get_vqd(query, headers):
+ query_url = site_url.format(query=urlencode({'q': query}))
+ res = get(query_url, headers=headers)
content = res.text
+ if content.find('vqd=\'') == -1:
+ raise Exception('Request failed')
vqd = content[content.find('vqd=\'') + 5:]
vqd = vqd[:vqd.find('\'')]
return vqd
@@ -47,7 +50,7 @@ def get_vqd(query):
def request(query, params):
# to avoid running actual external requests when testing
if 'is_test' not in params:
- vqd = get_vqd(query)
+ vqd = get_vqd(query, params['headers'])
else:
vqd = '12345'
@@ -56,8 +59,12 @@ def request(query, params):
safesearch = params['safesearch'] - 1
region_code = get_region_code(params['language'], lang_list=supported_languages)
- params['url'] = images_url.format(
- query=urlencode({'q': query, 'l': region_code}), offset=offset, safesearch=safesearch, vqd=vqd)
+ if region_code:
+ params['url'] = images_url.format(
+ query=urlencode({'q': query, 'l': region_code}), offset=offset, safesearch=safesearch, vqd=vqd)
+ else:
+ params['url'] = images_url.format(
+ query=urlencode({'q': query}), offset=offset, safesearch=safesearch, vqd=vqd)
return params
@@ -70,7 +77,7 @@ def response(resp):
try:
res_json = loads(content)
except:
- return []
+ raise Exception('Cannot parse results')
# parse results
for result in res_json['results']:
diff --git a/searx/engines/duden.py b/searx/engines/duden.py
index 881ff9d9c..cf2f1a278 100644
--- a/searx/engines/duden.py
+++ b/searx/engines/duden.py
@@ -11,7 +11,8 @@
from lxml import html, etree
import re
from searx.engines.xpath import extract_text
-from searx.url_utils import quote
+from searx.utils import eval_xpath
+from searx.url_utils import quote, urljoin
from searx import logger
categories = ['general']
@@ -20,7 +21,7 @@ language_support = False
# search-url
base_url = 'https://www.duden.de/'
-search_url = base_url + 'suchen/dudenonline/{query}?page={offset}'
+search_url = base_url + 'suchen/dudenonline/{query}?search_api_fulltext=&page={offset}'
def request(query, params):
@@ -35,7 +36,11 @@ def request(query, params):
'''
offset = (params['pageno'] - 1)
- params['url'] = search_url.format(offset=offset, query=quote(query))
+ if offset == 0:
+ search_url_fmt = base_url + 'suchen/dudenonline/{query}'
+ params['url'] = search_url_fmt.format(query=quote(query))
+ else:
+ params['url'] = search_url.format(offset=offset, query=quote(query))
return params
@@ -48,9 +53,9 @@ def response(resp):
dom = html.fromstring(resp.text)
try:
- number_of_results_string = re.sub('[^0-9]', '', dom.xpath(
- '//a[@class="active" and contains(@href,"/suchen/dudenonline")]/span/text()')[0]
- )
+ number_of_results_string =\
+ re.sub('[^0-9]', '',
+ eval_xpath(dom, '//a[@class="active" and contains(@href,"/suchen/dudenonline")]/span/text()')[0])
results.append({'number_of_results': int(number_of_results_string)})
@@ -58,13 +63,12 @@ def response(resp):
logger.debug("Couldn't read number of results.")
pass
- for result in dom.xpath('//section[@class="wide" and not(contains(@style,"overflow:hidden"))]'):
+ for result in eval_xpath(dom, '//section[not(contains(@class, "essay"))]'):
try:
- logger.debug("running for %s" % str(result))
- link = result.xpath('.//h2/a')[0]
- url = link.attrib.get('href')
- title = result.xpath('string(.//h2/a)')
- content = extract_text(result.xpath('.//p'))
+ url = eval_xpath(result, './/h2/a')[0].get('href')
+ url = urljoin(base_url, url)
+ title = eval_xpath(result, 'string(.//h2/a)').strip()
+ content = extract_text(eval_xpath(result, './/p'))
# append result
results.append({'url': url,
'title': title,
diff --git a/searx/engines/faroo.py b/searx/engines/faroo.py
index 4e8b56743..a36ecf778 100644
--- a/searx/engines/faroo.py
+++ b/searx/engines/faroo.py
@@ -40,7 +40,10 @@ def request(query, params):
offset = (params['pageno'] - 1) * number_of_results + 1
categorie = search_category.get(params['category'], 'web')
- language = params['language'].split('-')[0]
+ if params['language'] == 'all':
+ language = 'en'
+ else:
+ language = params['language'].split('-')[0]
# if language is not supported, put it in english
if language != 'en' and\
diff --git a/searx/engines/fdroid.py b/searx/engines/fdroid.py
index a6b01a8ee..4066dc716 100644
--- a/searx/engines/fdroid.py
+++ b/searx/engines/fdroid.py
@@ -18,13 +18,13 @@ categories = ['files']
paging = True
# search-url
-base_url = 'https://f-droid.org/'
-search_url = base_url + 'repository/browse/?{query}'
+base_url = 'https://search.f-droid.org/'
+search_url = base_url + '?{query}'
# do search-request
def request(query, params):
- query = urlencode({'fdfilter': query, 'fdpage': params['pageno']})
+ query = urlencode({'q': query, 'page': params['pageno'], 'lang': ''})
params['url'] = search_url.format(query=query)
return params
@@ -35,17 +35,16 @@ def response(resp):
dom = html.fromstring(resp.text)
- for app in dom.xpath('//div[@id="appheader"]'):
- url = app.xpath('./ancestor::a/@href')[0]
- title = app.xpath('./p/span/text()')[0]
- img_src = app.xpath('.//img/@src')[0]
-
- content = extract_text(app.xpath('./p')[0])
- content = content.replace(title, '', 1).strip()
-
- results.append({'url': url,
- 'title': title,
- 'content': content,
- 'img_src': img_src})
+ for app in dom.xpath('//a[@class="package-header"]'):
+ app_url = app.xpath('./@href')[0]
+ app_title = extract_text(app.xpath('./div/h4[@class="package-name"]/text()'))
+ app_content = extract_text(app.xpath('./div/div/span[@class="package-summary"]')).strip() \
+ + ' - ' + extract_text(app.xpath('./div/div/span[@class="package-license"]')).strip()
+ app_img_src = app.xpath('./img[@class="package-icon"]/@src')[0]
+
+ results.append({'url': app_url,
+ 'title': app_title,
+ 'content': app_content,
+ 'img_src': app_img_src})
return results
diff --git a/searx/engines/flickr_noapi.py b/searx/engines/flickr_noapi.py
index 08f07f7ce..198ac2cff 100644
--- a/searx/engines/flickr_noapi.py
+++ b/searx/engines/flickr_noapi.py
@@ -17,7 +17,7 @@ from time import time
import re
from searx.engines import logger
from searx.url_utils import urlencode
-
+from searx.utils import ecma_unescape, html_to_text
logger = logger.getChild('flickr-noapi')
@@ -27,7 +27,7 @@ url = 'https://www.flickr.com/'
search_url = url + 'search?{query}&page={page}'
time_range_url = '&min_upload_date={start}&max_upload_date={end}'
photo_url = 'https://www.flickr.com/photos/{userid}/{photoid}'
-regex = re.compile(r"\"search-photos-lite-models\",\"photos\":(.*}),\"totalItems\":", re.DOTALL)
+modelexport_re = re.compile(r"^\s*modelExport:\s*({.*}),$", re.M)
image_sizes = ('o', 'k', 'h', 'b', 'c', 'z', 'n', 'm', 't', 'q', 's')
paging = True
@@ -57,40 +57,44 @@ def request(query, params):
def response(resp):
results = []
- matches = regex.search(resp.text)
+ matches = modelexport_re.search(resp.text)
if matches is None:
return results
match = matches.group(1)
- search_results = loads(match)
-
- if '_data' not in search_results:
- return []
+ model_export = loads(match)
- photos = search_results['_data']
+ if 'legend' not in model_export:
+ return results
- for photo in photos:
+ legend = model_export['legend']
- # In paged configuration, the first pages' photos
- # are represented by a None object
- if photo is None:
- continue
+ # handle empty page
+ if not legend or not legend[0]:
+ return results
+ for index in legend:
+ photo = model_export['main'][index[0]][int(index[1])][index[2]][index[3]][int(index[4])]
+ author = ecma_unescape(photo.get('realname', ''))
+ source = ecma_unescape(photo.get('username', '')) + ' @ Flickr'
+ title = ecma_unescape(photo.get('title', ''))
+ content = html_to_text(ecma_unescape(photo.get('description', '')))
img_src = None
# From the biggest to the lowest format
for image_size in image_sizes:
if image_size in photo['sizes']:
img_src = photo['sizes'][image_size]['url']
+ img_format = 'jpg ' \
+ + str(photo['sizes'][image_size]['width']) \
+ + 'x' \
+ + str(photo['sizes'][image_size]['height'])
break
if not img_src:
logger.debug('cannot find valid image size: {0}'.format(repr(photo)))
continue
- if 'ownerNsid' not in photo:
- continue
-
# For a bigger thumbnail, keep only the url_z, not the url_n
if 'n' in photo['sizes']:
thumbnail_src = photo['sizes']['n']['url']
@@ -99,19 +103,20 @@ def response(resp):
else:
thumbnail_src = img_src
- url = build_flickr_url(photo['ownerNsid'], photo['id'])
-
- title = photo.get('title', '')
-
- author = photo['username']
+ if 'ownerNsid' not in photo:
+ # should not happen, disowned photo? Show it anyway
+ url = img_src
+ else:
+ url = build_flickr_url(photo['ownerNsid'], photo['id'])
- # append result
results.append({'url': url,
'title': title,
'img_src': img_src,
'thumbnail_src': thumbnail_src,
- 'content': '',
+ 'content': content,
'author': author,
+ 'source': source,
+ 'img_format': img_format,
'template': 'images.html'})
return results
diff --git a/searx/engines/framalibre.py b/searx/engines/framalibre.py
index 146cdaeec..f3441fa5f 100644
--- a/searx/engines/framalibre.py
+++ b/searx/engines/framalibre.py
@@ -10,7 +10,10 @@
@parse url, title, content, thumbnail, img_src
"""
-from cgi import escape
+try:
+ from cgi import escape
+except:
+ from html import escape
from lxml import html
from searx.engines.xpath import extract_text
from searx.url_utils import urljoin, urlencode
diff --git a/searx/engines/gigablast.py b/searx/engines/gigablast.py
index 9b9b9bd77..a84f3f69d 100644
--- a/searx/engines/gigablast.py
+++ b/searx/engines/gigablast.py
@@ -15,6 +15,7 @@ from json import loads
from time import time
from lxml.html import fromstring
from searx.url_utils import urlencode
+from searx.utils import eval_xpath
# engine dependent config
categories = ['general']
@@ -35,8 +36,8 @@ search_string = 'search?{query}'\
'&ff={safesearch}'\
'&rxiec={rxieu}'\
'&ulse={ulse}'\
- '&rand={rxikd}' # current unix timestamp
-
+ '&rand={rxikd}'\
+ '&dbez={dbez}'
# specific xpath variables
results_xpath = '//response//result'
url_xpath = './/url'
@@ -50,9 +51,12 @@ supported_languages_url = 'https://gigablast.com/search?&rxikd=1'
def request(query, params):
offset = (params['pageno'] - 1) * number_of_results
- language = params['language'].replace('-', '_').lower()
- if language.split('-')[0] != 'zh':
- language = language.split('-')[0]
+ if params['language'] == 'all':
+ language = 'xx'
+ else:
+ language = params['language'].replace('-', '_').lower()
+ if language.split('-')[0] != 'zh':
+ language = language.split('-')[0]
if params['safesearch'] >= 1:
safesearch = 1
@@ -67,7 +71,8 @@ def request(query, params):
rxieu=random.randint(1000000000, 9999999999),
ulse=random.randint(100000000, 999999999),
lang=language,
- safesearch=safesearch)
+ safesearch=safesearch,
+ dbez=random.randint(100000000, 999999999))
params['url'] = base_url + search_path
@@ -95,9 +100,9 @@ def response(resp):
def _fetch_supported_languages(resp):
supported_languages = []
dom = fromstring(resp.text)
- links = dom.xpath('//span[@id="menu2"]/a')
+ links = eval_xpath(dom, '//span[@id="menu2"]/a')
for link in links:
- href = link.xpath('./@href')[0].split('lang%3A')
+ href = eval_xpath(link, './@href')[0].split('lang%3A')
if len(href) == 2:
code = href[1].split('_')
if len(code) == 2:
diff --git a/searx/engines/google.py b/searx/engines/google.py
index 62e7d1170..eed3a044e 100644
--- a/searx/engines/google.py
+++ b/searx/engines/google.py
@@ -14,7 +14,7 @@ from lxml import html, etree
from searx.engines.xpath import extract_text, extract_url
from searx import logger
from searx.url_utils import urlencode, urlparse, parse_qsl
-from searx.utils import match_language
+from searx.utils import match_language, eval_xpath
logger = logger.getChild('google engine')
@@ -107,13 +107,12 @@ images_path = '/images'
supported_languages_url = 'https://www.google.com/preferences?#languages'
# specific xpath variables
-results_xpath = '//div[@class="g"]'
-url_xpath = './/h3/a/@href'
-title_xpath = './/h3'
-content_xpath = './/span[@class="st"]'
-content_misc_xpath = './/div[@class="f slp"]'
-suggestion_xpath = '//p[@class="_Bmc"]'
-spelling_suggestion_xpath = '//a[@class="spell"]'
+results_xpath = '//div[contains(@class, "ZINbbc")]'
+url_xpath = './/div[@class="kCrYT"][1]/a/@href'
+title_xpath = './/div[@class="kCrYT"][1]/a/div[1]'
+content_xpath = './/div[@class="kCrYT"][2]//div[contains(@class, "BNeawe")]//div[contains(@class, "BNeawe")]'
+suggestion_xpath = '//div[contains(@class, "ZINbbc")][last()]//div[@class="rVLSBd"]/a//div[contains(@class, "BNeawe")]'
+spelling_suggestion_xpath = '//div[@id="scc"]//a'
# map : detail location
map_address_xpath = './/div[@class="s"]//table//td[2]/span/text()'
@@ -156,7 +155,7 @@ def parse_url(url_string, google_hostname):
# returns extract_text on the first result selected by the xpath or None
def extract_text_from_dom(result, xpath):
- r = result.xpath(xpath)
+ r = eval_xpath(result, xpath)
if len(r) > 0:
return extract_text(r[0])
return None
@@ -166,7 +165,11 @@ def extract_text_from_dom(result, xpath):
def request(query, params):
offset = (params['pageno'] - 1) * 10
- language = match_language(params['language'], supported_languages)
+ if params['language'] == 'all' or params['language'] == 'en-US':
+ language = 'en-GB'
+ else:
+ language = match_language(params['language'], supported_languages, language_aliases)
+
language_array = language.split('-')
if params['language'].find('-') > 0:
country = params['language'].split('-')[1]
@@ -219,21 +222,21 @@ def response(resp):
# convert the text to dom
dom = html.fromstring(resp.text)
- instant_answer = dom.xpath('//div[@id="_vBb"]//text()')
+ instant_answer = eval_xpath(dom, '//div[@id="_vBb"]//text()')
if instant_answer:
results.append({'answer': u' '.join(instant_answer)})
try:
- results_num = int(dom.xpath('//div[@id="resultStats"]//text()')[0]
+ results_num = int(eval_xpath(dom, '//div[@id="resultStats"]//text()')[0]
.split()[1].replace(',', ''))
results.append({'number_of_results': results_num})
except:
pass
# parse results
- for result in dom.xpath(results_xpath):
+ for result in eval_xpath(dom, results_xpath):
try:
- title = extract_text(result.xpath(title_xpath)[0])
- url = parse_url(extract_url(result.xpath(url_xpath), google_url), google_hostname)
+ title = extract_text(eval_xpath(result, title_xpath)[0])
+ url = parse_url(extract_url(eval_xpath(result, url_xpath), google_url), google_hostname)
parsed_url = urlparse(url, google_hostname)
# map result
@@ -242,7 +245,7 @@ def response(resp):
continue
# if parsed_url.path.startswith(maps_path) or parsed_url.netloc.startswith(map_hostname_start):
# print "yooooo"*30
- # x = result.xpath(map_near)
+ # x = eval_xpath(result, map_near)
# if len(x) > 0:
# # map : near the location
# results = results + parse_map_near(parsed_url, x, google_hostname)
@@ -266,9 +269,7 @@ def response(resp):
content = extract_text_from_dom(result, content_xpath)
if content is None:
continue
- content_misc = extract_text_from_dom(result, content_misc_xpath)
- if content_misc is not None:
- content = content_misc + "<br />" + content
+
# append result
results.append({'url': url,
'title': title,
@@ -279,11 +280,11 @@ def response(resp):
continue
# parse suggestion
- for suggestion in dom.xpath(suggestion_xpath):
+ for suggestion in eval_xpath(dom, suggestion_xpath):
# append suggestion
results.append({'suggestion': extract_text(suggestion)})
- for correction in dom.xpath(spelling_suggestion_xpath):
+ for correction in eval_xpath(dom, spelling_suggestion_xpath):
results.append({'correction': extract_text(correction)})
# return results
@@ -292,9 +293,9 @@ def response(resp):
def parse_images(result, google_hostname):
results = []
- for image in result.xpath(images_xpath):
- url = parse_url(extract_text(image.xpath(image_url_xpath)[0]), google_hostname)
- img_src = extract_text(image.xpath(image_img_src_xpath)[0])
+ for image in eval_xpath(result, images_xpath):
+ url = parse_url(extract_text(eval_xpath(image, image_url_xpath)[0]), google_hostname)
+ img_src = extract_text(eval_xpath(image, image_img_src_xpath)[0])
# append result
results.append({'url': url,
@@ -381,10 +382,10 @@ def attributes_to_html(attributes):
def _fetch_supported_languages(resp):
supported_languages = {}
dom = html.fromstring(resp.text)
- options = dom.xpath('//table//td/font/label/span')
+ options = eval_xpath(dom, '//*[@id="langSec"]//input[@name="lr"]')
for option in options:
- code = option.xpath('./@id')[0][1:]
- name = option.text.title()
+ code = eval_xpath(option, './@value')[0].split('_')[-1]
+ name = eval_xpath(option, './@data-name')[0].title()
supported_languages[code] = {"name": name}
return supported_languages
diff --git a/searx/engines/google_images.py b/searx/engines/google_images.py
index 504831a10..636913114 100644
--- a/searx/engines/google_images.py
+++ b/searx/engines/google_images.py
@@ -13,8 +13,7 @@
from datetime import date, timedelta
from json import loads
from lxml import html
-from searx.url_utils import urlencode, urlparse, parse_qs
-
+from searx.url_utils import urlencode
# engine dependent config
categories = ['images']
@@ -26,8 +25,7 @@ number_of_results = 100
search_url = 'https://www.google.com/search'\
'?{query}'\
'&tbm=isch'\
- '&gbv=1'\
- '&sa=G'\
+ '&yv=2'\
'&{search_options}'
time_range_attr = "qdr:{range}"
time_range_custom_attr = "cdr:1,cd_min:{start},cd_max{end}"
@@ -68,19 +66,32 @@ def response(resp):
dom = html.fromstring(resp.text)
# parse results
- for img in dom.xpath('//a'):
- r = {
- 'title': u' '.join(img.xpath('.//div[class="rg_ilmbg"]//text()')),
- 'content': '',
- 'template': 'images.html',
- }
- url = urlparse(img.xpath('.//@href')[0])
- query = parse_qs(url.query)
- r['url'] = query['imgrefurl'][0]
- r['img_src'] = query['imgurl'][0]
- r['thumbnail_src'] = r['img_src']
- # append result
- results.append(r)
-
- # return results
+ for result in dom.xpath('//div[contains(@class, "rg_meta")]/text()'):
+
+ try:
+ metadata = loads(result)
+
+ img_format = metadata.get('ity', '')
+ img_width = metadata.get('ow', '')
+ img_height = metadata.get('oh', '')
+ if img_width and img_height:
+ img_format += " {0}x{1}".format(img_width, img_height)
+
+ source = metadata.get('st', '')
+ source_url = metadata.get('isu', '')
+ if source_url:
+ source += " ({0})".format(source_url)
+
+ results.append({'url': metadata['ru'],
+ 'title': metadata['pt'],
+ 'content': metadata.get('s', ''),
+ 'source': source,
+ 'img_format': img_format,
+ 'thumbnail_src': metadata['tu'],
+ 'img_src': metadata['ou'],
+ 'template': 'images.html'})
+
+ except:
+ continue
+
return results
diff --git a/searx/engines/google_news.py b/searx/engines/google_news.py
index aadcb76df..9c837b45b 100644
--- a/searx/engines/google_news.py
+++ b/searx/engines/google_news.py
@@ -51,9 +51,10 @@ def request(query, params):
params['url'] = search_url.format(query=urlencode({'q': query}),
search_options=urlencode(search_options))
- language = match_language(params['language'], supported_languages).split('-')[0]
- if language:
- params['url'] += '&lr=lang_' + language
+ if params['language'] != 'all':
+ language = match_language(params['language'], supported_languages, language_aliases).split('-')[0]
+ if language:
+ params['url'] += '&lr=lang_' + language
return params
diff --git a/searx/engines/google_videos.py b/searx/engines/google_videos.py
index 310b31490..fd6b2e3be 100644
--- a/searx/engines/google_videos.py
+++ b/searx/engines/google_videos.py
@@ -7,7 +7,7 @@
@using-api no
@results HTML
@stable no
- @parse url, title, content
+ @parse url, title, content, thumbnail
"""
from datetime import date, timedelta
@@ -15,7 +15,7 @@ from json import loads
from lxml import html
from searx.engines.xpath import extract_text
from searx.url_utils import urlencode
-
+import re
# engine dependent config
categories = ['videos']
@@ -25,7 +25,7 @@ time_range_support = True
number_of_results = 10
search_url = 'https://www.google.com/search'\
- '?{query}'\
+ '?q={query}'\
'&tbm=vid'\
'&{search_options}'
time_range_attr = "qdr:{range}"
@@ -69,15 +69,29 @@ def response(resp):
# parse results
for result in dom.xpath('//div[@class="g"]'):
- title = extract_text(result.xpath('.//h3/a'))
- url = result.xpath('.//h3/a/@href')[0]
+ title = extract_text(result.xpath('.//h3'))
+ url = result.xpath('.//div[@class="r"]/a/@href')[0]
content = extract_text(result.xpath('.//span[@class="st"]'))
+ # get thumbnails
+ script = str(dom.xpath('//script[contains(., "_setImagesSrc")]')[0].text)
+ ids = result.xpath('.//div[@class="s"]//img/@id')
+ if len(ids) > 0:
+ thumbnails_data = \
+ re.findall('s=\'(.*?)(?:\\\\[a-z,1-9,\\\\]+\'|\')\;var ii=\[(?:|[\'vidthumb\d+\',]+)\'' + ids[0],
+ script)
+ tmp = []
+ if len(thumbnails_data) != 0:
+ tmp = re.findall('(data:image/jpeg;base64,[a-z,A-Z,0-9,/,\+]+)', thumbnails_data[0])
+ thumbnail = ''
+ if len(tmp) != 0:
+ thumbnail = tmp[-1]
+
# append result
results.append({'url': url,
'title': title,
'content': content,
- 'thumbnail': '',
+ 'thumbnail': thumbnail,
'template': 'videos.html'})
return results
diff --git a/searx/engines/invidious.py b/searx/engines/invidious.py
new file mode 100644
index 000000000..8d81691fc
--- /dev/null
+++ b/searx/engines/invidious.py
@@ -0,0 +1,100 @@
+# Invidious (Videos)
+#
+# @website https://invidio.us/
+# @provide-api yes (https://github.com/omarroth/invidious/wiki/API)
+#
+# @using-api yes
+# @results JSON
+# @stable yes
+# @parse url, title, content, publishedDate, thumbnail, embedded
+
+from searx.url_utils import quote_plus
+from dateutil import parser
+import time
+
+# engine dependent config
+categories = ["videos", "music"]
+paging = True
+language_support = True
+time_range_support = True
+
+# search-url
+base_url = "https://invidio.us/"
+
+
+# do search-request
+def request(query, params):
+ time_range_dict = {
+ "day": "today",
+ "week": "week",
+ "month": "month",
+ "year": "year",
+ }
+ search_url = base_url + "api/v1/search?q={query}"
+ params["url"] = search_url.format(
+ query=quote_plus(query)
+ ) + "&page={pageno}".format(pageno=params["pageno"])
+
+ if params["time_range"] in time_range_dict:
+ params["url"] += "&date={timerange}".format(
+ timerange=time_range_dict[params["time_range"]]
+ )
+
+ if params["language"] != "all":
+ lang = params["language"].split("-")
+ if len(lang) == 2:
+ params["url"] += "&range={lrange}".format(lrange=lang[1])
+
+ return params
+
+
+# get response from search-request
+def response(resp):
+ results = []
+
+ search_results = resp.json()
+ embedded_url = (
+ '<iframe width="540" height="304" '
+ + 'data-src="'
+ + base_url
+ + 'embed/{videoid}" '
+ + 'frameborder="0" allowfullscreen></iframe>'
+ )
+
+ base_invidious_url = base_url + "watch?v="
+
+ for result in search_results:
+ rtype = result.get("type", None)
+ if rtype == "video":
+ videoid = result.get("videoId", None)
+ if not videoid:
+ continue
+
+ url = base_invidious_url + videoid
+ embedded = embedded_url.format(videoid=videoid)
+ thumbs = result.get("videoThumbnails", [])
+ thumb = next(
+ (th for th in thumbs if th["quality"] == "sddefault"), None
+ )
+ if thumb:
+ thumbnail = thumb.get("url", "")
+ else:
+ thumbnail = ""
+
+ publishedDate = parser.parse(
+ time.ctime(result.get("published", 0))
+ )
+
+ results.append(
+ {
+ "url": url,
+ "title": result.get("title", ""),
+ "content": result.get("description", ""),
+ "template": "videos.html",
+ "publishedDate": publishedDate,
+ "embedded": embedded,
+ "thumbnail": thumbnail,
+ }
+ )
+
+ return results
diff --git a/searx/engines/mediawiki.py b/searx/engines/mediawiki.py
index c7b05ffcd..0607ac93b 100644
--- a/searx/engines/mediawiki.py
+++ b/searx/engines/mediawiki.py
@@ -45,7 +45,10 @@ def request(query, params):
format_strings = list(Formatter().parse(base_url))
- language = params['language'].split('-')[0]
+ if params['language'] == 'all':
+ language = 'en'
+ else:
+ language = params['language'].split('-')[0]
# format_string [('https://', 'language', '', None), ('.wikipedia.org/', None, None, None)]
if any(x[1] == 'language' for x in format_strings):
diff --git a/searx/engines/photon.py b/searx/engines/photon.py
index 240841954..15236f680 100644
--- a/searx/engines/photon.py
+++ b/searx/engines/photon.py
@@ -35,9 +35,10 @@ def request(query, params):
search_string.format(query=urlencode({'q': query}),
limit=number_of_results)
- language = params['language'].split('-')[0]
- if language in supported_languages:
- params['url'] = params['url'] + "&lang=" + language
+ if params['language'] != 'all':
+ language = params['language'].split('_')[0]
+ if language in supported_languages:
+ params['url'] = params['url'] + "&lang=" + language
# using searx User-Agent
params['headers']['User-Agent'] = searx_useragent()
diff --git a/searx/engines/qwant.py b/searx/engines/qwant.py
index 4b0f1c87c..de12955c6 100644
--- a/searx/engines/qwant.py
+++ b/searx/engines/qwant.py
@@ -46,8 +46,9 @@ def request(query, params):
offset=offset)
# add language tag
- language = match_language(params['language'], supported_languages)
- params['url'] += '&locale=' + language.replace('-', '_').lower()
+ if params['language'] != 'all':
+ language = match_language(params['language'], supported_languages, language_aliases)
+ params['url'] += '&locale=' + language.replace('-', '_').lower()
return params
diff --git a/searx/engines/seedpeer.py b/searx/engines/seedpeer.py
index 3770dacac..f9b1f99c8 100644
--- a/searx/engines/seedpeer.py
+++ b/searx/engines/seedpeer.py
@@ -1,6 +1,6 @@
# Seedpeer (Videos, Music, Files)
#
-# @website http://seedpeer.eu
+# @website https://seedpeer.me
# @provide-api no (nothing found)
#
# @using-api no
@@ -9,31 +9,28 @@
# @parse url, title, content, seed, leech, magnetlink
from lxml import html
+from json import loads
from operator import itemgetter
from searx.url_utils import quote, urljoin
+from searx.engines.xpath import extract_text
-url = 'http://www.seedpeer.eu/'
-search_url = url + 'search/{search_term}/7/{page_no}.html'
+url = 'https://seedpeer.me/'
+search_url = url + 'search/{search_term}?page={page_no}'
+torrent_file_url = url + 'torrent/{torrent_hash}'
+
# specific xpath variables
-torrent_xpath = '//*[@id="body"]/center/center/table[2]/tr/td/a'
-alternative_torrent_xpath = '//*[@id="body"]/center/center/table[1]/tr/td/a'
-title_xpath = '//*[@id="body"]/center/center/table[2]/tr/td/a/text()'
-alternative_title_xpath = '//*[@id="body"]/center/center/table/tr/td/a'
-seeds_xpath = '//*[@id="body"]/center/center/table[2]/tr/td[4]/font/text()'
-alternative_seeds_xpath = '//*[@id="body"]/center/center/table/tr/td[4]/font/text()'
-peers_xpath = '//*[@id="body"]/center/center/table[2]/tr/td[5]/font/text()'
-alternative_peers_xpath = '//*[@id="body"]/center/center/table/tr/td[5]/font/text()'
-age_xpath = '//*[@id="body"]/center/center/table[2]/tr/td[2]/text()'
-alternative_age_xpath = '//*[@id="body"]/center/center/table/tr/td[2]/text()'
-size_xpath = '//*[@id="body"]/center/center/table[2]/tr/td[3]/text()'
-alternative_size_xpath = '//*[@id="body"]/center/center/table/tr/td[3]/text()'
+script_xpath = '//script[@type="text/javascript"][not(@src)]'
+torrent_xpath = '(//table)[2]/tbody/tr'
+link_xpath = '(./td)[1]/a/@href'
+age_xpath = '(./td)[2]'
+size_xpath = '(./td)[3]'
# do search-request
def request(query, params):
params['url'] = search_url.format(search_term=quote(query),
- page_no=params['pageno'] - 1)
+ page_no=params['pageno'])
return params
@@ -41,34 +38,40 @@ def request(query, params):
def response(resp):
results = []
dom = html.fromstring(resp.text)
- torrent_links = dom.xpath(torrent_xpath)
- if len(torrent_links) > 0:
- seeds = dom.xpath(seeds_xpath)
- peers = dom.xpath(peers_xpath)
- titles = dom.xpath(title_xpath)
- sizes = dom.xpath(size_xpath)
- ages = dom.xpath(age_xpath)
- else: # under ~5 results uses a different xpath
- torrent_links = dom.xpath(alternative_torrent_xpath)
- seeds = dom.xpath(alternative_seeds_xpath)
- peers = dom.xpath(alternative_peers_xpath)
- titles = dom.xpath(alternative_title_xpath)
- sizes = dom.xpath(alternative_size_xpath)
- ages = dom.xpath(alternative_age_xpath)
- # return empty array if nothing is found
- if not torrent_links:
+ result_rows = dom.xpath(torrent_xpath)
+
+ try:
+ script_element = dom.xpath(script_xpath)[0]
+ json_string = script_element.text[script_element.text.find('{'):]
+ torrents_json = loads(json_string)
+ except:
return []
# parse results
- for index, result in enumerate(torrent_links):
- link = result.attrib.get('href')
+ for torrent_row, torrent_json in zip(result_rows, torrents_json['data']['list']):
+ title = torrent_json['name']
+ seed = int(torrent_json['seeds'])
+ leech = int(torrent_json['peers'])
+ size = int(torrent_json['size'])
+ torrent_hash = torrent_json['hash']
+
+ torrentfile = torrent_file_url.format(torrent_hash=torrent_hash)
+ magnetlink = 'magnet:?xt=urn:btih:{}'.format(torrent_hash)
+
+ age = extract_text(torrent_row.xpath(age_xpath))
+ link = torrent_row.xpath(link_xpath)[0]
+
href = urljoin(url, link)
- results.append({'url': href,
- 'title': titles[index].text_content(),
- 'content': '{}, {}'.format(sizes[index], ages[index]),
- 'seed': seeds[index],
- 'leech': peers[index],
+ # append result
+ results.append({'url': href,
+ 'title': title,
+ 'content': age,
+ 'seed': seed,
+ 'leech': leech,
+ 'filesize': size,
+ 'torrentfile': torrentfile,
+ 'magnetlink': magnetlink,
'template': 'torrent.html'})
# return results sorted by seeder
diff --git a/searx/engines/soundcloud.py b/searx/engines/soundcloud.py
index d59755e04..284689bf6 100644
--- a/searx/engines/soundcloud.py
+++ b/searx/engines/soundcloud.py
@@ -28,8 +28,10 @@ categories = ['music']
paging = True
# search-url
-url = 'https://api.soundcloud.com/'
+# missing attribute: user_id, app_version, app_locale
+url = 'https://api-v2.soundcloud.com/'
search_url = url + 'search?{query}'\
+ '&variant_ids='\
'&facet=model'\
'&limit=20'\
'&offset={offset}'\
@@ -49,7 +51,9 @@ def get_client_id():
if response.ok:
tree = html.fromstring(response.content)
- script_tags = tree.xpath("//script[contains(@src, '/assets/app')]")
+ # script_tags has been moved from /assets/app/ to /assets/ path. I
+ # found client_id in https://a-v2.sndcdn.com/assets/49-a0c01933-3.js
+ script_tags = tree.xpath("//script[contains(@src, '/assets/')]")
app_js_urls = [script_tag.get('src') for script_tag in script_tags if script_tag is not None]
# extracts valid app_js urls from soundcloud.com content
@@ -57,14 +61,14 @@ def get_client_id():
# gets app_js and searches for the clientid
response = http_get(app_js_url)
if response.ok:
- cids = cid_re.search(response.text)
+ cids = cid_re.search(response.content.decode("utf-8"))
if cids is not None and len(cids.groups()):
return cids.groups()[0]
logger.warning("Unable to fetch guest client_id from SoundCloud, check parser!")
return ""
-def init():
+def init(engine_settings=None):
global guest_client_id
# api-key
guest_client_id = get_client_id()
diff --git a/searx/engines/startpage.py b/searx/engines/startpage.py
index 3e067597e..76567396f 100644
--- a/searx/engines/startpage.py
+++ b/searx/engines/startpage.py
@@ -15,6 +15,8 @@ from dateutil import parser
from datetime import datetime, timedelta
import re
from searx.engines.xpath import extract_text
+from searx.languages import language_codes
+from searx.utils import eval_xpath
# engine dependent config
categories = ['general']
@@ -22,7 +24,7 @@ categories = ['general']
# (probably the parameter qid), require
# storing of qid's between mulitble search-calls
-# paging = False
+paging = True
language_support = True
# search-url
@@ -32,21 +34,32 @@ search_url = base_url + 'do/search'
# specific xpath variables
# ads xpath //div[@id="results"]/div[@id="sponsored"]//div[@class="result"]
# not ads: div[@class="result"] are the direct childs of div[@id="results"]
-results_xpath = '//div[@class="result"]'
-link_xpath = './/h3/a'
+results_xpath = '//div[@class="w-gl__result"]'
+link_xpath = './/a[@class="w-gl__result-title"]'
+content_xpath = './/p[@class="w-gl__description"]'
# do search-request
def request(query, params):
- offset = (params['pageno'] - 1) * 10
params['url'] = search_url
params['method'] = 'POST'
- params['data'] = {'query': query,
- 'startat': offset}
-
- # set language
- params['data']['with_language'] = ('lang_' + params['language'].split('-')[0])
+ params['data'] = {
+ 'query': query,
+ 'page': params['pageno'],
+ 'cat': 'web',
+ 'cmd': 'process_search',
+ 'engine0': 'v1all',
+ }
+
+ # set language if specified
+ if params['language'] != 'all':
+ language = 'english'
+ for lc, _, _, lang in language_codes:
+ if lc == params['language']:
+ language = lang
+ params['data']['language'] = language
+ params['data']['lui'] = language
return params
@@ -58,8 +71,8 @@ def response(resp):
dom = html.fromstring(resp.text)
# parse results
- for result in dom.xpath(results_xpath):
- links = result.xpath(link_xpath)
+ for result in eval_xpath(dom, results_xpath):
+ links = eval_xpath(result, link_xpath)
if not links:
continue
link = links[0]
@@ -73,14 +86,10 @@ def response(resp):
if re.match(r"^http(s|)://(www\.)?startpage\.com/do/search\?.*$", url):
continue
- # block ixquick search url's
- if re.match(r"^http(s|)://(www\.)?ixquick\.com/do/search\?.*$", url):
- continue
-
title = extract_text(link)
- if result.xpath('./p[@class="desc clk"]'):
- content = extract_text(result.xpath('./p[@class="desc clk"]'))
+ if eval_xpath(result, content_xpath):
+ content = extract_text(eval_xpath(result, content_xpath))
else:
content = ''
diff --git a/searx/engines/subtitleseeker.py b/searx/engines/subtitleseeker.py
deleted file mode 100644
index 118504ffd..000000000
--- a/searx/engines/subtitleseeker.py
+++ /dev/null
@@ -1,86 +0,0 @@
-"""
- Subtitleseeker (Video)
-
- @website http://www.subtitleseeker.com
- @provide-api no
-
- @using-api no
- @results HTML
- @stable no (HTML can change)
- @parse url, title, content
-"""
-
-from lxml import html
-from searx.languages import language_codes
-from searx.engines.xpath import extract_text
-from searx.url_utils import quote_plus
-
-# engine dependent config
-categories = ['videos']
-paging = True
-language = ""
-
-# search-url
-url = 'http://www.subtitleseeker.com/'
-search_url = url + 'search/TITLES/{query}?p={pageno}'
-
-# specific xpath variables
-results_xpath = '//div[@class="boxRows"]'
-
-
-# do search-request
-def request(query, params):
- params['url'] = search_url.format(query=quote_plus(query),
- pageno=params['pageno'])
- return params
-
-
-# get response from search-request
-def response(resp):
- results = []
-
- dom = html.fromstring(resp.text)
-
- search_lang = ""
-
- # dirty fix for languages named differenly in their site
- if resp.search_params['language'][:2] == 'fa':
- search_lang = 'Farsi'
- elif resp.search_params['language'] == 'pt-BR':
- search_lang = 'Brazilian'
- else:
- search_lang = [lc[3]
- for lc in language_codes
- if lc[0].split('-')[0] == resp.search_params['language'].split('-')[0]]
- search_lang = search_lang[0].split(' (')[0]
-
- # parse results
- for result in dom.xpath(results_xpath):
- link = result.xpath(".//a")[0]
- href = link.attrib.get('href')
-
- if language is not "":
- href = href + language + '/'
- elif search_lang:
- href = href + search_lang + '/'
-
- title = extract_text(link)
-
- content = extract_text(result.xpath('.//div[contains(@class,"red")]'))
- content = content + " - "
- text = extract_text(result.xpath('.//div[contains(@class,"grey-web")]')[0])
- content = content + text
-
- if result.xpath(".//span") != []:
- content = content +\
- " - (" +\
- extract_text(result.xpath(".//span")) +\
- ")"
-
- # append result
- results.append({'url': href,
- 'title': title,
- 'content': content})
-
- # return results
- return results
diff --git a/searx/engines/swisscows.py b/searx/engines/swisscows.py
deleted file mode 100644
index ff4df24b7..000000000
--- a/searx/engines/swisscows.py
+++ /dev/null
@@ -1,121 +0,0 @@
-"""
- Swisscows (Web, Images)
-
- @website https://swisscows.ch
- @provide-api no
-
- @using-api no
- @results HTML (using search portal)
- @stable no (HTML can change)
- @parse url, title, content
-"""
-
-from json import loads
-import re
-from lxml.html import fromstring
-from searx.url_utils import unquote, urlencode
-from searx.utils import match_language
-
-# engine dependent config
-categories = ['general', 'images']
-paging = True
-language_support = True
-
-# search-url
-base_url = 'https://swisscows.ch/'
-search_string = '?{query}&page={page}'
-
-supported_languages_url = base_url
-
-# regex
-regex_json = re.compile(b'initialData: {"Request":(.|\n)*},\s*environment')
-regex_json_remove_start = re.compile(b'^initialData:\s*')
-regex_json_remove_end = re.compile(b',\s*environment$')
-regex_img_url_remove_start = re.compile(b'^https?://i\.swisscows\.ch/\?link=')
-
-
-# do search-request
-def request(query, params):
- region = match_language(params['language'], supported_languages)
- ui_language = region.split('-')[0]
-
- search_path = search_string.format(
- query=urlencode({'query': query, 'uiLanguage': ui_language, 'region': region}),
- page=params['pageno']
- )
-
- # image search query is something like 'image?{query}&page={page}'
- if params['category'] == 'images':
- search_path = 'image' + search_path
-
- params['url'] = base_url + search_path
-
- return params
-
-
-# get response from search-request
-def response(resp):
- results = []
-
- json_regex = regex_json.search(resp.text)
-
- # check if results are returned
- if not json_regex:
- return []
-
- json_raw = regex_json_remove_end.sub(b'', regex_json_remove_start.sub(b'', json_regex.group()))
- json = loads(json_raw.decode('utf-8'))
-
- # parse results
- for result in json['Results'].get('items', []):
- result_title = result['Title'].replace(u'\uE000', '').replace(u'\uE001', '')
-
- # parse image results
- if result.get('ContentType', '').startswith('image'):
- img_url = unquote(regex_img_url_remove_start.sub(b'', result['Url'].encode('utf-8')).decode('utf-8'))
-
- # append result
- results.append({'url': result['SourceUrl'],
- 'title': result['Title'],
- 'content': '',
- 'img_src': img_url,
- 'template': 'images.html'})
-
- # parse general results
- else:
- result_url = result['Url'].replace(u'\uE000', '').replace(u'\uE001', '')
- result_content = result['Description'].replace(u'\uE000', '').replace(u'\uE001', '')
-
- # append result
- results.append({'url': result_url,
- 'title': result_title,
- 'content': result_content})
-
- # parse images
- for result in json.get('Images', []):
- # decode image url
- img_url = unquote(regex_img_url_remove_start.sub(b'', result['Url'].encode('utf-8')).decode('utf-8'))
-
- # append result
- results.append({'url': result['SourceUrl'],
- 'title': result['Title'],
- 'content': '',
- 'img_src': img_url,
- 'template': 'images.html'})
-
- # return results
- return results
-
-
-# get supported languages from their site
-def _fetch_supported_languages(resp):
- supported_languages = []
- dom = fromstring(resp.text)
- options = dom.xpath('//div[@id="regions-popup"]//ul/li/a')
- for option in options:
- code = option.xpath('./@data-search-language')[0]
- if code.startswith('nb-'):
- code = code.replace('nb', 'no', 1)
- supported_languages.append(code)
-
- return supported_languages
diff --git a/searx/engines/twitter.py b/searx/engines/twitter.py
index 8641167dc..d2a8d2088 100644
--- a/searx/engines/twitter.py
+++ b/searx/engines/twitter.py
@@ -37,7 +37,12 @@ timestamp_xpath = './/span[contains(@class,"_timestamp")]'
# do search-request
def request(query, params):
params['url'] = search_url + urlencode({'q': query})
- params['cookies']['lang'] = params['language'].split('-')[0]
+
+ # set language if specified
+ if params['language'] != 'all':
+ params['cookies']['lang'] = params['language'].split('-')[0]
+ else:
+ params['cookies']['lang'] = 'en'
return params
diff --git a/searx/engines/unsplash.py b/searx/engines/unsplash.py
new file mode 100644
index 000000000..2e8d6fdfc
--- /dev/null
+++ b/searx/engines/unsplash.py
@@ -0,0 +1,52 @@
+"""
+ Unsplash
+
+ @website https://unsplash.com
+ @provide-api yes (https://unsplash.com/developers)
+
+ @using-api no
+ @results JSON (using search portal's infiniscroll API)
+ @stable no (JSON format could change any time)
+ @parse url, title, img_src, thumbnail_src
+"""
+
+from searx.url_utils import urlencode, urlparse, urlunparse, parse_qsl
+from json import loads
+
+url = 'https://unsplash.com/'
+search_url = url + 'napi/search/photos?'
+categories = ['images']
+page_size = 20
+paging = True
+
+
+def clean_url(url):
+ parsed = urlparse(url)
+ query = [(k, v) for (k, v) in parse_qsl(parsed.query) if k not in ['ixid', 's']]
+
+ return urlunparse((parsed.scheme,
+ parsed.netloc,
+ parsed.path,
+ parsed.params,
+ urlencode(query),
+ parsed.fragment))
+
+
+def request(query, params):
+ params['url'] = search_url + urlencode({'query': query, 'page': params['pageno'], 'per_page': page_size})
+ return params
+
+
+def response(resp):
+ results = []
+ json_data = loads(resp.text)
+
+ if 'results' in json_data:
+ for result in json_data['results']:
+ results.append({'template': 'images.html',
+ 'url': clean_url(result['links']['html']),
+ 'thumbnail_src': clean_url(result['urls']['thumb']),
+ 'img_src': clean_url(result['urls']['raw']),
+ 'title': result['description'],
+ 'content': ''})
+ return results
diff --git a/searx/engines/vimeo.py b/searx/engines/vimeo.py
index 1408be8df..a92271019 100644
--- a/searx/engines/vimeo.py
+++ b/searx/engines/vimeo.py
@@ -24,7 +24,7 @@ paging = True
base_url = 'https://vimeo.com/'
search_url = base_url + '/search/page:{pageno}?{query}'
-embedded_url = '<iframe data-src="//player.vimeo.com/video/{videoid}" ' +\
+embedded_url = '<iframe data-src="https://player.vimeo.com/video/{videoid}" ' +\
'width="540" height="304" frameborder="0" ' +\
'webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>'
diff --git a/searx/engines/wikidata.py b/searx/engines/wikidata.py
index c315b30da..e913b3915 100644
--- a/searx/engines/wikidata.py
+++ b/searx/engines/wikidata.py
@@ -16,10 +16,11 @@ from searx.poolrequests import get
from searx.engines.xpath import extract_text
from searx.engines.wikipedia import _fetch_supported_languages, supported_languages_url
from searx.url_utils import urlencode
-from searx.utils import match_language
+from searx.utils import match_language, eval_xpath
from json import loads
from lxml.html import fromstring
+from lxml import etree
logger = logger.getChild('wikidata')
result_count = 1
@@ -27,23 +28,23 @@ result_count = 1
# urls
wikidata_host = 'https://www.wikidata.org'
url_search = wikidata_host \
- + '/w/index.php?{query}'
+ + '/w/index.php?{query}&ns0=1'
wikidata_api = wikidata_host + '/w/api.php'
url_detail = wikidata_api\
+ '?action=parse&format=json&{query}'\
- + '&redirects=1&prop=text%7Cdisplaytitle%7Clanglinks%7Crevid'\
- + '&disableeditsection=1&disabletidy=1&preview=1&sectionpreview=1&disabletoc=1&utf8=1&formatversion=2'
+ + '&redirects=1&prop=text%7Cdisplaytitle%7Cparsewarnings'\
+ + '&disableeditsection=1&preview=1&sectionpreview=1&disabletoc=1&utf8=1&formatversion=2'
url_map = 'https://www.openstreetmap.org/'\
+ '?lat={latitude}&lon={longitude}&zoom={zoom}&layers=M'
url_image = 'https://commons.wikimedia.org/wiki/Special:FilePath/{filename}?width=500&height=400'
# xpaths
+div_ids_xpath = '//div[@id]'
wikidata_ids_xpath = '//ul[@class="mw-search-results"]/li//a/@href'
title_xpath = '//*[contains(@class,"wikibase-title-label")]'
description_xpath = '//div[contains(@class,"wikibase-entitytermsview-heading-description")]'
-property_xpath = '//div[@id="{propertyid}"]'
label_xpath = './/div[contains(@class,"wikibase-statementgroupview-property-label")]/a'
url_xpath = './/a[contains(@class,"external free") or contains(@class, "wb-external-id")]'
wikilink_xpath = './/ul[contains(@class,"wikibase-sitelinklistview-listview")]'\
@@ -57,6 +58,15 @@ calendar_name_xpath = './/sup[contains(@class,"wb-calendar-name")]'
media_xpath = value_xpath + '//div[contains(@class,"commons-media-caption")]//a'
+def get_id_cache(result):
+ id_cache = {}
+ for e in eval_xpath(result, div_ids_xpath):
+ id = e.get('id')
+ if id.startswith('P'):
+ id_cache[id] = e
+ return id_cache
+
+
def request(query, params):
params['url'] = url_search.format(
query=urlencode({'search': query}))
@@ -65,23 +75,27 @@ def request(query, params):
def response(resp):
results = []
- html = fromstring(resp.text)
- search_results = html.xpath(wikidata_ids_xpath)
+ htmlparser = etree.HTMLParser()
+ html = fromstring(resp.content.decode("utf-8"), parser=htmlparser)
+ search_results = eval_xpath(html, wikidata_ids_xpath)
- language = match_language(resp.search_params['language'], supported_languages).split('-')[0]
+ if resp.search_params['language'].split('-')[0] == 'all':
+ language = 'en'
+ else:
+ language = match_language(resp.search_params['language'], supported_languages, language_aliases).split('-')[0]
# TODO: make requests asynchronous to avoid timeout when result_count > 1
for search_result in search_results[:result_count]:
wikidata_id = search_result.split('/')[-1]
url = url_detail.format(query=urlencode({'page': wikidata_id, 'uselang': language}))
htmlresponse = get(url)
- jsonresponse = loads(htmlresponse.text)
- results += getDetail(jsonresponse, wikidata_id, language, resp.search_params['language'])
+ jsonresponse = loads(htmlresponse.content.decode("utf-8"))
+ results += getDetail(jsonresponse, wikidata_id, language, resp.search_params['language'], htmlparser)
return results
-def getDetail(jsonresponse, wikidata_id, language, locale):
+def getDetail(jsonresponse, wikidata_id, language, locale, htmlparser):
results = []
urls = []
attributes = []
@@ -92,21 +106,23 @@ def getDetail(jsonresponse, wikidata_id, language, locale):
if not title or not result:
return results
- title = fromstring(title)
- for elem in title.xpath(language_fallback_xpath):
+ title = fromstring(title, parser=htmlparser)
+ for elem in eval_xpath(title, language_fallback_xpath):
elem.getparent().remove(elem)
- title = extract_text(title.xpath(title_xpath))
+ title = extract_text(eval_xpath(title, title_xpath))
- result = fromstring(result)
- for elem in result.xpath(language_fallback_xpath):
+ result = fromstring(result, parser=htmlparser)
+ for elem in eval_xpath(result, language_fallback_xpath):
elem.getparent().remove(elem)
- description = extract_text(result.xpath(description_xpath))
+ description = extract_text(eval_xpath(result, description_xpath))
+
+ id_cache = get_id_cache(result)
# URLS
# official website
- add_url(urls, result, 'P856', results=results)
+ add_url(urls, result, id_cache, 'P856', results=results)
# wikipedia
wikipedia_link_count = 0
@@ -127,30 +143,30 @@ def getDetail(jsonresponse, wikidata_id, language, locale):
# if wikipedia_link_count == 0:
# more wikis
- add_url(urls, result, default_label='Wikivoyage (' + language + ')', link_type=language + 'wikivoyage')
- add_url(urls, result, default_label='Wikiquote (' + language + ')', link_type=language + 'wikiquote')
- add_url(urls, result, default_label='Wikimedia Commons', link_type='commonswiki')
+ add_url(urls, result, id_cache, default_label='Wikivoyage (' + language + ')', link_type=language + 'wikivoyage')
+ add_url(urls, result, id_cache, default_label='Wikiquote (' + language + ')', link_type=language + 'wikiquote')
+ add_url(urls, result, id_cache, default_label='Wikimedia Commons', link_type='commonswiki')
- add_url(urls, result, 'P625', 'OpenStreetMap', link_type='geo')
+ add_url(urls, result, id_cache, 'P625', 'OpenStreetMap', link_type='geo')
# musicbrainz
- add_url(urls, result, 'P434', 'MusicBrainz', 'http://musicbrainz.org/artist/')
- add_url(urls, result, 'P435', 'MusicBrainz', 'http://musicbrainz.org/work/')
- add_url(urls, result, 'P436', 'MusicBrainz', 'http://musicbrainz.org/release-group/')
- add_url(urls, result, 'P966', 'MusicBrainz', 'http://musicbrainz.org/label/')
+ add_url(urls, result, id_cache, 'P434', 'MusicBrainz', 'http://musicbrainz.org/artist/')
+ add_url(urls, result, id_cache, 'P435', 'MusicBrainz', 'http://musicbrainz.org/work/')
+ add_url(urls, result, id_cache, 'P436', 'MusicBrainz', 'http://musicbrainz.org/release-group/')
+ add_url(urls, result, id_cache, 'P966', 'MusicBrainz', 'http://musicbrainz.org/label/')
# IMDb
- add_url(urls, result, 'P345', 'IMDb', 'https://www.imdb.com/', link_type='imdb')
+ add_url(urls, result, id_cache, 'P345', 'IMDb', 'https://www.imdb.com/', link_type='imdb')
# source code repository
- add_url(urls, result, 'P1324')
+ add_url(urls, result, id_cache, 'P1324')
# blog
- add_url(urls, result, 'P1581')
+ add_url(urls, result, id_cache, 'P1581')
# social media links
- add_url(urls, result, 'P2397', 'YouTube', 'https://www.youtube.com/channel/')
- add_url(urls, result, 'P1651', 'YouTube', 'https://www.youtube.com/watch?v=')
- add_url(urls, result, 'P2002', 'Twitter', 'https://twitter.com/')
- add_url(urls, result, 'P2013', 'Facebook', 'https://facebook.com/')
- add_url(urls, result, 'P2003', 'Instagram', 'https://instagram.com/')
+ add_url(urls, result, id_cache, 'P2397', 'YouTube', 'https://www.youtube.com/channel/')
+ add_url(urls, result, id_cache, 'P1651', 'YouTube', 'https://www.youtube.com/watch?v=')
+ add_url(urls, result, id_cache, 'P2002', 'Twitter', 'https://twitter.com/')
+ add_url(urls, result, id_cache, 'P2013', 'Facebook', 'https://facebook.com/')
+ add_url(urls, result, id_cache, 'P2003', 'Instagram', 'https://instagram.com/')
urls.append({'title': 'Wikidata',
'url': 'https://www.wikidata.org/wiki/'
@@ -160,132 +176,132 @@ def getDetail(jsonresponse, wikidata_id, language, locale):
# DATES
# inception date
- add_attribute(attributes, result, 'P571', date=True)
+ add_attribute(attributes, id_cache, 'P571', date=True)
# dissolution date
- add_attribute(attributes, result, 'P576', date=True)
+ add_attribute(attributes, id_cache, 'P576', date=True)
# start date
- add_attribute(attributes, result, 'P580', date=True)
+ add_attribute(attributes, id_cache, 'P580', date=True)
# end date
- add_attribute(attributes, result, 'P582', date=True)
+ add_attribute(attributes, id_cache, 'P582', date=True)
# date of birth
- add_attribute(attributes, result, 'P569', date=True)
+ add_attribute(attributes, id_cache, 'P569', date=True)
# date of death
- add_attribute(attributes, result, 'P570', date=True)
+ add_attribute(attributes, id_cache, 'P570', date=True)
# date of spacecraft launch
- add_attribute(attributes, result, 'P619', date=True)
+ add_attribute(attributes, id_cache, 'P619', date=True)
# date of spacecraft landing
- add_attribute(attributes, result, 'P620', date=True)
+ add_attribute(attributes, id_cache, 'P620', date=True)
# nationality
- add_attribute(attributes, result, 'P27')
+ add_attribute(attributes, id_cache, 'P27')
# country of origin
- add_attribute(attributes, result, 'P495')
+ add_attribute(attributes, id_cache, 'P495')
# country
- add_attribute(attributes, result, 'P17')
+ add_attribute(attributes, id_cache, 'P17')
# headquarters
- add_attribute(attributes, result, 'Q180')
+ add_attribute(attributes, id_cache, 'Q180')
# PLACES
# capital
- add_attribute(attributes, result, 'P36', trim=True)
+ add_attribute(attributes, id_cache, 'P36', trim=True)
# head of state
- add_attribute(attributes, result, 'P35', trim=True)
+ add_attribute(attributes, id_cache, 'P35', trim=True)
# head of government
- add_attribute(attributes, result, 'P6', trim=True)
+ add_attribute(attributes, id_cache, 'P6', trim=True)
# type of government
- add_attribute(attributes, result, 'P122')
+ add_attribute(attributes, id_cache, 'P122')
# official language
- add_attribute(attributes, result, 'P37')
+ add_attribute(attributes, id_cache, 'P37')
# population
- add_attribute(attributes, result, 'P1082', trim=True)
+ add_attribute(attributes, id_cache, 'P1082', trim=True)
# area
- add_attribute(attributes, result, 'P2046')
+ add_attribute(attributes, id_cache, 'P2046')
# currency
- add_attribute(attributes, result, 'P38', trim=True)
+ add_attribute(attributes, id_cache, 'P38', trim=True)
# heigth (building)
- add_attribute(attributes, result, 'P2048')
+ add_attribute(attributes, id_cache, 'P2048')
# MEDIA
# platform (videogames)
- add_attribute(attributes, result, 'P400')
+ add_attribute(attributes, id_cache, 'P400')
# author
- add_attribute(attributes, result, 'P50')
+ add_attribute(attributes, id_cache, 'P50')
# creator
- add_attribute(attributes, result, 'P170')
+ add_attribute(attributes, id_cache, 'P170')
# director
- add_attribute(attributes, result, 'P57')
+ add_attribute(attributes, id_cache, 'P57')
# performer
- add_attribute(attributes, result, 'P175')
+ add_attribute(attributes, id_cache, 'P175')
# developer
- add_attribute(attributes, result, 'P178')
+ add_attribute(attributes, id_cache, 'P178')
# producer
- add_attribute(attributes, result, 'P162')
+ add_attribute(attributes, id_cache, 'P162')
# manufacturer
- add_attribute(attributes, result, 'P176')
+ add_attribute(attributes, id_cache, 'P176')
# screenwriter
- add_attribute(attributes, result, 'P58')
+ add_attribute(attributes, id_cache, 'P58')
# production company
- add_attribute(attributes, result, 'P272')
+ add_attribute(attributes, id_cache, 'P272')
# record label
- add_attribute(attributes, result, 'P264')
+ add_attribute(attributes, id_cache, 'P264')
# publisher
- add_attribute(attributes, result, 'P123')
+ add_attribute(attributes, id_cache, 'P123')
# original network
- add_attribute(attributes, result, 'P449')
+ add_attribute(attributes, id_cache, 'P449')
# distributor
- add_attribute(attributes, result, 'P750')
+ add_attribute(attributes, id_cache, 'P750')
# composer
- add_attribute(attributes, result, 'P86')
+ add_attribute(attributes, id_cache, 'P86')
# publication date
- add_attribute(attributes, result, 'P577', date=True)
+ add_attribute(attributes, id_cache, 'P577', date=True)
# genre
- add_attribute(attributes, result, 'P136')
+ add_attribute(attributes, id_cache, 'P136')
# original language
- add_attribute(attributes, result, 'P364')
+ add_attribute(attributes, id_cache, 'P364')
# isbn
- add_attribute(attributes, result, 'Q33057')
+ add_attribute(attributes, id_cache, 'Q33057')
# software license
- add_attribute(attributes, result, 'P275')
+ add_attribute(attributes, id_cache, 'P275')
# programming language
- add_attribute(attributes, result, 'P277')
+ add_attribute(attributes, id_cache, 'P277')
# version
- add_attribute(attributes, result, 'P348', trim=True)
+ add_attribute(attributes, id_cache, 'P348', trim=True)
# narrative location
- add_attribute(attributes, result, 'P840')
+ add_attribute(attributes, id_cache, 'P840')
# LANGUAGES
# number of speakers
- add_attribute(attributes, result, 'P1098')
+ add_attribute(attributes, id_cache, 'P1098')
# writing system
- add_attribute(attributes, result, 'P282')
+ add_attribute(attributes, id_cache, 'P282')
# regulatory body
- add_attribute(attributes, result, 'P1018')
+ add_attribute(attributes, id_cache, 'P1018')
# language code
- add_attribute(attributes, result, 'P218')
+ add_attribute(attributes, id_cache, 'P218')
# OTHER
# ceo
- add_attribute(attributes, result, 'P169', trim=True)
+ add_attribute(attributes, id_cache, 'P169', trim=True)
# founder
- add_attribute(attributes, result, 'P112')
+ add_attribute(attributes, id_cache, 'P112')
# legal form (company/organization)
- add_attribute(attributes, result, 'P1454')
+ add_attribute(attributes, id_cache, 'P1454')
# operator
- add_attribute(attributes, result, 'P137')
+ add_attribute(attributes, id_cache, 'P137')
# crew members (tripulation)
- add_attribute(attributes, result, 'P1029')
+ add_attribute(attributes, id_cache, 'P1029')
# taxon
- add_attribute(attributes, result, 'P225')
+ add_attribute(attributes, id_cache, 'P225')
# chemical formula
- add_attribute(attributes, result, 'P274')
+ add_attribute(attributes, id_cache, 'P274')
# winner (sports/contests)
- add_attribute(attributes, result, 'P1346')
+ add_attribute(attributes, id_cache, 'P1346')
# number of deaths
- add_attribute(attributes, result, 'P1120')
+ add_attribute(attributes, id_cache, 'P1120')
# currency code
- add_attribute(attributes, result, 'P498')
+ add_attribute(attributes, id_cache, 'P498')
- image = add_image(result)
+ image = add_image(id_cache)
if len(attributes) == 0 and len(urls) == 2 and len(description) == 0:
results.append({
@@ -307,43 +323,42 @@ def getDetail(jsonresponse, wikidata_id, language, locale):
# only returns first match
-def add_image(result):
+def add_image(id_cache):
# P15: route map, P242: locator map, P154: logo, P18: image, P242: map, P41: flag, P2716: collage, P2910: icon
property_ids = ['P15', 'P242', 'P154', 'P18', 'P242', 'P41', 'P2716', 'P2910']
for property_id in property_ids:
- image = result.xpath(property_xpath.replace('{propertyid}', property_id))
- if image:
- image_name = image[0].xpath(media_xpath)
+ image = id_cache.get(property_id, None)
+ if image is not None:
+ image_name = eval_xpath(image, media_xpath)
image_src = url_image.replace('{filename}', extract_text(image_name[0]))
return image_src
# setting trim will only returned high ranked rows OR the first row
-def add_attribute(attributes, result, property_id, default_label=None, date=False, trim=False):
- attribute = result.xpath(property_xpath.replace('{propertyid}', property_id))
- if attribute:
+def add_attribute(attributes, id_cache, property_id, default_label=None, date=False, trim=False):
+ attribute = id_cache.get(property_id, None)
+ if attribute is not None:
if default_label:
label = default_label
else:
- label = extract_text(attribute[0].xpath(label_xpath))
+ label = extract_text(eval_xpath(attribute, label_xpath))
label = label[0].upper() + label[1:]
if date:
trim = True
# remove calendar name
- calendar_name = attribute[0].xpath(calendar_name_xpath)
+ calendar_name = eval_xpath(attribute, calendar_name_xpath)
for calendar in calendar_name:
calendar.getparent().remove(calendar)
concat_values = ""
values = []
first_value = None
- for row in attribute[0].xpath(property_row_xpath):
- if not first_value or not trim or row.xpath(preferred_rank_xpath):
-
- value = row.xpath(value_xpath)
+ for row in eval_xpath(attribute, property_row_xpath):
+ if not first_value or not trim or eval_xpath(row, preferred_rank_xpath):
+ value = eval_xpath(row, value_xpath)
if not value:
continue
value = extract_text(value)
@@ -366,18 +381,18 @@ def add_attribute(attributes, result, property_id, default_label=None, date=Fals
# requires property_id unless it's a wiki link (defined in link_type)
-def add_url(urls, result, property_id=None, default_label=None, url_prefix=None, results=None, link_type=None):
+def add_url(urls, result, id_cache, property_id=None, default_label=None, url_prefix=None, results=None,
+ link_type=None):
links = []
# wiki links don't have property in wikidata page
if link_type and 'wiki' in link_type:
links.append(get_wikilink(result, link_type))
else:
- dom_element = result.xpath(property_xpath.replace('{propertyid}', property_id))
- if dom_element:
- dom_element = dom_element[0]
+ dom_element = id_cache.get(property_id, None)
+ if dom_element is not None:
if not default_label:
- label = extract_text(dom_element.xpath(label_xpath))
+ label = extract_text(eval_xpath(dom_element, label_xpath))
label = label[0].upper() + label[1:]
if link_type == 'geo':
@@ -387,7 +402,7 @@ def add_url(urls, result, property_id=None, default_label=None, url_prefix=None,
links.append(get_imdblink(dom_element, url_prefix))
else:
- url_results = dom_element.xpath(url_xpath)
+ url_results = eval_xpath(dom_element, url_xpath)
for link in url_results:
if link is not None:
if url_prefix:
@@ -407,7 +422,7 @@ def add_url(urls, result, property_id=None, default_label=None, url_prefix=None,
def get_imdblink(result, url_prefix):
- imdb_id = result.xpath(value_xpath)
+ imdb_id = eval_xpath(result, value_xpath)
if imdb_id:
imdb_id = extract_text(imdb_id)
id_prefix = imdb_id[:2]
@@ -427,7 +442,7 @@ def get_imdblink(result, url_prefix):
def get_geolink(result):
- coordinates = result.xpath(value_xpath)
+ coordinates = eval_xpath(result, value_xpath)
if not coordinates:
return None
coordinates = extract_text(coordinates[0])
@@ -474,7 +489,7 @@ def get_geolink(result):
def get_wikilink(result, wikiid):
- url = result.xpath(wikilink_xpath.replace('{wikiid}', wikiid))
+ url = eval_xpath(result, wikilink_xpath.replace('{wikiid}', wikiid))
if not url:
return None
url = url[0]
diff --git a/searx/engines/wikipedia.py b/searx/engines/wikipedia.py
index 6cd17e378..4dae735d1 100644
--- a/searx/engines/wikipedia.py
+++ b/searx/engines/wikipedia.py
@@ -31,7 +31,10 @@ supported_languages_url = 'https://meta.wikimedia.org/wiki/List_of_Wikipedias'
# set language in base_url
def url_lang(lang):
- return match_language(lang, supported_languages).split('-')[0]
+ lang_pre = lang.split('-')[0]
+ if lang_pre == 'all' or lang_pre not in supported_languages and lang_pre not in language_aliases:
+ return 'en'
+ return match_language(lang, supported_languages, language_aliases).split('-')[0]
# do search-request
diff --git a/searx/engines/wolframalpha_api.py b/searx/engines/wolframalpha_api.py
index 595c6b7de..1c58c4a9b 100644
--- a/searx/engines/wolframalpha_api.py
+++ b/searx/engines/wolframalpha_api.py
@@ -65,7 +65,7 @@ def replace_pua_chars(text):
def response(resp):
results = []
- search_results = etree.XML(resp.text)
+ search_results = etree.XML(resp.content)
# return empty array if there are no results
if search_results.xpath(failure_xpath):
diff --git a/searx/engines/wolframalpha_noapi.py b/searx/engines/wolframalpha_noapi.py
index 2cbbc5adc..387c9fa17 100644
--- a/searx/engines/wolframalpha_noapi.py
+++ b/searx/engines/wolframalpha_noapi.py
@@ -55,7 +55,7 @@ def obtain_token():
return token
-def init():
+def init(engine_settings=None):
obtain_token()
diff --git a/searx/engines/www1x.py b/searx/engines/www1x.py
index 508803240..f1154b16d 100644
--- a/searx/engines/www1x.py
+++ b/searx/engines/www1x.py
@@ -11,8 +11,8 @@
"""
from lxml import html
-import re
from searx.url_utils import urlencode, urljoin
+from searx.engines.xpath import extract_text
# engine dependent config
categories = ['images']
@@ -34,41 +34,18 @@ def request(query, params):
def response(resp):
results = []
- # get links from result-text
- regex = re.compile('(</a>|<a)')
- results_parts = re.split(regex, resp.text)
-
- cur_element = ''
-
- # iterate over link parts
- for result_part in results_parts:
+ dom = html.fromstring(resp.text)
+ for res in dom.xpath('//div[@class="List-item MainListing"]'):
# processed start and end of link
- if result_part == '<a':
- cur_element = result_part
- continue
- elif result_part != '</a>':
- cur_element += result_part
- continue
-
- cur_element += result_part
-
- # fix xml-error
- cur_element = cur_element.replace('"></a>', '"/></a>')
-
- dom = html.fromstring(cur_element)
- link = dom.xpath('//a')[0]
+ link = res.xpath('//a')[0]
url = urljoin(base_url, link.attrib.get('href'))
- title = link.attrib.get('title', '')
+ title = extract_text(link)
- thumbnail_src = urljoin(base_url, link.xpath('.//img')[0].attrib['src'])
+ thumbnail_src = urljoin(base_url, res.xpath('.//img')[0].attrib['src'])
# TODO: get image with higher resolution
img_src = thumbnail_src
- # check if url is showing to a photo
- if '/photo/' not in url:
- continue
-
# append result
results.append({'url': url,
'title': title,
diff --git a/searx/engines/xpath.py b/searx/engines/xpath.py
index 50f98d935..b75896cc7 100644
--- a/searx/engines/xpath.py
+++ b/searx/engines/xpath.py
@@ -1,12 +1,13 @@
from lxml import html
from lxml.etree import _ElementStringResult, _ElementUnicodeResult
-from searx.utils import html_to_text
+from searx.utils import html_to_text, eval_xpath
from searx.url_utils import unquote, urlencode, urljoin, urlparse
search_url = None
url_xpath = None
content_xpath = None
title_xpath = None
+thumbnail_xpath = False
paging = False
suggestion_xpath = ''
results_xpath = ''
@@ -40,7 +41,9 @@ def extract_text(xpath_results):
return ''.join(xpath_results)
else:
# it's a element
- text = html.tostring(xpath_results, encoding='unicode', method='text', with_tail=False)
+ text = html.tostring(
+ xpath_results, encoding='unicode', method='text', with_tail=False
+ )
text = text.strip().replace('\n', ' ')
return ' '.join(text.split())
@@ -101,22 +104,30 @@ def response(resp):
results = []
dom = html.fromstring(resp.text)
if results_xpath:
- for result in dom.xpath(results_xpath):
- url = extract_url(result.xpath(url_xpath), search_url)
- title = extract_text(result.xpath(title_xpath))
- content = extract_text(result.xpath(content_xpath))
- results.append({'url': url, 'title': title, 'content': content})
+ for result in eval_xpath(dom, results_xpath):
+ url = extract_url(eval_xpath(result, url_xpath), search_url)
+ title = extract_text(eval_xpath(result, title_xpath))
+ content = extract_text(eval_xpath(result, content_xpath))
+ tmp_result = {'url': url, 'title': title, 'content': content}
+
+ # add thumbnail if available
+ if thumbnail_xpath:
+ thumbnail_xpath_result = eval_xpath(result, thumbnail_xpath)
+ if len(thumbnail_xpath_result) > 0:
+ tmp_result['img_src'] = extract_url(thumbnail_xpath_result, search_url)
+
+ results.append(tmp_result)
else:
for url, title, content in zip(
(extract_url(x, search_url) for
- x in dom.xpath(url_xpath)),
- map(extract_text, dom.xpath(title_xpath)),
- map(extract_text, dom.xpath(content_xpath))
+ x in eval_xpath(dom, url_xpath)),
+ map(extract_text, eval_xpath(dom, title_xpath)),
+ map(extract_text, eval_xpath(dom, content_xpath))
):
results.append({'url': url, 'title': title, 'content': content})
if not suggestion_xpath:
return results
- for suggestion in dom.xpath(suggestion_xpath):
+ for suggestion in eval_xpath(dom, suggestion_xpath):
results.append({'suggestion': extract_text(suggestion)})
return results
diff --git a/searx/engines/yacy.py b/searx/engines/yacy.py
index 7c307ce53..25bc83687 100644
--- a/searx/engines/yacy.py
+++ b/searx/engines/yacy.py
@@ -51,7 +51,9 @@ def request(query, params):
limit=number_of_results,
search_type=search_type)
- params['url'] += '&lr=lang_' + params['language'].split('-')[0]
+ # add language tag if specified
+ if params['language'] != 'all':
+ params['url'] += '&lr=lang_' + params['language'].split('-')[0]
return params
diff --git a/searx/engines/yahoo.py b/searx/engines/yahoo.py
index ba4cb6af8..36c1a11f8 100644
--- a/searx/engines/yahoo.py
+++ b/searx/engines/yahoo.py
@@ -14,7 +14,7 @@
from lxml import html
from searx.engines.xpath import extract_text, extract_url
from searx.url_utils import unquote, urlencode
-from searx.utils import match_language
+from searx.utils import match_language, eval_xpath
# engine dependent config
categories = ['general']
@@ -73,16 +73,25 @@ def _get_url(query, offset, language, time_range):
lang=language)
+def _get_language(params):
+ if params['language'] == 'all':
+ return 'en'
+
+ language = match_language(params['language'], supported_languages, language_aliases)
+ if language not in language_aliases.values():
+ language = language.split('-')[0]
+ language = language.replace('-', '_').lower()
+
+ return language
+
+
# do search-request
def request(query, params):
if params['time_range'] and params['time_range'] not in time_range_dict:
return params
offset = (params['pageno'] - 1) * 10 + 1
- language = match_language(params['language'], supported_languages, language_aliases)
- if language not in language_aliases.values():
- language = language.split('-')[0]
- language = language.replace('-', '_').lower()
+ language = _get_language(params)
params['url'] = _get_url(query, offset, language, params['time_range'])
@@ -100,21 +109,21 @@ def response(resp):
dom = html.fromstring(resp.text)
try:
- results_num = int(dom.xpath('//div[@class="compPagination"]/span[last()]/text()')[0]
+ results_num = int(eval_xpath(dom, '//div[@class="compPagination"]/span[last()]/text()')[0]
.split()[0].replace(',', ''))
results.append({'number_of_results': results_num})
except:
pass
# parse results
- for result in dom.xpath(results_xpath):
+ for result in eval_xpath(dom, results_xpath):
try:
- url = parse_url(extract_url(result.xpath(url_xpath), search_url))
- title = extract_text(result.xpath(title_xpath)[0])
+ url = parse_url(extract_url(eval_xpath(result, url_xpath), search_url))
+ title = extract_text(eval_xpath(result, title_xpath)[0])
except:
continue
- content = extract_text(result.xpath(content_xpath)[0])
+ content = extract_text(eval_xpath(result, content_xpath)[0])
# append result
results.append({'url': url,
@@ -122,7 +131,7 @@ def response(resp):
'content': content})
# if no suggestion found, return results
- suggestions = dom.xpath(suggestion_xpath)
+ suggestions = eval_xpath(dom, suggestion_xpath)
if not suggestions:
return results
@@ -139,9 +148,9 @@ def response(resp):
def _fetch_supported_languages(resp):
supported_languages = []
dom = html.fromstring(resp.text)
- options = dom.xpath('//div[@id="yschlang"]/span/label/input')
+ options = eval_xpath(dom, '//div[@id="yschlang"]/span/label/input')
for option in options:
- code_parts = option.xpath('./@value')[0][5:].split('_')
+ code_parts = eval_xpath(option, './@value')[0][5:].split('_')
if len(code_parts) == 2:
code = code_parts[0] + '-' + code_parts[1].upper()
else:
diff --git a/searx/engines/yahoo_news.py b/searx/engines/yahoo_news.py
index b61384d06..9f6a4159b 100644
--- a/searx/engines/yahoo_news.py
+++ b/searx/engines/yahoo_news.py
@@ -41,7 +41,10 @@ suggestion_xpath = '//div[contains(@class,"VerALSOTRY")]//a'
def request(query, params):
offset = (params['pageno'] - 1) * 10 + 1
- language = match_language(params['language'], supported_languages, language_aliases).split('-')[0]
+ if params['language'] == 'all':
+ language = 'en'
+ else:
+ language = match_language(params['language'], supported_languages, language_aliases).split('-')[0]
params['url'] = search_url.format(offset=offset,
query=urlencode({'p': query}),
diff --git a/searx/engines/youtube_api.py b/searx/engines/youtube_api.py
index f8bc353f4..bc4c0d58e 100644
--- a/searx/engines/youtube_api.py
+++ b/searx/engines/youtube_api.py
@@ -23,7 +23,7 @@ base_url = 'https://www.googleapis.com/youtube/v3/search'
search_url = base_url + '?part=snippet&{query}&maxResults=20&key={api_key}'
embedded_url = '<iframe width="540" height="304" ' +\
- 'data-src="//www.youtube-nocookie.com/embed/{videoid}" ' +\
+ 'data-src="https://www.youtube-nocookie.com/embed/{videoid}" ' +\
'frameborder="0" allowfullscreen></iframe>'
base_youtube_url = 'https://www.youtube.com/watch?v='
@@ -34,7 +34,9 @@ def request(query, params):
params['url'] = search_url.format(query=urlencode({'q': query}),
api_key=api_key)
- params['url'] += '&relevanceLanguage=' + params['language'].split('-')[0]
+ # add language tag if specified
+ if params['language'] != 'all':
+ params['url'] += '&relevanceLanguage=' + params['language'].split('-')[0]
return params
diff --git a/searx/engines/youtube_noapi.py b/searx/engines/youtube_noapi.py
index 9f01841f6..49d0ae604 100644
--- a/searx/engines/youtube_noapi.py
+++ b/searx/engines/youtube_noapi.py
@@ -8,7 +8,8 @@
# @stable no
# @parse url, title, content, publishedDate, thumbnail, embedded
-from lxml import html
+from functools import reduce
+from json import loads
from searx.engines.xpath import extract_text
from searx.utils import list_get
from searx.url_utils import quote_plus
@@ -29,25 +30,11 @@ time_range_dict = {'day': 'Ag',
'year': 'BQ'}
embedded_url = '<iframe width="540" height="304" ' +\
- 'data-src="//www.youtube-nocookie.com/embed/{videoid}" ' +\
+ 'data-src="https://www.youtube-nocookie.com/embed/{videoid}" ' +\
'frameborder="0" allowfullscreen></iframe>'
base_youtube_url = 'https://www.youtube.com/watch?v='
-# specific xpath variables
-results_xpath = "//ol/li/div[contains(@class, 'yt-lockup yt-lockup-tile yt-lockup-video vve-check')]"
-url_xpath = './/h3/a/@href'
-title_xpath = './/div[@class="yt-lockup-content"]/h3/a'
-content_xpath = './/div[@class="yt-lockup-content"]/div[@class="yt-lockup-description yt-ui-ellipsis yt-ui-ellipsis-2"]'
-
-
-# returns extract_text on the first result selected by the xpath or None
-def extract_text_from_dom(result, xpath):
- r = result.xpath(xpath)
- if len(r) > 0:
- return extract_text(r[0])
- return None
-
# do search-request
def request(query, params):
@@ -63,27 +50,41 @@ def request(query, params):
def response(resp):
results = []
- dom = html.fromstring(resp.text)
-
- # parse results
- for result in dom.xpath(results_xpath):
- videoid = list_get(result.xpath('@data-context-item-id'), 0)
- if videoid is not None:
- url = base_youtube_url + videoid
- thumbnail = 'https://i.ytimg.com/vi/' + videoid + '/hqdefault.jpg'
-
- title = extract_text_from_dom(result, title_xpath) or videoid
- content = extract_text_from_dom(result, content_xpath)
-
- embedded = embedded_url.format(videoid=videoid)
-
- # append result
- results.append({'url': url,
- 'title': title,
- 'content': content,
- 'template': 'videos.html',
- 'embedded': embedded,
- 'thumbnail': thumbnail})
+ results_data = resp.text[resp.text.find('ytInitialData'):]
+ results_data = results_data[results_data.find('{'):results_data.find(';\n')]
+
+ results_json = loads(results_data) if results_data else {}
+ sections = results_json.get('contents', {})\
+ .get('twoColumnSearchResultsRenderer', {})\
+ .get('primaryContents', {})\
+ .get('sectionListRenderer', {})\
+ .get('contents', [])
+
+ for section in sections:
+ for video_container in section.get('itemSectionRenderer', {}).get('contents', []):
+ video = video_container.get('videoRenderer', {})
+ videoid = video.get('videoId')
+ if videoid is not None:
+ url = base_youtube_url + videoid
+ thumbnail = 'https://i.ytimg.com/vi/' + videoid + '/hqdefault.jpg'
+ title = get_text_from_json(video.get('title', {}))
+ content = get_text_from_json(video.get('descriptionSnippet', {}))
+ embedded = embedded_url.format(videoid=videoid)
+
+ # append result
+ results.append({'url': url,
+ 'title': title,
+ 'content': content,
+ 'template': 'videos.html',
+ 'embedded': embedded,
+ 'thumbnail': thumbnail})
# return results
return results
+
+
+def get_text_from_json(element):
+ if 'runs' in element:
+ return reduce(lambda a, b: a + b.get('text', ''), element.get('runs'), '')
+ else:
+ return element.get('simpleText', '')
diff --git a/searx/exceptions.py b/searx/exceptions.py
index c605ddcab..0175acfa3 100644
--- a/searx/exceptions.py
+++ b/searx/exceptions.py
@@ -28,5 +28,6 @@ class SearxParameterException(SearxException):
else:
message = 'Invalid value "' + value + '" for parameter ' + name
super(SearxParameterException, self).__init__(message)
+ self.message = message
self.parameter_name = name
self.parameter_value = value
diff --git a/searx/plugins/https_rewrite.py b/searx/plugins/https_rewrite.py
index 3d986770e..82556017e 100644
--- a/searx/plugins/https_rewrite.py
+++ b/searx/plugins/https_rewrite.py
@@ -225,6 +225,9 @@ def https_url_rewrite(result):
def on_result(request, search, result):
+ if 'parsed_url' not in result:
+ return True
+
if result['parsed_url'].scheme == 'http':
https_url_rewrite(result)
return True
diff --git a/searx/plugins/oa_doi_rewrite.py b/searx/plugins/oa_doi_rewrite.py
index d4942498f..be80beb26 100644
--- a/searx/plugins/oa_doi_rewrite.py
+++ b/searx/plugins/oa_doi_rewrite.py
@@ -35,6 +35,9 @@ def get_doi_resolver(args, preference_doi_resolver):
def on_result(request, search, result):
+ if 'parsed_url' not in result:
+ return True
+
doi = extract_doi(result['parsed_url'])
if doi and len(doi) < 50:
for suffix in ('/', '.pdf', '/full', '/meta', '/abstract'):
diff --git a/searx/plugins/open_results_on_new_tab.py b/searx/plugins/open_results_on_new_tab.py
index ae27ea277..0f06f5a56 100644
--- a/searx/plugins/open_results_on_new_tab.py
+++ b/searx/plugins/open_results_on_new_tab.py
@@ -20,5 +20,6 @@ description = gettext('Results are opened in the same window by default. '
'This plugin overwrites the default behaviour to open links on new tabs/windows. '
'(JavaScript required)')
default_on = False
+preference_section = 'ui'
js_dependencies = ('plugins/js/open_results_on_new_tab.js',)
diff --git a/searx/plugins/tracker_url_remover.py b/searx/plugins/tracker_url_remover.py
index 630c8a638..33dd621e1 100644
--- a/searx/plugins/tracker_url_remover.py
+++ b/searx/plugins/tracker_url_remover.py
@@ -17,10 +17,10 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >.
from flask_babel import gettext
import re
-from searx.url_utils import urlunparse
+from searx.url_utils import urlunparse, parse_qsl, urlencode
-regexes = {re.compile(r'utm_[^&]+&?'),
- re.compile(r'(wkey|wemail)[^&]+&?'),
+regexes = {re.compile(r'utm_[^&]+'),
+ re.compile(r'(wkey|wemail)[^&]*'),
re.compile(r'&$')}
name = gettext('Tracker URL remover')
@@ -30,16 +30,23 @@ preference_section = 'privacy'
def on_result(request, search, result):
+ if 'parsed_url' not in result:
+ return True
+
query = result['parsed_url'].query
if query == "":
return True
-
- for reg in regexes:
- query = reg.sub('', query)
-
- if query != result['parsed_url'].query:
- result['parsed_url'] = result['parsed_url']._replace(query=query)
- result['url'] = urlunparse(result['parsed_url'])
+ parsed_query = parse_qsl(query)
+
+ changes = 0
+ for i, (param_name, _) in enumerate(list(parsed_query)):
+ for reg in regexes:
+ if reg.match(param_name):
+ parsed_query.pop(i - changes)
+ changes += 1
+ result['parsed_url'] = result['parsed_url']._replace(query=urlencode(parsed_query))
+ result['url'] = urlunparse(result['parsed_url'])
+ break
return True
diff --git a/searx/plugins/vim_hotkeys.py b/searx/plugins/vim_hotkeys.py
index 8f06f1343..47b830c79 100644
--- a/searx/plugins/vim_hotkeys.py
+++ b/searx/plugins/vim_hotkeys.py
@@ -5,6 +5,7 @@ description = gettext('Navigate search results with Vim-like hotkeys '
'(JavaScript required). '
'Press "h" key on main or result page to get help.')
default_on = False
+preference_section = 'ui'
js_dependencies = ('plugins/js/vim_hotkeys.js',)
css_dependencies = ('plugins/css/vim_hotkeys.css',)
diff --git a/searx/preferences.py b/searx/preferences.py
index ed2cc402a..30a4252b0 100644
--- a/searx/preferences.py
+++ b/searx/preferences.py
@@ -12,6 +12,7 @@ if version[0] == '3':
COOKIE_MAX_AGE = 60 * 60 * 24 * 365 * 5 # 5 years
LANGUAGE_CODES = [l[0] for l in languages]
+LANGUAGE_CODES.append('all')
DISABLED = 0
ENABLED = 1
DOI_RESOLVERS = list(settings['doi_resolvers'])
@@ -291,7 +292,10 @@ class Preferences(object):
def parse_encoded_data(self, input_data):
decoded_data = decompress(urlsafe_b64decode(input_data.encode('utf-8')))
- self.parse_dict({x: y[0] for x, y in parse_qs(unicode(decoded_data)).items()})
+ dict_data = {}
+ for x, y in parse_qs(decoded_data).items():
+ dict_data[x.decode('utf8')] = y[0].decode('utf8')
+ self.parse_dict(dict_data)
def parse_dict(self, input_data):
for user_setting_name, user_setting in input_data.items():
diff --git a/searx/query.py b/searx/query.py
index 0b5143d39..c4002bd31 100644
--- a/searx/query.py
+++ b/searx/query.py
@@ -43,6 +43,7 @@ class RawTextQuery(object):
self.query_parts = []
self.engines = []
self.languages = []
+ self.timeout_limit = None
self.specific = False
# parse query, if tags are set, which
@@ -69,6 +70,21 @@ class RawTextQuery(object):
self.query_parts.append(query_part)
continue
+ # this force the timeout
+ if query_part[0] == '<':
+ try:
+ raw_timeout_limit = int(query_part[1:])
+ if raw_timeout_limit < 100:
+ # below 100, the unit is the second ( <3 = 3 seconds timeout )
+ self.timeout_limit = float(raw_timeout_limit)
+ else:
+ # 100 or above, the unit is the millisecond ( <850 = 850 milliseconds timeout )
+ self.timeout_limit = raw_timeout_limit / 1000.0
+ parse_next = True
+ except ValueError:
+ # error not reported to the user
+ pass
+
# this force a language
if query_part[0] == ':':
lang = query_part[1:].lower().replace('_', '-')
@@ -113,19 +129,16 @@ class RawTextQuery(object):
parse_next = True
engine_name = engine_shortcuts[prefix]
if engine_name in engines:
- for engine_category in engines[engine_name].categories:
- self.engines.append({'category': engine_category,
- 'name': engine_name,
- 'from_bang': True})
+ self.engines.append({'category': 'none',
+ 'name': engine_name,
+ 'from_bang': True})
# check if prefix is equal with engine name
elif prefix in engines:
parse_next = True
- if prefix in engines:
- for engine_category in engines[prefix].categories:
- self.engines.append({'category': engine_category,
- 'name': prefix,
- 'from_bang': True})
+ self.engines.append({'category': 'none',
+ 'name': prefix,
+ 'from_bang': True})
# check if prefix is equal with categorie name
elif prefix in categories:
@@ -148,6 +161,7 @@ class RawTextQuery(object):
self.query_parts[-1] = search_query
else:
self.query_parts.append(search_query)
+ return self
def getSearchQuery(self):
if len(self.query_parts):
@@ -163,14 +177,15 @@ class RawTextQuery(object):
class SearchQuery(object):
"""container for all the search parameters (query, language, etc...)"""
- def __init__(self, query, engines, categories, lang, safesearch, pageno, time_range):
+ def __init__(self, query, engines, categories, lang, safesearch, pageno, time_range, timeout_limit=None):
self.query = query.encode('utf-8')
self.engines = engines
self.categories = categories
self.lang = lang
self.safesearch = safesearch
self.pageno = pageno
- self.time_range = time_range
+ self.time_range = None if time_range in ('', 'None', None) else time_range
+ self.timeout_limit = timeout_limit
def __str__(self):
return str(self.query) + ";" + str(self.engines)
diff --git a/searx/results.py b/searx/results.py
index cb204a682..3b1e4bd62 100644
--- a/searx/results.py
+++ b/searx/results.py
@@ -67,8 +67,9 @@ def merge_two_infoboxes(infobox1, infobox2):
for url2 in infobox2.get('urls', []):
unique_url = True
- for url1 in infobox1.get('urls', []):
- if compare_urls(urlparse(url1.get('url', '')), urlparse(url2.get('url', ''))):
+ parsed_url2 = urlparse(url2.get('url', ''))
+ for url1 in urls1:
+ if compare_urls(urlparse(url1.get('url', '')), parsed_url2):
unique_url = False
break
if unique_url:
@@ -136,6 +137,7 @@ class ResultContainer(object):
self._ordered = False
self.paging = False
self.unresponsive_engines = set()
+ self.timings = []
def extend(self, engine_name, results):
for result in list(results):
@@ -187,8 +189,9 @@ class ResultContainer(object):
add_infobox = True
infobox_id = infobox.get('id', None)
if infobox_id is not None:
+ parsed_url_infobox_id = urlparse(infobox_id)
for existingIndex in self.infoboxes:
- if compare_urls(urlparse(existingIndex.get('id', '')), urlparse(infobox_id)):
+ if compare_urls(urlparse(existingIndex.get('id', '')), parsed_url_infobox_id):
merge_two_infoboxes(existingIndex, infobox)
add_infobox = False
@@ -196,6 +199,13 @@ class ResultContainer(object):
self.infoboxes.append(infobox)
def _merge_result(self, result, position):
+ if 'url' in result:
+ self.__merge_url_result(result, position)
+ return
+
+ self.__merge_result_no_url(result, position)
+
+ def __merge_url_result(self, result, position):
result['parsed_url'] = urlparse(result['url'])
# if the result has no scheme, use http as default
@@ -209,42 +219,60 @@ class ResultContainer(object):
if result.get('content'):
result['content'] = WHITESPACE_REGEX.sub(' ', result['content'])
- # check for duplicates
- duplicated = False
- for merged_result in self._merged_results:
- if compare_urls(result['parsed_url'], merged_result['parsed_url'])\
- and result.get('template') == merged_result.get('template'):
- duplicated = merged_result
- break
-
- # merge duplicates together
+ duplicated = self.__find_duplicated_http_result(result)
if duplicated:
- # using content with more text
- if result_content_len(result.get('content', '')) >\
- result_content_len(duplicated.get('content', '')):
- duplicated['content'] = result['content']
-
- # merge all result's parameters not found in duplicate
- for key in result.keys():
- if not duplicated.get(key):
- duplicated[key] = result.get(key)
-
- # add the new position
- duplicated['positions'].append(position)
-
- # add engine to list of result-engines
- duplicated['engines'].add(result['engine'])
-
- # using https if possible
- if duplicated['parsed_url'].scheme != 'https' and result['parsed_url'].scheme == 'https':
- duplicated['url'] = result['parsed_url'].geturl()
- duplicated['parsed_url'] = result['parsed_url']
+ self.__merge_duplicated_http_result(duplicated, result, position)
+ return
# if there is no duplicate found, append result
- else:
- result['positions'] = [position]
- with RLock():
- self._merged_results.append(result)
+ result['positions'] = [position]
+ with RLock():
+ self._merged_results.append(result)
+
+ def __find_duplicated_http_result(self, result):
+ result_template = result.get('template')
+ for merged_result in self._merged_results:
+ if 'parsed_url' not in merged_result:
+ continue
+ if compare_urls(result['parsed_url'], merged_result['parsed_url'])\
+ and result_template == merged_result.get('template'):
+ if result_template != 'images.html':
+ # not an image, same template, same url : it's a duplicate
+ return merged_result
+ else:
+ # it's an image
+ # it's a duplicate if the parsed_url, template and img_src are differents
+ if result.get('img_src', '') == merged_result.get('img_src', ''):
+ return merged_result
+ return None
+
+ def __merge_duplicated_http_result(self, duplicated, result, position):
+ # using content with more text
+ if result_content_len(result.get('content', '')) >\
+ result_content_len(duplicated.get('content', '')):
+ duplicated['content'] = result['content']
+
+ # merge all result's parameters not found in duplicate
+ for key in result.keys():
+ if not duplicated.get(key):
+ duplicated[key] = result.get(key)
+
+ # add the new position
+ duplicated['positions'].append(position)
+
+ # add engine to list of result-engines
+ duplicated['engines'].add(result['engine'])
+
+ # using https if possible
+ if duplicated['parsed_url'].scheme != 'https' and result['parsed_url'].scheme == 'https':
+ duplicated['url'] = result['parsed_url'].geturl()
+ duplicated['parsed_url'] = result['parsed_url']
+
+ def __merge_result_no_url(self, result, position):
+ result['engines'] = set([result['engine']])
+ result['positions'] = [position]
+ with RLock():
+ self._merged_results.append(result)
def order_results(self):
for result in self._merged_results:
@@ -319,3 +347,13 @@ class ResultContainer(object):
def add_unresponsive_engine(self, engine_error):
self.unresponsive_engines.add(engine_error)
+
+ def add_timing(self, engine_name, engine_time, page_load_time):
+ self.timings.append({
+ 'engine': engines[engine_name].shortcut,
+ 'total': engine_time,
+ 'load': page_load_time
+ })
+
+ def get_timings(self):
+ return self.timings
diff --git a/searx/search.py b/searx/search.py
index 950a49f23..5c268cc5d 100644
--- a/searx/search.py
+++ b/searx/search.py
@@ -45,6 +45,16 @@ if sys.version_info[0] == 3:
logger = logger.getChild('search')
number_of_searches = 0
+max_request_timeout = settings.get('outgoing', {}).get('max_request_timeout' or None)
+if max_request_timeout is None:
+ logger.info('max_request_timeout={0}'.format(max_request_timeout))
+else:
+ if isinstance(max_request_timeout, float):
+ logger.info('max_request_timeout={0} second(s)'.format(max_request_timeout))
+ else:
+ logger.critical('outgoing.max_request_timeout if defined has to be float')
+ from sys import exit
+ exit(1)
def send_http_request(engine, request_params):
@@ -67,17 +77,17 @@ def send_http_request(engine, request_params):
return req(request_params['url'], **request_args)
-def search_one_request(engine, query, request_params):
+def search_one_http_request(engine, query, request_params):
# update request parameters dependent on
# search-engine (contained in engines folder)
engine.request(query, request_params)
# ignoring empty urls
if request_params['url'] is None:
- return []
+ return None
if not request_params['url']:
- return []
+ return None
# send request
response = send_http_request(engine, request_params)
@@ -87,7 +97,53 @@ def search_one_request(engine, query, request_params):
return engine.response(response)
+def search_one_offline_request(engine, query, request_params):
+ return engine.search(query, request_params)
+
+
def search_one_request_safe(engine_name, query, request_params, result_container, start_time, timeout_limit):
+ if engines[engine_name].offline:
+ return search_one_offline_request_safe(engine_name, query, request_params, result_container, start_time, timeout_limit) # noqa
+ return search_one_http_request_safe(engine_name, query, request_params, result_container, start_time, timeout_limit)
+
+
+def search_one_offline_request_safe(engine_name, query, request_params, result_container, start_time, timeout_limit):
+ engine = engines[engine_name]
+
+ try:
+ search_results = search_one_offline_request(engine, query, request_params)
+
+ if search_results:
+ result_container.extend(engine_name, search_results)
+
+ engine_time = time() - start_time
+ result_container.add_timing(engine_name, engine_time, engine_time)
+ with threading.RLock():
+ engine.stats['engine_time'] += engine_time
+ engine.stats['engine_time_count'] += 1
+
+ except ValueError as e:
+ record_offline_engine_stats_on_error(engine, result_container, start_time)
+ logger.exception('engine {0} : invalid input : {1}'.format(engine_name, e))
+ except Exception as e:
+ record_offline_engine_stats_on_error(engine, result_container, start_time)
+
+ result_container.add_unresponsive_engine((
+ engine_name,
+ u'{0}: {1}'.format(gettext('unexpected crash'), e),
+ ))
+ logger.exception('engine {0} : exception : {1}'.format(engine_name, e))
+
+
+def record_offline_engine_stats_on_error(engine, result_container, start_time):
+ engine_time = time() - start_time
+ result_container.add_timing(engine.name, engine_time, engine_time)
+
+ with threading.RLock():
+ engine.stats['errors'] += 1
+
+
+def search_one_http_request_safe(engine_name, query, request_params, result_container, start_time, timeout_limit):
# set timeout for all HTTP requests
requests_lib.set_timeout_for_thread(timeout_limit, start_time=start_time)
# reset the HTTP total time
@@ -101,22 +157,31 @@ def search_one_request_safe(engine_name, query, request_params, result_container
try:
# send requests and parse the results
- search_results = search_one_request(engine, query, request_params)
-
- # add results
- result_container.extend(engine_name, search_results)
-
- # update engine time when there is no exception
- with threading.RLock():
- engine.stats['engine_time'] += time() - start_time
- engine.stats['engine_time_count'] += 1
- # update stats with the total HTTP time
- engine.stats['page_load_time'] += requests_lib.get_time_for_thread()
- engine.stats['page_load_count'] += 1
+ search_results = search_one_http_request(engine, query, request_params)
+
+ # check if the engine accepted the request
+ if search_results is not None:
+ # yes, so add results
+ result_container.extend(engine_name, search_results)
+
+ # update engine time when there is no exception
+ engine_time = time() - start_time
+ page_load_time = requests_lib.get_time_for_thread()
+ result_container.add_timing(engine_name, engine_time, page_load_time)
+ with threading.RLock():
+ engine.stats['engine_time'] += engine_time
+ engine.stats['engine_time_count'] += 1
+ # update stats with the total HTTP time
+ engine.stats['page_load_time'] += page_load_time
+ engine.stats['page_load_count'] += 1
except Exception as e:
- search_duration = time() - start_time
+ # Timing
+ engine_time = time() - start_time
+ page_load_time = requests_lib.get_time_for_thread()
+ result_container.add_timing(engine_name, engine_time, page_load_time)
+ # Record the errors
with threading.RLock():
engine.stats['errors'] += 1
@@ -125,14 +190,14 @@ def search_one_request_safe(engine_name, query, request_params, result_container
# requests timeout (connect or read)
logger.error("engine {0} : HTTP requests timeout"
"(search duration : {1} s, timeout: {2} s) : {3}"
- .format(engine_name, search_duration, timeout_limit, e.__class__.__name__))
+ .format(engine_name, engine_time, timeout_limit, e.__class__.__name__))
requests_exception = True
elif (issubclass(e.__class__, requests.exceptions.RequestException)):
result_container.add_unresponsive_engine((engine_name, gettext('request exception')))
# other requests exception
logger.exception("engine {0} : requests exception"
"(search duration : {1} s, timeout: {2} s) : {3}"
- .format(engine_name, search_duration, timeout_limit, e))
+ .format(engine_name, engine_time, timeout_limit, e))
requests_exception = True
else:
result_container.add_unresponsive_engine((
@@ -189,6 +254,13 @@ def default_request_params():
}
+# remove duplicate queries.
+# FIXME: does not fix "!music !soundcloud", because the categories are 'none' and 'music'
+def deduplicate_query_engines(query_engines):
+ uniq_query_engines = {q["category"] + '|' + q["name"]: q for q in query_engines}
+ return uniq_query_engines.values()
+
+
def get_search_query_from_webapp(preferences, form):
# no text for the query ?
if not form.get('q'):
@@ -221,10 +293,6 @@ def get_search_query_from_webapp(preferences, form):
else:
query_lang = preferences.get_value('language')
- # provides backwards compatibility for requests using old language default
- if query_lang == 'all':
- query_lang = settings['search']['language']
-
# check language
if not VALID_LANGUAGE_CODE.match(query_lang):
raise SearxParameterException('language', query_lang)
@@ -253,6 +321,18 @@ def get_search_query_from_webapp(preferences, form):
# query_engines
query_engines = raw_text_query.engines
+ # timeout_limit
+ query_timeout = raw_text_query.timeout_limit
+ if query_timeout is None and 'timeout_limit' in form:
+ raw_time_limit = form.get('timeout_limit')
+ if raw_time_limit in ['None', '']:
+ raw_time_limit = None
+ else:
+ try:
+ query_timeout = float(raw_time_limit)
+ except ValueError:
+ raise SearxParameterException('timeout_limit', raw_time_limit)
+
# query_categories
query_categories = []
@@ -323,8 +403,12 @@ def get_search_query_from_webapp(preferences, form):
for engine in categories[categ]
if (engine.name, categ) not in disabled_engines)
- return SearchQuery(query, query_engines, query_categories,
- query_lang, query_safesearch, query_pageno, query_time_range)
+ query_engines = deduplicate_query_engines(query_engines)
+
+ return (SearchQuery(query, query_engines, query_categories,
+ query_lang, query_safesearch, query_pageno,
+ query_time_range, query_timeout),
+ raw_text_query)
class Search(object):
@@ -336,6 +420,7 @@ class Search(object):
super(Search, self).__init__()
self.search_query = search_query
self.result_container = ResultContainer()
+ self.actual_timeout = None
# do search-request
def search(self):
@@ -365,7 +450,7 @@ class Search(object):
search_query = self.search_query
# max of all selected engine timeout
- timeout_limit = 0
+ default_timeout = 0
# start search-reqest for all selected engines
for selected_engine in search_query.engines:
@@ -388,29 +473,51 @@ class Search(object):
continue
# set default request parameters
- request_params = default_request_params()
- request_params['headers']['User-Agent'] = user_agent
- request_params['category'] = selected_engine['category']
- request_params['pageno'] = search_query.pageno
+ request_params = {}
+ if not engine.offline:
+ request_params = default_request_params()
+ request_params['headers']['User-Agent'] = user_agent
- if hasattr(engine, 'language') and engine.language:
- request_params['language'] = engine.language
- else:
- request_params['language'] = search_query.lang
+ if hasattr(engine, 'language') and engine.language:
+ request_params['language'] = engine.language
+ else:
+ request_params['language'] = search_query.lang
- # 0 = None, 1 = Moderate, 2 = Strict
- request_params['safesearch'] = search_query.safesearch
- request_params['time_range'] = search_query.time_range
+ request_params['safesearch'] = search_query.safesearch
+ request_params['time_range'] = search_query.time_range
+
+ request_params['category'] = selected_engine['category']
+ request_params['pageno'] = search_query.pageno
# append request to list
requests.append((selected_engine['name'], search_query.query, request_params))
- # update timeout_limit
- timeout_limit = max(timeout_limit, engine.timeout)
-
+ # update default_timeout
+ default_timeout = max(default_timeout, engine.timeout)
+
+ # adjust timeout
+ self.actual_timeout = default_timeout
+ query_timeout = self.search_query.timeout_limit
+
+ if max_request_timeout is None and query_timeout is None:
+ # No max, no user query: default_timeout
+ pass
+ elif max_request_timeout is None and query_timeout is not None:
+ # No max, but user query: From user query except if above default
+ self.actual_timeout = min(default_timeout, query_timeout)
+ elif max_request_timeout is not None and query_timeout is None:
+ # Max, no user query: Default except if above max
+ self.actual_timeout = min(default_timeout, max_request_timeout)
+ elif max_request_timeout is not None and query_timeout is not None:
+ # Max & user query: From user query except if above max
+ self.actual_timeout = min(query_timeout, max_request_timeout)
+
+ logger.debug("actual_timeout={0} (default_timeout={1}, ?timeout_limit={2}, max_request_timeout={3})"
+ .format(self.actual_timeout, default_timeout, query_timeout, max_request_timeout))
+
+ # send all search-request
if requests:
- # send all search-request
- search_multiple_requests(requests, self.result_container, start_time, timeout_limit)
+ search_multiple_requests(requests, self.result_container, start_time, self.actual_timeout)
start_new_thread(gc.collect, tuple())
# return results, suggestions, answers and infoboxes
diff --git a/searx/settings.yml b/searx/settings.yml
index c223e5915..c6f805331 100644
--- a/searx/settings.yml
+++ b/searx/settings.yml
@@ -27,12 +27,15 @@ ui:
# searx supports result proxification using an external service: https://github.com/asciimoo/morty
# uncomment below section if you have running morty proxy
+# the key is base64 encoded (keep the !!binary notation)
+# Note: since commit af77ec3, morty accepts a base64 encoded key.
#result_proxy:
# url : http://127.0.0.1:3000/
-# key : your_morty_proxy_key
+# key : !!binary "your_morty_proxy_key"
outgoing: # communication with search engines
- request_timeout : 2.0 # seconds
+ request_timeout : 2.0 # default timeout in seconds, can be override by engine
+ # max_request_timeout: 10.0 # the maximum timeout in seconds
useragent_suffix : "" # suffix of searx_useragent, could contain informations like an email address to the administrator
pool_connections : 100 # Number of different hosts
pool_maxsize : 10 # Number of simultaneous requests by host
@@ -49,6 +52,12 @@ outgoing: # communication with search engines
# - 1.1.1.2
engines:
+ - name: apk mirror
+ engine: apkmirror
+ timeout: 4.0
+ shortcut: apkm
+ disabled: True
+
- name : arch linux wiki
engine : archlinux
shortcut : al
@@ -70,10 +79,6 @@ engines:
categories : science
timeout : 4.0
- - name : asksteem
- engine : asksteem
- shortcut : as
-
- name : base
engine : base
shortcut : bs
@@ -111,6 +116,10 @@ engines:
disabled : True
shortcut : bb
+ - name : btdigg
+ engine : btdigg
+ shortcut : bt
+
- name : ccc-tv
engine : xpath
paging : False
@@ -125,7 +134,7 @@ engines:
- name : crossref
engine : json_engine
paging : True
- search_url : http://search.crossref.org/dois?q={query}&page={pageno}
+ search_url : https://search.crossref.org/dois?q={query}&page={pageno}
url_query : doi
title_query : title
content_query : fullCitation
@@ -152,11 +161,12 @@ engines:
weight : 2
disabled : True
- - name : digbt
- engine : digbt
- shortcut : dbt
- timeout : 6.0
- disabled : True
+# cloudflare protected
+# - name : digbt
+# engine : digbt
+# shortcut : dbt
+# timeout : 6.0
+# disabled : True
- name : digg
engine : digg
@@ -195,11 +205,11 @@ engines:
- name : etymonline
engine : xpath
paging : True
- search_url : http://etymonline.com/?search={query}&p={pageno}
- url_xpath : //a[contains(@class, "word--")]/@href
- title_xpath : //p[contains(@class, "word__name--")]/text()
- content_xpath : //section[contains(@class, "word__defination")]/object
- first_page_num : 0
+ search_url : https://etymonline.com/search?page={pageno}&q={query}
+ url_xpath : //a[contains(@class, "word__name--")]/@href
+ title_xpath : //a[contains(@class, "word__name--")]
+ content_xpath : //section[contains(@class, "word__defination")]
+ first_page_num : 1
shortcut : et
disabled : True
@@ -300,38 +310,44 @@ engines:
url_xpath : .//h3/a/@href
title_xpath : .//h3/a
content_xpath : .//div[@class="gs_rs"]
- suggestion_xpath : //div[@id="gs_qsuggest"]/ul/li
+ suggestion_xpath : //div[@id="gs_res_ccl_top"]//a/b
page_size : 10
first_page_num : 0
categories : science
shortcut : gos
- name : google play apps
- engine : xpath
- search_url : https://play.google.com/store/search?q={query}&c=apps
- url_xpath : //a[@class="title"]/@href
- title_xpath : //a[@class="title"]
- content_xpath : //a[@class="subtitle"]
+ engine : xpath
+ search_url : https://play.google.com/store/search?q={query}&c=apps
+ results_xpath : '//div[@class="WHE7ib mpg5gc"]'
+ title_xpath : './/div[@class="RZEgze"]//div[@title and not(@title="")]/a'
+ url_xpath : './/div[@class="RZEgze"]//div[@title and not(@title="")]/a/@href'
+ content_xpath : './/div[@class="RZEgze"]//a[@class="mnKHRc"]'
+ thumbnail_xpath : './/div[@class="uzcko"]/div/span[1]//img/@data-src'
categories : files
shortcut : gpa
disabled : True
- name : google play movies
- engine : xpath
- search_url : https://play.google.com/store/search?q={query}&c=movies
- url_xpath : //a[@class="title"]/@href
- title_xpath : //a[@class="title"]/@title
- content_xpath : //a[contains(@class, "subtitle")]
+ engine : xpath
+ search_url : https://play.google.com/store/search?q={query}&c=movies
+ results_xpath : '//div[@class="WHE7ib mpg5gc"]'
+ title_xpath : './/div[@class="RZEgze"]//div[@title and not(@title="")]/a'
+ url_xpath : './/div[@class="RZEgze"]//div[@title and not(@title="")]/a/@href'
+ content_xpath : './/div[@class="RZEgze"]//a[@class="mnKHRc"]'
+ thumbnail_xpath : './/div[@class="uzcko"]/div/span[1]//img/@data-src'
categories : videos
shortcut : gpm
disabled : True
- name : google play music
- engine : xpath
- search_url : https://play.google.com/store/search?q={query}&c=music
- url_xpath : //a[@class="title"]/@href
- title_xpath : //a[@class="title"]
- content_xpath : //a[@class="subtitle"]
+ engine : xpath
+ search_url : https://play.google.com/store/search?q={query}&c=music
+ results_xpath : '//div[@class="WHE7ib mpg5gc"]'
+ title_xpath : './/div[@class="RZEgze"]//div[@title and not(@title="")]/a'
+ url_xpath : './/div[@class="RZEgze"]//div[@title and not(@title="")]/a/@href'
+ content_xpath : './/div[@class="RZEgze"]//a[@class="mnKHRc"]'
+ thumbnail_xpath : './/div[@class="uzcko"]/div/span[1]//img/@data-src'
categories : music
shortcut : gps
disabled : True
@@ -378,6 +394,12 @@ engines:
timeout : 6.0
disabled : True
+ - name : invidious
+ engine : invidious
+ base_url : 'https://invidio.us/'
+ shortcut: iv
+ timeout : 5.0
+
- name: kickass
engine : kickass
shortcut : kc
@@ -414,11 +436,25 @@ engines:
engine : mixcloud
shortcut : mc
+ - name : npm
+ engine : json_engine
+ paging : True
+ search_url : https://api.npms.io/v2/search?q={query}&size=25&from={pageno}
+ results_query : results
+ url_query : package/links/npm
+ title_query : package/name
+ content_query : package/description
+ page_size : 25
+ categories : it
+ disabled: True
+ timeout: 5.0
+ shortcut : npm
+
- name : nyaa
engine : nyaa
shortcut : nt
disabled : True
-
+
- name : acgsou
engine : acgsou
shortcut : acg
@@ -566,32 +602,12 @@ engines:
engine : spotify
shortcut : stf
- - name : subtitleseeker
- engine : subtitleseeker
- shortcut : ss
-# The language is an option. You can put any language written in english
-# Examples : English, French, German, Hungarian, Chinese...
-# language : English
-
- name : startpage
engine : startpage
shortcut : sp
timeout : 6.0
disabled : True
- - name : ixquick
- engine : startpage
- base_url : 'https://www.ixquick.eu/'
- search_url : 'https://www.ixquick.eu/do/search'
- shortcut : iq
- timeout : 6.0
- disabled : True
-
- - name : swisscows
- engine : swisscows
- shortcut : sw
- disabled : True
-
- name : tokyotoshokan
engine : tokyotoshokan
shortcut : tt
@@ -624,6 +640,11 @@ engines:
# content_xpath : //*[@class="meaning"]
# shortcut : ud
+ - name : unsplash
+ engine : unsplash
+ disabled: True
+ shortcut : us
+
- name : yahoo
engine : yahoo
shortcut : yh
@@ -665,12 +686,6 @@ engines:
timeout: 6.0
categories : science
- - name : seedpeer
- engine : seedpeer
- shortcut: speu
- categories: files, music, videos
- disabled: True
-
- name : dictzone
engine : dictzone
shortcut : dc
@@ -689,9 +704,9 @@ engines:
shortcut: vo
categories: social media
search_url : https://searchvoat.co/?t={query}
- url_xpath : //div[@class="entry"]/p/a[@class="title"]/@href
- title_xpath : //div[@class="entry"]/p/a[@class="title"]
- content_xpath : //div[@class="entry"]/p/span[@class="domain"]
+ url_xpath : //div[@class="entry"]//p[@class="title"]/a/@href
+ title_xpath : //div[@class="entry"]//p[@class="title"]/a/text()
+ content_xpath : //div[@class="entry"]//span[@class="domain"]/a/text()
timeout : 10.0
disabled : True
@@ -700,7 +715,7 @@ engines:
shortcut : 1337x
disabled : True
- - name : Duden
+ - name : duden
engine : duden
shortcut : du
disabled : True
@@ -710,14 +725,34 @@ engines:
engine: xpath
paging : True
search_url : https://search.seznam.cz/?q={query}&count=10&from={pageno}
- results_xpath: //div[@class="Page-content"]//div[@class="Result "]
+ results_xpath: //div[@class="Page-content"]//div[contains(@class, "Result ")]
url_xpath : ./h3/a/@href
title_xpath : ./h3
content_xpath : .//p[@class="Result-description"]
+ suggestion_xpath: //div[@class="Related-container"]//div[@class="RelatedItem"]/div/span/a
first_page_num : 0
page_size : 10
disabled : True
+ - name : mojeek
+ shortcut: mjk
+ engine: xpath
+ paging : True
+ search_url : https://www.mojeek.com/search?q={query}&s={pageno}
+ results_xpath: /html/body//div[@class="results"]/ul[@class="results-standard"]/li
+ url_xpath : ./h2/a/@href
+ title_xpath : ./h2
+ content_xpath : ./p[@class="s"]
+ suggestion_xpath : /html/body//div[@class="top-info"]/p[@class="top-info spell"]/a
+ first_page_num : 0
+ page_size : 10
+ disabled : True
+
+ - name : seedpeer
+ shortcut : speu
+ engine : seedpeer
+ categories: files, music, videos
+
# - name : yacy
# engine : yacy
# shortcut : ya
@@ -736,21 +771,28 @@ locales:
en : English
ar : العَرَبِيَّة (Arabic)
bg : Български (Bulgarian)
+ ca : Català (Catalan)
cs : Čeština (Czech)
+ cy : Cymraeg (Welsh)
da : Dansk (Danish)
de : Deutsch (German)
el_GR : Ελληνικά (Greek_Greece)
eo : Esperanto (Esperanto)
es : Español (Spanish)
+ eu : Euskara (Basque)
+ fa_IR : (fārsī) فارسى (Persian)
fi : Suomi (Finnish)
fil : Wikang Filipino (Filipino)
fr : Français (French)
+ gl : Galego (Galician)
he : עברית (Hebrew)
hr : Hrvatski (Croatian)
hu : Magyar (Hungarian)
+ ia : Interlingua (Interlingua)
it : Italiano (Italian)
ja : 日本語 (Japanese)
nl : Nederlands (Dutch)
+ nl_BE : Vlaams (Dutch_Belgium)
pl : Polski (Polish)
pt : Português (Portuguese)
pt_BR : Português (Portuguese_Brazil)
@@ -760,8 +802,10 @@ locales:
sl : Slovenski (Slovene)
sr : српски (Serbian)
sv : Svenska (Swedish)
+ te : తెలుగు (telugu)
tr : Türkçe (Turkish)
uk : українська мова (Ukrainian)
+ vi : tiếng việt (Vietnamese)
zh : 中文 (Chinese)
zh_TW : 國語 (Taiwanese Mandarin)
diff --git a/searx/settings_robot.yml b/searx/settings_robot.yml
index e5f163aef..635809041 100644
--- a/searx/settings_robot.yml
+++ b/searx/settings_robot.yml
@@ -5,7 +5,7 @@ general:
search:
safe_search : 0
autocomplete : ""
- language: "en-US"
+ language: "all"
server:
port : 11111
@@ -39,3 +39,11 @@ engines:
locales:
en : English
hu : Magyar
+
+doi_resolvers :
+ oadoi.org : 'https://oadoi.org/'
+ doi.org : 'https://doi.org/'
+ doai.io : 'http://doai.io/'
+ sci-hub.tw : 'http://sci-hub.tw/'
+
+default_doi_resolver : 'oadoi.org'
diff --git a/searx/static/css/bootstrap.min.css b/searx/static/css/bootstrap.min.css
index 691604be6..1caa22cc6 100644
--- a/searx/static/css/bootstrap.min.css
+++ b/searx/static/css/bootstrap.min.css
@@ -1 +1 @@
-/*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@media print{*{text-shadow:none !important;color:#000 !important;background:transparent !important;box-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff !important}.navbar{display:none}.table td,.table th{background-color:#fff !important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;width:100% \9;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;width:100% \9;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6)}.form-control::-moz-placeholder{color:#777;opacity:1}.form-control:-ms-input-placeholder{color:#777}.form-control::-webkit-input-placeholder{color:#777}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{line-height:34px;line-height:1.42857143 \0}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg{line-height:46px}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm,.form-horizontal .form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.input-lg,.form-horizontal .form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#428bca;font-weight:normal;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#428bca}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{position:absolute;z-index:-1;opacity:0;filter:alpha(opacity=0)}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#777}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#777}.navbar-inverse .navbar-nav>li>a{color:#777}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#777}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#777}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#428bca;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}.progress-bar[aria-valuenow="0"]{color:#777;min-width:30px;background-color:transparent;background-image:none;box-shadow:none}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;color:#555;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eee;color:#777}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate3d(0, -25%, 0);transform:translate3d(0, -25%, 0);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;visibility:visible;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important;visibility:hidden !important}.affix{position:fixed;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.has-warning .twitter-typeahead .tt-input,.has-warning .twitter-typeahead .tt-hint{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .twitter-typeahead .tt-input:focus,.has-warning .twitter-typeahead .tt-hint:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-error .twitter-typeahead .tt-input,.has-error .twitter-typeahead .tt-hint{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .twitter-typeahead .tt-input:focus,.has-error .twitter-typeahead .tt-hint:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-success .twitter-typeahead .tt-input,.has-success .twitter-typeahead .tt-hint{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .twitter-typeahead .tt-input:focus,.has-success .twitter-typeahead .tt-hint:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.input-group .twitter-typeahead:first-child .tt-input,.input-group .twitter-typeahead:first-child .tt-hint{border-bottom-left-radius:4px;border-top-left-radius:4px}.input-group .twitter-typeahead:last-child .tt-input,.input-group .twitter-typeahead:last-child .tt-hint{border-bottom-right-radius:4px;border-top-right-radius:4px}.input-group.input-group-sm .twitter-typeahead .tt-input,.input-group.input-group-sm .twitter-typeahead .tt-hint{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group.input-group-sm .twitter-typeahead .tt-input,select.input-group.input-group-sm .twitter-typeahead .tt-hint{height:30px;line-height:30px}textarea.input-group.input-group-sm .twitter-typeahead .tt-input,textarea.input-group.input-group-sm .twitter-typeahead .tt-hint,select[multiple].input-group.input-group-sm .twitter-typeahead .tt-input,select[multiple].input-group.input-group-sm .twitter-typeahead .tt-hint{height:auto}.input-group.input-group-sm .twitter-typeahead:not(:first-child):not(:last-child) .tt-input,.input-group.input-group-sm .twitter-typeahead:not(:first-child):not(:last-child) .tt-hint{border-radius:0}.input-group.input-group-sm .twitter-typeahead:first-child .tt-input,.input-group.input-group-sm .twitter-typeahead:first-child .tt-hint{border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-right-radius:0;border-top-right-radius:0}.input-group.input-group-sm .twitter-typeahead:last-child .tt-input,.input-group.input-group-sm .twitter-typeahead:last-child .tt-hint{border-bottom-left-radius:0;border-top-left-radius:0;border-bottom-right-radius:3px;border-top-right-radius:3px}.input-group.input-group-lg .twitter-typeahead .tt-input,.input-group.input-group-lg .twitter-typeahead .tt-hint{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group.input-group-lg .twitter-typeahead .tt-input,select.input-group.input-group-lg .twitter-typeahead .tt-hint{height:46px;line-height:46px}textarea.input-group.input-group-lg .twitter-typeahead .tt-input,textarea.input-group.input-group-lg .twitter-typeahead .tt-hint,select[multiple].input-group.input-group-lg .twitter-typeahead .tt-input,select[multiple].input-group.input-group-lg .twitter-typeahead .tt-hint{height:auto}.input-group.input-group-lg .twitter-typeahead:not(:first-child):not(:last-child) .tt-input,.input-group.input-group-lg .twitter-typeahead:not(:first-child):not(:last-child) .tt-hint{border-radius:0}.input-group.input-group-lg .twitter-typeahead:first-child .tt-input,.input-group.input-group-lg .twitter-typeahead:first-child .tt-hint{border-bottom-left-radius:6px;border-top-left-radius:6px;border-bottom-right-radius:0;border-top-right-radius:0}.input-group.input-group-lg .twitter-typeahead:last-child .tt-input,.input-group.input-group-lg .twitter-typeahead:last-child .tt-hint{border-bottom-left-radius:0;border-top-left-radius:0;border-bottom-right-radius:6px;border-top-right-radius:6px}.twitter-typeahead{width:100%}.input-group .twitter-typeahead{display:table-cell !important;float:left}.twitter-typeahead .tt-hint{color:#777}.twitter-typeahead .tt-input{z-index:2}.twitter-typeahead .tt-input[disabled],.twitter-typeahead .tt-input[readonly],fieldset[disabled] .twitter-typeahead .tt-input{cursor:not-allowed;background-color:#eee !important}.tt-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;min-width:160px;width:100%;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box;*border-right-width:2px;*border-bottom-width:2px}.tt-dropdown-menu .tt-suggestion{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333;white-space:nowrap;text-align:left;cursor:pointer !important}.tt-dropdown-menu .tt-suggestion.tt-cursor{text-decoration:none;outline:0;background-color:#f5f5f5;color:#262626}.tt-dropdown-menu .tt-suggestion.tt-cursor a{color:#262626}.tt-dropdown-menu .tt-suggestion p{margin:0} \ No newline at end of file
+/*! normalize.css v3.0.1 | MIT License | git.io/normalize */.sr-only,svg:not(:root){overflow:hidden}hr,img{border:0}body,figure{margin:0}.img-thumbnail,.thumbnail{-o-transition:all .2s ease-in-out}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{background:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{vertical-align:middle}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}.glyphicon,address,cite{font-style:normal}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@media print{blockquote,img,pre,tr{page-break-inside:avoid}*{text-shadow:none!important;color:#000!important;background:0 0!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}.btn,.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-warning.active,.btn-warning:active,.btn.active,.btn:active,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover,.form-control,.navbar-toggle,.open>.dropdown-toggle.btn-danger,.open>.dropdown-toggle.btn-default,.open>.dropdown-toggle.btn-info,.open>.dropdown-toggle.btn-primary,.open>.dropdown-toggle.btn-warning{background-image:none}.img-thumbnail,body{background-color:#fff}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:focus,a:hover{color:#2a6496;text-decoration:underline}a:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;width:100%\9;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;width:100%\9;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}dt,label{font-weight:700}address,blockquote .small,blockquote footer,blockquote small,dd,dt,pre{line-height:1.42857143}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{background-color:#fcf8e3;padding:.2em}.list-inline,.list-unstyled{padding-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}pre code,table{background-color:transparent}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}dl,ol,ul{margin-top:0}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}address,dl{margin-bottom:20px}ol,ul{margin-bottom:10px}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.container{width:750px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;color:#777}legend,pre{display:block;color:#333}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}code,kbd{padding:2px 4px;font-size:90%}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}blockquote:after,blockquote:before{content:""}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;box-shadow:none}pre{padding:9.5px;margin:0 0 10px;font-size:13px;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.container,.container-fluid{margin-right:auto;margin-left:auto}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}.container,.container-fluid{padding-left:15px;padding-right:15px}.pre-scrollable{overflow-y:scroll}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.row{margin-left:-15px;margin-right:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}table col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.btn-group>.btn-group,.btn-toolbar .btn-group,.btn-toolbar .input-group,.dropdown-menu{float:left}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset,legend{padding:0;border:0}fieldset{margin:0;min-width:0}legend{width:100%;margin-bottom:20px;font-size:21px;line-height:inherit;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}.form-control,output{font-size:14px;line-height:1.42857143;color:#555;display:block}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{padding-top:7px}.form-control{width:100%;height:34px;padding:6px 12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#777;opacity:1}.form-control:-ms-input-placeholder{color:#777}.form-control::-webkit-input-placeholder{color:#777}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline{color:#3c763d}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px;line-height:1.42857143\9}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px\9}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.form-horizontal .form-group-sm .form-control,.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-horizontal .form-group-lg .form-control,.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.collapsing,.dropdown{position:relative}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .control-label,.form-inline .form-group{margin-bottom:0;vertical-align:middle}.form-inline .form-group{display:inline-block}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active:focus,.btn:active:focus,.btn:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.active,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#428bca;font-weight:400;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu-right,.dropdown-menu.pull-right{left:auto;right:0}.dropdown-header,.dropdown-menu>li>a{display:block;padding:3px 20px;line-height:1.42857143;white-space:nowrap}.btn-group-vertical>.btn:not(:first-child):not(:last-child),.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{clear:both;font-weight:400;color:#333}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0;background-color:#428bca}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{font-size:12px;color:#777}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.nav-justified>.dropdown .dropdown-menu,.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group-vertical>.btn:focus,.btn-group>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn .caret,.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group,.input-group-btn>.btn+.btn{margin-left:-1px}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn>input[type=checkbox],[data-toggle=buttons]>.btn>input[type=radio]{position:absolute;z-index:-1;opacity:0;filter:alpha(opacity=0)}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.nav>li,.nav>li>a{display:block;position:relative}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px;margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0;border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-justified>li,.nav-stacked>li{float:none}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar{border-radius:4px}.navbar-header{float:left}.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.embed-responsive,.modal,.modal-open,.progress{overflow:hidden}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}.navbar-static-top{z-index:1000;border-width:0 0 1px}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}.progress-bar-striped,.progress-striped .progress-bar,.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}@media (min-width:768px){.navbar-toggle{display:none}.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin:8px -15px}@media (min-width:768px){.navbar-form .control-label,.navbar-form .form-group{margin-bottom:0;vertical-align:middle}.navbar-form .form-group{display:inline-block}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.breadcrumb>li,.pagination{display:inline-block}.btn .badge,.btn .label{top:-1px;position:relative}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#e7e7e7;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#777}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#777}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#080808;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#777}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#777}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{padding-left:0;margin:20px 0;border-radius:4px}.pager li,.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#428bca;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.badge,.label{font-weight:700;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca;cursor:default}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;color:#fff;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#428bca}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;color:#fff;background-color:#777;border-radius:10px}.badge:empty{display:none}.list-group-item,.media-object,.thumbnail{display:block}.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.nav-pills>.active>a>.badge,a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;background-color:#eee}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.alert,.thumbnail{margin-bottom:20px}.alert .alert-link,.close{font-weight:700}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-left:60px;padding-right:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-left:auto;margin-right:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.modal,.modal-backdrop{top:0;right:0;bottom:0;left:0}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.close,.list-group-item>.badge{float:right}.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}.progress-bar[aria-valuenow="0"]{color:#777;min-width:30px;background-color:transparent;background-image:none;box-shadow:none}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-striped .progress-bar-info,.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{text-decoration:none;color:#555;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#eee;color:#777}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.panel-heading>.dropdown .dropdown-toggle,.panel-title,.panel-title>a{color:inherit}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-title,.panel>.list-group,.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-title{margin-top:0;font-size:16px}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel-group .panel-heading,.panel>.list-group:last-child .list-group-item:last-child,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.list-group:last-child .list-group-item:last-child,.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{font-size:21px;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.carousel-caption,.carousel-control{text-shadow:0 1px 2px rgba(0,0,0,.6)}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-content,.popover,.tt-dropdown-menu{background-clip:padding-box}.modal{display:none;position:fixed;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate3d(0,-25%,0);transform:translate3d(0,-25%,0);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.43px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;visibility:visible;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow,.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.top .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.top-left .tooltip-arrow{left:5px}.tooltip.top-right .tooltip-arrow{right:5px}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{border-width:0 5px 5px;border-bottom-color:#000;top:0}.tooltip.bottom .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.bottom-left .tooltip-arrow{left:5px}.tooltip.bottom-right .tooltip-arrow{right:5px}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.carousel,.carousel-inner{position:relative}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.left>.arrow:after,.popover.right>.arrow:after{content:" ";bottom:-10px}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right>.arrow:after{left:1px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;border-right-width:0;border-left-color:#fff}.carousel-inner{overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:focus,.carousel-control:hover{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.carousel-caption .btn,.text-hide{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.hidden,.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;background-color:transparent;border:0}.hidden{visibility:hidden!important}.affix{position:fixed;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-ms-viewport{width:device-width}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}.hidden-lg{display:none!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}.has-warning .twitter-typeahead .tt-hint,.has-warning .twitter-typeahead .tt-input{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .twitter-typeahead .tt-hint:focus,.has-warning .twitter-typeahead .tt-input:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-error .twitter-typeahead .tt-hint,.has-error .twitter-typeahead .tt-input{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .twitter-typeahead .tt-hint:focus,.has-error .twitter-typeahead .tt-input:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-success .twitter-typeahead .tt-hint,.has-success .twitter-typeahead .tt-input{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .twitter-typeahead .tt-hint:focus,.has-success .twitter-typeahead .tt-input:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.input-group .twitter-typeahead:first-child .tt-hint,.input-group .twitter-typeahead:first-child .tt-input{border-bottom-left-radius:4px;border-top-left-radius:4px}.input-group .twitter-typeahead:last-child .tt-hint,.input-group .twitter-typeahead:last-child .tt-input{border-bottom-right-radius:4px;border-top-right-radius:4px}.input-group.input-group-sm .twitter-typeahead .tt-hint,.input-group.input-group-sm .twitter-typeahead .tt-input{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group.input-group-sm .twitter-typeahead .tt-hint,select.input-group.input-group-sm .twitter-typeahead .tt-input{height:30px;line-height:30px}select[multiple].input-group.input-group-sm .twitter-typeahead .tt-hint,select[multiple].input-group.input-group-sm .twitter-typeahead .tt-input,textarea.input-group.input-group-sm .twitter-typeahead .tt-hint,textarea.input-group.input-group-sm .twitter-typeahead .tt-input{height:auto}.input-group.input-group-sm .twitter-typeahead:not(:first-child):not(:last-child) .tt-hint,.input-group.input-group-sm .twitter-typeahead:not(:first-child):not(:last-child) .tt-input{border-radius:0}.input-group.input-group-sm .twitter-typeahead:first-child .tt-hint,.input-group.input-group-sm .twitter-typeahead:first-child .tt-input{border-radius:3px 0 0 3px}.input-group.input-group-sm .twitter-typeahead:last-child .tt-hint,.input-group.input-group-sm .twitter-typeahead:last-child .tt-input{border-radius:0 3px 3px 0}.input-group.input-group-lg .twitter-typeahead .tt-hint,.input-group.input-group-lg .twitter-typeahead .tt-input{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group.input-group-lg .twitter-typeahead .tt-hint,select.input-group.input-group-lg .twitter-typeahead .tt-input{height:46px;line-height:46px}select[multiple].input-group.input-group-lg .twitter-typeahead .tt-hint,select[multiple].input-group.input-group-lg .twitter-typeahead .tt-input,textarea.input-group.input-group-lg .twitter-typeahead .tt-hint,textarea.input-group.input-group-lg .twitter-typeahead .tt-input{height:auto}.input-group.input-group-lg .twitter-typeahead:not(:first-child):not(:last-child) .tt-hint,.input-group.input-group-lg .twitter-typeahead:not(:first-child):not(:last-child) .tt-input{border-radius:0}.input-group.input-group-lg .twitter-typeahead:first-child .tt-hint,.input-group.input-group-lg .twitter-typeahead:first-child .tt-input{border-radius:6px 0 0 6px}.input-group.input-group-lg .twitter-typeahead:last-child .tt-hint,.input-group.input-group-lg .twitter-typeahead:last-child .tt-input{border-radius:0 6px 6px 0}.twitter-typeahead{width:100%}.input-group .twitter-typeahead{display:table-cell!important;float:left}.twitter-typeahead .tt-hint{color:#777}.twitter-typeahead .tt-input{z-index:2}.twitter-typeahead .tt-input[disabled],.twitter-typeahead .tt-input[readonly],fieldset[disabled] .twitter-typeahead .tt-input{cursor:not-allowed;background-color:#eee!important}.tt-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;min-width:160px;width:100%;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.tt-dropdown-menu .tt-suggestion{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap;text-align:left;cursor:pointer!important}.tt-dropdown-menu .tt-suggestion.tt-cursor{text-decoration:none;outline:0;background-color:#f5f5f5;color:#262626}.tt-dropdown-menu .tt-suggestion.tt-cursor a{color:#262626}.tt-dropdown-menu .tt-suggestion p{margin:0} \ No newline at end of file
diff --git a/searx/static/plugins/js/infinite_scroll.js b/searx/static/plugins/js/infinite_scroll.js
index 9cd582d7f..1a95756a0 100644
--- a/searx/static/plugins/js/infinite_scroll.js
+++ b/searx/static/plugins/js/infinite_scroll.js
@@ -1,7 +1,7 @@
$(document).ready(function() {
var win = $(window);
win.scroll(function() {
- if ($(document).height() - win.height() == win.scrollTop()) {
+ if ($(document).height() - win.height() - win.scrollTop() < 150) {
var formData = $('#pagination form:last').serialize();
if (formData) {
$('#pagination').html('<div class="loading-spinner"></div>');
diff --git a/searx/static/themes/courgette/css/style-rtl.css b/searx/static/themes/courgette/css/style-rtl.css
index a725ac1e8..e47453393 100644
--- a/searx/static/themes/courgette/css/style-rtl.css
+++ b/searx/static/themes/courgette/css/style-rtl.css
@@ -1 +1 @@
-.q{padding:.5em 1em .5em 3em}#search_submit{left:0;right:auto}.result .favicon{float:right;margin-left:.5em;margin-right:0}#sidebar{right:auto;left:0}#results{padding:0 32px 0 272px}.search.center{padding-right:0;padding-left:17em}.right{right:auto;left:0}#pagination form+form{float:left;margin-top:-2em}.engine-table{text-align:right} \ No newline at end of file
+#search_submit,#sidebar,.right{right:auto;left:0}.q{padding:.5em 1em .5em 3em}.result .favicon{float:right;margin-left:.5em;margin-right:0}#results{padding:0 32px 0 272px}.search.center{padding-right:0;padding-left:17em}#pagination form+form{float:left;margin-top:-2em}.engine-table{text-align:right} \ No newline at end of file
diff --git a/searx/static/themes/courgette/css/style.css b/searx/static/themes/courgette/css/style.css
index 74fbd2ac9..508c4b605 100644
--- a/searx/static/themes/courgette/css/style.css
+++ b/searx/static/themes/courgette/css/style.css
@@ -1 +1 @@
-*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="search"]{-webkit-appearance:textfield}h2{color:#666;text-transform:uppercase}body{font-family:sans-serif;line-height:1.5;margin:0;background:#eee}html{position:relative;min-height:100%}a{color:#666}.title h1{font-size:7em;color:#3498db;margin:0 auto;line-height:100px;margin-top:-20px;padding-bottom:20px}.center{max-width:70em;text-align:center;background:rgba(255,255,255,0.6);padding:2em;margin:7% auto 0;position:relative}.center.search{position:static;width:auto;background:none;margin:auto;padding-top:1.8em}@media screen and (min-width:1001px){.center:after{content:"";z-index:-1;background:url(../img/bg-body-index.jpg) no-repeat;background-size:cover;width:100%;height:100%;top:0;left:0;position:fixed}.center.search:after{content:none}}.autocompleter-choices{position:absolute;margin:0;padding:0;background:#fff}.autocompleter-choices li{padding:.5em 1em}.autocompleter-choices li:hover{background:#3498db;color:#fff;cursor:pointer}#categories{text-align:center}.top_margin{position:absolute;bottom:-3.5em;width:100%;left:0}.top_margin a{display:inline-block;margin-right:1em;color:#fff;text-decoration:none}.top_margin a:hover,.top_margin a:focus{text-decoration:underline}@media screen and (max-width:1000px){.center{background:none}.top_margin a{color:#333}}.checkbox_container{margin-top:1.5em}.checkbox_container label{padding:.5em 1em;color:#333;cursor:pointer;font-size:.9em}.checkbox_container label:hover{background:#3498db;color:#fff}.checkbox_container input[type="checkbox"]{position:absolute;top:-9999px}.checkbox_container input[type="checkbox"]:checked+label{background:#3498db;color:#fff}#categories_container>div{display:inline-block}#categories .hidden{display:none;position:absolute;bottom:1em;left:0;text-align:center;width:100%;font-size:.9em;font-style:italic;color:#333}#categories:hover .hidden{display:block}@media screen and (max-width:900px){#categories_container{letter-spacing:-5px}#categories_container>div{letter-spacing:normal;margin-top:1em}.checkbox_container{margin:0}.checkbox_container label{display:block;background:#ccc;padding:1em;border:1px solid #fff}.top_margin{position:static}#categories .hidden{position:static;display:block}}@media screen and (max-width:900px) and (min-width:501px){#categories_container>div{width:31%;margin-left:2.333%}#categories_container>div:nth-child(3n+1){margin-left:0}}@media screen and (max-width:500px){#categories_container>div{width:48%;margin-left:2%;font-size:.9em}#categories_container>div:nth-child(2n+1){margin-left:0}.title h1{background:url(../img/searx-mobile.png) no-repeat;width:200px;height:39px}}#search_wrapper{position:relative}.q{padding:.5em 3em .5em 1em;width:100%;font-size:1.5em;border:0;color:#666}#search_submit{position:absolute;top:0;right:0;border:0;background:url("../img/search-icon.png") no-repeat scroll center center / 65% auto #3498db;text-indent:-9999px;width:5em;height:100%;cursor:pointer}#search_submit:hover,#search_submit:focus{background-color:#0665a2}#sidebar{background:#3498db;position:fixed;top:0;right:0;width:15em;height:100%;padding:1.5em;text-align:right}.right{position:fixed;bottom:1.5em;width:15em;right:0;z-index:1;padding:0 1.5em;text-align:right}.right a{color:#fff;display:block;text-decoration:none}.right a:hover,.right a:focus{text-decoration:underline}#preferences{background:url("../img/preference-icon.png") no-repeat right center / 12% auto;padding-right:1.8em}#search_url input{border:0;padding:.5em}#sidebar>div{margin-bottom:1em;color:#fff}#sidebar form{display:inline-block}#sidebar input[type="submit"]{background:#ccc;border:0;padding:.5em 1em;cursor:pointer;margin-top:.5em}#sidebar input[type="submit"]:hover,#sidebar input[type="submit"]:focus{color:#fff;background-color:#0665a2}#results{padding-right:17em;padding-left:2em;padding:0 17em 0 2em}.result p{font-size:.9em}.result .content{margin:0;color:#666}.result .url{margin-top:0;color:#ff6530}.result .favicon{float:left;position:relative;top:.5em;margin-right:.5em}.definition_result{background:#ccc;padding:1em}.definition_result .result_title,.definition_result p{margin:0}.result_title{margin-bottom:0;font-weight:normal}.highlight{font-weight:bold}.result_title a{color:#3498db;text-decoration:none}.result_title a:hover,.result_title a:focus{text-decoration:underline}.cache_link{color:#666;font-size:.9em;font-style:italic}.search.center{padding-right:17em}#answers{border:2px solid #3498db;padding:20px;color:#666;text-align:center;max-width:70em;margin:0 auto 20px}#suggestions{margin-bottom:1em}#suggestions span{color:#666}#suggestions form{display:inline-block;vertical-align:top;margin-bottom:.5em}#suggestions input[type="submit"]{color:#333;padding:.5em 1em;border:0;background:#ccc;cursor:pointer}#suggestions input[type="submit"]:hover,#suggestions input[type="submit"]:focus{background:#3498db;color:#fff}#pagination{margin:1.5em 0 2em}#pagination form+form{float:right;margin-top:-2em}input[type="submit"]{display:inline-block;background:#3498db;color:#fff;border:0;padding:.6em 1em;cursor:pointer}input[type="submit"]:hover,input[type="submit"]:focus{background:#0665a2}.row{max-width:60em;margin:auto}.row a{color:#3498db}.row form{letter-spacing:-5px}.row form>*{letter-spacing:normal}.row p{margin:0}.row fieldset{display:inline-block;width:48%;vertical-align:top}.row fieldset:last-of-type{display:block;width:auto;background:none;padding:0}.row fieldset:nth-child(odd){margin-right:2%}.row fieldset:nth-child(2){min-height:10.5em}@media screen and (max-width:900px){.row{margin:0 1em}.row fieldset{width:49%}.row fieldset,.row fieldset:nth-child(odd){margin-right:0}.row fieldset:first-child{width:100%;margin-right:0}.row fieldset:nth-child(even){margin-right:2%}}@media screen and (max-width:800px){.row fieldset{width:100%}select{width:100%}table{font-size:.8em}.right{display:none}#sidebar{display:none}#results{padding:0 2em}.search.center{padding-right:2em}}@media screen and (max-width:400px){.row #categories_container>div{width:100%;margin-left:0}}fieldset{border:0;margin:1em 0;background:#ccc;padding:1.5em}table{width:100%;text-align:left;border:1px solid #ccc;border-collapse:collapse}table th{background:#999;color:#fff}table tr:nth-child(odd){background:#ccc}table th,table td{padding:.5em 1em;border:1px solid #fff}.engine_checkbox label{padding:.5em;background:#3498db;color:#fff;cursor:pointer}.engine_checkbox .deny{background:#3498db}.engine_checkbox .allow{display:none;background:#666}.engine_checkbox input{display:none}.engine_checkbox input:checked+.allow{display:inline}.engine_checkbox input:checked+.allow+.deny{display:none}.row input[type="submit"]{font-size:1em;margin:1em 0 2em}.row .right{position:static;display:inline-block}.row .right a{color:#333;width:auto;text-align:left;padding:0}.small_font{font-size:.8em}table th{padding:1em}legend{background:#eee;padding:0 1em;position:relative}select{border:1px solid #ddd;padding:.5em .8em;font-size:1em}.highlight .hll{background-color:#ffc}.highlight{background:#f8f8f8}.highlight .c{color:#408080;font-style:italic}.highlight .err{border:1px solid #f00}.highlight .k{color:#008000;font-weight:bold}.highlight .o{color:#666}.highlight .cm{color:#408080;font-style:italic}.highlight .cp{color:#bc7a00}.highlight .c1{color:#408080;font-style:italic}.highlight .cs{color:#408080;font-style:italic}.highlight .gd{color:#a00000}.highlight .ge{font-style:italic}.highlight .gr{color:#f00}.highlight .gh{color:#000080;font-weight:bold}.highlight .gi{color:#00a000}.highlight .go{color:#888}.highlight .gp{color:#000080;font-weight:bold}.highlight .gs{font-weight:bold}.highlight .gu{color:#800080;font-weight:bold}.highlight .gt{color:#04d}.highlight .kc{color:#008000;font-weight:bold}.highlight .kd{color:#008000;font-weight:bold}.highlight .kn{color:#008000;font-weight:bold}.highlight .kp{color:#008000}.highlight .kr{color:#008000;font-weight:bold}.highlight .kt{color:#b00040}.highlight .m{color:#666}.highlight .s{color:#ba2121}.highlight .na{color:#7d9029}.highlight .nb{color:#008000}.highlight .nc{color:#00f;font-weight:bold}.highlight .no{color:#800}.highlight .nd{color:#a2f}.highlight .ni{color:#999;font-weight:bold}.highlight .ne{color:#d2413a;font-weight:bold}.highlight .nf{color:#00f}.highlight .nl{color:#a0a000}.highlight .nn{color:#00f;font-weight:bold}.highlight .nt{color:#008000;font-weight:bold}.highlight .nv{color:#19177c}.highlight .ow{color:#a2f;font-weight:bold}.highlight .w{color:#bbb}.highlight .mf{color:#666}.highlight .mh{color:#666}.highlight .mi{color:#666}.highlight .mo{color:#666}.highlight .sb{color:#ba2121}.highlight .sc{color:#ba2121}.highlight .sd{color:#ba2121;font-style:italic}.highlight .s2{color:#ba2121}.highlight .se{color:#b62;font-weight:bold}.highlight .sh{color:#ba2121}.highlight .si{color:#b68;font-weight:bold}.highlight .sx{color:#008000}.highlight .sr{color:#b68}.highlight .s1{color:#ba2121}.highlight .ss{color:#19177c}.highlight .bp{color:#008000}.highlight .vc{color:#19177c}.highlight .vg{color:#19177c}.highlight .vi{color:#19177c}.highlight .il{color:#666}.highlight pre{overflow:auto}.highlight .lineno{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.highlight .lineno::selection{background:transparent}.highlight .lineno::-moz-selection{background:transparent} \ No newline at end of file
+a,h2{color:#666}.center,html{position:relative}#categories_container>div,.top_margin a{display:inline-block}#categories,.center{text-align:center}#categories .hidden,.cache_link,.highlight .c,.highlight .cm,.highlight .ge,.highlight .sd{font-style:italic}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=search]{-webkit-appearance:textfield}h2{text-transform:uppercase}body{font-family:sans-serif;line-height:1.5;margin:0;background:#EEE}html{min-height:100%}.title h1{font-size:7em;color:#3498DB;margin:-20px auto 0;line-height:100px;padding-bottom:20px}.center{max-width:70em;background:rgba(255,255,255,.6);padding:2em;margin:7% auto 0}.center.search{position:static;width:auto;background:0 0;margin:auto;padding-top:1.8em}@media screen and (min-width:1001px){.center:after{content:"";z-index:-1;background:url(../img/bg-body-index.jpg) no-repeat;background-size:cover;width:100%;height:100%;top:0;left:0;position:fixed}.center.search:after{content:none}}.autocompleter-choices{position:absolute;margin:0;padding:0;background:#FFF}.autocompleter-choices li{padding:.5em 1em}.autocompleter-choices li:hover{background:#3498DB;color:#FFF;cursor:pointer}.top_margin{position:absolute;bottom:-3.5em;width:100%;left:0}.top_margin a{margin-right:1em;color:#FFF;text-decoration:none}.top_margin a:focus,.top_margin a:hover{text-decoration:underline}@media screen and (max-width:1000px){.center{background:0 0}.top_margin a{color:#333}}.checkbox_container{margin-top:1.5em}.checkbox_container label{padding:.5em 1em;color:#333;cursor:pointer;font-size:.9em}.checkbox_container input[type=checkbox]:checked+label,.checkbox_container label:hover{background:#3498DB;color:#FFF}.checkbox_container input[type=checkbox]{position:absolute;top:-9999px}#categories .hidden{display:none;position:absolute;bottom:1em;left:0;text-align:center;width:100%;font-size:.9em;color:#333}#categories:hover .hidden,.right a{display:block}@media screen and (max-width:900px){#categories_container{letter-spacing:-5px}#categories_container>div{letter-spacing:normal;margin-top:1em}.checkbox_container{margin:0}.checkbox_container label{display:block;background:#CCC;padding:1em;border:1px solid #FFF}.top_margin{position:static}#categories .hidden{position:static;display:block}}@media screen and (max-width:900px) and (min-width:501px){#categories_container>div{width:31%;margin-left:2.333%}#categories_container>div:nth-child(3n+1){margin-left:0}}@media screen and (max-width:500px){#categories_container>div{width:48%;margin-left:2%;font-size:.9em}#categories_container>div:nth-child(2n+1){margin-left:0}.title h1{background:url(../img/searx-mobile.png) no-repeat;width:200px;height:39px}}#search_wrapper{position:relative}.q{padding:.5em 3em .5em 1em;width:100%;font-size:1.5em;border:0;color:#666}.cache_link,.result p{font-size:.9em}#search_submit{position:absolute;top:0;right:0;border:0;background:url(../img/search-icon.png) center center/65% auto no-repeat #3498DB;text-indent:-9999px;width:5em;height:100%;cursor:pointer}#sidebar,.right{position:fixed;width:15em;right:0;text-align:right}#search_submit:focus,#search_submit:hover{background-color:#0665A2}#sidebar{background:#3498DB;top:0;height:100%;padding:1.5em}.right{bottom:1.5em;z-index:1;padding:0 1.5em}.right a{color:#FFF;text-decoration:none}#sidebar form,#suggestions form,.row fieldset{display:inline-block}.right a:focus,.right a:hover{text-decoration:underline}#preferences{background:url(../img/preference-icon.png) right center/12% auto no-repeat;padding-right:1.8em}#search_url input{border:0;padding:.5em}#sidebar>div{margin-bottom:1em;color:#FFF}#sidebar input[type=submit]{background:#CCC;border:0;padding:.5em 1em;cursor:pointer;margin-top:.5em}#sidebar input[type=submit]:focus,#sidebar input[type=submit]:hover{color:#FFF;background-color:#0665A2}#results{padding:0 17em 0 2em}.result .engines{text-align:right}.result .content{margin:0;color:#666}.result .url{margin-top:0;color:#FF6530}.result .favicon{float:left;position:relative;top:.5em;margin-right:.5em}.definition_result{background:#CCC;padding:1em}.definition_result .result_title,.definition_result p{margin:0}.result_title{margin-bottom:0;font-weight:400}.result_title a{color:#3498DB;text-decoration:none}#answers,#suggestions span{color:#666}.result_title a:focus,.result_title a:hover{text-decoration:underline}.cache_link{color:#666}.search.center{padding-right:17em}#answers{border:2px solid #3498DB;padding:20px;text-align:center;max-width:70em;margin:0 auto 20px}#suggestions{margin-bottom:1em}#suggestions form{vertical-align:top;margin-bottom:.5em}#suggestions input[type=submit]{color:#333;padding:.5em 1em;border:0;background:#CCC;cursor:pointer}#suggestions input[type=submit]:focus,#suggestions input[type=submit]:hover{background:#3498DB;color:#FFF}#pagination{margin:1.5em 0 2em}#pagination form+form{float:right;margin-top:-2em}input[type=submit]{display:inline-block;background:#3498DB;color:#FFF;border:0;padding:.6em 1em;cursor:pointer}input[type=submit]:focus,input[type=submit]:hover{background:#0665A2}.row{max-width:60em;margin:auto}.row a{color:#3498DB}.row form{letter-spacing:-5px}.row form>*{letter-spacing:normal}.row p{margin:0}.row fieldset{width:48%;vertical-align:top}.row fieldset:last-of-type{display:block;width:auto;background:0 0;padding:0}fieldset,table tr:nth-child(odd){background:#CCC}.row fieldset:nth-child(odd){margin-right:2%}.row fieldset:nth-child(2){min-height:10.5em}@media screen and (max-width:900px){.row{margin:0 1em}.row fieldset{width:49%}.row fieldset,.row fieldset:nth-child(odd){margin-right:0}.row fieldset:first-child{width:100%;margin-right:0}.row fieldset:nth-child(even){margin-right:2%}}@media screen and (max-width:800px){.row fieldset,select{width:100%}table{font-size:.8em}#sidebar,.right{display:none}#results{padding:0 2em}.search.center{padding-right:2em}}@media screen and (max-width:400px){.row #categories_container>div{width:100%;margin-left:0}}fieldset{border:0;margin:1em 0;padding:1.5em}table{width:100%;text-align:left;border:1px solid #CCC;border-collapse:collapse}table th{background:#999;color:#FFF}table td,table th{padding:.5em 1em;border:1px solid #FFF}.engine_checkbox label{padding:.5em;background:#3498DB;color:#FFF;cursor:pointer}.engine_checkbox .deny{background:#3498DB}.engine_checkbox .allow{display:none;background:#666}.engine_checkbox input{display:none}.engine_checkbox input:checked+.allow{display:inline}.engine_checkbox input:checked+.allow+.deny{display:none}.row input[type=submit]{font-size:1em;margin:1em 0 2em}.row .right{position:static;display:inline-block}.row .right a{color:#333;width:auto;text-align:left;padding:0}.small_font{font-size:.8em}table th{padding:1em}legend{background:#EEE;padding:0 1em;position:relative}select{border:1px solid #DDD;padding:.5em .8em;font-size:1em}.highlight .hll{background-color:#ffc}.highlight{font-weight:700;background:#f8f8f8}.highlight .c{color:#408080}.highlight .err{border:1px solid red}.highlight .k{color:green;font-weight:700}.highlight .o{color:#666}.highlight .cm{color:#408080}.highlight .cp{color:#BC7A00}.highlight .c1,.highlight .cs{color:#408080;font-style:italic}.highlight .gd{color:#A00000}.highlight .gr{color:red}.highlight .gh{color:navy;font-weight:700}.highlight .gi{color:#00A000}.highlight .go{color:#888}.highlight .gp{color:navy;font-weight:700}.highlight .gs{font-weight:700}.highlight .gu{color:purple;font-weight:700}.highlight .gt{color:#04D}.highlight .kc,.highlight .kd,.highlight .kn{color:green;font-weight:700}.highlight .kp{color:green}.highlight .kr{color:green;font-weight:700}.highlight .kt{color:#B00040}.highlight .m{color:#666}.highlight .s{color:#BA2121}.highlight .na{color:#7D9029}.highlight .nb{color:green}.highlight .nc{color:#00F;font-weight:700}.highlight .no{color:#800}.highlight .nd{color:#A2F}.highlight .ni{color:#999;font-weight:700}.highlight .ne{color:#D2413A;font-weight:700}.highlight .nf{color:#00F}.highlight .nl{color:#A0A000}.highlight .nn{color:#00F;font-weight:700}.highlight .nt{color:green;font-weight:700}.highlight .nv{color:#19177C}.highlight .ow{color:#A2F;font-weight:700}.highlight .w{color:#bbb}.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:#666}.highlight .s2,.highlight .sb,.highlight .sc{color:#BA2121}.highlight .sd{color:#BA2121}.highlight .se{color:#B62;font-weight:700}.highlight .sh{color:#BA2121}.highlight .si{color:#B68;font-weight:700}.highlight .sx{color:green}.highlight .sr{color:#B68}.highlight .s1{color:#BA2121}.highlight .ss{color:#19177C}.highlight .bp{color:green}.highlight .vc,.highlight .vg,.highlight .vi{color:#19177C}.highlight .il{color:#666}.highlight pre{overflow:auto}.highlight .lineno{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.highlight .lineno::selection{background:0 0}.highlight .lineno::-moz-selection{background:0 0} \ No newline at end of file
diff --git a/searx/static/themes/courgette/less/style.less b/searx/static/themes/courgette/less/style.less
index 0387af5c0..26da72812 100644
--- a/searx/static/themes/courgette/less/style.less
+++ b/searx/static/themes/courgette/less/style.less
@@ -325,6 +325,10 @@ a {
font-size: 0.9em;
}
+.result .engines {
+ text-align: right;
+}
+
.result .content {
margin: 0;
color: #666;
diff --git a/searx/static/themes/legacy/css/style.css b/searx/static/themes/legacy/css/style.css
index 71422bc94..ca746a369 100644
--- a/searx/static/themes/legacy/css/style.css
+++ b/searx/static/themes/legacy/css/style.css
@@ -1 +1 @@
-.highlight .hll{background-color:#ffc}.highlight{background:#f8f8f8}.highlight .c{color:#408080;font-style:italic}.highlight .err{border:1px solid #f00}.highlight .k{color:#008000;font-weight:bold}.highlight .o{color:#666}.highlight .cm{color:#408080;font-style:italic}.highlight .cp{color:#bc7a00}.highlight .c1{color:#408080;font-style:italic}.highlight .cs{color:#408080;font-style:italic}.highlight .gd{color:#a00000}.highlight .ge{font-style:italic}.highlight .gr{color:#f00}.highlight .gh{color:#000080;font-weight:bold}.highlight .gi{color:#00a000}.highlight .go{color:#888}.highlight .gp{color:#000080;font-weight:bold}.highlight .gs{font-weight:bold}.highlight .gu{color:#800080;font-weight:bold}.highlight .gt{color:#04d}.highlight .kc{color:#008000;font-weight:bold}.highlight .kd{color:#008000;font-weight:bold}.highlight .kn{color:#008000;font-weight:bold}.highlight .kp{color:#008000}.highlight .kr{color:#008000;font-weight:bold}.highlight .kt{color:#b00040}.highlight .m{color:#666}.highlight .s{color:#ba2121}.highlight .na{color:#7d9029}.highlight .nb{color:#008000}.highlight .nc{color:#00f;font-weight:bold}.highlight .no{color:#800}.highlight .nd{color:#a2f}.highlight .ni{color:#999;font-weight:bold}.highlight .ne{color:#d2413a;font-weight:bold}.highlight .nf{color:#00f}.highlight .nl{color:#a0a000}.highlight .nn{color:#00f;font-weight:bold}.highlight .nt{color:#008000;font-weight:bold}.highlight .nv{color:#19177c}.highlight .ow{color:#a2f;font-weight:bold}.highlight .w{color:#bbb}.highlight .mf{color:#666}.highlight .mh{color:#666}.highlight .mi{color:#666}.highlight .mo{color:#666}.highlight .sb{color:#ba2121}.highlight .sc{color:#ba2121}.highlight .sd{color:#ba2121;font-style:italic}.highlight .s2{color:#ba2121}.highlight .se{color:#b62;font-weight:bold}.highlight .sh{color:#ba2121}.highlight .si{color:#b68;font-weight:bold}.highlight .sx{color:#008000}.highlight .sr{color:#b68}.highlight .s1{color:#ba2121}.highlight .ss{color:#19177c}.highlight .bp{color:#008000}.highlight .vc{color:#19177c}.highlight .vg{color:#19177c}.highlight .vi{color:#19177c}.highlight .il{color:#666}.highlight pre{overflow:auto}.highlight .lineno{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.highlight .lineno::selection{background:transparent}.highlight .lineno::-moz-selection{background:transparent}html{font-family:sans-serif;font-size:.9em;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:#444;padding:0;margin:0}body,#container{padding:0;margin:0}#container{width:100%;position:absolute;top:0}.search{padding:0;margin:0}.search .checkbox_container label{font-size:.9em;border-bottom:2px solid #e8e7e6}.search .checkbox_container label:hover{border-bottom:2px solid #3498db}.search .checkbox_container input[type="checkbox"]:checked+label{border-bottom:2px solid #2980b9}#search_wrapper{position:relative;width:50em;padding:10px}.center #search_wrapper{margin-left:auto;margin-right:auto}.q{background:none repeat scroll 0 0 #fff;border:1px solid #3498db;color:#222;font-size:16px;height:28px;margin:0;outline:medium none;padding:2px;padding-left:8px;padding-right:0 !important;width:100%;z-index:2}#search_submit{position:absolute;top:13px;right:1px;padding:0;border:0;background:url('../img/search-icon.png') no-repeat;background-size:24px 24px;opacity:.8;width:24px;height:30px;font-size:0}@media screen and (max-width:50em){#search_wrapper{width:90%;clear:both;overflow:hidden}}ul.autocompleter-choices{position:absolute;margin:0;padding:0;list-style:none;border:1px solid #3498db;border-left-color:#3498db;border-right-color:#3498db;border-bottom-color:#3498db;text-align:left;font-family:Verdana,Geneva,Arial,Helvetica,sans-serif;z-index:50;background-color:#fff;color:#444}ul.autocompleter-choices li{position:relative;margin:-2px 0 0 0;padding:.2em 1.5em .2em 1em;display:block;float:none !important;cursor:pointer;font-weight:normal;white-space:nowrap;font-size:1em;line-height:1.5em}ul.autocompleter-choices li.autocompleter-selected{background-color:#444;color:#fff}ul.autocompleter-choices li.autocompleter-selected span.autocompleter-queried{color:#9fcfff}ul.autocompleter-choices span.autocompleter-queried{display:inline;float:none;font-weight:bold;margin:0;padding:0}.row{max-width:800px;margin:20px auto;text-align:justify}.row h1{font-size:3em;margin-top:50px}.row p{padding:0 10px;max-width:700px}.row h3,.row ul{margin:4px 8px}.hmarg{margin:0 20px;border:1px solid #3498db;padding:4px 10px}a:link.hmarg{color:#3498db}a:visited.hmarg{color:#3498db}a:active.hmarg{color:#3498db}a:hover.hmarg{color:#3498db}.top_margin{margin-top:60px}.center{text-align:center}h1{font-size:5em}div.title{background:url('../img/searx.png') no-repeat;width:100%;min-height:80px;background-position:center}div.title h1{visibility:hidden}input[type="submit"]{padding:2px 6px;margin:2px 4px;display:inline-block;background:#3498db;color:#fff;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0;cursor:pointer}input[type="checkbox"]{visibility:hidden}fieldset{margin:8px;border:1px solid #3498db}#categories{margin:0 10px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox_container{display:inline-block;position:relative;margin:0 3px;padding:0}.checkbox_container input{display:none}.checkbox_container label,.engine_checkbox label{cursor:pointer;padding:4px 10px;margin:0;display:block;text-transform:capitalize;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox_container input[type="checkbox"]:checked+label{background:#3498db;color:#fff}.engine_checkbox{padding:4px}label.allow{background:#e74c3c;padding:4px 8px;color:#fff;display:none}label.deny{background:#2ecc71;padding:4px 8px;color:#444;display:inline}.engine_checkbox input[type="checkbox"]:checked+label:nth-child(2)+label{display:none}.engine_checkbox input[type="checkbox"]:checked+label.allow{display:inline}a{text-decoration:none;color:#1a11be}a:visited{color:#8e44ad}.result{margin:19px 0 18px 0;padding:0;clear:both}.result_title{margin-bottom:0}.result_title a{color:#2980b9;font-weight:normal;font-size:1.1em}.result_title a:hover{text-decoration:underline}.result_title a:visited{color:#8e44ad}.cache_link{font-size:10px !important}.result h3{font-size:1em;word-wrap:break-word;margin:5px 0 1px 0;padding:0}.result .content{font-size:.8em;margin:0;padding:0;max-width:54em;word-wrap:break-word;line-height:1.24}.result .content img{float:left;margin-right:5px;max-width:200px;max-height:100px}.result .content br.last{clear:both}.result .url{font-size:.8em;margin:0 0 3px 0;padding:0;max-width:54em;word-wrap:break-word;color:#c0392b}.result .published_date{font-size:.8em;color:#888;Margin:5px 20px}.result .thumbnail{width:400px}.engines{color:#888}.small_font{font-size:.8em}.small p{margin:2px 0}.right{float:right}.invisible{display:none}.left{float:left}.highlight{color:#094089}.content .highlight{color:#000}.image_result{display:inline-block;margin:10px 10px;position:relative;max-height:160px}.image_result img{border:0;max-height:160px}.image_result p{margin:0;padding:0}.image_result p span a{display:none;color:#fff}.image_result p:hover span a{display:block;position:absolute;bottom:0;right:0;padding:4px;background-color:rgba(0,0,0,0.6);font-size:.7em}.torrent_result{border-left:10px solid lightgray;padding-left:3px}.torrent_result p{margin:3px;font-size:.8em}.torrent_result a{color:#2980b9}.torrent_result a:hover{text-decoration:underline}.torrent_result a:visited{color:#8e44ad}.definition_result{border-left:10px solid gray;padding-left:3px}.percentage{position:relative;width:300px}.percentage div{background:#444}table{width:100%}td{padding:0 4px}tr:hover{background:#ddd}#results{margin:auto;padding:0;width:50em;margin-bottom:20px}#sidebar{position:fixed;bottom:10px;left:10px;margin:0 2px 5px 5px;padding:0 2px 2px 2px;width:14em}#sidebar input{padding:0;margin:3px;font-size:.8em;display:inline-block;background:transparent;color:#444;cursor:pointer}#sidebar input[type="submit"]{text-decoration:underline}#suggestions form{display:inline}#suggestions,#answers{margin-top:20px;max-width:45em}#suggestions input,#answers input,#infoboxes input{padding:0;margin:3px;font-size:.8em;display:inline-block;background:transparent;color:#444;cursor:pointer}#suggestions input[type="submit"],#answers input[type="submit"],#infoboxes input[type="submit"]{text-decoration:underline}#suggestions-title{color:#888}#answers{border:2px solid #2980b9;padding:20px}#answers form,#infoboxes form{min-width:210px}#infoboxes{position:absolute;top:100px;right:20px;margin:0 2px 5px 5px;padding:0 2px 2px;max-width:21em;word-wrap:break-word;}#infoboxes .infobox{margin:10px 0 10px;border:1px solid #ddd;padding:5px;font-size:.8em}#infoboxes .infobox img{max-width:90%;max-heigt:12em;display:block;margin:5px;padding:5px}#infoboxes .infobox h2{margin:0}#infoboxes .infobox table{table-layout:fixed;}#infoboxes .infobox table td{vertical-align:top}#infoboxes .infobox input{font-size:1em}#infoboxes .infobox br{clear:both}#search_url{margin-top:8px}#search_url input{border:1px solid #888;padding:4px;color:#444;width:14em;display:block;margin:4px;font-size:.8em}#preferences{top:10px;padding:0;border:0;background:url('../img/preference-icon.png') no-repeat;background-size:28px 28px;opacity:.8;width:28px;height:30px;display:block}#preferences *{display:none}#pagination{clear:both}#pagination br{clear:both}#apis{margin-top:8px;clear:both}#categories_container{position:relative}@media screen and (max-width:50em){#results{margin:auto;padding:0;width:90%}.github{display:none}.checkbox_container{display:block;width:90%}.checkbox_container label{border-bottom:0}.preferences_container{display:none;postion:fixed !important;top:100px;right:0}}@media screen and (max-width:75em){div.title h1{font-size:1em}html.touch #categories{width:95%;height:30px;text-align:left;overflow-x:scroll;overflow-y:hidden;-webkit-overflow-scrolling:touch}html.touch #categories #categories_container{width:1000px;width:-moz-max-content;width:-webkit-max-content;width:max-content}html.touch #categories #categories_container .checkbox_container{display:inline-block;width:auto}#categories{font-size:90%;clear:both}#categories .checkbox_container{margin-top:2px;margin:auto}#suggestions,#answers{margin-top:5px}#infoboxes{position:inherit;max-width:inherit}#infoboxes .infobox{clear:both}#infoboxes .infobox img{float:left;max-width:10em}#categories{font-size:90%;clear:both}#categories .checkbox_container{margin-top:2px;margin:auto}#sidebar{position:static;max-width:50em;margin:0 0 2px 0;padding:0;float:none;border:none;width:auto}#sidebar input{border:0}#apis{display:none}#search_url{display:none}.result{border-top:1px solid #e8e7e6;margin:8px 0 8px 0}.result .thumbnail{max-width:98%}.image_result{max-width:98%}.image_result img{max-width:98%}}.favicon{float:left;margin-right:4px;margin-top:2px}.preferences_back{background:none repeat scroll 0 0 #3498db;border:0 none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;cursor:pointer;display:inline-block;margin:2px 4px;padding:4px 6px}.preferences_back a{color:#fff}.hidden{opacity:0;overflow:hidden;font-size:.8em;position:absolute;bottom:-20px;width:100%;text-position:center;background:white;transition:opacity 1s ease}#categories_container:hover .hidden{transition:opacity 1s ease;opacity:.8}
+.highlight .c,.highlight .cm,.highlight .ge,.highlight .sd{font-style:italic}#categories,.highlight .lineno{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}#container,.search,body,html{padding:0;margin:0}div.title h1,input[type=checkbox]{visibility:hidden}#categories,.checkbox_container label,.engine_checkbox label,.highlight .lineno{-webkit-touch-callout:none;-khtml-user-select:none}#answers input[type=submit],#infoboxes input[type=submit],#sidebar input[type=submit],#suggestions input[type=submit],.result_title a:hover,.torrent_result a:hover{text-decoration:underline}#infoboxes,.result .content,.result .url,.result h3{word-wrap:break-word}#apis,#infoboxes .infobox br,#pagination,#pagination br,.result,.result .content br.last{clear:both}.highlight .hll{background-color:#ffc}.highlight{background:#f8f8f8}.highlight .c{color:#408080}.highlight .err{border:1px solid red}.highlight .k{color:green;font-weight:700}.highlight .o{color:#666}.highlight .cm{color:#408080}.highlight .cp{color:#BC7A00}.highlight .c1,.highlight .cs{color:#408080;font-style:italic}.highlight .gd{color:#A00000}.highlight .gr{color:red}.highlight .gh{color:navy;font-weight:700}.highlight .gi{color:#00A000}.highlight .go{color:#888}.highlight .gp{color:navy;font-weight:700}.highlight .gs{font-weight:700}.highlight .gu{color:purple;font-weight:700}.highlight .gt{color:#04D}.highlight .kc,.highlight .kd,.highlight .kn{color:green;font-weight:700}.highlight .kp{color:green}.highlight .kr{color:green;font-weight:700}.highlight .kt{color:#B00040}.highlight .m{color:#666}.highlight .s{color:#BA2121}.highlight .na{color:#7D9029}.highlight .nb{color:green}.highlight .nc{color:#00F;font-weight:700}.highlight .no{color:#800}.highlight .nd{color:#A2F}.highlight .ni{color:#999;font-weight:700}.highlight .ne{color:#D2413A;font-weight:700}.highlight .nf{color:#00F}.highlight .nl{color:#A0A000}.highlight .nn{color:#00F;font-weight:700}.highlight .nt{color:green;font-weight:700}.highlight .nv{color:#19177C}.highlight .ow{color:#A2F;font-weight:700}.highlight .w{color:#bbb}.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:#666}.highlight .s2,.highlight .sb,.highlight .sc{color:#BA2121}.highlight .sd{color:#BA2121}.highlight .se{color:#B62;font-weight:700}.highlight .sh{color:#BA2121}.highlight .si{color:#B68;font-weight:700}.highlight .sx{color:green}.highlight .sr{color:#B68}.highlight .s1{color:#BA2121}.highlight .ss{color:#19177C}.highlight .bp{color:green}.highlight .vc,.highlight .vg,.highlight .vi{color:#19177C}.highlight .il{color:#666}.highlight pre{overflow:auto}.highlight .lineno{user-select:none;cursor:default}.highlight .lineno::selection{background:0 0}.highlight .lineno::-moz-selection{background:0 0}html{font-family:sans-serif;font-size:.9em;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:#444}#container{width:100%;position:absolute;top:0}.search .checkbox_container label{font-size:.9em;border-bottom:2px solid #E8E7E6}.search .checkbox_container label:hover{border-bottom:2px solid #3498DB}.search .checkbox_container input[type=checkbox]:checked+label{border-bottom:2px solid #2980B9}#search_wrapper{position:relative;width:50em;padding:10px}.center #search_wrapper{margin-left:auto;margin-right:auto}.q,ul.autocompleter-choices{margin:0;border:1px solid #3498DB}.q{background:#FFF;color:#222;font-size:16px;height:28px;outline:0;padding:2px 2px 2px 8px;padding-right:0!important;width:100%;z-index:2}#search_submit{position:absolute;top:13px;right:1px;padding:0;border:0;background:url(../img/search-icon.png) no-repeat;background-size:24px 24px;opacity:.8;width:24px;height:30px;font-size:0}@media screen and (max-width:50em){#search_wrapper{width:90%;clear:both;overflow:hidden}}ul.autocompleter-choices{position:absolute;padding:0;list-style:none;border-left-color:#3498DB;border-right-color:#3498DB;border-bottom-color:#3498DB;text-align:left;font-family:Verdana,Geneva,Arial,Helvetica,sans-serif;z-index:50;background-color:#FFF;color:#444}ul.autocompleter-choices li{position:relative;margin:-2px 0 0;padding:.2em 1.5em .2em 1em;display:block;float:none!important;cursor:pointer;font-weight:400;white-space:nowrap;font-size:1em;line-height:1.5em}ul.autocompleter-choices li.autocompleter-selected{background-color:#444;color:#FFF}ul.autocompleter-choices li.autocompleter-selected span.autocompleter-queried{color:#9FCFFF}ul.autocompleter-choices span.autocompleter-queried{display:inline;float:none;font-weight:700;margin:0;padding:0}.row{max-width:800px;margin:20px auto;text-align:justify}.row h1{font-size:3em;margin-top:50px}.row p{padding:0 10px;max-width:700px}.row h3,.row ul{margin:4px 8px}.hmarg{margin:0 20px;border:1px solid #3498DB;padding:4px 10px}a:active.hmarg,a:hover.hmarg,a:link.hmarg,a:visited.hmarg{color:#3498DB}.top_margin{margin-top:60px}.center{text-align:center}h1{font-size:5em}div.title{background:url(../img/searx.png) center no-repeat;width:100%;min-height:80px}input[type=submit]{padding:2px 6px;margin:2px 4px;display:inline-block;background:#3498DB;color:#FFF;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0;cursor:pointer}fieldset{margin:8px;border:1px solid #3498DB}#categories{margin:0 10px;user-select:none}.checkbox_container{display:inline-block;position:relative;margin:0 3px;padding:0}.checkbox_container input{display:none}.checkbox_container label,.engine_checkbox label{cursor:pointer;padding:4px 10px;margin:0;display:block;text-transform:capitalize;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox_container input[type=checkbox]:checked+label{background:#3498DB;color:#FFF}.engine_checkbox{padding:4px}label.allow{background:#E74C3C;padding:4px 8px;color:#FFF;display:none}label.deny{background:#2ECC71;padding:4px 8px;color:#444;display:inline}.engine_checkbox input[type=checkbox]:checked+label:nth-child(2)+label{display:none}.engine_checkbox input[type=checkbox]:checked+label.allow{display:inline}a{text-decoration:none;color:#1a11be}a:visited{color:#8E44AD}.result{margin:19px 0 18px;padding:0}.result_title{margin-bottom:0}.result_title a{color:#2980B9;font-weight:400;font-size:1.1em}.result_title a:visited{color:#8E44AD}.cache_link{font-size:10px!important}.result h3{font-size:1em;margin:5px 0 1px;padding:0}.result .content,.result .url,.small_font{font-size:.8em}.result .content{margin:0;padding:0;max-width:54em;line-height:1.24}.result .content img{float:left;margin-right:5px;max-width:200px;max-height:100px}.result .url{margin:0 0 3px;padding:0;max-width:54em;color:#C0392B}.result .published_date{font-size:.8em;color:#888;Margin:5px 20px}.result .thumbnail{width:400px}.engines{color:#888}.small p{margin:2px 0}.right{float:right}.invisible{display:none}.left{float:left}.highlight{color:#094089}.content .highlight{color:#000}.image_result{display:inline-block;margin:10px;position:relative;max-height:160px}.image_result img{border:0;max-height:160px}.image_result p{margin:0;padding:0}.image_result p span a{display:none;color:#FFF}.image_result p:hover span a{display:block;position:absolute;bottom:0;right:0;padding:4px;background-color:rgba(0,0,0,.6);font-size:.7em}#categories_container,.percentage{position:relative}.torrent_result{border-left:10px solid #d3d3d3;padding-left:3px}.torrent_result p{margin:3px;font-size:.8em}.torrent_result a{color:#2980B9}.torrent_result a:visited{color:#8E44AD}.definition_result{border-left:10px solid gray;padding-left:3px}.percentage{width:300px}.percentage div{background:#444}table{width:100%}.result-table{margin-bottom:10px}#infoboxes,#sidebar{margin:0 2px 5px 5px;padding:0 2px 2px}td{padding:0 4px}tr:hover{background:#DDD}#results{margin:auto auto 20px;padding:0;width:50em}#sidebar{position:fixed;bottom:10px;left:10px;width:14em}#answers input,#infoboxes input,#sidebar input,#suggestions input{padding:0;margin:3px;font-size:.8em;display:inline-block;background:0 0;color:#444;cursor:pointer}#suggestions form{display:inline}#answers,#suggestions{margin-top:20px;max-width:45em}#suggestions-title{color:#888}#answers{border:2px solid #2980B9;padding:20px}#answers form,#infoboxes form{min-width:210px}#infoboxes{position:absolute;top:100px;right:20px;max-width:21em}#infoboxes .infobox{margin:10px 0;border:1px solid #ddd;padding:5px;font-size:.8em}#infoboxes .infobox img{max-width:90%;max-heigt:12em;display:block;margin:5px;padding:5px}#infoboxes .infobox h2{margin:0}#apis,#search_url{margin-top:8px}#infoboxes .infobox table{table-layout:fixed}#infoboxes .infobox table td{vertical-align:top}#infoboxes .infobox input{font-size:1em}#search_url input{border:1px solid #888;padding:4px;color:#444;width:14em;display:block;margin:4px;font-size:.8em}#preferences{top:10px;padding:0;border:0;background:url(../img/preference-icon.png) no-repeat;background-size:28px 28px;opacity:.8;width:28px;height:30px;display:block}#preferences *{display:none}@media screen and (max-width:50em){#results{margin:auto;padding:0;width:90%}.github{display:none}.checkbox_container{display:block;width:90%}.checkbox_container label{border-bottom:0}.preferences_container{display:none;postion:fixed!important;top:100px;right:0}}@media screen and (max-width:75em){div.title h1{font-size:1em}html.touch #categories{width:95%;height:30px;text-align:left;overflow-x:scroll;overflow-y:hidden;-webkit-overflow-scrolling:touch}html.touch #categories #categories_container{width:1000px;width:-moz-max-content;width:-webkit-max-content;width:max-content}html.touch #categories #categories_container .checkbox_container{display:inline-block;width:auto}#answers,#suggestions{margin-top:5px}#infoboxes{position:inherit;max-width:inherit}#infoboxes .infobox{clear:both}#infoboxes .infobox img{float:left;max-width:10em}#categories{font-size:90%;clear:both}#categories .checkbox_container{margin:auto}#sidebar{position:static;max-width:50em;margin:0 0 2px;padding:0;float:none;border:none;width:auto}#sidebar input{border:0}#apis,#search_url{display:none}.result{border-top:1px solid #E8E7E6;margin:8px 0}.image_result,.image_result img,.result .thumbnail{max-width:98%}}.favicon{float:left;margin-right:4px;margin-top:2px}.preferences_back{background:#3498DB;border:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;cursor:pointer;display:inline-block;margin:2px 4px;padding:4px 6px}.preferences_back a{color:#FFF}.hidden{opacity:0;overflow:hidden;font-size:.8em;position:absolute;bottom:-20px;width:100%;text-position:center;background:#fff;transition:opacity 1s ease}#categories_container:hover .hidden{transition:opacity 1s ease;opacity:.8} \ No newline at end of file
diff --git a/searx/static/themes/legacy/less/autocompleter.less b/searx/static/themes/legacy/less/autocompleter.less
index db9601aeb..4ab2508f8 100644
--- a/searx/static/themes/legacy/less/autocompleter.less
+++ b/searx/static/themes/legacy/less/autocompleter.less
@@ -1,61 +1,61 @@
-/*
- * searx, A privacy-respecting, hackable metasearch engine
- */
-
-ul {
- &.autocompleter-choices {
- position: absolute;
- margin: 0;
- padding: 0;
- list-style: none;
- border: 1px solid @color-autocompleter-choices-border;
- border-left-color: @color-autocompleter-choices-border-left-right;
- border-right-color: @color-autocompleter-choices-border-left-right;
- border-bottom-color: @color-autocompleter-choices-border-bottom;
- text-align: left;
- font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
- z-index: 50;
- background-color: @color-autocompleter-choices-background;
- color: @color-autocompleter-choices-font;
-
- li {
- position: relative;
- margin: -2px 0 0 0;
- padding: 0.2em 1.5em 0.2em 1em;
- display: block;
- float: none !important;
- cursor: pointer;
- font-weight: normal;
- white-space: nowrap;
- font-size: 1em;
- line-height: 1.5em;
-
- &.autocompleter-selected {
- background-color: @color-autocompleter-selected-background;
- color: @color-autocompleter-selected-font;
-
- span.autocompleter-queried {
- color: @color-autocompleter-selected-queried-font;
- }
- }
- }
-
- span.autocompleter-queried {
- display: inline;
- float: none;
- font-weight: bold;
- margin: 0;
- padding: 0;
- }
- }
-}
-
-/*.autocompleter-loading {
- //background-image: url(images/spinner.gif);
- background-repeat: no-repeat;
- background-position: right 50%;
-}*/
-
-/*textarea.autocompleter-loading {
- background-position: right bottom;
-}*/
+/*
+ * searx, A privacy-respecting, hackable metasearch engine
+ */
+
+ul {
+ &.autocompleter-choices {
+ position: absolute;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ border: 1px solid @color-autocompleter-choices-border;
+ border-left-color: @color-autocompleter-choices-border-left-right;
+ border-right-color: @color-autocompleter-choices-border-left-right;
+ border-bottom-color: @color-autocompleter-choices-border-bottom;
+ text-align: left;
+ font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
+ z-index: 50;
+ background-color: @color-autocompleter-choices-background;
+ color: @color-autocompleter-choices-font;
+
+ li {
+ position: relative;
+ margin: -2px 0 0 0;
+ padding: 0.2em 1.5em 0.2em 1em;
+ display: block;
+ float: none !important;
+ cursor: pointer;
+ font-weight: normal;
+ white-space: nowrap;
+ font-size: 1em;
+ line-height: 1.5em;
+
+ &.autocompleter-selected {
+ background-color: @color-autocompleter-selected-background;
+ color: @color-autocompleter-selected-font;
+
+ span.autocompleter-queried {
+ color: @color-autocompleter-selected-queried-font;
+ }
+ }
+ }
+
+ span.autocompleter-queried {
+ display: inline;
+ float: none;
+ font-weight: bold;
+ margin: 0;
+ padding: 0;
+ }
+ }
+}
+
+/*.autocompleter-loading {
+ //background-image: url(images/spinner.gif);
+ background-repeat: no-repeat;
+ background-position: right 50%;
+}*/
+
+/*textarea.autocompleter-loading {
+ background-position: right bottom;
+}*/
diff --git a/searx/static/themes/legacy/less/style.less b/searx/static/themes/legacy/less/style.less
index 4374f7d68..bbeaf105e 100644
--- a/searx/static/themes/legacy/less/style.less
+++ b/searx/static/themes/legacy/less/style.less
@@ -376,6 +376,10 @@ table {
width: 100%;
}
+.result-table {
+ margin-bottom: 10px;
+}
+
td {
padding: 0 4px;
}
diff --git a/searx/static/themes/oscar/css/logicodev-dark.css b/searx/static/themes/oscar/css/logicodev-dark.css
new file mode 100644
index 000000000..07f422f8e
--- /dev/null
+++ b/searx/static/themes/oscar/css/logicodev-dark.css
@@ -0,0 +1,732 @@
+.searx-navbar {
+ background: #29314d;
+ height: 2.3rem;
+ font-size: 1.3rem;
+ line-height: 1.3rem;
+ padding: 0.5rem;
+ font-weight: bold;
+ margin-bottom: 0.8rem;
+}
+.searx-navbar a,
+.searx-navbar a:hover {
+ margin-right: 2.0rem;
+ color: white;
+ text-decoration: none;
+}
+.searx-navbar .instance a {
+ color: #01d7d4;
+ margin-left: 2.0rem;
+}
+#main-logo {
+ margin-top: 20vh;
+ margin-bottom: 25px;
+}
+#main-logo > img {
+ max-width: 350px;
+ width: 80%;
+}
+* {
+ border-radius: 0 !important;
+}
+html {
+ position: relative;
+ min-height: 100%;
+ color: #29314d;
+}
+body {
+ /* Margin bottom by footer height */
+ font-family: 'Roboto', Helvetica, Arial, sans-serif;
+ margin-bottom: 80px;
+ background-color: white;
+}
+body a {
+ color: #0088cc;
+}
+.footer {
+ position: absolute;
+ bottom: 0;
+ width: 100%;
+ /* Set the fixed height of the footer here */
+ height: 60px;
+ text-align: center;
+ color: #999;
+}
+input[type=checkbox]:checked + .label_hide_if_checked,
+input[type=checkbox]:checked + .label_hide_if_not_checked + .label_hide_if_checked {
+ display: none;
+}
+input[type=checkbox]:not(:checked) + .label_hide_if_not_checked,
+input[type=checkbox]:not(:checked) + .label_hide_if_checked + .label_hide_if_not_checked {
+ display: none;
+}
+.onoff-checkbox {
+ width: 15%;
+}
+.onoffswitch {
+ position: relative;
+ width: 110px;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+}
+.onoffswitch-checkbox {
+ display: none;
+}
+.onoffswitch-label {
+ display: block;
+ overflow: hidden;
+ cursor: pointer;
+ border: 2px solid #FFFFFF !important;
+ border-radius: 50px !important;
+}
+.onoffswitch-inner {
+ display: block;
+ transition: margin 0.3s ease-in 0s;
+}
+.onoffswitch-inner:before,
+.onoffswitch-inner:after {
+ display: block;
+ float: left;
+ width: 50%;
+ height: 30px;
+ padding: 0;
+ line-height: 40px;
+ font-size: 20px;
+ box-sizing: border-box;
+ content: "";
+ background-color: #EEEEEE;
+}
+.onoffswitch-switch {
+ display: block;
+ width: 37px;
+ background-color: #01d7d4;
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ right: 0px;
+ border: 2px solid #FFFFFF !important;
+ border-radius: 50px !important;
+ transition: all 0.3s ease-in 0s;
+}
+.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
+ margin-right: 0;
+}
+.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
+ right: 71px;
+ background-color: #A1A1A1;
+}
+.result_header {
+ margin-top: 0px;
+ margin-bottom: 2px;
+ font-size: 16px;
+}
+.result_header .favicon {
+ margin-bottom: -3px;
+}
+.result_header a {
+ color: #29314d;
+ text-decoration: none;
+}
+.result_header a:hover {
+ color: #0088cc;
+}
+.result_header a:visited {
+ color: #684898;
+}
+.result_header a .highlight {
+ background-color: #f6f9fa;
+}
+.result-content,
+.result-format,
+.result-source {
+ margin-top: 2px;
+ margin-bottom: 0;
+ word-wrap: break-word;
+ color: #666666;
+ font-size: 13px;
+}
+.result-content .highlight,
+.result-format .highlight,
+.result-source .highlight {
+ font-weight: bold;
+}
+.result-source {
+ font-size: 10px;
+ float: left;
+}
+.result-format {
+ font-size: 10px;
+ float: right;
+}
+.external-link {
+ color: #069025;
+ font-size: 12px;
+ margin-bottom: 15px;
+}
+.external-link a {
+ margin-right: 3px;
+}
+.result-default,
+.result-code,
+.result-torrent,
+.result-videos,
+.result-map {
+ clear: both;
+ padding: 2px 4px;
+}
+.result-default:hover,
+.result-code:hover,
+.result-torrent:hover,
+.result-videos:hover,
+.result-map:hover {
+ background-color: #f6f9fa;
+}
+.result-images {
+ float: left !important;
+ width: 24%;
+ margin: .5%;
+}
+.result-images a {
+ display: block;
+ width: 100%;
+ background-size: cover;
+}
+.img-thumbnail {
+ margin: 5px;
+ max-height: 128px;
+ min-height: 128px;
+}
+.result-videos {
+ clear: both;
+}
+.result-videos hr {
+ margin: 5px 0 15px 0;
+}
+.result-videos .collapse {
+ width: 100%;
+}
+.result-videos .in {
+ margin-bottom: 8px;
+}
+.result-torrent {
+ clear: both;
+}
+.result-torrent b {
+ margin-right: 5px;
+ margin-left: 5px;
+}
+.result-torrent .seeders {
+ color: #2ecc71;
+}
+.result-torrent .leechers {
+ color: #f35e77;
+}
+.result-map {
+ clear: both;
+}
+.result-code {
+ clear: both;
+}
+.result-code .code-fork,
+.result-code .code-fork a {
+ color: #666666;
+}
+.suggestion_item {
+ margin: 2px 5px;
+ max-width: 100%;
+}
+.suggestion_item .btn {
+ max-width: 100%;
+ white-space: normal;
+ word-wrap: break-word;
+ text-align: left;
+}
+.result_download {
+ margin-right: 5px;
+}
+#pagination {
+ margin-top: 30px;
+ padding-bottom: 60px;
+}
+.label-default {
+ color: #a4a4a4;
+ background: transparent;
+}
+.result .text-muted small {
+ word-wrap: break-word;
+}
+.modal-wrapper {
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
+}
+.modal-wrapper {
+ background-clip: padding-box;
+ background-color: #fff;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 6px;
+ box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
+ outline: 0 none;
+ position: relative;
+}
+.infobox .panel-heading {
+ background-color: #f6f9fa;
+}
+.infobox .panel-heading .panel-title {
+ font-weight: 700;
+}
+.infobox p {
+ font-family: "DejaVu Serif", Georgia, Cambria, "Times New Roman", Times, serif !important;
+ font-style: italic;
+}
+.infobox .btn {
+ background-color: #2ecc71;
+ border: none;
+}
+.infobox .btn a {
+ color: white;
+ margin: 5px;
+}
+.infobox .infobox_part {
+ margin-bottom: 20px;
+ word-wrap: break-word;
+ table-layout: fixed;
+}
+.infobox .infobox_part:last-child {
+ margin-bottom: 0;
+}
+.search_categories,
+#categories {
+ text-transform: capitalize;
+ margin-bottom: 0.5rem;
+ display: flex;
+ flex-wrap: wrap;
+ flex-flow: row wrap;
+ align-content: stretch;
+}
+.search_categories label,
+#categories label,
+.search_categories .input-group-addon,
+#categories .input-group-addon {
+ flex-grow: 1;
+ flex-basis: auto;
+ font-size: 1.2rem;
+ font-weight: normal;
+ background-color: white;
+ border: #dddddd 1px solid;
+ border-right: none;
+ color: #666666;
+ padding-bottom: 0.4rem;
+ padding-top: 0.4rem;
+ text-align: center;
+ min-width: 50px;
+}
+.search_categories label:last-child,
+#categories label:last-child,
+.search_categories .input-group-addon:last-child,
+#categories .input-group-addon:last-child {
+ border-right: #dddddd 1px solid;
+}
+.search_categories input[type="checkbox"]:checked + label,
+#categories input[type="checkbox"]:checked + label {
+ color: #29314d;
+ font-weight: bold;
+ border-bottom: #01d7d4 5px solid;
+}
+#main-logo {
+ margin-top: 10vh;
+ margin-bottom: 25px;
+}
+#main-logo > img {
+ max-width: 350px;
+ width: 80%;
+}
+#q {
+ box-shadow: none;
+ border-right: none;
+ border-color: #a4a4a4;
+}
+#search_form .input-group-btn .btn {
+ border-color: #a4a4a4;
+}
+#search_form .input-group-btn .btn:hover {
+ background-color: #2ecc71;
+ color: white;
+}
+.custom-select {
+ appearance: none;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ font-size: 1.2rem;
+ font-weight: normal;
+ background-color: white;
+ border: #dddddd 1px solid;
+ color: #666666;
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAQAAACR313BAAAABGdBTUEAALGPC/xhBQAAACBjSFJN
+AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAJcEhZ
+cwAABFkAAARZAVnbJUkAAAAHdElNRQfgBxgLDwB20OFsAAAAbElEQVQY073OsQ3CMAAEwJMYwJGn
+sAehpoXJItltBkmcdZBYgIIiQoLglnz3ui+eP+bk5uneteTMZJa6OJuIqvYzSJoqwqBq8gdmTTW8
+6/dghxAUq4xsVYT9laBYXCw93Aajh7GPEF23t4fkBYevGFTANkPRAAAAJXRFWHRkYXRlOmNyZWF0
+ZQAyMDE2LTA3LTI0VDExOjU1OjU4KzAyOjAwRFqFOQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0w
+Ny0yNFQxMToxNTowMCswMjowMP7RDgQAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb
+7jwaAAAAAElFTkSuQmCC) 96% no-repeat;
+}
+.search-margin {
+ margin-bottom: 0.6em;
+}
+#advanced-search-container {
+ display: none;
+ text-align: left;
+ margin-bottom: 1rem;
+ clear: both;
+}
+#advanced-search-container label,
+#advanced-search-container .input-group-addon {
+ font-size: 1.2rem;
+ font-weight: normal;
+ background-color: white;
+ border: #dddddd 1px solid;
+ border-right: none;
+ color: #666666;
+ padding-bottom: 0.4rem;
+ padding-right: 0.7rem;
+ padding-left: 0.7rem;
+}
+#advanced-search-container label:last-child,
+#advanced-search-container .input-group-addon:last-child {
+ border-right: #dddddd 1px solid;
+}
+#advanced-search-container input[type="radio"] {
+ display: none;
+}
+#advanced-search-container input[type="radio"]:checked + label {
+ color: #29314d;
+ font-weight: bold;
+ border-bottom: #01d7d4 5px solid;
+}
+#check-advanced {
+ display: none;
+}
+#check-advanced:checked ~ #advanced-search-container {
+ display: block;
+}
+.advanced {
+ padding: 0;
+ margin-top: 0.3rem;
+ text-align: right;
+}
+.advanced label,
+.advanced select {
+ cursor: pointer;
+}
+.cursor-text {
+ cursor: text !important;
+}
+.cursor-pointer {
+ cursor: pointer !important;
+}
+pre,
+code {
+ font-family: 'Ubuntu Mono', 'Courier New', 'Lucida Console', monospace !important;
+}
+.lineno {
+ margin-right: 5px;
+}
+.highlight .hll {
+ background-color: #ffffcc;
+}
+.highlight {
+ background: #f8f8f8;
+}
+.highlight .c {
+ color: #556366;
+ font-style: italic;
+}
+/* Comment */
+.highlight .err {
+ border: 1px solid #ffa92f;
+}
+/* Error */
+.highlight .k {
+ color: #BE74D5;
+ font-weight: bold;
+}
+/* Keyword */
+.highlight .o {
+ color: #d19a66;
+}
+/* Operator */
+.highlight .cm {
+ color: #556366;
+ font-style: italic;
+}
+/* Comment.Multiline */
+.highlight .cp {
+ color: #bc7a00;
+}
+/* Comment.Preproc */
+.highlight .c1 {
+ color: #556366;
+ font-style: italic;
+}
+/* Comment.Single */
+.highlight .cs {
+ color: #556366;
+ font-style: italic;
+}
+/* Comment.Special */
+.highlight .gd {
+ color: #a00000;
+}
+/* Generic.Deleted */
+.highlight .ge {
+ font-style: italic;
+}
+/* Generic.Emph */
+.highlight .gr {
+ color: #ff0000;
+}
+/* Generic.Error */
+.highlight .gh {
+ color: #000080;
+ font-weight: bold;
+}
+/* Generic.Heading */
+.highlight .gi {
+ color: #00a000;
+}
+/* Generic.Inserted */
+.highlight .go {
+ color: #888888;
+}
+/* Generic.Output */
+.highlight .gp {
+ color: #000080;
+ font-weight: bold;
+}
+/* Generic.Prompt */
+.highlight .gs {
+ font-weight: bold;
+}
+/* Generic.Strong */
+.highlight .gu {
+ color: #800080;
+ font-weight: bold;
+}
+/* Generic.Subheading */
+.highlight .gt {
+ color: #0044dd;
+}
+/* Generic.Traceback */
+.highlight .kc {
+ color: #BE74D5;
+ font-weight: bold;
+}
+/* Keyword.Constant */
+.highlight .kd {
+ color: #BE74D5;
+ font-weight: bold;
+}
+/* Keyword.Declaration */
+.highlight .kn {
+ color: #BE74D5;
+ font-weight: bold;
+}
+/* Keyword.Namespace */
+.highlight .kp {
+ color: #be74d5;
+}
+/* Keyword.Pseudo */
+.highlight .kr {
+ color: #BE74D5;
+ font-weight: bold;
+}
+/* Keyword.Reserved */
+.highlight .kt {
+ color: #d46c72;
+}
+/* Keyword.Type */
+.highlight .m {
+ color: #d19a66;
+}
+/* Literal.Number */
+.highlight .s {
+ color: #86c372;
+}
+/* Literal.String */
+.highlight .na {
+ color: #7d9029;
+}
+/* Name.Attribute */
+.highlight .nb {
+ color: #be74d5;
+}
+/* Name.Builtin */
+.highlight .nc {
+ color: #61AFEF;
+ font-weight: bold;
+}
+/* Name.Class */
+.highlight .no {
+ color: #d19a66;
+}
+/* Name.Constant */
+.highlight .nd {
+ color: #aa22ff;
+}
+/* Name.Decorator */
+.highlight .ni {
+ color: #999999;
+ font-weight: bold;
+}
+/* Name.Entity */
+.highlight .ne {
+ color: #D2413A;
+ font-weight: bold;
+}
+/* Name.Exception */
+.highlight .nf {
+ color: #61afef;
+}
+/* Name.Function */
+.highlight .nl {
+ color: #a0a000;
+}
+/* Name.Label */
+.highlight .nn {
+ color: #61AFEF;
+ font-weight: bold;
+}
+/* Name.Namespace */
+.highlight .nt {
+ color: #BE74D5;
+ font-weight: bold;
+}
+/* Name.Tag */
+.highlight .nv {
+ color: #dfc06f;
+}
+/* Name.Variable */
+.highlight .ow {
+ color: #AA22FF;
+ font-weight: bold;
+}
+/* Operator.Word */
+.highlight .w {
+ color: #d7dae0;
+}
+/* Text.Whitespace */
+.highlight .mf {
+ color: #d19a66;
+}
+/* Literal.Number.Float */
+.highlight .mh {
+ color: #d19a66;
+}
+/* Literal.Number.Hex */
+.highlight .mi {
+ color: #d19a66;
+}
+/* Literal.Number.Integer */
+.highlight .mo {
+ color: #d19a66;
+}
+/* Literal.Number.Oct */
+.highlight .sb {
+ color: #86c372;
+}
+/* Literal.String.Backtick */
+.highlight .sc {
+ color: #86c372;
+}
+/* Literal.String.Char */
+.highlight .sd {
+ color: #86C372;
+ font-style: italic;
+}
+/* Literal.String.Doc */
+.highlight .s2 {
+ color: #86c372;
+}
+/* Literal.String.Double */
+.highlight .se {
+ color: #BB6622;
+ font-weight: bold;
+}
+/* Literal.String.Escape */
+.highlight .sh {
+ color: #86c372;
+}
+/* Literal.String.Heredoc */
+.highlight .si {
+ color: #BB6688;
+ font-weight: bold;
+}
+/* Literal.String.Interpol */
+.highlight .sx {
+ color: #be74d5;
+}
+/* Literal.String.Other */
+.highlight .sr {
+ color: #bb6688;
+}
+/* Literal.String.Regex */
+.highlight .s1 {
+ color: #86c372;
+}
+/* Literal.String.Single */
+.highlight .ss {
+ color: #dfc06f;
+}
+/* Literal.String.Symbol */
+.highlight .bp {
+ color: #be74d5;
+}
+/* Name.Builtin.Pseudo */
+.highlight .vc {
+ color: #dfc06f;
+}
+/* Name.Variable.Class */
+.highlight .vg {
+ color: #dfc06f;
+}
+/* Name.Variable.Global */
+.highlight .vi {
+ color: #dfc06f;
+}
+/* Name.Variable.Instance */
+.highlight .il {
+ color: #d19a66;
+}
+/* Literal.Number.Integer.Long */
+.highlight .lineno {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ cursor: default;
+ color: #556366;
+}
+.highlight .lineno::selection {
+ background: transparent;
+ /* WebKit/Blink Browsers */
+}
+.highlight .lineno::-moz-selection {
+ background: transparent;
+ /* Gecko Browsers */
+}
+.highlight pre {
+ background-color: #282C34;
+ color: #D7DAE0;
+ border: none;
+ margin-bottom: 25px;
+ font-size: 15px;
+ padding: 20px 10px;
+}
+.highlight {
+ font-weight: 700;
+}
+.table > tbody > tr > td,
+.table > tbody > tr > th {
+ vertical-align: middle !important;
+}
diff --git a/searx/static/themes/oscar/css/logicodev-dark.min.css b/searx/static/themes/oscar/css/logicodev-dark.min.css
index 99915ceff..06e7fb0a9 100644
--- a/searx/static/themes/oscar/css/logicodev-dark.min.css
+++ b/searx/static/themes/oscar/css/logicodev-dark.min.css
@@ -1 +1 @@
-*{border-radius:0!important}html{position:relative;min-height:100%;color:#29314d}body{font-family:Roboto,Helvetica,Arial,sans-serif;margin-bottom:80px;background-color:#fff}body a{color:#08c}.footer{position:absolute;bottom:0;width:100%;height:60px;text-align:center;color:#999}input[type=checkbox]:checked+.label_hide_if_checked,input[type=checkbox]:checked+.label_hide_if_not_checked+.label_hide_if_checked{display:none}input[type=checkbox]:not(:checked)+.label_hide_if_not_checked,input[type=checkbox]:not(:checked)+.label_hide_if_checked+.label_hide_if_not_checked{display:none}.onoff-checkbox{width:15%}.onoffswitch{position:relative;width:110px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.onoffswitch-checkbox{display:none}.onoffswitch-label{display:block;overflow:hidden;cursor:pointer;border:2px solid #FFF!important;border-radius:50px!important}.onoffswitch-inner{display:block;transition:margin .3s ease-in 0s}.onoffswitch-inner:before,.onoffswitch-inner:after{display:block;float:left;width:50%;height:30px;padding:0;line-height:40px;font-size:20px;box-sizing:border-box;content:"";background-color:#EEE}.onoffswitch-switch{display:block;width:37px;background-color:#01d7d4;position:absolute;top:0;bottom:0;right:0;border:2px solid #FFF!important;border-radius:50px!important;transition:all .3s ease-in 0s}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner{margin-right:0}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch{right:71px;background-color:#A1A1A1}.result_header{margin-top:0;margin-bottom:2px;font-size:16px}.result_header .favicon{margin-bottom:-3px}.result_header a{color:#29314d;text-decoration:none}.result_header a:hover{color:#08c}.result_header a:visited{color:#684898}.result_header a .highlight{background-color:#f6f9fa}.result-content{margin-top:2px;margin-bottom:0;word-wrap:break-word;color:#666;font-size:13px}.result-content .highlight{font-weight:700}.external-link{color:#069025;font-size:12px;margin-bottom:15px}.external-link a{margin-right:3px}.result-default,.result-code,.result-torrent,.result-videos,.result-map{clear:both;padding:2px 4px}.result-default:hover,.result-code:hover,.result-torrent:hover,.result-videos:hover,.result-map:hover{background-color:#f6f9fa}.result-images{float:left!important;width:24%;margin:.5%}.result-images a{display:block;width:100%;background-size:cover}.img-thumbnail{margin:5px;max-height:128px;min-height:128px}.result-videos{clear:both}.result-videos hr{margin:5px 0 15px 0}.result-videos .collapse{width:100%}.result-videos .in{margin-bottom:8px}.result-torrent{clear:both}.result-torrent b{margin-right:5px;margin-left:5px}.result-torrent .seeders{color:#2ecc71}.result-torrent .leechers{color:#f35e77}.result-map{clear:both}.result-code{clear:both}.result-code .code-fork,.result-code .code-fork a{color:#666}.suggestion_item{margin:2px 5px;max-width:100%}.suggestion_item .btn{max-width:100%;white-space:normal;word-wrap:break-word;text-align:left}.result_download{margin-right:5px}#pagination{margin-top:30px;padding-bottom:60px}.label-default{color:#a4a4a4;background:0 0}.result .text-muted small{word-wrap:break-word}.modal-wrapper{box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-wrapper{background-clip:padding-box;background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0 none;position:relative}.infobox .panel-heading{background-color:#f6f9fa}.infobox .panel-heading .panel-title{font-weight:700}.infobox p{font-family:"DejaVu Serif",Georgia,Cambria,"Times New Roman",Times,serif!important;font-style:italic}.infobox .btn{background-color:#2ecc71;border:none}.infobox .btn a{color:#fff;margin:5px}.infobox .infobox_part{margin-bottom:20px;word-wrap:break-word;table-layout:fixed}.infobox .infobox_part:last-child{margin-bottom:0}.search_categories,#categories{text-transform:capitalize;margin-bottom:.5rem;display:flex;flex-wrap:wrap;flex-flow:row wrap;align-content:stretch}.search_categories label,#categories label,.search_categories .input-group-addon,#categories .input-group-addon{flex-grow:1;flex-basis:auto;font-size:1.2rem;font-weight:400;background-color:#fff;border:#ddd 1px solid;border-right:none;color:#666;padding-bottom:.4rem;padding-top:.4rem;text-align:center;min-width:50px}.search_categories label:last-child,#categories label:last-child,.search_categories .input-group-addon:last-child,#categories .input-group-addon:last-child{border-right:#ddd 1px solid}.search_categories input[type=checkbox]:checked+label,#categories input[type=checkbox]:checked+label{color:#29314d;font-weight:700;border-bottom:#01d7d4 5px solid}#main-logo{margin-top:10vh;margin-bottom:25px}#main-logo>img{max-width:350px;width:80%}#q{box-shadow:none;border-right:none;border-color:#a4a4a4}#search_form .input-group-btn .btn{border-color:#a4a4a4}#search_form .input-group-btn .btn:hover{background-color:#2ecc71;color:#fff}.custom-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;font-size:1.2rem;font-weight:400;background-color:#fff;border:#ddd 1px solid;color:#666;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAQAAACR313BAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAABFkAAARZAVnbJUkAAAAHdElNRQfgBxgLDwB20OFsAAAAbElEQVQY073OsQ3CMAAEwJMYwJGnsAehpoXJItltBkmcdZBYgIIiQoLglnz3ui+eP+bk5uneteTMZJa6OJuIqvYzSJoqwqBq8gdmTTW86/dghxAUq4xsVYT9laBYXCw93Aajh7GPEF23t4fkBYevGFTANkPRAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTA3LTI0VDExOjU1OjU4KzAyOjAwRFqFOQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0wNy0yNFQxMToxNTowMCswMjowMP7RDgQAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC) 96% no-repeat}.search-margin{margin-bottom:.6em}#advanced-search-container{display:none;text-align:left;margin-bottom:1rem;clear:both}#advanced-search-container label,#advanced-search-container .input-group-addon{font-size:1.2rem;font-weight:400;background-color:#fff;border:#ddd 1px solid;border-right:none;color:#666;padding-bottom:.4rem;padding-right:.7rem;padding-left:.7rem}#advanced-search-container label:last-child,#advanced-search-container .input-group-addon:last-child{border-right:#ddd 1px solid}#advanced-search-container input[type=radio]{display:none}#advanced-search-container input[type=radio]:checked+label{color:#29314d;font-weight:700;border-bottom:#01d7d4 5px solid}#check-advanced{display:none}#check-advanced:checked~#advanced-search-container{display:block}.advanced{padding:0;margin-top:.3rem;text-align:right}.advanced label,.advanced select{cursor:pointer}.cursor-text{cursor:text!important}.cursor-pointer{cursor:pointer!important}pre,code{font-family:'Ubuntu Mono','Courier New','Lucida Console',monospace!important}.lineno{margin-right:5px}.highlight .hll{background-color:#ffc}.highlight{background:#f8f8f8}.highlight .c{color:#556366;font-style:italic}.highlight .err{border:1px solid #ffa92f}.highlight .k{color:#BE74D5;font-weight:700}.highlight .o{color:#d19a66}.highlight .cm{color:#556366;font-style:italic}.highlight .cp{color:#bc7a00}.highlight .c1{color:#556366;font-style:italic}.highlight .cs{color:#556366;font-style:italic}.highlight .gd{color:#a00000}.highlight .ge{font-style:italic}.highlight .gr{color:red}.highlight .gh{color:navy;font-weight:700}.highlight .gi{color:#00a000}.highlight .go{color:#888}.highlight .gp{color:navy;font-weight:700}.highlight .gs{font-weight:700}.highlight .gu{color:purple;font-weight:700}.highlight .gt{color:#04d}.highlight .kc{color:#BE74D5;font-weight:700}.highlight .kd{color:#BE74D5;font-weight:700}.highlight .kn{color:#BE74D5;font-weight:700}.highlight .kp{color:#be74d5}.highlight .kr{color:#BE74D5;font-weight:700}.highlight .kt{color:#d46c72}.highlight .m{color:#d19a66}.highlight .s{color:#86c372}.highlight .na{color:#7d9029}.highlight .nb{color:#be74d5}.highlight .nc{color:#61AFEF;font-weight:700}.highlight .no{color:#d19a66}.highlight .nd{color:#a2f}.highlight .ni{color:#999;font-weight:700}.highlight .ne{color:#D2413A;font-weight:700}.highlight .nf{color:#61afef}.highlight .nl{color:#a0a000}.highlight .nn{color:#61AFEF;font-weight:700}.highlight .nt{color:#BE74D5;font-weight:700}.highlight .nv{color:#dfc06f}.highlight .ow{color:#A2F;font-weight:700}.highlight .w{color:#d7dae0}.highlight .mf{color:#d19a66}.highlight .mh{color:#d19a66}.highlight .mi{color:#d19a66}.highlight .mo{color:#d19a66}.highlight .sb{color:#86c372}.highlight .sc{color:#86c372}.highlight .sd{color:#86C372;font-style:italic}.highlight .s2{color:#86c372}.highlight .se{color:#B62;font-weight:700}.highlight .sh{color:#86c372}.highlight .si{color:#B68;font-weight:700}.highlight .sx{color:#be74d5}.highlight .sr{color:#b68}.highlight .s1{color:#86c372}.highlight .ss{color:#dfc06f}.highlight .bp{color:#be74d5}.highlight .vc{color:#dfc06f}.highlight .vg{color:#dfc06f}.highlight .vi{color:#dfc06f}.highlight .il{color:#d19a66}.highlight .lineno{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;color:#556366}.highlight .lineno::selection{background:0 0}.highlight .lineno::-moz-selection{background:0 0}.highlight pre{background-color:#282C34;color:#D7DAE0;border:none;margin-bottom:25px;font-size:15px;padding:20px 10px}.highlight{font-weight:700}.table>tbody>tr>td,.table>tbody>tr>th{vertical-align:middle!important}body{background:#1d1f21 none!important;color:#D5D8D7!important}a{color:#41a2ce!important;text-decoration:none!important}a:hover{color:#5F89AC!important}input,button,textarea,select{border:1px solid #282a2e!important;background-color:#444!important;color:#BBB!important}input:focus,button:focus,textarea:focus,select:focus{border:1px solid #C5C8C6!important;box-shadow:initial!important}div#advanced-search-container div#categories label{background:0 0;border:1px solid #282a2e}ul.nav li a{border:0!important;border-bottom:1px solid #4d3f43!important}#categories *,.modal-wrapper *{background:#1d1f21 none!important;color:#D5D8D7!important}#categories *{border:1px solid #3d3f43!important}#categories :checked+label{border-bottom:4px solid #3d9f94!important}.result-content{color:#B5B8B7!important}.external-link{color:#35B887!important}.table-striped tr td,.table-striped tr th{border-color:#4d3f43!important}.highlight{background:#333!important}.navbar{background:#1d1f21 none;border:none}.navbar .active,.menu{background:none!important}.label-default{background:0 0;color:#BBB}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus,.nav-tabs.nav-justified>.active>a{background-color:#282a2e!important}.result-default:hover,.result-code:hover,.result-torrent:hover,.result-videos:hover,.result-map:hover{background-color:#222426}.btn{color:#BBB;background-color:#444;border:1px solid #282a2e}.btn:hover{color:#444!important;background-color:#BBB!important}.btn-primary.active{color:#C5C8C6;background-color:#5F89AC;border-color:#5F89AC}.panel{border:1px solid #111;background:0 0}.panel-heading{color:#C5C8C6!important;background:#282a2e!important;border-bottom:none}.panel-body{color:#C5C8C6!important;background:#1d1f21!important;border-color:#111!important}p.btn.btn-default{background:0 0}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th,.table-striped>thead>tr:nth-child(odd)>th{background:#2d2f32 none!important;color:#D5D8D7!important}.label-success{background:#1d6f42 none!important}.label-danger{background:#ad1f12 none!important}.searx-navbar{background:#333334;height:2.3rem;font-size:1.3rem;line-height:1.3rem;padding:.5rem;font-weight:700;margin-bottom:.8rem}.searx-navbar a,.searx-navbar a:hover{margin-right:2rem;color:#fff;text-decoration:none}.searx-navbar .instance a{color:#01d7d4;margin-left:2rem}#main-logo{margin-top:20vh;margin-bottom:25px}#main-logo>img{max-width:350px;width:80%}.onoffswitch-inner:before,.onoffswitch-inner:after{background:#1d1f21 none!important}.onoffswitch-switch,.onoffswitch-label{border:2px solid #3d3f43!important}.nav>li>a:hover,.nav>li>a:focus{background-color:#3d3f43!important}.img-thumbnail,.thumbnail{padding:0;line-height:1.42857143;background:0 0;border:none}.modal-content{background:#1d1f21 none!important}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background:rgba(240,0,0,.56)!important;color:#C5C8C6!important}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background:rgba(237,59,59,.61)!important;color:#C5C8C6!important}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background:#66696e!important}.btn-success{color:#C5C8C6;background:#449d44}.btn-danger{color:#C5C8C6;background:#d9534f}.well{background:#444;border-color:#282a2e}.highlight{background-color:transparent!important} \ No newline at end of file
+*{border-radius:0!important}html{position:relative;min-height:100%;color:#29314d}body{font-family:Roboto,Helvetica,Arial,sans-serif;margin-bottom:80px;background-color:#fff}body a{color:#08c}.footer{position:absolute;bottom:0;width:100%;height:60px;text-align:center;color:#999}input[type=checkbox]:checked+.label_hide_if_checked,input[type=checkbox]:checked+.label_hide_if_not_checked+.label_hide_if_checked{display:none}input[type=checkbox]:not(:checked)+.label_hide_if_not_checked,input[type=checkbox]:not(:checked)+.label_hide_if_checked+.label_hide_if_not_checked{display:none}.onoff-checkbox{width:15%}.onoffswitch{position:relative;width:110px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.onoffswitch-checkbox{display:none}.onoffswitch-label{display:block;overflow:hidden;cursor:pointer;border:2px solid #FFF!important;border-radius:50px!important}.onoffswitch-inner{display:block;transition:margin .3s ease-in 0s}.onoffswitch-inner:before,.onoffswitch-inner:after{display:block;float:left;width:50%;height:30px;padding:0;line-height:40px;font-size:20px;box-sizing:border-box;content:"";background-color:#EEE}.onoffswitch-switch{display:block;width:37px;background-color:#01d7d4;position:absolute;top:0;bottom:0;right:0;border:2px solid #FFF!important;border-radius:50px!important;transition:all .3s ease-in 0s}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner{margin-right:0}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch{right:71px;background-color:#A1A1A1}.result_header{margin-top:0;margin-bottom:2px;font-size:16px}.result_header .favicon{margin-bottom:-3px}.result_header a{color:#29314d;text-decoration:none}.result_header a:hover{color:#08c}.result_header a:visited{color:#684898}.result_header a .highlight{background-color:#f6f9fa}.result-content,.result-format,.result-source{margin-top:2px;margin-bottom:0;word-wrap:break-word;color:#666;font-size:13px}.result-content .highlight,.result-format .highlight,.result-source .highlight{font-weight:700}.result-source{font-size:10px;float:left}.result-format{font-size:10px;float:right}.external-link{color:#069025;font-size:12px;margin-bottom:15px}.external-link a{margin-right:3px}.result-default,.result-code,.result-torrent,.result-videos,.result-map{clear:both;padding:2px 4px}.result-default:hover,.result-code:hover,.result-torrent:hover,.result-videos:hover,.result-map:hover{background-color:#f6f9fa}.result-images{float:left!important;width:24%;margin:.5%}.result-images a{display:block;width:100%;background-size:cover}.img-thumbnail{margin:5px;max-height:128px;min-height:128px}.result-videos{clear:both}.result-videos hr{margin:5px 0 15px 0}.result-videos .collapse{width:100%}.result-videos .in{margin-bottom:8px}.result-torrent{clear:both}.result-torrent b{margin-right:5px;margin-left:5px}.result-torrent .seeders{color:#2ecc71}.result-torrent .leechers{color:#f35e77}.result-map{clear:both}.result-code{clear:both}.result-code .code-fork,.result-code .code-fork a{color:#666}.suggestion_item{margin:2px 5px;max-width:100%}.suggestion_item .btn{max-width:100%;white-space:normal;word-wrap:break-word;text-align:left}.result_download{margin-right:5px}#pagination{margin-top:30px;padding-bottom:60px}.label-default{color:#a4a4a4;background:0 0}.result .text-muted small{word-wrap:break-word}.modal-wrapper{box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-wrapper{background-clip:padding-box;background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0 none;position:relative}.infobox .panel-heading{background-color:#f6f9fa}.infobox .panel-heading .panel-title{font-weight:700}.infobox p{font-family:"DejaVu Serif",Georgia,Cambria,"Times New Roman",Times,serif!important;font-style:italic}.infobox .btn{background-color:#2ecc71;border:none}.infobox .btn a{color:#fff;margin:5px}.infobox .infobox_part{margin-bottom:20px;word-wrap:break-word;table-layout:fixed}.infobox .infobox_part:last-child{margin-bottom:0}.search_categories,#categories{text-transform:capitalize;margin-bottom:.5rem;display:flex;flex-wrap:wrap;flex-flow:row wrap;align-content:stretch}.search_categories label,#categories label,.search_categories .input-group-addon,#categories .input-group-addon{flex-grow:1;flex-basis:auto;font-size:1.2rem;font-weight:400;background-color:#fff;border:#ddd 1px solid;border-right:none;color:#666;padding-bottom:.4rem;padding-top:.4rem;text-align:center;min-width:50px}.search_categories label:last-child,#categories label:last-child,.search_categories .input-group-addon:last-child,#categories .input-group-addon:last-child{border-right:#ddd 1px solid}.search_categories input[type=checkbox]:checked+label,#categories input[type=checkbox]:checked+label{color:#29314d;font-weight:700;border-bottom:#01d7d4 5px solid}#main-logo{margin-top:10vh;margin-bottom:25px}#main-logo>img{max-width:350px;width:80%}#q{box-shadow:none;border-right:none;border-color:#a4a4a4}#search_form .input-group-btn .btn{border-color:#a4a4a4}#search_form .input-group-btn .btn:hover{background-color:#2ecc71;color:#fff}.custom-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;font-size:1.2rem;font-weight:400;background-color:#fff;border:#ddd 1px solid;color:#666;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAQAAACR313BAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAABFkAAARZAVnbJUkAAAAHdElNRQfgBxgLDwB20OFsAAAAbElEQVQY073OsQ3CMAAEwJMYwJGnsAehpoXJItltBkmcdZBYgIIiQoLglnz3ui+eP+bk5uneteTMZJa6OJuIqvYzSJoqwqBq8gdmTTW86/dghxAUq4xsVYT9laBYXCw93Aajh7GPEF23t4fkBYevGFTANkPRAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTA3LTI0VDExOjU1OjU4KzAyOjAwRFqFOQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0wNy0yNFQxMToxNTowMCswMjowMP7RDgQAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC) 96% no-repeat}.search-margin{margin-bottom:.6em}#advanced-search-container{display:none;text-align:left;margin-bottom:1rem;clear:both}#advanced-search-container label,#advanced-search-container .input-group-addon{font-size:1.2rem;font-weight:400;background-color:#fff;border:#ddd 1px solid;border-right:none;color:#666;padding-bottom:.4rem;padding-right:.7rem;padding-left:.7rem}#advanced-search-container label:last-child,#advanced-search-container .input-group-addon:last-child{border-right:#ddd 1px solid}#advanced-search-container input[type=radio]{display:none}#advanced-search-container input[type=radio]:checked+label{color:#29314d;font-weight:700;border-bottom:#01d7d4 5px solid}#check-advanced{display:none}#check-advanced:checked~#advanced-search-container{display:block}.advanced{padding:0;margin-top:.3rem;text-align:right}.advanced label,.advanced select{cursor:pointer}.cursor-text{cursor:text!important}.cursor-pointer{cursor:pointer!important}pre,code{font-family:'Ubuntu Mono','Courier New','Lucida Console',monospace!important}.lineno{margin-right:5px}.highlight .hll{background-color:#ffc}.highlight{background:#f8f8f8}.highlight .c{color:#556366;font-style:italic}.highlight .err{border:1px solid #ffa92f}.highlight .k{color:#BE74D5;font-weight:700}.highlight .o{color:#d19a66}.highlight .cm{color:#556366;font-style:italic}.highlight .cp{color:#bc7a00}.highlight .c1{color:#556366;font-style:italic}.highlight .cs{color:#556366;font-style:italic}.highlight .gd{color:#a00000}.highlight .ge{font-style:italic}.highlight .gr{color:red}.highlight .gh{color:navy;font-weight:700}.highlight .gi{color:#00a000}.highlight .go{color:#888}.highlight .gp{color:navy;font-weight:700}.highlight .gs{font-weight:700}.highlight .gu{color:purple;font-weight:700}.highlight .gt{color:#04d}.highlight .kc{color:#BE74D5;font-weight:700}.highlight .kd{color:#BE74D5;font-weight:700}.highlight .kn{color:#BE74D5;font-weight:700}.highlight .kp{color:#be74d5}.highlight .kr{color:#BE74D5;font-weight:700}.highlight .kt{color:#d46c72}.highlight .m{color:#d19a66}.highlight .s{color:#86c372}.highlight .na{color:#7d9029}.highlight .nb{color:#be74d5}.highlight .nc{color:#61AFEF;font-weight:700}.highlight .no{color:#d19a66}.highlight .nd{color:#a2f}.highlight .ni{color:#999;font-weight:700}.highlight .ne{color:#D2413A;font-weight:700}.highlight .nf{color:#61afef}.highlight .nl{color:#a0a000}.highlight .nn{color:#61AFEF;font-weight:700}.highlight .nt{color:#BE74D5;font-weight:700}.highlight .nv{color:#dfc06f}.highlight .ow{color:#A2F;font-weight:700}.highlight .w{color:#d7dae0}.highlight .mf{color:#d19a66}.highlight .mh{color:#d19a66}.highlight .mi{color:#d19a66}.highlight .mo{color:#d19a66}.highlight .sb{color:#86c372}.highlight .sc{color:#86c372}.highlight .sd{color:#86C372;font-style:italic}.highlight .s2{color:#86c372}.highlight .se{color:#B62;font-weight:700}.highlight .sh{color:#86c372}.highlight .si{color:#B68;font-weight:700}.highlight .sx{color:#be74d5}.highlight .sr{color:#b68}.highlight .s1{color:#86c372}.highlight .ss{color:#dfc06f}.highlight .bp{color:#be74d5}.highlight .vc{color:#dfc06f}.highlight .vg{color:#dfc06f}.highlight .vi{color:#dfc06f}.highlight .il{color:#d19a66}.highlight .lineno{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;color:#556366}.highlight .lineno::selection{background:0 0}.highlight .lineno::-moz-selection{background:0 0}.highlight pre{background-color:#282C34;color:#D7DAE0;border:none;margin-bottom:25px;font-size:15px;padding:20px 10px}.highlight{font-weight:700}.table>tbody>tr>td,.table>tbody>tr>th{vertical-align:middle!important}body{background:#1d1f21 none!important;color:#D5D8D7!important}a{color:#41a2ce!important;text-decoration:none!important}a:hover{color:#5F89AC!important}input,button,textarea,select{border:1px solid #282a2e!important;background-color:#444!important;color:#BBB!important}input:focus,button:focus,textarea:focus,select:focus{border:1px solid #C5C8C6!important;box-shadow:initial!important}div#advanced-search-container div#categories label{background:0 0;border:1px solid #282a2e}ul.nav li a{border:0!important;border-bottom:1px solid #4d3f43!important}#categories *,.modal-wrapper *{background:#1d1f21 none!important;color:#D5D8D7!important}#categories *{border:1px solid #3d3f43!important}#categories :checked+label{border-bottom:4px solid #3d9f94!important}.result-content,.result-source,.result-format{color:#B5B8B7!important}.external-link{color:#35B887!important}.table-striped tr td,.table-striped tr th{border-color:#4d3f43!important}.highlight{background:#333!important}.navbar{background:#1d1f21 none;border:none}.navbar .active,.menu{background:none!important}.label-default{background:0 0;color:#BBB}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus,.nav-tabs.nav-justified>.active>a{background-color:#282a2e!important}.result-default:hover,.result-code:hover,.result-torrent:hover,.result-videos:hover,.result-map:hover{background-color:#222426}.btn{color:#BBB;background-color:#444;border:1px solid #282a2e}.btn:hover{color:#444!important;background-color:#BBB!important}.btn-primary.active{color:#C5C8C6;background-color:#5F89AC;border-color:#5F89AC}.panel{border:1px solid #111;background:0 0}.panel-heading{color:#C5C8C6!important;background:#282a2e!important;border-bottom:none}.panel-body{color:#C5C8C6!important;background:#1d1f21!important;border-color:#111!important}p.btn.btn-default{background:0 0}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th,.table-striped>thead>tr:nth-child(odd)>th{background:#2d2f32 none!important;color:#D5D8D7!important}.label-success{background:#1d6f42 none!important}.label-danger{background:#ad1f12 none!important}.searx-navbar{background:#333334;height:2.3rem;font-size:1.3rem;line-height:1.3rem;padding:.5rem;font-weight:700;margin-bottom:.8rem}.searx-navbar a,.searx-navbar a:hover{margin-right:2rem;color:#fff;text-decoration:none}.searx-navbar .instance a{color:#01d7d4;margin-left:2rem}#main-logo{margin-top:20vh;margin-bottom:25px}#main-logo>img{max-width:350px;width:80%}.onoffswitch-inner:before,.onoffswitch-inner:after{background:#1d1f21 none!important}.onoffswitch-switch,.onoffswitch-label{border:2px solid #3d3f43!important}.nav>li>a:hover,.nav>li>a:focus{background-color:#3d3f43!important}.img-thumbnail,.thumbnail{padding:0;line-height:1.42857143;background:0 0;border:none}.modal-content{background:#1d1f21 none!important}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background:rgba(240,0,0,.56)!important;color:#C5C8C6!important}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background:rgba(237,59,59,.61)!important;color:#C5C8C6!important}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background:#66696e!important}.btn-success{color:#C5C8C6;background:#449d44}.btn-danger{color:#C5C8C6;background:#d9534f}.well{background:#444;border-color:#282a2e}.highlight{background-color:transparent!important} \ No newline at end of file
diff --git a/searx/static/themes/oscar/css/logicodev.css b/searx/static/themes/oscar/css/logicodev.css
new file mode 100644
index 000000000..5e78ac749
--- /dev/null
+++ b/searx/static/themes/oscar/css/logicodev.css
@@ -0,0 +1,931 @@
+* {
+ border-radius: 0 !important;
+}
+html {
+ position: relative;
+ min-height: 100%;
+ color: #29314d;
+}
+body {
+ /* Margin bottom by footer height */
+ font-family: 'Roboto', Helvetica, Arial, sans-serif;
+ margin-bottom: 80px;
+ background-color: white;
+}
+body a {
+ color: #0088cc;
+}
+.footer {
+ position: absolute;
+ bottom: 0;
+ width: 100%;
+ /* Set the fixed height of the footer here */
+ height: 60px;
+ text-align: center;
+ color: #999;
+}
+input[type=checkbox]:checked + .label_hide_if_checked,
+input[type=checkbox]:checked + .label_hide_if_not_checked + .label_hide_if_checked {
+ display: none;
+}
+input[type=checkbox]:not(:checked) + .label_hide_if_not_checked,
+input[type=checkbox]:not(:checked) + .label_hide_if_checked + .label_hide_if_not_checked {
+ display: none;
+}
+.onoff-checkbox {
+ width: 15%;
+}
+.onoffswitch {
+ position: relative;
+ width: 110px;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+}
+.onoffswitch-checkbox {
+ display: none;
+}
+.onoffswitch-label {
+ display: block;
+ overflow: hidden;
+ cursor: pointer;
+ border: 2px solid #FFFFFF !important;
+ border-radius: 50px !important;
+}
+.onoffswitch-inner {
+ display: block;
+ transition: margin 0.3s ease-in 0s;
+}
+.onoffswitch-inner:before,
+.onoffswitch-inner:after {
+ display: block;
+ float: left;
+ width: 50%;
+ height: 30px;
+ padding: 0;
+ line-height: 40px;
+ font-size: 20px;
+ box-sizing: border-box;
+ content: "";
+ background-color: #EEEEEE;
+}
+.onoffswitch-switch {
+ display: block;
+ width: 37px;
+ background-color: #01d7d4;
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ right: 0px;
+ border: 2px solid #FFFFFF !important;
+ border-radius: 50px !important;
+ transition: all 0.3s ease-in 0s;
+}
+.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
+ margin-right: 0;
+}
+.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
+ right: 71px;
+ background-color: #A1A1A1;
+}
+.result_header {
+ margin-top: 0px;
+ margin-bottom: 2px;
+ font-size: 16px;
+}
+.result_header .favicon {
+ margin-bottom: -3px;
+}
+.result_header a {
+ color: #29314d;
+ text-decoration: none;
+}
+.result_header a:hover {
+ color: #0088cc;
+}
+.result_header a:visited {
+ color: #684898;
+}
+.result_header a .highlight {
+ background-color: #f6f9fa;
+}
+.result-content,
+.result-format,
+.result-source {
+ margin-top: 2px;
+ margin-bottom: 0;
+ word-wrap: break-word;
+ color: #666666;
+ font-size: 13px;
+}
+.result-content .highlight,
+.result-format .highlight,
+.result-source .highlight {
+ font-weight: bold;
+}
+.result-source {
+ font-size: 10px;
+ float: left;
+}
+.result-format {
+ font-size: 10px;
+ float: right;
+}
+.external-link {
+ color: #069025;
+ font-size: 12px;
+ margin-bottom: 15px;
+}
+.external-link a {
+ margin-right: 3px;
+}
+.result-default,
+.result-code,
+.result-torrent,
+.result-videos,
+.result-map {
+ clear: both;
+ padding: 2px 4px;
+}
+.result-default:hover,
+.result-code:hover,
+.result-torrent:hover,
+.result-videos:hover,
+.result-map:hover {
+ background-color: #f6f9fa;
+}
+.result-images {
+ float: left !important;
+ width: 24%;
+ margin: .5%;
+}
+.result-images a {
+ display: block;
+ width: 100%;
+ background-size: cover;
+}
+.img-thumbnail {
+ margin: 5px;
+ max-height: 128px;
+ min-height: 128px;
+}
+.result-videos {
+ clear: both;
+}
+.result-videos hr {
+ margin: 5px 0 15px 0;
+}
+.result-videos .collapse {
+ width: 100%;
+}
+.result-videos .in {
+ margin-bottom: 8px;
+}
+.result-torrent {
+ clear: both;
+}
+.result-torrent b {
+ margin-right: 5px;
+ margin-left: 5px;
+}
+.result-torrent .seeders {
+ color: #2ecc71;
+}
+.result-torrent .leechers {
+ color: #f35e77;
+}
+.result-map {
+ clear: both;
+}
+.result-code {
+ clear: both;
+}
+.result-code .code-fork,
+.result-code .code-fork a {
+ color: #666666;
+}
+.suggestion_item {
+ margin: 2px 5px;
+ max-width: 100%;
+}
+.suggestion_item .btn {
+ max-width: 100%;
+ white-space: normal;
+ word-wrap: break-word;
+ text-align: left;
+}
+.result_download {
+ margin-right: 5px;
+}
+#pagination {
+ margin-top: 30px;
+ padding-bottom: 60px;
+}
+.label-default {
+ color: #a4a4a4;
+ background: transparent;
+}
+.result .text-muted small {
+ word-wrap: break-word;
+}
+.modal-wrapper {
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
+}
+.modal-wrapper {
+ background-clip: padding-box;
+ background-color: #fff;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 6px;
+ box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
+ outline: 0 none;
+ position: relative;
+}
+.infobox .panel-heading {
+ background-color: #f6f9fa;
+}
+.infobox .panel-heading .panel-title {
+ font-weight: 700;
+}
+.infobox p {
+ font-family: "DejaVu Serif", Georgia, Cambria, "Times New Roman", Times, serif !important;
+ font-style: italic;
+}
+.infobox .btn {
+ background-color: #2ecc71;
+ border: none;
+}
+.infobox .btn a {
+ color: white;
+ margin: 5px;
+}
+.infobox .infobox_part {
+ margin-bottom: 20px;
+ word-wrap: break-word;
+ table-layout: fixed;
+}
+.infobox .infobox_part:last-child {
+ margin-bottom: 0;
+}
+.search_categories,
+#categories {
+ text-transform: capitalize;
+ margin-bottom: 0.5rem;
+ display: flex;
+ flex-wrap: wrap;
+ flex-flow: row wrap;
+ align-content: stretch;
+}
+.search_categories label,
+#categories label,
+.search_categories .input-group-addon,
+#categories .input-group-addon {
+ flex-grow: 1;
+ flex-basis: auto;
+ font-size: 1.2rem;
+ font-weight: normal;
+ background-color: white;
+ border: #dddddd 1px solid;
+ border-right: none;
+ color: #666666;
+ padding-bottom: 0.4rem;
+ padding-top: 0.4rem;
+ text-align: center;
+ min-width: 50px;
+}
+.search_categories label:last-child,
+#categories label:last-child,
+.search_categories .input-group-addon:last-child,
+#categories .input-group-addon:last-child {
+ border-right: #dddddd 1px solid;
+}
+.search_categories input[type="checkbox"]:checked + label,
+#categories input[type="checkbox"]:checked + label {
+ color: #29314d;
+ font-weight: bold;
+ border-bottom: #01d7d4 5px solid;
+}
+#main-logo {
+ margin-top: 10vh;
+ margin-bottom: 25px;
+}
+#main-logo > img {
+ max-width: 350px;
+ width: 80%;
+}
+#q {
+ box-shadow: none;
+ border-right: none;
+ border-color: #a4a4a4;
+}
+#search_form .input-group-btn .btn {
+ border-color: #a4a4a4;
+}
+#search_form .input-group-btn .btn:hover {
+ background-color: #2ecc71;
+ color: white;
+}
+.custom-select {
+ appearance: none;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ font-size: 1.2rem;
+ font-weight: normal;
+ background-color: white;
+ border: #dddddd 1px solid;
+ color: #666666;
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAQAAACR313BAAAABGdBTUEAALGPC/xhBQAAACBjSFJN
+AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAJcEhZ
+cwAABFkAAARZAVnbJUkAAAAHdElNRQfgBxgLDwB20OFsAAAAbElEQVQY073OsQ3CMAAEwJMYwJGn
+sAehpoXJItltBkmcdZBYgIIiQoLglnz3ui+eP+bk5uneteTMZJa6OJuIqvYzSJoqwqBq8gdmTTW8
+6/dghxAUq4xsVYT9laBYXCw93Aajh7GPEF23t4fkBYevGFTANkPRAAAAJXRFWHRkYXRlOmNyZWF0
+ZQAyMDE2LTA3LTI0VDExOjU1OjU4KzAyOjAwRFqFOQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0w
+Ny0yNFQxMToxNTowMCswMjowMP7RDgQAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb
+7jwaAAAAAElFTkSuQmCC) 96% no-repeat;
+}
+.search-margin {
+ margin-bottom: 0.6em;
+}
+#advanced-search-container {
+ display: none;
+ text-align: left;
+ margin-bottom: 1rem;
+ clear: both;
+}
+#advanced-search-container label,
+#advanced-search-container .input-group-addon {
+ font-size: 1.2rem;
+ font-weight: normal;
+ background-color: white;
+ border: #dddddd 1px solid;
+ border-right: none;
+ color: #666666;
+ padding-bottom: 0.4rem;
+ padding-right: 0.7rem;
+ padding-left: 0.7rem;
+}
+#advanced-search-container label:last-child,
+#advanced-search-container .input-group-addon:last-child {
+ border-right: #dddddd 1px solid;
+}
+#advanced-search-container input[type="radio"] {
+ display: none;
+}
+#advanced-search-container input[type="radio"]:checked + label {
+ color: #29314d;
+ font-weight: bold;
+ border-bottom: #01d7d4 5px solid;
+}
+#check-advanced {
+ display: none;
+}
+#check-advanced:checked ~ #advanced-search-container {
+ display: block;
+}
+.advanced {
+ padding: 0;
+ margin-top: 0.3rem;
+ text-align: right;
+}
+.advanced label,
+.advanced select {
+ cursor: pointer;
+}
+.cursor-text {
+ cursor: text !important;
+}
+.cursor-pointer {
+ cursor: pointer !important;
+}
+pre,
+code {
+ font-family: 'Ubuntu Mono', 'Courier New', 'Lucida Console', monospace !important;
+}
+.lineno {
+ margin-right: 5px;
+}
+.highlight .hll {
+ background-color: #ffffcc;
+}
+.highlight {
+ background: #f8f8f8;
+}
+.highlight .c {
+ color: #556366;
+ font-style: italic;
+}
+/* Comment */
+.highlight .err {
+ border: 1px solid #ffa92f;
+}
+/* Error */
+.highlight .k {
+ color: #BE74D5;
+ font-weight: bold;
+}
+/* Keyword */
+.highlight .o {
+ color: #d19a66;
+}
+/* Operator */
+.highlight .cm {
+ color: #556366;
+ font-style: italic;
+}
+/* Comment.Multiline */
+.highlight .cp {
+ color: #bc7a00;
+}
+/* Comment.Preproc */
+.highlight .c1 {
+ color: #556366;
+ font-style: italic;
+}
+/* Comment.Single */
+.highlight .cs {
+ color: #556366;
+ font-style: italic;
+}
+/* Comment.Special */
+.highlight .gd {
+ color: #a00000;
+}
+/* Generic.Deleted */
+.highlight .ge {
+ font-style: italic;
+}
+/* Generic.Emph */
+.highlight .gr {
+ color: #ff0000;
+}
+/* Generic.Error */
+.highlight .gh {
+ color: #000080;
+ font-weight: bold;
+}
+/* Generic.Heading */
+.highlight .gi {
+ color: #00a000;
+}
+/* Generic.Inserted */
+.highlight .go {
+ color: #888888;
+}
+/* Generic.Output */
+.highlight .gp {
+ color: #000080;
+ font-weight: bold;
+}
+/* Generic.Prompt */
+.highlight .gs {
+ font-weight: bold;
+}
+/* Generic.Strong */
+.highlight .gu {
+ color: #800080;
+ font-weight: bold;
+}
+/* Generic.Subheading */
+.highlight .gt {
+ color: #0044dd;
+}
+/* Generic.Traceback */
+.highlight .kc {
+ color: #BE74D5;
+ font-weight: bold;
+}
+/* Keyword.Constant */
+.highlight .kd {
+ color: #BE74D5;
+ font-weight: bold;
+}
+/* Keyword.Declaration */
+.highlight .kn {
+ color: #BE74D5;
+ font-weight: bold;
+}
+/* Keyword.Namespace */
+.highlight .kp {
+ color: #be74d5;
+}
+/* Keyword.Pseudo */
+.highlight .kr {
+ color: #BE74D5;
+ font-weight: bold;
+}
+/* Keyword.Reserved */
+.highlight .kt {
+ color: #d46c72;
+}
+/* Keyword.Type */
+.highlight .m {
+ color: #d19a66;
+}
+/* Literal.Number */
+.highlight .s {
+ color: #86c372;
+}
+/* Literal.String */
+.highlight .na {
+ color: #7d9029;
+}
+/* Name.Attribute */
+.highlight .nb {
+ color: #be74d5;
+}
+/* Name.Builtin */
+.highlight .nc {
+ color: #61AFEF;
+ font-weight: bold;
+}
+/* Name.Class */
+.highlight .no {
+ color: #d19a66;
+}
+/* Name.Constant */
+.highlight .nd {
+ color: #aa22ff;
+}
+/* Name.Decorator */
+.highlight .ni {
+ color: #999999;
+ font-weight: bold;
+}
+/* Name.Entity */
+.highlight .ne {
+ color: #D2413A;
+ font-weight: bold;
+}
+/* Name.Exception */
+.highlight .nf {
+ color: #61afef;
+}
+/* Name.Function */
+.highlight .nl {
+ color: #a0a000;
+}
+/* Name.Label */
+.highlight .nn {
+ color: #61AFEF;
+ font-weight: bold;
+}
+/* Name.Namespace */
+.highlight .nt {
+ color: #BE74D5;
+ font-weight: bold;
+}
+/* Name.Tag */
+.highlight .nv {
+ color: #dfc06f;
+}
+/* Name.Variable */
+.highlight .ow {
+ color: #AA22FF;
+ font-weight: bold;
+}
+/* Operator.Word */
+.highlight .w {
+ color: #d7dae0;
+}
+/* Text.Whitespace */
+.highlight .mf {
+ color: #d19a66;
+}
+/* Literal.Number.Float */
+.highlight .mh {
+ color: #d19a66;
+}
+/* Literal.Number.Hex */
+.highlight .mi {
+ color: #d19a66;
+}
+/* Literal.Number.Integer */
+.highlight .mo {
+ color: #d19a66;
+}
+/* Literal.Number.Oct */
+.highlight .sb {
+ color: #86c372;
+}
+/* Literal.String.Backtick */
+.highlight .sc {
+ color: #86c372;
+}
+/* Literal.String.Char */
+.highlight .sd {
+ color: #86C372;
+ font-style: italic;
+}
+/* Literal.String.Doc */
+.highlight .s2 {
+ color: #86c372;
+}
+/* Literal.String.Double */
+.highlight .se {
+ color: #BB6622;
+ font-weight: bold;
+}
+/* Literal.String.Escape */
+.highlight .sh {
+ color: #86c372;
+}
+/* Literal.String.Heredoc */
+.highlight .si {
+ color: #BB6688;
+ font-weight: bold;
+}
+/* Literal.String.Interpol */
+.highlight .sx {
+ color: #be74d5;
+}
+/* Literal.String.Other */
+.highlight .sr {
+ color: #bb6688;
+}
+/* Literal.String.Regex */
+.highlight .s1 {
+ color: #86c372;
+}
+/* Literal.String.Single */
+.highlight .ss {
+ color: #dfc06f;
+}
+/* Literal.String.Symbol */
+.highlight .bp {
+ color: #be74d5;
+}
+/* Name.Builtin.Pseudo */
+.highlight .vc {
+ color: #dfc06f;
+}
+/* Name.Variable.Class */
+.highlight .vg {
+ color: #dfc06f;
+}
+/* Name.Variable.Global */
+.highlight .vi {
+ color: #dfc06f;
+}
+/* Name.Variable.Instance */
+.highlight .il {
+ color: #d19a66;
+}
+/* Literal.Number.Integer.Long */
+.highlight .lineno {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ cursor: default;
+ color: #556366;
+}
+.highlight .lineno::selection {
+ background: transparent;
+ /* WebKit/Blink Browsers */
+}
+.highlight .lineno::-moz-selection {
+ background: transparent;
+ /* Gecko Browsers */
+}
+.highlight pre {
+ background-color: #282C34;
+ color: #D7DAE0;
+ border: none;
+ margin-bottom: 25px;
+ font-size: 15px;
+ padding: 20px 10px;
+}
+.highlight {
+ font-weight: 700;
+}
+.table > tbody > tr > td,
+.table > tbody > tr > th {
+ vertical-align: middle !important;
+}
+/*Global*/
+body {
+ background: #1d1f21 none !important;
+ color: #D5D8D7 !important;
+}
+a {
+ color: #41a2ce !important;
+ text-decoration: none !important;
+}
+a:hover {
+ color: #5F89AC !important;
+}
+input,
+button,
+textarea,
+select {
+ border: 1px solid #282a2e !important;
+ background-color: #444 !important;
+ color: #BBB !important;
+}
+input:focus,
+button:focus,
+textarea:focus,
+select:focus {
+ border: 1px solid #C5C8C6 !important;
+ box-shadow: initial !important;
+}
+div#advanced-search-container div#categories label {
+ background: none;
+ border: 1px solid #282a2e;
+}
+ul.nav li a {
+ border: 0 !important;
+ border-bottom: 1px solid #4d3f43 !important;
+}
+#categories *,
+.modal-wrapper * {
+ background: #1d1f21 none !important;
+ color: #D5D8D7 !important;
+}
+#categories * {
+ border: 1px solid #3d3f43 !important;
+}
+#categories *:checked + label {
+ border-bottom: 4px solid #3d9f94 !important;
+}
+.result-content,
+.result-source,
+.result-format {
+ color: #B5B8B7 !important;
+}
+.external-link {
+ color: #35B887 !important;
+}
+.table-striped tr td,
+.table-striped tr th {
+ border-color: #4d3f43 !important;
+}
+.highlight {
+ background: #333333 !important;
+}
+/*nav*/
+.navbar {
+ background: #1d1f21 none;
+ border: none;
+}
+.navbar .active,
+.menu {
+ background: none !important;
+}
+.label-default {
+ background: none;
+ color: #BBB;
+}
+.navbar-default .navbar-nav > .active > a,
+.navbar-default .navbar-nav > .active > a:hover,
+.navbar-default .navbar-nav > .active > a:focus,
+.nav-tabs.nav-justified > .active > a {
+ background-color: #282a2e !important;
+}
+/*Search Page*/
+.result-default:hover,
+.result-code:hover,
+.result-torrent:hover,
+.result-videos:hover,
+.result-map:hover {
+ background-color: #222426;
+}
+/*buttons*/
+.btn {
+ color: #BBB;
+ background-color: #444 ;
+ border: 1px solid #282a2e;
+}
+.btn:hover {
+ color: #444 !important;
+ background-color: #BBB !important;
+}
+.btn-primary.active {
+ color: #C5C8C6;
+ background-color: #5F89AC;
+ border-color: #5F89AC;
+}
+/*Right Pannels*/
+.panel {
+ border: 1px solid #111;
+ background: none;
+}
+.panel-heading {
+ color: #C5C8C6 !important;
+ background: #282a2e !important;
+ border-bottom: none;
+}
+.panel-body {
+ color: #C5C8C6 !important;
+ background: #1d1f21 !important;
+ border-color: #111 !important;
+}
+p.btn.btn-default {
+ background: none;
+}
+.table-striped > tbody > tr:nth-child(odd) > td,
+.table-striped > tbody > tr:nth-child(odd) > th,
+.table-striped > thead > tr:nth-child(odd) > th {
+ background: #2d2f32 none !important;
+ color: #D5D8D7 !important;
+}
+.label-success {
+ background: #1d6f42 none !important;
+}
+.label-danger {
+ background: #ad1f12 none !important;
+}
+.searx-navbar {
+ background: #333334;
+ height: 2.3rem;
+ font-size: 1.3rem;
+ line-height: 1.3rem;
+ padding: 0.5rem;
+ font-weight: bold;
+ margin-bottom: 0.8rem;
+}
+.searx-navbar a,
+.searx-navbar a:hover {
+ margin-right: 2.0rem;
+ color: white;
+ text-decoration: none;
+}
+.searx-navbar .instance a {
+ color: #01d7d4;
+ margin-left: 2.0rem;
+}
+#main-logo {
+ margin-top: 20vh;
+ margin-bottom: 25px;
+}
+#main-logo > img {
+ max-width: 350px;
+ width: 80%;
+}
+.onoffswitch-inner:before,
+.onoffswitch-inner:after {
+ background: #1d1f21 none !important;
+}
+.onoffswitch-switch,
+.onoffswitch-label {
+ border: 2px solid #3d3f43 !important;
+}
+.nav > li > a:hover,
+.nav > li > a:focus {
+ background-color: #3d3f43 !important;
+}
+/*Images search*/
+.img-thumbnail,
+.thumbnail {
+ padding: 0px;
+ line-height: 1.42857143;
+ background: none;
+ border: none;
+}
+.modal-content {
+ background: #1d1f21 none !important;
+}
+/*Preferences*/
+.table > thead > tr > td.danger,
+.table > tbody > tr > td.danger,
+.table > tfoot > tr > td.danger,
+.table > thead > tr > th.danger,
+.table > tbody > tr > th.danger,
+.table > tfoot > tr > th.danger,
+.table > thead > tr.danger > td,
+.table > tbody > tr.danger > td,
+.table > tfoot > tr.danger > td,
+.table > thead > tr.danger > th,
+.table > tbody > tr.danger > th,
+.table > tfoot > tr.danger > th {
+ background: rgba(240, 0, 0, 0.56) !important;
+ color: #C5C8C6 !important;
+}
+.table-hover > tbody > tr > td.danger:hover,
+.table-hover > tbody > tr > th.danger:hover,
+.table-hover > tbody > tr.danger:hover > td,
+.table-hover > tbody > tr:hover > .danger,
+.table-hover > tbody > tr.danger:hover > th {
+ background: rgba(237, 59, 59, 0.61) !important;
+ color: #C5C8C6 !important;
+}
+.table-hover > tbody > tr:hover > td,
+.table-hover > tbody > tr:hover > th {
+ background: #66696e !important;
+}
+.btn-success {
+ color: #C5C8C6;
+ background: #449d44;
+}
+.btn-danger {
+ color: #C5C8C6;
+ background: #d9534f;
+}
+.well {
+ background: #444;
+ border-color: #282a2e;
+}
+.highlight {
+ background-color: transparent !important;
+}
diff --git a/searx/static/themes/oscar/css/logicodev.min.css b/searx/static/themes/oscar/css/logicodev.min.css
index 237cf7fbf..7f093e717 100644
--- a/searx/static/themes/oscar/css/logicodev.min.css
+++ b/searx/static/themes/oscar/css/logicodev.min.css
@@ -1 +1 @@
-.searx-navbar{background:#29314d;height:2.3rem;font-size:1.3rem;line-height:1.3rem;padding:.5rem;font-weight:700;margin-bottom:.8rem}.searx-navbar a,.searx-navbar a:hover{margin-right:2rem;color:#fff;text-decoration:none}.searx-navbar .instance a{color:#01d7d4;margin-left:2rem}#main-logo{margin-top:20vh;margin-bottom:25px}#main-logo>img{max-width:350px;width:80%}*{border-radius:0!important}html{position:relative;min-height:100%;color:#29314d}body{font-family:Roboto,Helvetica,Arial,sans-serif;margin-bottom:80px;background-color:#fff}body a{color:#08c}.footer{position:absolute;bottom:0;width:100%;height:60px;text-align:center;color:#999}input[type=checkbox]:checked+.label_hide_if_checked,input[type=checkbox]:checked+.label_hide_if_not_checked+.label_hide_if_checked{display:none}input[type=checkbox]:not(:checked)+.label_hide_if_not_checked,input[type=checkbox]:not(:checked)+.label_hide_if_checked+.label_hide_if_not_checked{display:none}.onoff-checkbox{width:15%}.onoffswitch{position:relative;width:110px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.onoffswitch-checkbox{display:none}.onoffswitch-label{display:block;overflow:hidden;cursor:pointer;border:2px solid #FFF!important;border-radius:50px!important}.onoffswitch-inner{display:block;transition:margin .3s ease-in 0s}.onoffswitch-inner:before,.onoffswitch-inner:after{display:block;float:left;width:50%;height:30px;padding:0;line-height:40px;font-size:20px;box-sizing:border-box;content:"";background-color:#EEE}.onoffswitch-switch{display:block;width:37px;background-color:#01d7d4;position:absolute;top:0;bottom:0;right:0;border:2px solid #FFF!important;border-radius:50px!important;transition:all .3s ease-in 0s}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner{margin-right:0}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch{right:71px;background-color:#A1A1A1}.result_header{margin-top:0;margin-bottom:2px;font-size:16px}.result_header .favicon{margin-bottom:-3px}.result_header a{color:#29314d;text-decoration:none}.result_header a:hover{color:#08c}.result_header a:visited{color:#684898}.result_header a .highlight{background-color:#f6f9fa}.result-content{margin-top:2px;margin-bottom:0;word-wrap:break-word;color:#666;font-size:13px}.result-content .highlight{font-weight:700}.external-link{color:#069025;font-size:12px;margin-bottom:15px}.external-link a{margin-right:3px}.result-default,.result-code,.result-torrent,.result-videos,.result-map{clear:both;padding:2px 4px}.result-default:hover,.result-code:hover,.result-torrent:hover,.result-videos:hover,.result-map:hover{background-color:#f6f9fa}.result-images{float:left!important;width:24%;margin:.5%}.result-images a{display:block;width:100%;background-size:cover}.img-thumbnail{margin:5px;max-height:128px;min-height:128px}.result-videos{clear:both}.result-videos hr{margin:5px 0 15px 0}.result-videos .collapse{width:100%}.result-videos .in{margin-bottom:8px}.result-torrent{clear:both}.result-torrent b{margin-right:5px;margin-left:5px}.result-torrent .seeders{color:#2ecc71}.result-torrent .leechers{color:#f35e77}.result-map{clear:both}.result-code{clear:both}.result-code .code-fork,.result-code .code-fork a{color:#666}.suggestion_item{margin:2px 5px;max-width:100%}.suggestion_item .btn{max-width:100%;white-space:normal;word-wrap:break-word;text-align:left}.result_download{margin-right:5px}#pagination{margin-top:30px;padding-bottom:60px}.label-default{color:#a4a4a4;background:0 0}.result .text-muted small{word-wrap:break-word}.modal-wrapper{box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-wrapper{background-clip:padding-box;background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0 none;position:relative}.infobox .panel-heading{background-color:#f6f9fa}.infobox .panel-heading .panel-title{font-weight:700}.infobox p{font-family:"DejaVu Serif",Georgia,Cambria,"Times New Roman",Times,serif!important;font-style:italic}.infobox .btn{background-color:#2ecc71;border:none}.infobox .btn a{color:#fff;margin:5px}.infobox .infobox_part{margin-bottom:20px;word-wrap:break-word;table-layout:fixed}.infobox .infobox_part:last-child{margin-bottom:0}.search_categories,#categories{text-transform:capitalize;margin-bottom:.5rem;display:flex;flex-wrap:wrap;flex-flow:row wrap;align-content:stretch}.search_categories label,#categories label,.search_categories .input-group-addon,#categories .input-group-addon{flex-grow:1;flex-basis:auto;font-size:1.2rem;font-weight:400;background-color:#fff;border:#ddd 1px solid;border-right:none;color:#666;padding-bottom:.4rem;padding-top:.4rem;text-align:center;min-width:50px}.search_categories label:last-child,#categories label:last-child,.search_categories .input-group-addon:last-child,#categories .input-group-addon:last-child{border-right:#ddd 1px solid}.search_categories input[type=checkbox]:checked+label,#categories input[type=checkbox]:checked+label{color:#29314d;font-weight:700;border-bottom:#01d7d4 5px solid}#main-logo{margin-top:10vh;margin-bottom:25px}#main-logo>img{max-width:350px;width:80%}#q{box-shadow:none;border-right:none;border-color:#a4a4a4}#search_form .input-group-btn .btn{border-color:#a4a4a4}#search_form .input-group-btn .btn:hover{background-color:#2ecc71;color:#fff}.custom-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;font-size:1.2rem;font-weight:400;background-color:#fff;border:#ddd 1px solid;color:#666;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAQAAACR313BAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAABFkAAARZAVnbJUkAAAAHdElNRQfgBxgLDwB20OFsAAAAbElEQVQY073OsQ3CMAAEwJMYwJGnsAehpoXJItltBkmcdZBYgIIiQoLglnz3ui+eP+bk5uneteTMZJa6OJuIqvYzSJoqwqBq8gdmTTW86/dghxAUq4xsVYT9laBYXCw93Aajh7GPEF23t4fkBYevGFTANkPRAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTA3LTI0VDExOjU1OjU4KzAyOjAwRFqFOQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0wNy0yNFQxMToxNTowMCswMjowMP7RDgQAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC) 96% no-repeat}.search-margin{margin-bottom:.6em}#advanced-search-container{display:none;text-align:left;margin-bottom:1rem;clear:both}#advanced-search-container label,#advanced-search-container .input-group-addon{font-size:1.2rem;font-weight:400;background-color:#fff;border:#ddd 1px solid;border-right:none;color:#666;padding-bottom:.4rem;padding-right:.7rem;padding-left:.7rem}#advanced-search-container label:last-child,#advanced-search-container .input-group-addon:last-child{border-right:#ddd 1px solid}#advanced-search-container input[type=radio]{display:none}#advanced-search-container input[type=radio]:checked+label{color:#29314d;font-weight:700;border-bottom:#01d7d4 5px solid}#check-advanced{display:none}#check-advanced:checked~#advanced-search-container{display:block}.advanced{padding:0;margin-top:.3rem;text-align:right}.advanced label,.advanced select{cursor:pointer}.cursor-text{cursor:text!important}.cursor-pointer{cursor:pointer!important}pre,code{font-family:'Ubuntu Mono','Courier New','Lucida Console',monospace!important}.lineno{margin-right:5px}.highlight .hll{background-color:#ffc}.highlight{background:#f8f8f8}.highlight .c{color:#556366;font-style:italic}.highlight .err{border:1px solid #ffa92f}.highlight .k{color:#BE74D5;font-weight:700}.highlight .o{color:#d19a66}.highlight .cm{color:#556366;font-style:italic}.highlight .cp{color:#bc7a00}.highlight .c1{color:#556366;font-style:italic}.highlight .cs{color:#556366;font-style:italic}.highlight .gd{color:#a00000}.highlight .ge{font-style:italic}.highlight .gr{color:red}.highlight .gh{color:navy;font-weight:700}.highlight .gi{color:#00a000}.highlight .go{color:#888}.highlight .gp{color:navy;font-weight:700}.highlight .gs{font-weight:700}.highlight .gu{color:purple;font-weight:700}.highlight .gt{color:#04d}.highlight .kc{color:#BE74D5;font-weight:700}.highlight .kd{color:#BE74D5;font-weight:700}.highlight .kn{color:#BE74D5;font-weight:700}.highlight .kp{color:#be74d5}.highlight .kr{color:#BE74D5;font-weight:700}.highlight .kt{color:#d46c72}.highlight .m{color:#d19a66}.highlight .s{color:#86c372}.highlight .na{color:#7d9029}.highlight .nb{color:#be74d5}.highlight .nc{color:#61AFEF;font-weight:700}.highlight .no{color:#d19a66}.highlight .nd{color:#a2f}.highlight .ni{color:#999;font-weight:700}.highlight .ne{color:#D2413A;font-weight:700}.highlight .nf{color:#61afef}.highlight .nl{color:#a0a000}.highlight .nn{color:#61AFEF;font-weight:700}.highlight .nt{color:#BE74D5;font-weight:700}.highlight .nv{color:#dfc06f}.highlight .ow{color:#A2F;font-weight:700}.highlight .w{color:#d7dae0}.highlight .mf{color:#d19a66}.highlight .mh{color:#d19a66}.highlight .mi{color:#d19a66}.highlight .mo{color:#d19a66}.highlight .sb{color:#86c372}.highlight .sc{color:#86c372}.highlight .sd{color:#86C372;font-style:italic}.highlight .s2{color:#86c372}.highlight .se{color:#B62;font-weight:700}.highlight .sh{color:#86c372}.highlight .si{color:#B68;font-weight:700}.highlight .sx{color:#be74d5}.highlight .sr{color:#b68}.highlight .s1{color:#86c372}.highlight .ss{color:#dfc06f}.highlight .bp{color:#be74d5}.highlight .vc{color:#dfc06f}.highlight .vg{color:#dfc06f}.highlight .vi{color:#dfc06f}.highlight .il{color:#d19a66}.highlight .lineno{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;color:#556366}.highlight .lineno::selection{background:0 0}.highlight .lineno::-moz-selection{background:0 0}.highlight pre{background-color:#282C34;color:#D7DAE0;border:none;margin-bottom:25px;font-size:15px;padding:20px 10px}.highlight{font-weight:700}.table>tbody>tr>td,.table>tbody>tr>th{vertical-align:middle!important} \ No newline at end of file
+.searx-navbar{background:#29314d;height:2.3rem;font-size:1.3rem;line-height:1.3rem;padding:.5rem;font-weight:700;margin-bottom:.8rem}.searx-navbar a,.searx-navbar a:hover{margin-right:2rem;color:#fff;text-decoration:none}.searx-navbar .instance a{color:#01d7d4;margin-left:2rem}#main-logo{margin-top:20vh;margin-bottom:25px}#main-logo>img{max-width:350px;width:80%}*{border-radius:0!important}html{position:relative;min-height:100%;color:#29314d}body{font-family:Roboto,Helvetica,Arial,sans-serif;margin-bottom:80px;background-color:#fff}body a{color:#08c}.footer{position:absolute;bottom:0;width:100%;height:60px;text-align:center;color:#999}input[type=checkbox]:checked+.label_hide_if_checked,input[type=checkbox]:checked+.label_hide_if_not_checked+.label_hide_if_checked{display:none}input[type=checkbox]:not(:checked)+.label_hide_if_not_checked,input[type=checkbox]:not(:checked)+.label_hide_if_checked+.label_hide_if_not_checked{display:none}.onoff-checkbox{width:15%}.onoffswitch{position:relative;width:110px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.onoffswitch-checkbox{display:none}.onoffswitch-label{display:block;overflow:hidden;cursor:pointer;border:2px solid #FFF!important;border-radius:50px!important}.onoffswitch-inner{display:block;transition:margin .3s ease-in 0s}.onoffswitch-inner:before,.onoffswitch-inner:after{display:block;float:left;width:50%;height:30px;padding:0;line-height:40px;font-size:20px;box-sizing:border-box;content:"";background-color:#EEE}.onoffswitch-switch{display:block;width:37px;background-color:#01d7d4;position:absolute;top:0;bottom:0;right:0;border:2px solid #FFF!important;border-radius:50px!important;transition:all .3s ease-in 0s}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner{margin-right:0}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch{right:71px;background-color:#A1A1A1}.result_header{margin-top:0;margin-bottom:2px;font-size:16px}.result_header .favicon{margin-bottom:-3px}.result_header a{color:#29314d;text-decoration:none}.result_header a:hover{color:#08c}.result_header a:visited{color:#684898}.result_header a .highlight{background-color:#f6f9fa}.result-content,.result-format,.result-source{margin-top:2px;margin-bottom:0;word-wrap:break-word;color:#666;font-size:13px}.result-content .highlight,.result-format .highlight,.result-source .highlight{font-weight:700}.result-source{font-size:10px;float:left}.result-format{font-size:10px;float:right}.external-link{color:#069025;font-size:12px;margin-bottom:15px}.external-link a{margin-right:3px}.result-default,.result-code,.result-torrent,.result-videos,.result-map{clear:both;padding:2px 4px}.result-default:hover,.result-code:hover,.result-torrent:hover,.result-videos:hover,.result-map:hover{background-color:#f6f9fa}.result-images{float:left!important;width:24%;margin:.5%}.result-images a{display:block;width:100%;background-size:cover}.img-thumbnail{margin:5px;max-height:128px;min-height:128px}.result-videos{clear:both}.result-videos hr{margin:5px 0 15px 0}.result-videos .collapse{width:100%}.result-videos .in{margin-bottom:8px}.result-torrent{clear:both}.result-torrent b{margin-right:5px;margin-left:5px}.result-torrent .seeders{color:#2ecc71}.result-torrent .leechers{color:#f35e77}.result-map{clear:both}.result-code{clear:both}.result-code .code-fork,.result-code .code-fork a{color:#666}.suggestion_item{margin:2px 5px;max-width:100%}.suggestion_item .btn{max-width:100%;white-space:normal;word-wrap:break-word;text-align:left}.result_download{margin-right:5px}#pagination{margin-top:30px;padding-bottom:60px}.label-default{color:#a4a4a4;background:0 0}.result .text-muted small{word-wrap:break-word}.modal-wrapper{box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-wrapper{background-clip:padding-box;background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0 none;position:relative}.infobox .panel-heading{background-color:#f6f9fa}.infobox .panel-heading .panel-title{font-weight:700}.infobox p{font-family:"DejaVu Serif",Georgia,Cambria,"Times New Roman",Times,serif!important;font-style:italic}.infobox .btn{background-color:#2ecc71;border:none}.infobox .btn a{color:#fff;margin:5px}.infobox .infobox_part{margin-bottom:20px;word-wrap:break-word;table-layout:fixed}.infobox .infobox_part:last-child{margin-bottom:0}.search_categories,#categories{text-transform:capitalize;margin-bottom:.5rem;display:flex;flex-wrap:wrap;flex-flow:row wrap;align-content:stretch}.search_categories label,#categories label,.search_categories .input-group-addon,#categories .input-group-addon{flex-grow:1;flex-basis:auto;font-size:1.2rem;font-weight:400;background-color:#fff;border:#ddd 1px solid;border-right:none;color:#666;padding-bottom:.4rem;padding-top:.4rem;text-align:center;min-width:50px}.search_categories label:last-child,#categories label:last-child,.search_categories .input-group-addon:last-child,#categories .input-group-addon:last-child{border-right:#ddd 1px solid}.search_categories input[type=checkbox]:checked+label,#categories input[type=checkbox]:checked+label{color:#29314d;font-weight:700;border-bottom:#01d7d4 5px solid}#main-logo{margin-top:10vh;margin-bottom:25px}#main-logo>img{max-width:350px;width:80%}#q{box-shadow:none;border-right:none;border-color:#a4a4a4}#search_form .input-group-btn .btn{border-color:#a4a4a4}#search_form .input-group-btn .btn:hover{background-color:#2ecc71;color:#fff}.custom-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;font-size:1.2rem;font-weight:400;background-color:#fff;border:#ddd 1px solid;color:#666;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAQAAACR313BAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAABFkAAARZAVnbJUkAAAAHdElNRQfgBxgLDwB20OFsAAAAbElEQVQY073OsQ3CMAAEwJMYwJGnsAehpoXJItltBkmcdZBYgIIiQoLglnz3ui+eP+bk5uneteTMZJa6OJuIqvYzSJoqwqBq8gdmTTW86/dghxAUq4xsVYT9laBYXCw93Aajh7GPEF23t4fkBYevGFTANkPRAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTA3LTI0VDExOjU1OjU4KzAyOjAwRFqFOQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0wNy0yNFQxMToxNTowMCswMjowMP7RDgQAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC) 96% no-repeat}.search-margin{margin-bottom:.6em}#advanced-search-container{display:none;text-align:left;margin-bottom:1rem;clear:both}#advanced-search-container label,#advanced-search-container .input-group-addon{font-size:1.2rem;font-weight:400;background-color:#fff;border:#ddd 1px solid;border-right:none;color:#666;padding-bottom:.4rem;padding-right:.7rem;padding-left:.7rem}#advanced-search-container label:last-child,#advanced-search-container .input-group-addon:last-child{border-right:#ddd 1px solid}#advanced-search-container input[type=radio]{display:none}#advanced-search-container input[type=radio]:checked+label{color:#29314d;font-weight:700;border-bottom:#01d7d4 5px solid}#check-advanced{display:none}#check-advanced:checked~#advanced-search-container{display:block}.advanced{padding:0;margin-top:.3rem;text-align:right}.advanced label,.advanced select{cursor:pointer}.cursor-text{cursor:text!important}.cursor-pointer{cursor:pointer!important}pre,code{font-family:'Ubuntu Mono','Courier New','Lucida Console',monospace!important}.lineno{margin-right:5px}.highlight .hll{background-color:#ffc}.highlight{background:#f8f8f8}.highlight .c{color:#556366;font-style:italic}.highlight .err{border:1px solid #ffa92f}.highlight .k{color:#BE74D5;font-weight:700}.highlight .o{color:#d19a66}.highlight .cm{color:#556366;font-style:italic}.highlight .cp{color:#bc7a00}.highlight .c1{color:#556366;font-style:italic}.highlight .cs{color:#556366;font-style:italic}.highlight .gd{color:#a00000}.highlight .ge{font-style:italic}.highlight .gr{color:red}.highlight .gh{color:navy;font-weight:700}.highlight .gi{color:#00a000}.highlight .go{color:#888}.highlight .gp{color:navy;font-weight:700}.highlight .gs{font-weight:700}.highlight .gu{color:purple;font-weight:700}.highlight .gt{color:#04d}.highlight .kc{color:#BE74D5;font-weight:700}.highlight .kd{color:#BE74D5;font-weight:700}.highlight .kn{color:#BE74D5;font-weight:700}.highlight .kp{color:#be74d5}.highlight .kr{color:#BE74D5;font-weight:700}.highlight .kt{color:#d46c72}.highlight .m{color:#d19a66}.highlight .s{color:#86c372}.highlight .na{color:#7d9029}.highlight .nb{color:#be74d5}.highlight .nc{color:#61AFEF;font-weight:700}.highlight .no{color:#d19a66}.highlight .nd{color:#a2f}.highlight .ni{color:#999;font-weight:700}.highlight .ne{color:#D2413A;font-weight:700}.highlight .nf{color:#61afef}.highlight .nl{color:#a0a000}.highlight .nn{color:#61AFEF;font-weight:700}.highlight .nt{color:#BE74D5;font-weight:700}.highlight .nv{color:#dfc06f}.highlight .ow{color:#A2F;font-weight:700}.highlight .w{color:#d7dae0}.highlight .mf{color:#d19a66}.highlight .mh{color:#d19a66}.highlight .mi{color:#d19a66}.highlight .mo{color:#d19a66}.highlight .sb{color:#86c372}.highlight .sc{color:#86c372}.highlight .sd{color:#86C372;font-style:italic}.highlight .s2{color:#86c372}.highlight .se{color:#B62;font-weight:700}.highlight .sh{color:#86c372}.highlight .si{color:#B68;font-weight:700}.highlight .sx{color:#be74d5}.highlight .sr{color:#b68}.highlight .s1{color:#86c372}.highlight .ss{color:#dfc06f}.highlight .bp{color:#be74d5}.highlight .vc{color:#dfc06f}.highlight .vg{color:#dfc06f}.highlight .vi{color:#dfc06f}.highlight .il{color:#d19a66}.highlight .lineno{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;color:#556366}.highlight .lineno::selection{background:0 0}.highlight .lineno::-moz-selection{background:0 0}.highlight pre{background-color:#282C34;color:#D7DAE0;border:none;margin-bottom:25px;font-size:15px;padding:20px 10px}.highlight{font-weight:700}.table>tbody>tr>td,.table>tbody>tr>th{vertical-align:middle!important} \ No newline at end of file
diff --git a/searx/static/themes/oscar/css/pointhi.css b/searx/static/themes/oscar/css/pointhi.css
new file mode 100644
index 000000000..4e167687c
--- /dev/null
+++ b/searx/static/themes/oscar/css/pointhi.css
@@ -0,0 +1,562 @@
+html {
+ position: relative;
+ min-height: 100%;
+}
+body {
+ /* Margin bottom by footer height */
+ margin-bottom: 80px;
+}
+.footer {
+ position: absolute;
+ bottom: 0;
+ width: 100%;
+ /* Set the fixed height of the footer here */
+ height: 60px;
+}
+input[type=checkbox]:checked + .label_hide_if_checked,
+input[type=checkbox]:checked + .label_hide_if_not_checked + .label_hide_if_checked {
+ display: none;
+}
+input[type=checkbox]:not(:checked) + .label_hide_if_not_checked,
+input[type=checkbox]:not(:checked) + .label_hide_if_checked + .label_hide_if_not_checked {
+ display: none;
+}
+.onoff-checkbox {
+ width: 15%;
+}
+.onoffswitch {
+ position: relative;
+ width: 110px;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+}
+.onoffswitch-checkbox {
+ display: none;
+}
+.onoffswitch-label {
+ display: block;
+ overflow: hidden;
+ cursor: pointer;
+ border: 2px solid #FFFFFF !important;
+ border-radius: 50px !important;
+}
+.onoffswitch-inner {
+ display: block;
+ transition: margin 0.3s ease-in 0s;
+}
+.onoffswitch-inner:before,
+.onoffswitch-inner:after {
+ display: block;
+ float: left;
+ width: 50%;
+ height: 30px;
+ padding: 0;
+ line-height: 40px;
+ font-size: 20px;
+ box-sizing: border-box;
+ content: "";
+ background-color: #EEEEEE;
+}
+.onoffswitch-switch {
+ display: block;
+ width: 37px;
+ background-color: #00CC00;
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ right: 0px;
+ border: 2px solid #FFFFFF !important;
+ border-radius: 50px !important;
+ transition: all 0.3s ease-in 0s;
+}
+.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
+ margin-right: 0;
+}
+.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
+ right: 71px;
+ background-color: #A1A1A1;
+}
+.result_header {
+ margin-bottom: 5px;
+ margin-top: 20px;
+}
+.result_header .favicon {
+ margin-bottom: -3px;
+}
+.result_header a {
+ vertical-align: bottom;
+}
+.result_header a .highlight {
+ font-weight: bold;
+}
+.result-content {
+ margin-top: 5px;
+ word-wrap: break-word;
+}
+.result-content .highlight {
+ font-weight: bold;
+}
+.result-default {
+ clear: both;
+}
+.result-images {
+ float: left !important;
+ height: 138px;
+}
+.img-thumbnail {
+ margin: 5px;
+ max-height: 128px;
+}
+.result-videos {
+ clear: both;
+}
+.result-torrents {
+ clear: both;
+}
+.result-map {
+ clear: both;
+}
+.result-code {
+ clear: both;
+}
+.suggestion_item {
+ margin: 2px 5px;
+ max-width: 100%;
+}
+.suggestion_item .btn {
+ max-width: 100%;
+ white-space: normal;
+ word-wrap: break-word;
+ text-align: left;
+}
+.result_download {
+ margin-right: 5px;
+}
+#pagination {
+ margin-top: 30px;
+ padding-bottom: 50px;
+}
+.label-default {
+ color: #AAA;
+ background: #FFF;
+}
+.result .text-muted small {
+ word-wrap: break-word;
+}
+.modal-wrapper {
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
+}
+.modal-wrapper {
+ background-clip: padding-box;
+ background-color: #fff;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 6px;
+ box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
+ outline: 0 none;
+ position: relative;
+}
+.infobox .infobox_part {
+ margin-bottom: 20px;
+ word-wrap: break-word;
+ table-layout: fixed;
+}
+.infobox .infobox_part:last-child {
+ margin-bottom: 0;
+}
+.search_categories,
+#categories {
+ text-transform: capitalize;
+ margin-bottom: 1.5rem;
+ margin-top: 1.5rem;
+ display: flex;
+ flex-wrap: wrap;
+ align-content: stretch;
+}
+.search_categories label,
+#categories label,
+.search_categories .input-group-addon,
+#categories .input-group-addon {
+ flex-grow: 1;
+ flex-basis: auto;
+ font-size: 1.3rem;
+ font-weight: normal;
+ background-color: white;
+ border: #DDD 1px solid;
+ border-right: none;
+ color: #333;
+ padding-bottom: 0.8rem;
+ padding-top: 0.8rem;
+ text-align: center;
+ min-width: 50px;
+}
+.search_categories label:last-child,
+#categories label:last-child,
+.search_categories .input-group-addon:last-child,
+#categories .input-group-addon:last-child {
+ border-right: #DDD 1px solid;
+}
+.search_categories input[type="checkbox"]:checked + label,
+#categories input[type="checkbox"]:checked + label {
+ color: black;
+ font-weight: bold;
+ background-color: #EEE;
+}
+#advanced-search-container {
+ display: none;
+ text-align: center;
+ margin-bottom: 1rem;
+ clear: both;
+}
+#advanced-search-container label,
+#advanced-search-container .input-group-addon {
+ font-size: 1.3rem;
+ font-weight: normal;
+ background-color: white;
+ border: #DDD 1px solid;
+ border-right: none;
+ color: #333;
+ padding-bottom: 0.8rem;
+ padding-left: 1.2rem;
+ padding-right: 1.2rem;
+}
+#advanced-search-container label:last-child,
+#advanced-search-container .input-group-addon:last-child {
+ border-right: #DDD 1px solid;
+}
+#advanced-search-container input[type="radio"] {
+ display: none;
+}
+#advanced-search-container input[type="radio"]:checked + label {
+ color: black;
+ font-weight: bold;
+ background-color: #EEE;
+}
+#check-advanced {
+ display: none;
+}
+#check-advanced:checked ~ #advanced-search-container {
+ display: block;
+}
+.advanced {
+ padding: 0;
+ margin-top: 0.3rem;
+ text-align: right;
+}
+.advanced label,
+.advanced select {
+ cursor: pointer;
+}
+.cursor-text {
+ cursor: text !important;
+}
+.cursor-pointer {
+ cursor: pointer !important;
+}
+.highlight .hll {
+ background-color: #ffffcc;
+}
+.highlight {
+ background: #f8f8f8;
+}
+.highlight .c {
+ color: #408080;
+ font-style: italic;
+}
+/* Comment */
+.highlight .err {
+ border: 1px solid #ff0000;
+}
+/* Error */
+.highlight .k {
+ color: #008000;
+ font-weight: bold;
+}
+/* Keyword */
+.highlight .o {
+ color: #666666;
+}
+/* Operator */
+.highlight .cm {
+ color: #408080;
+ font-style: italic;
+}
+/* Comment.Multiline */
+.highlight .cp {
+ color: #bc7a00;
+}
+/* Comment.Preproc */
+.highlight .c1 {
+ color: #408080;
+ font-style: italic;
+}
+/* Comment.Single */
+.highlight .cs {
+ color: #408080;
+ font-style: italic;
+}
+/* Comment.Special */
+.highlight .gd {
+ color: #a00000;
+}
+/* Generic.Deleted */
+.highlight .ge {
+ font-style: italic;
+}
+/* Generic.Emph */
+.highlight .gr {
+ color: #ff0000;
+}
+/* Generic.Error */
+.highlight .gh {
+ color: #000080;
+ font-weight: bold;
+}
+/* Generic.Heading */
+.highlight .gi {
+ color: #00a000;
+}
+/* Generic.Inserted */
+.highlight .go {
+ color: #888888;
+}
+/* Generic.Output */
+.highlight .gp {
+ color: #000080;
+ font-weight: bold;
+}
+/* Generic.Prompt */
+.highlight .gs {
+ font-weight: bold;
+}
+/* Generic.Strong */
+.highlight .gu {
+ color: #800080;
+ font-weight: bold;
+}
+/* Generic.Subheading */
+.highlight .gt {
+ color: #0044dd;
+}
+/* Generic.Traceback */
+.highlight .kc {
+ color: #008000;
+ font-weight: bold;
+}
+/* Keyword.Constant */
+.highlight .kd {
+ color: #008000;
+ font-weight: bold;
+}
+/* Keyword.Declaration */
+.highlight .kn {
+ color: #008000;
+ font-weight: bold;
+}
+/* Keyword.Namespace */
+.highlight .kp {
+ color: #008000;
+}
+/* Keyword.Pseudo */
+.highlight .kr {
+ color: #008000;
+ font-weight: bold;
+}
+/* Keyword.Reserved */
+.highlight .kt {
+ color: #b00040;
+}
+/* Keyword.Type */
+.highlight .m {
+ color: #666666;
+}
+/* Literal.Number */
+.highlight .s {
+ color: #ba2121;
+}
+/* Literal.String */
+.highlight .na {
+ color: #7d9029;
+}
+/* Name.Attribute */
+.highlight .nb {
+ color: #008000;
+}
+/* Name.Builtin */
+.highlight .nc {
+ color: #0000FF;
+ font-weight: bold;
+}
+/* Name.Class */
+.highlight .no {
+ color: #880000;
+}
+/* Name.Constant */
+.highlight .nd {
+ color: #aa22ff;
+}
+/* Name.Decorator */
+.highlight .ni {
+ color: #999999;
+ font-weight: bold;
+}
+/* Name.Entity */
+.highlight .ne {
+ color: #D2413A;
+ font-weight: bold;
+}
+/* Name.Exception */
+.highlight .nf {
+ color: #0000ff;
+}
+/* Name.Function */
+.highlight .nl {
+ color: #a0a000;
+}
+/* Name.Label */
+.highlight .nn {
+ color: #0000FF;
+ font-weight: bold;
+}
+/* Name.Namespace */
+.highlight .nt {
+ color: #008000;
+ font-weight: bold;
+}
+/* Name.Tag */
+.highlight .nv {
+ color: #19177c;
+}
+/* Name.Variable */
+.highlight .ow {
+ color: #AA22FF;
+ font-weight: bold;
+}
+/* Operator.Word */
+.highlight .w {
+ color: #bbbbbb;
+}
+/* Text.Whitespace */
+.highlight .mf {
+ color: #666666;
+}
+/* Literal.Number.Float */
+.highlight .mh {
+ color: #666666;
+}
+/* Literal.Number.Hex */
+.highlight .mi {
+ color: #666666;
+}
+/* Literal.Number.Integer */
+.highlight .mo {
+ color: #666666;
+}
+/* Literal.Number.Oct */
+.highlight .sb {
+ color: #ba2121;
+}
+/* Literal.String.Backtick */
+.highlight .sc {
+ color: #ba2121;
+}
+/* Literal.String.Char */
+.highlight .sd {
+ color: #BA2121;
+ font-style: italic;
+}
+/* Literal.String.Doc */
+.highlight .s2 {
+ color: #ba2121;
+}
+/* Literal.String.Double */
+.highlight .se {
+ color: #BB6622;
+ font-weight: bold;
+}
+/* Literal.String.Escape */
+.highlight .sh {
+ color: #ba2121;
+}
+/* Literal.String.Heredoc */
+.highlight .si {
+ color: #BB6688;
+ font-weight: bold;
+}
+/* Literal.String.Interpol */
+.highlight .sx {
+ color: #008000;
+}
+/* Literal.String.Other */
+.highlight .sr {
+ color: #bb6688;
+}
+/* Literal.String.Regex */
+.highlight .s1 {
+ color: #ba2121;
+}
+/* Literal.String.Single */
+.highlight .ss {
+ color: #19177c;
+}
+/* Literal.String.Symbol */
+.highlight .bp {
+ color: #008000;
+}
+/* Name.Builtin.Pseudo */
+.highlight .vc {
+ color: #19177c;
+}
+/* Name.Variable.Class */
+.highlight .vg {
+ color: #19177c;
+}
+/* Name.Variable.Global */
+.highlight .vi {
+ color: #19177c;
+}
+/* Name.Variable.Instance */
+.highlight .il {
+ color: #666666;
+}
+/* Literal.Number.Integer.Long */
+.highlight .lineno {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ cursor: default;
+}
+.highlight .lineno::selection {
+ background: transparent;
+ /* WebKit/Blink Browsers */
+}
+.highlight .lineno::-moz-selection {
+ background: transparent;
+ /* Gecko Browsers */
+}
+.searx-navbar {
+ background: #eee;
+ color: #aaa;
+ height: 2.3rem;
+ font-size: 1.3rem;
+ line-height: 1.3rem;
+ padding: 0.5rem;
+ font-weight: bold;
+ margin-bottom: 1.3rem;
+}
+.searx-navbar a,
+.searx-navbar a:hover {
+ margin-right: 2.0rem;
+ text-decoration: none;
+}
+.searx-navbar .instance a {
+ color: #444;
+ margin-left: 2.0rem;
+}
+.table > tbody > tr > td,
+.table > tbody > tr > th {
+ vertical-align: middle !important;
+}
diff --git a/searx/static/themes/oscar/gruntfile.js b/searx/static/themes/oscar/gruntfile.js
index 591399449..def035dba 100644
--- a/searx/static/themes/oscar/gruntfile.js
+++ b/searx/static/themes/oscar/gruntfile.js
@@ -24,7 +24,7 @@ module.exports = function(grunt) {
jshint: {
files: ['gruntfile.js', 'js/searx_src/*.js'],
options: {
- reporterOutput: "",
+ reporterOutput: "",
// options here to override JSHint defaults
globals: {
jQuery: true,
@@ -55,7 +55,7 @@ module.exports = function(grunt) {
"css/logicodev-dark.min.css": "less/logicodev-dark/oscar.less"}
},
/*
- // built with ./manage.sh styles
+ // built with ./manage.sh styles
bootstrap: {
options: {
paths: ["less/bootstrap"],
@@ -90,7 +90,7 @@ module.exports = function(grunt) {
grunt.registerTask('test', ['jshint']);
grunt.registerTask('default', ['jshint', 'concat', 'uglify', 'less']);
-
+
grunt.registerTask('styles', ['less']);
};
diff --git a/searx/static/themes/oscar/img/icons/invidious.png b/searx/static/themes/oscar/img/icons/invidious.png
new file mode 100644
index 000000000..a94c969d8
--- /dev/null
+++ b/searx/static/themes/oscar/img/icons/invidious.png
Binary files differ
diff --git a/searx/static/themes/oscar/js/searx.js b/searx/static/themes/oscar/js/searx.js
new file mode 100644
index 000000000..927aeb422
--- /dev/null
+++ b/searx/static/themes/oscar/js/searx.js
@@ -0,0 +1,356 @@
+/**
+ * searx is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * searx 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with searx. If not, see < http://www.gnu.org/licenses/ >.
+ *
+ * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at>
+ */
+
+requirejs.config({
+ baseUrl: './static/themes/oscar/js',
+ paths: {
+ app: '../app'
+ }
+});
+;/**
+ * searx is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * searx 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with searx. If not, see < http://www.gnu.org/licenses/ >.
+ *
+ * (C) 2019 by Alexandre Flament
+ */
+window.searx = (function(d) {
+ 'use strict';
+
+ // add data- properties
+ var script = d.currentScript || (function() {
+ var scripts = d.getElementsByTagName('script');
+ return scripts[scripts.length - 1];
+ })();
+
+ return {
+ autocompleter: script.getAttribute('data-autocompleter') === 'true',
+ method: script.getAttribute('data-method')
+ };
+})(document);
+;/**
+ * searx is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * searx 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with searx. If not, see < http://www.gnu.org/licenses/ >.
+ *
+ * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at>
+ */
+
+if(searx.autocompleter) {
+ searx.searchResults = new Bloodhound({
+ datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
+ queryTokenizer: Bloodhound.tokenizers.whitespace,
+ remote: './autocompleter?q=%QUERY'
+ });
+ searx.searchResults.initialize();
+}
+
+$(document).ready(function(){
+ if(searx.autocompleter) {
+ $('#q').typeahead(null, {
+ name: 'search-results',
+ displayKey: function(result) {
+ return result;
+ },
+ source: searx.searchResults.ttAdapter()
+ });
+ }
+});
+;/**
+ * searx is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * searx 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with searx. If not, see < http://www.gnu.org/licenses/ >.
+ *
+ * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at>
+ */
+
+$(document).ready(function(){
+ /**
+ * focus element if class="autofocus" and id="q"
+ */
+ $('#q.autofocus').focus();
+
+ /**
+ * select full content on click if class="select-all-on-click"
+ */
+ $(".select-all-on-click").click(function () {
+ $(this).select();
+ });
+
+ /**
+ * change text during btn-collapse click if possible
+ */
+ $('.btn-collapse').click(function() {
+ var btnTextCollapsed = $(this).data('btn-text-collapsed');
+ var btnTextNotCollapsed = $(this).data('btn-text-not-collapsed');
+
+ if(btnTextCollapsed !== '' && btnTextNotCollapsed !== '') {
+ if($(this).hasClass('collapsed')) {
+ new_html = $(this).html().replace(btnTextCollapsed, btnTextNotCollapsed);
+ } else {
+ new_html = $(this).html().replace(btnTextNotCollapsed, btnTextCollapsed);
+ }
+ $(this).html(new_html);
+ }
+ });
+
+ /**
+ * change text during btn-toggle click if possible
+ */
+ $('.btn-toggle .btn').click(function() {
+ var btnClass = 'btn-' + $(this).data('btn-class');
+ var btnLabelDefault = $(this).data('btn-label-default');
+ var btnLabelToggled = $(this).data('btn-label-toggled');
+ if(btnLabelToggled !== '') {
+ if($(this).hasClass('btn-default')) {
+ new_html = $(this).html().replace(btnLabelDefault, btnLabelToggled);
+ } else {
+ new_html = $(this).html().replace(btnLabelToggled, btnLabelDefault);
+ }
+ $(this).html(new_html);
+ }
+ $(this).toggleClass(btnClass);
+ $(this).toggleClass('btn-default');
+ });
+
+ /**
+ * change text during btn-toggle click if possible
+ */
+ $('.media-loader').click(function() {
+ var target = $(this).data('target');
+ var iframe_load = $(target + ' > iframe');
+ var srctest = iframe_load.attr('src');
+ if(srctest === undefined || srctest === false){
+ iframe_load.attr('src', iframe_load.data('src'));
+ }
+ });
+
+ /**
+ * Select or deselect every categories on double clic
+ */
+ $(".btn-sm").dblclick(function() {
+ var btnClass = 'btn-' + $(this).data('btn-class'); // primary
+ if($(this).hasClass('btn-default')) {
+ $(".btn-sm > input").attr('checked', 'checked');
+ $(".btn-sm > input").prop("checked", true);
+ $(".btn-sm").addClass(btnClass);
+ $(".btn-sm").addClass('active');
+ $(".btn-sm").removeClass('btn-default');
+ } else {
+ $(".btn-sm > input").attr('checked', '');
+ $(".btn-sm > input").removeAttr('checked');
+ $(".btn-sm > input").checked = false;
+ $(".btn-sm").removeClass(btnClass);
+ $(".btn-sm").removeClass('active');
+ $(".btn-sm").addClass('btn-default');
+ }
+ });
+});
+;/**
+ * searx is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * searx 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with searx. If not, see < http://www.gnu.org/licenses/ >.
+ *
+ * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at>
+ */
+
+$(document).ready(function(){
+ $(".searx_overpass_request").on( "click", function( event ) {
+ var overpass_url = "https://overpass-api.de/api/interpreter?data=";
+ var query_start = overpass_url + "[out:json][timeout:25];(";
+ var query_end = ");out meta;";
+
+ var osm_id = $(this).data('osm-id');
+ var osm_type = $(this).data('osm-type');
+ var result_table = $(this).data('result-table');
+ var result_table_loadicon = "#" + $(this).data('result-table-loadicon');
+
+ // tags which can be ignored
+ var osm_ignore_tags = [ "addr:city", "addr:country", "addr:housenumber", "addr:postcode", "addr:street" ];
+
+ if(osm_id && osm_type && result_table) {
+ result_table = "#" + result_table;
+ var query = null;
+ switch(osm_type) {
+ case 'node':
+ query = query_start + "node(" + osm_id + ");" + query_end;
+ break;
+ case 'way':
+ query = query_start + "way(" + osm_id + ");" + query_end;
+ break;
+ case 'relation':
+ query = query_start + "relation(" + osm_id + ");" + query_end;
+ break;
+ default:
+ break;
+ }
+ if(query) {
+ //alert(query);
+ var ajaxRequest = $.ajax( query )
+ .done(function( html) {
+ if(html && html.elements && html.elements[0]) {
+ var element = html.elements[0];
+ var newHtml = $(result_table).html();
+ for (var row in element.tags) {
+ if(element.tags.name === null || osm_ignore_tags.indexOf(row) == -1) {
+ newHtml += "<tr><td>" + row + "</td><td>";
+ switch(row) {
+ case "phone":
+ case "fax":
+ newHtml += "<a href=\"tel:" + element.tags[row].replace(/ /g,'') + "\">" + element.tags[row] + "</a>";
+ break;
+ case "email":
+ newHtml += "<a href=\"mailto:" + element.tags[row] + "\">" + element.tags[row] + "</a>";
+ break;
+ case "website":
+ case "url":
+ newHtml += "<a href=\"" + element.tags[row] + "\">" + element.tags[row] + "</a>";
+ break;
+ case "wikidata":
+ newHtml += "<a href=\"https://www.wikidata.org/wiki/" + element.tags[row] + "\">" + element.tags[row] + "</a>";
+ break;
+ case "wikipedia":
+ if(element.tags[row].indexOf(":") != -1) {
+ newHtml += "<a href=\"https://" + element.tags[row].substring(0,element.tags[row].indexOf(":")) + ".wikipedia.org/wiki/" + element.tags[row].substring(element.tags[row].indexOf(":")+1) + "\">" + element.tags[row] + "</a>";
+ break;
+ }
+ /* jshint ignore:start */
+ default:
+ /* jshint ignore:end */
+ newHtml += element.tags[row];
+ break;
+ }
+ newHtml += "</td></tr>";
+ }
+ }
+ $(result_table).html(newHtml);
+ $(result_table).removeClass('hidden');
+ $(result_table_loadicon).addClass('hidden');
+ }
+ })
+ .fail(function() {
+ $(result_table_loadicon).html($(result_table_loadicon).html() + "<p class=\"text-muted\">could not load data!</p>");
+ });
+ }
+ }
+
+ // this event occour only once per element
+ $( this ).off( event );
+ });
+
+ $(".searx_init_map").on( "click", function( event ) {
+ var leaflet_target = $(this).data('leaflet-target');
+ var map_lon = $(this).data('map-lon');
+ var map_lat = $(this).data('map-lat');
+ var map_zoom = $(this).data('map-zoom');
+ var map_boundingbox = $(this).data('map-boundingbox');
+ var map_geojson = $(this).data('map-geojson');
+
+ require(['leaflet-0.7.3.min'], function(leaflet) {
+ if(map_boundingbox) {
+ southWest = L.latLng(map_boundingbox[0], map_boundingbox[2]);
+ northEast = L.latLng(map_boundingbox[1], map_boundingbox[3]);
+ map_bounds = L.latLngBounds(southWest, northEast);
+ }
+
+ // TODO hack
+ // change default imagePath
+ L.Icon.Default.imagePath = "./static/themes/oscar/img/map";
+
+ // init map
+ var map = L.map(leaflet_target);
+
+ // create the tile layer with correct attribution
+ var osmMapnikUrl='https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
+ var osmMapnikAttrib='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';
+ var osmMapnik = new L.TileLayer(osmMapnikUrl, {minZoom: 1, maxZoom: 19, attribution: osmMapnikAttrib});
+
+ var osmWikimediaUrl='https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png';
+ var osmWikimediaAttrib = 'Wikimedia maps beta | Maps data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';
+ var osmWikimedia = new L.TileLayer(osmWikimediaUrl, {minZoom: 1, maxZoom: 19, attribution: osmWikimediaAttrib});
+
+ // init map view
+ if(map_bounds) {
+ // TODO hack: https://github.com/Leaflet/Leaflet/issues/2021
+ setTimeout(function () {
+ map.fitBounds(map_bounds, {
+ maxZoom:17
+ });
+ }, 0);
+ } else if (map_lon && map_lat) {
+ if(map_zoom)
+ map.setView(new L.LatLng(map_lat, map_lon),map_zoom);
+ else
+ map.setView(new L.LatLng(map_lat, map_lon),8);
+ }
+
+ map.addLayer(osmMapnik);
+
+ var baseLayers = {
+ "OSM Mapnik": osmMapnik/*,
+ "OSM Wikimedia": osmWikimedia*/
+ };
+
+ L.control.layers(baseLayers).addTo(map);
+
+
+ if(map_geojson)
+ L.geoJson(map_geojson).addTo(map);
+ /*else if(map_bounds)
+ L.rectangle(map_bounds, {color: "#ff7800", weight: 3, fill:false}).addTo(map);*/
+ });
+
+ // this event occour only once per element
+ $( this ).off( event );
+ });
+});
diff --git a/searx/static/themes/oscar/js/searx.min.js b/searx/static/themes/oscar/js/searx.min.js
index d714149f6..354d9f2fe 100644
--- a/searx/static/themes/oscar/js/searx.min.js
+++ b/searx/static/themes/oscar/js/searx.min.js
@@ -1,2 +1,2 @@
-/*! oscar/searx.min.js | 06-10-2017 | https://github.com/asciimoo/searx */
-requirejs.config({baseUrl:"./static/themes/oscar/js",paths:{app:"../app"}}),searx.autocompleter&&(searx.searchResults=new Bloodhound({datumTokenizer:Bloodhound.tokenizers.obj.whitespace("value"),queryTokenizer:Bloodhound.tokenizers.whitespace,remote:"./autocompleter?q=%QUERY"}),searx.searchResults.initialize()),$(document).ready(function(){searx.autocompleter&&$("#q").typeahead(null,{name:"search-results",displayKey:function(a){return a},source:searx.searchResults.ttAdapter()})}),$(document).ready(function(){$("#q.autofocus").focus(),$(".select-all-on-click").click(function(){$(this).select()}),$(".btn-collapse").click(function(){var a=$(this).data("btn-text-collapsed"),b=$(this).data("btn-text-not-collapsed");""!==a&&""!==b&&($(this).hasClass("collapsed")?new_html=$(this).html().replace(a,b):new_html=$(this).html().replace(b,a),$(this).html(new_html))}),$(".btn-toggle .btn").click(function(){var a="btn-"+$(this).data("btn-class"),b=$(this).data("btn-label-default"),c=$(this).data("btn-label-toggled");""!==c&&($(this).hasClass("btn-default")?new_html=$(this).html().replace(b,c):new_html=$(this).html().replace(c,b),$(this).html(new_html)),$(this).toggleClass(a),$(this).toggleClass("btn-default")}),$(".media-loader").click(function(){var a=$(this).data("target"),b=$(a+" > iframe"),c=b.attr("src");void 0!==c&&c!==!1||b.attr("src",b.data("src"))}),$(".btn-sm").dblclick(function(){var a="btn-"+$(this).data("btn-class");$(this).hasClass("btn-default")?($(".btn-sm > input").attr("checked","checked"),$(".btn-sm > input").prop("checked",!0),$(".btn-sm").addClass(a),$(".btn-sm").addClass("active"),$(".btn-sm").removeClass("btn-default")):($(".btn-sm > input").attr("checked",""),$(".btn-sm > input").removeAttr("checked"),$(".btn-sm > input").checked=!1,$(".btn-sm").removeClass(a),$(".btn-sm").removeClass("active"),$(".btn-sm").addClass("btn-default"))})}),$(document).ready(function(){$(".searx_overpass_request").on("click",function(a){var b="https://overpass-api.de/api/interpreter?data=",c=b+"[out:json][timeout:25];(",d=");out meta;",e=$(this).data("osm-id"),f=$(this).data("osm-type"),g=$(this).data("result-table"),h="#"+$(this).data("result-table-loadicon"),i=["addr:city","addr:country","addr:housenumber","addr:postcode","addr:street"];if(e&&f&&g){g="#"+g;var j=null;switch(f){case"node":j=c+"node("+e+");"+d;break;case"way":j=c+"way("+e+");"+d;break;case"relation":j=c+"relation("+e+");"+d}if(j){$.ajax(j).done(function(a){if(a&&a.elements&&a.elements[0]){var b=a.elements[0],c=$(g).html();for(var d in b.tags)if(null===b.tags.name||i.indexOf(d)==-1){switch(c+="<tr><td>"+d+"</td><td>",d){case"phone":case"fax":c+='<a href="tel:'+b.tags[d].replace(/ /g,"")+'">'+b.tags[d]+"</a>";break;case"email":c+='<a href="mailto:'+b.tags[d]+'">'+b.tags[d]+"</a>";break;case"website":case"url":c+='<a href="'+b.tags[d]+'">'+b.tags[d]+"</a>";break;case"wikidata":c+='<a href="https://www.wikidata.org/wiki/'+b.tags[d]+'">'+b.tags[d]+"</a>";break;case"wikipedia":if(b.tags[d].indexOf(":")!=-1){c+='<a href="https://'+b.tags[d].substring(0,b.tags[d].indexOf(":"))+".wikipedia.org/wiki/"+b.tags[d].substring(b.tags[d].indexOf(":")+1)+'">'+b.tags[d]+"</a>";break}default:c+=b.tags[d]}c+="</td></tr>"}$(g).html(c),$(g).removeClass("hidden"),$(h).addClass("hidden")}}).fail(function(){$(h).html($(h).html()+'<p class="text-muted">could not load data!</p>')})}}$(this).off(a)}),$(".searx_init_map").on("click",function(a){var b=$(this).data("leaflet-target"),c=$(this).data("map-lon"),d=$(this).data("map-lat"),e=$(this).data("map-zoom"),f=$(this).data("map-boundingbox"),g=$(this).data("map-geojson");require(["leaflet-0.7.3.min"],function(a){f&&(southWest=L.latLng(f[0],f[2]),northEast=L.latLng(f[1],f[3]),map_bounds=L.latLngBounds(southWest,northEast)),L.Icon.Default.imagePath="./static/themes/oscar/img/map";var h=L.map(b),i="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",j='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors',k=new L.TileLayer(i,{minZoom:1,maxZoom:19,attribution:j}),l="https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png",m='Wikimedia maps beta | Maps data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';new L.TileLayer(l,{minZoom:1,maxZoom:19,attribution:m});map_bounds?setTimeout(function(){h.fitBounds(map_bounds,{maxZoom:17})},0):c&&d&&(e?h.setView(new L.LatLng(d,c),e):h.setView(new L.LatLng(d,c),8)),h.addLayer(k);var n={"OSM Mapnik":k};L.control.layers(n).addTo(h),g&&L.geoJson(g).addTo(h)}),$(this).off(a)})}); \ No newline at end of file
+/*! oscar/searx.min.js | 06-08-2019 | https://github.com/asciimoo/searx */
+requirejs.config({baseUrl:"./static/themes/oscar/js",paths:{app:"../app"}}),window.searx=function(a){"use strict";var b=a.currentScript||function(){var b=a.getElementsByTagName("script");return b[b.length-1]}();return{autocompleter:"true"===b.getAttribute("data-autocompleter"),method:b.getAttribute("data-method")}}(document),searx.autocompleter&&(searx.searchResults=new Bloodhound({datumTokenizer:Bloodhound.tokenizers.obj.whitespace("value"),queryTokenizer:Bloodhound.tokenizers.whitespace,remote:"./autocompleter?q=%QUERY"}),searx.searchResults.initialize()),$(document).ready(function(){searx.autocompleter&&$("#q").typeahead(null,{name:"search-results",displayKey:function(a){return a},source:searx.searchResults.ttAdapter()})}),$(document).ready(function(){$("#q.autofocus").focus(),$(".select-all-on-click").click(function(){$(this).select()}),$(".btn-collapse").click(function(){var a=$(this).data("btn-text-collapsed"),b=$(this).data("btn-text-not-collapsed");""!==a&&""!==b&&($(this).hasClass("collapsed")?new_html=$(this).html().replace(a,b):new_html=$(this).html().replace(b,a),$(this).html(new_html))}),$(".btn-toggle .btn").click(function(){var a="btn-"+$(this).data("btn-class"),b=$(this).data("btn-label-default"),c=$(this).data("btn-label-toggled");""!==c&&($(this).hasClass("btn-default")?new_html=$(this).html().replace(b,c):new_html=$(this).html().replace(c,b),$(this).html(new_html)),$(this).toggleClass(a),$(this).toggleClass("btn-default")}),$(".media-loader").click(function(){var a=$(this).data("target"),b=$(a+" > iframe"),c=b.attr("src");void 0!==c&&!1!==c||b.attr("src",b.data("src"))}),$(".btn-sm").dblclick(function(){var a="btn-"+$(this).data("btn-class");$(this).hasClass("btn-default")?($(".btn-sm > input").attr("checked","checked"),$(".btn-sm > input").prop("checked",!0),$(".btn-sm").addClass(a),$(".btn-sm").addClass("active"),$(".btn-sm").removeClass("btn-default")):($(".btn-sm > input").attr("checked",""),$(".btn-sm > input").removeAttr("checked"),$(".btn-sm > input").checked=!1,$(".btn-sm").removeClass(a),$(".btn-sm").removeClass("active"),$(".btn-sm").addClass("btn-default"))})}),$(document).ready(function(){$(".searx_overpass_request").on("click",function(a){var b="https://overpass-api.de/api/interpreter?data=",c=b+"[out:json][timeout:25];(",d=");out meta;",e=$(this).data("osm-id"),f=$(this).data("osm-type"),g=$(this).data("result-table"),h="#"+$(this).data("result-table-loadicon"),i=["addr:city","addr:country","addr:housenumber","addr:postcode","addr:street"];if(e&&f&&g){g="#"+g;var j=null;switch(f){case"node":j=c+"node("+e+");"+d;break;case"way":j=c+"way("+e+");"+d;break;case"relation":j=c+"relation("+e+");"+d}if(j){$.ajax(j).done(function(a){if(a&&a.elements&&a.elements[0]){var b=a.elements[0],c=$(g).html();for(var d in b.tags)if(null===b.tags.name||-1==i.indexOf(d)){switch(c+="<tr><td>"+d+"</td><td>",d){case"phone":case"fax":c+='<a href="tel:'+b.tags[d].replace(/ /g,"")+'">'+b.tags[d]+"</a>";break;case"email":c+='<a href="mailto:'+b.tags[d]+'">'+b.tags[d]+"</a>";break;case"website":case"url":c+='<a href="'+b.tags[d]+'">'+b.tags[d]+"</a>";break;case"wikidata":c+='<a href="https://www.wikidata.org/wiki/'+b.tags[d]+'">'+b.tags[d]+"</a>";break;case"wikipedia":if(-1!=b.tags[d].indexOf(":")){c+='<a href="https://'+b.tags[d].substring(0,b.tags[d].indexOf(":"))+".wikipedia.org/wiki/"+b.tags[d].substring(b.tags[d].indexOf(":")+1)+'">'+b.tags[d]+"</a>";break}default:c+=b.tags[d]}c+="</td></tr>"}$(g).html(c),$(g).removeClass("hidden"),$(h).addClass("hidden")}}).fail(function(){$(h).html($(h).html()+'<p class="text-muted">could not load data!</p>')})}}$(this).off(a)}),$(".searx_init_map").on("click",function(a){var b=$(this).data("leaflet-target"),c=$(this).data("map-lon"),d=$(this).data("map-lat"),e=$(this).data("map-zoom"),f=$(this).data("map-boundingbox"),g=$(this).data("map-geojson");require(["leaflet-0.7.3.min"],function(a){f&&(southWest=L.latLng(f[0],f[2]),northEast=L.latLng(f[1],f[3]),map_bounds=L.latLngBounds(southWest,northEast)),L.Icon.Default.imagePath="./static/themes/oscar/img/map";var h=L.map(b),i="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",j='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors',k=new L.TileLayer(i,{minZoom:1,maxZoom:19,attribution:j}),l="https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png",m='Wikimedia maps beta | Maps data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';new L.TileLayer(l,{minZoom:1,maxZoom:19,attribution:m});map_bounds?setTimeout(function(){h.fitBounds(map_bounds,{maxZoom:17})},0):c&&d&&(e?h.setView(new L.LatLng(d,c),e):h.setView(new L.LatLng(d,c),8)),h.addLayer(k);var n={"OSM Mapnik":k};L.control.layers(n).addTo(h),g&&L.geoJson(g).addTo(h)}),$(this).off(a)})}); \ No newline at end of file
diff --git a/searx/static/themes/oscar/js/searx_src/00_requirejs_config.js b/searx/static/themes/oscar/js/searx_src/00_requirejs_config.js
index 1aa434902..e7c2abdac 100644
--- a/searx/static/themes/oscar/js/searx_src/00_requirejs_config.js
+++ b/searx/static/themes/oscar/js/searx_src/00_requirejs_config.js
@@ -1,23 +1,23 @@
-/**
- * searx is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * searx 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 Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with searx. If not, see < http://www.gnu.org/licenses/ >.
- *
- * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at>
- */
-
-requirejs.config({
- baseUrl: './static/themes/oscar/js',
- paths: {
- app: '../app'
- }
-});
+/**
+ * searx is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * searx 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with searx. If not, see < http://www.gnu.org/licenses/ >.
+ *
+ * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at>
+ */
+
+requirejs.config({
+ baseUrl: './static/themes/oscar/js',
+ paths: {
+ app: '../app'
+ }
+});
diff --git a/searx/static/themes/oscar/js/searx_src/01_init.js b/searx/static/themes/oscar/js/searx_src/01_init.js
new file mode 100644
index 000000000..690365c7f
--- /dev/null
+++ b/searx/static/themes/oscar/js/searx_src/01_init.js
@@ -0,0 +1,30 @@
+/**
+ * searx is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * searx 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with searx. If not, see < http://www.gnu.org/licenses/ >.
+ *
+ * (C) 2019 by Alexandre Flament
+ */
+window.searx = (function(d) {
+ 'use strict';
+
+ // add data- properties
+ var script = d.currentScript || (function() {
+ var scripts = d.getElementsByTagName('script');
+ return scripts[scripts.length - 1];
+ })();
+
+ return {
+ autocompleter: script.getAttribute('data-autocompleter') === 'true',
+ method: script.getAttribute('data-method')
+ };
+})(document);
diff --git a/searx/static/themes/oscar/js/searx_src/autocompleter.js b/searx/static/themes/oscar/js/searx_src/autocompleter.js
index 70c66d2fc..0907f8e34 100644
--- a/searx/static/themes/oscar/js/searx_src/autocompleter.js
+++ b/searx/static/themes/oscar/js/searx_src/autocompleter.js
@@ -1,37 +1,37 @@
-/**
- * searx is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * searx 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 Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with searx. If not, see < http://www.gnu.org/licenses/ >.
- *
- * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at>
- */
-
-if(searx.autocompleter) {
- searx.searchResults = new Bloodhound({
- datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
- queryTokenizer: Bloodhound.tokenizers.whitespace,
- remote: './autocompleter?q=%QUERY'
- });
- searx.searchResults.initialize();
-}
-
-$(document).ready(function(){
- if(searx.autocompleter) {
- $('#q').typeahead(null, {
- name: 'search-results',
- displayKey: function(result) {
- return result;
- },
- source: searx.searchResults.ttAdapter()
- });
- }
-});
+/**
+ * searx is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * searx 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with searx. If not, see < http://www.gnu.org/licenses/ >.
+ *
+ * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at>
+ */
+
+if(searx.autocompleter) {
+ searx.searchResults = new Bloodhound({
+ datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
+ queryTokenizer: Bloodhound.tokenizers.whitespace,
+ remote: './autocompleter?q=%QUERY'
+ });
+ searx.searchResults.initialize();
+}
+
+$(document).ready(function(){
+ if(searx.autocompleter) {
+ $('#q').typeahead(null, {
+ name: 'search-results',
+ displayKey: function(result) {
+ return result;
+ },
+ source: searx.searchResults.ttAdapter()
+ });
+ }
+});
diff --git a/searx/static/themes/oscar/js/searx_src/element_modifiers.js b/searx/static/themes/oscar/js/searx_src/element_modifiers.js
index 8e4280548..4264d4c0d 100644
--- a/searx/static/themes/oscar/js/searx_src/element_modifiers.js
+++ b/searx/static/themes/oscar/js/searx_src/element_modifiers.js
@@ -1,99 +1,99 @@
-/**
- * searx is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * searx 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 Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with searx. If not, see < http://www.gnu.org/licenses/ >.
- *
- * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at>
- */
-
-$(document).ready(function(){
- /**
- * focus element if class="autofocus" and id="q"
- */
- $('#q.autofocus').focus();
-
- /**
- * select full content on click if class="select-all-on-click"
- */
- $(".select-all-on-click").click(function () {
- $(this).select();
- });
-
- /**
- * change text during btn-collapse click if possible
- */
- $('.btn-collapse').click(function() {
- var btnTextCollapsed = $(this).data('btn-text-collapsed');
- var btnTextNotCollapsed = $(this).data('btn-text-not-collapsed');
-
- if(btnTextCollapsed !== '' && btnTextNotCollapsed !== '') {
- if($(this).hasClass('collapsed')) {
- new_html = $(this).html().replace(btnTextCollapsed, btnTextNotCollapsed);
- } else {
- new_html = $(this).html().replace(btnTextNotCollapsed, btnTextCollapsed);
- }
- $(this).html(new_html);
- }
- });
-
- /**
- * change text during btn-toggle click if possible
- */
- $('.btn-toggle .btn').click(function() {
- var btnClass = 'btn-' + $(this).data('btn-class');
- var btnLabelDefault = $(this).data('btn-label-default');
- var btnLabelToggled = $(this).data('btn-label-toggled');
- if(btnLabelToggled !== '') {
- if($(this).hasClass('btn-default')) {
- new_html = $(this).html().replace(btnLabelDefault, btnLabelToggled);
- } else {
- new_html = $(this).html().replace(btnLabelToggled, btnLabelDefault);
- }
- $(this).html(new_html);
- }
- $(this).toggleClass(btnClass);
- $(this).toggleClass('btn-default');
- });
-
- /**
- * change text during btn-toggle click if possible
- */
- $('.media-loader').click(function() {
- var target = $(this).data('target');
- var iframe_load = $(target + ' > iframe');
- var srctest = iframe_load.attr('src');
- if(srctest === undefined || srctest === false){
- iframe_load.attr('src', iframe_load.data('src'));
- }
- });
-
- /**
- * Select or deselect every categories on double clic
- */
- $(".btn-sm").dblclick(function() {
- var btnClass = 'btn-' + $(this).data('btn-class'); // primary
- if($(this).hasClass('btn-default')) {
- $(".btn-sm > input").attr('checked', 'checked');
- $(".btn-sm > input").prop("checked", true);
- $(".btn-sm").addClass(btnClass);
- $(".btn-sm").addClass('active');
- $(".btn-sm").removeClass('btn-default');
- } else {
- $(".btn-sm > input").attr('checked', '');
- $(".btn-sm > input").removeAttr('checked');
- $(".btn-sm > input").checked = false;
- $(".btn-sm").removeClass(btnClass);
- $(".btn-sm").removeClass('active');
- $(".btn-sm").addClass('btn-default');
- }
- });
-});
+/**
+ * searx is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * searx 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with searx. If not, see < http://www.gnu.org/licenses/ >.
+ *
+ * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at>
+ */
+
+$(document).ready(function(){
+ /**
+ * focus element if class="autofocus" and id="q"
+ */
+ $('#q.autofocus').focus();
+
+ /**
+ * select full content on click if class="select-all-on-click"
+ */
+ $(".select-all-on-click").click(function () {
+ $(this).select();
+ });
+
+ /**
+ * change text during btn-collapse click if possible
+ */
+ $('.btn-collapse').click(function() {
+ var btnTextCollapsed = $(this).data('btn-text-collapsed');
+ var btnTextNotCollapsed = $(this).data('btn-text-not-collapsed');
+
+ if(btnTextCollapsed !== '' && btnTextNotCollapsed !== '') {
+ if($(this).hasClass('collapsed')) {
+ new_html = $(this).html().replace(btnTextCollapsed, btnTextNotCollapsed);
+ } else {
+ new_html = $(this).html().replace(btnTextNotCollapsed, btnTextCollapsed);
+ }
+ $(this).html(new_html);
+ }
+ });
+
+ /**
+ * change text during btn-toggle click if possible
+ */
+ $('.btn-toggle .btn').click(function() {
+ var btnClass = 'btn-' + $(this).data('btn-class');
+ var btnLabelDefault = $(this).data('btn-label-default');
+ var btnLabelToggled = $(this).data('btn-label-toggled');
+ if(btnLabelToggled !== '') {
+ if($(this).hasClass('btn-default')) {
+ new_html = $(this).html().replace(btnLabelDefault, btnLabelToggled);
+ } else {
+ new_html = $(this).html().replace(btnLabelToggled, btnLabelDefault);
+ }
+ $(this).html(new_html);
+ }
+ $(this).toggleClass(btnClass);
+ $(this).toggleClass('btn-default');
+ });
+
+ /**
+ * change text during btn-toggle click if possible
+ */
+ $('.media-loader').click(function() {
+ var target = $(this).data('target');
+ var iframe_load = $(target + ' > iframe');
+ var srctest = iframe_load.attr('src');
+ if(srctest === undefined || srctest === false){
+ iframe_load.attr('src', iframe_load.data('src'));
+ }
+ });
+
+ /**
+ * Select or deselect every categories on double clic
+ */
+ $(".btn-sm").dblclick(function() {
+ var btnClass = 'btn-' + $(this).data('btn-class'); // primary
+ if($(this).hasClass('btn-default')) {
+ $(".btn-sm > input").attr('checked', 'checked');
+ $(".btn-sm > input").prop("checked", true);
+ $(".btn-sm").addClass(btnClass);
+ $(".btn-sm").addClass('active');
+ $(".btn-sm").removeClass('btn-default');
+ } else {
+ $(".btn-sm > input").attr('checked', '');
+ $(".btn-sm > input").removeAttr('checked');
+ $(".btn-sm > input").checked = false;
+ $(".btn-sm").removeClass(btnClass);
+ $(".btn-sm").removeClass('active');
+ $(".btn-sm").addClass('btn-default');
+ }
+ });
+});
diff --git a/searx/static/themes/oscar/js/searx_src/leaflet_map.js b/searx/static/themes/oscar/js/searx_src/leaflet_map.js
index 4be46acb5..3c8c616b1 100644
--- a/searx/static/themes/oscar/js/searx_src/leaflet_map.js
+++ b/searx/static/themes/oscar/js/searx_src/leaflet_map.js
@@ -1,167 +1,167 @@
-/**
- * searx is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * searx 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 Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with searx. If not, see < http://www.gnu.org/licenses/ >.
- *
- * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at>
- */
-
-$(document).ready(function(){
- $(".searx_overpass_request").on( "click", function( event ) {
- var overpass_url = "https://overpass-api.de/api/interpreter?data=";
- var query_start = overpass_url + "[out:json][timeout:25];(";
- var query_end = ");out meta;";
-
- var osm_id = $(this).data('osm-id');
- var osm_type = $(this).data('osm-type');
- var result_table = $(this).data('result-table');
- var result_table_loadicon = "#" + $(this).data('result-table-loadicon');
-
- // tags which can be ignored
- var osm_ignore_tags = [ "addr:city", "addr:country", "addr:housenumber", "addr:postcode", "addr:street" ];
-
- if(osm_id && osm_type && result_table) {
- result_table = "#" + result_table;
- var query = null;
- switch(osm_type) {
- case 'node':
- query = query_start + "node(" + osm_id + ");" + query_end;
- break;
- case 'way':
- query = query_start + "way(" + osm_id + ");" + query_end;
- break;
- case 'relation':
- query = query_start + "relation(" + osm_id + ");" + query_end;
- break;
- default:
- break;
- }
- if(query) {
- //alert(query);
- var ajaxRequest = $.ajax( query )
- .done(function( html) {
- if(html && html.elements && html.elements[0]) {
- var element = html.elements[0];
- var newHtml = $(result_table).html();
- for (var row in element.tags) {
- if(element.tags.name === null || osm_ignore_tags.indexOf(row) == -1) {
- newHtml += "<tr><td>" + row + "</td><td>";
- switch(row) {
- case "phone":
- case "fax":
- newHtml += "<a href=\"tel:" + element.tags[row].replace(/ /g,'') + "\">" + element.tags[row] + "</a>";
- break;
- case "email":
- newHtml += "<a href=\"mailto:" + element.tags[row] + "\">" + element.tags[row] + "</a>";
- break;
- case "website":
- case "url":
- newHtml += "<a href=\"" + element.tags[row] + "\">" + element.tags[row] + "</a>";
- break;
- case "wikidata":
- newHtml += "<a href=\"https://www.wikidata.org/wiki/" + element.tags[row] + "\">" + element.tags[row] + "</a>";
- break;
- case "wikipedia":
- if(element.tags[row].indexOf(":") != -1) {
- newHtml += "<a href=\"https://" + element.tags[row].substring(0,element.tags[row].indexOf(":")) + ".wikipedia.org/wiki/" + element.tags[row].substring(element.tags[row].indexOf(":")+1) + "\">" + element.tags[row] + "</a>";
- break;
- }
- /* jshint ignore:start */
- default:
- /* jshint ignore:end */
- newHtml += element.tags[row];
- break;
- }
- newHtml += "</td></tr>";
- }
- }
- $(result_table).html(newHtml);
- $(result_table).removeClass('hidden');
- $(result_table_loadicon).addClass('hidden');
- }
- })
- .fail(function() {
- $(result_table_loadicon).html($(result_table_loadicon).html() + "<p class=\"text-muted\">could not load data!</p>");
- });
- }
- }
-
- // this event occour only once per element
- $( this ).off( event );
- });
-
- $(".searx_init_map").on( "click", function( event ) {
- var leaflet_target = $(this).data('leaflet-target');
- var map_lon = $(this).data('map-lon');
- var map_lat = $(this).data('map-lat');
- var map_zoom = $(this).data('map-zoom');
- var map_boundingbox = $(this).data('map-boundingbox');
- var map_geojson = $(this).data('map-geojson');
-
- require(['leaflet-0.7.3.min'], function(leaflet) {
- if(map_boundingbox) {
- southWest = L.latLng(map_boundingbox[0], map_boundingbox[2]);
- northEast = L.latLng(map_boundingbox[1], map_boundingbox[3]);
- map_bounds = L.latLngBounds(southWest, northEast);
- }
-
- // TODO hack
- // change default imagePath
- L.Icon.Default.imagePath = "./static/themes/oscar/img/map";
-
- // init map
- var map = L.map(leaflet_target);
-
- // create the tile layer with correct attribution
- var osmMapnikUrl='https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
- var osmMapnikAttrib='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';
- var osmMapnik = new L.TileLayer(osmMapnikUrl, {minZoom: 1, maxZoom: 19, attribution: osmMapnikAttrib});
-
- var osmWikimediaUrl='https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png';
- var osmWikimediaAttrib = 'Wikimedia maps beta | Maps data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';
- var osmWikimedia = new L.TileLayer(osmWikimediaUrl, {minZoom: 1, maxZoom: 19, attribution: osmWikimediaAttrib});
-
- // init map view
- if(map_bounds) {
- // TODO hack: https://github.com/Leaflet/Leaflet/issues/2021
- setTimeout(function () {
- map.fitBounds(map_bounds, {
- maxZoom:17
- });
- }, 0);
- } else if (map_lon && map_lat) {
- if(map_zoom)
- map.setView(new L.LatLng(map_lat, map_lon),map_zoom);
- else
- map.setView(new L.LatLng(map_lat, map_lon),8);
- }
-
- map.addLayer(osmMapnik);
-
- var baseLayers = {
- "OSM Mapnik": osmMapnik/*,
- "OSM Wikimedia": osmWikimedia*/
- };
-
- L.control.layers(baseLayers).addTo(map);
-
-
- if(map_geojson)
- L.geoJson(map_geojson).addTo(map);
- /*else if(map_bounds)
- L.rectangle(map_bounds, {color: "#ff7800", weight: 3, fill:false}).addTo(map);*/
- });
-
- // this event occour only once per element
- $( this ).off( event );
- });
-});
+/**
+ * searx is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * searx 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with searx. If not, see < http://www.gnu.org/licenses/ >.
+ *
+ * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at>
+ */
+
+$(document).ready(function(){
+ $(".searx_overpass_request").on( "click", function( event ) {
+ var overpass_url = "https://overpass-api.de/api/interpreter?data=";
+ var query_start = overpass_url + "[out:json][timeout:25];(";
+ var query_end = ");out meta;";
+
+ var osm_id = $(this).data('osm-id');
+ var osm_type = $(this).data('osm-type');
+ var result_table = $(this).data('result-table');
+ var result_table_loadicon = "#" + $(this).data('result-table-loadicon');
+
+ // tags which can be ignored
+ var osm_ignore_tags = [ "addr:city", "addr:country", "addr:housenumber", "addr:postcode", "addr:street" ];
+
+ if(osm_id && osm_type && result_table) {
+ result_table = "#" + result_table;
+ var query = null;
+ switch(osm_type) {
+ case 'node':
+ query = query_start + "node(" + osm_id + ");" + query_end;
+ break;
+ case 'way':
+ query = query_start + "way(" + osm_id + ");" + query_end;
+ break;
+ case 'relation':
+ query = query_start + "relation(" + osm_id + ");" + query_end;
+ break;
+ default:
+ break;
+ }
+ if(query) {
+ //alert(query);
+ var ajaxRequest = $.ajax( query )
+ .done(function( html) {
+ if(html && html.elements && html.elements[0]) {
+ var element = html.elements[0];
+ var newHtml = $(result_table).html();
+ for (var row in element.tags) {
+ if(element.tags.name === null || osm_ignore_tags.indexOf(row) == -1) {
+ newHtml += "<tr><td>" + row + "</td><td>";
+ switch(row) {
+ case "phone":
+ case "fax":
+ newHtml += "<a href=\"tel:" + element.tags[row].replace(/ /g,'') + "\">" + element.tags[row] + "</a>";
+ break;
+ case "email":
+ newHtml += "<a href=\"mailto:" + element.tags[row] + "\">" + element.tags[row] + "</a>";
+ break;
+ case "website":
+ case "url":
+ newHtml += "<a href=\"" + element.tags[row] + "\">" + element.tags[row] + "</a>";
+ break;
+ case "wikidata":
+ newHtml += "<a href=\"https://www.wikidata.org/wiki/" + element.tags[row] + "\">" + element.tags[row] + "</a>";
+ break;
+ case "wikipedia":
+ if(element.tags[row].indexOf(":") != -1) {
+ newHtml += "<a href=\"https://" + element.tags[row].substring(0,element.tags[row].indexOf(":")) + ".wikipedia.org/wiki/" + element.tags[row].substring(element.tags[row].indexOf(":")+1) + "\">" + element.tags[row] + "</a>";
+ break;
+ }
+ /* jshint ignore:start */
+ default:
+ /* jshint ignore:end */
+ newHtml += element.tags[row];
+ break;
+ }
+ newHtml += "</td></tr>";
+ }
+ }
+ $(result_table).html(newHtml);
+ $(result_table).removeClass('hidden');
+ $(result_table_loadicon).addClass('hidden');
+ }
+ })
+ .fail(function() {
+ $(result_table_loadicon).html($(result_table_loadicon).html() + "<p class=\"text-muted\">could not load data!</p>");
+ });
+ }
+ }
+
+ // this event occour only once per element
+ $( this ).off( event );
+ });
+
+ $(".searx_init_map").on( "click", function( event ) {
+ var leaflet_target = $(this).data('leaflet-target');
+ var map_lon = $(this).data('map-lon');
+ var map_lat = $(this).data('map-lat');
+ var map_zoom = $(this).data('map-zoom');
+ var map_boundingbox = $(this).data('map-boundingbox');
+ var map_geojson = $(this).data('map-geojson');
+
+ require(['leaflet-0.7.3.min'], function(leaflet) {
+ if(map_boundingbox) {
+ southWest = L.latLng(map_boundingbox[0], map_boundingbox[2]);
+ northEast = L.latLng(map_boundingbox[1], map_boundingbox[3]);
+ map_bounds = L.latLngBounds(southWest, northEast);
+ }
+
+ // TODO hack
+ // change default imagePath
+ L.Icon.Default.imagePath = "./static/themes/oscar/img/map";
+
+ // init map
+ var map = L.map(leaflet_target);
+
+ // create the tile layer with correct attribution
+ var osmMapnikUrl='https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
+ var osmMapnikAttrib='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';
+ var osmMapnik = new L.TileLayer(osmMapnikUrl, {minZoom: 1, maxZoom: 19, attribution: osmMapnikAttrib});
+
+ var osmWikimediaUrl='https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png';
+ var osmWikimediaAttrib = 'Wikimedia maps beta | Maps data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';
+ var osmWikimedia = new L.TileLayer(osmWikimediaUrl, {minZoom: 1, maxZoom: 19, attribution: osmWikimediaAttrib});
+
+ // init map view
+ if(map_bounds) {
+ // TODO hack: https://github.com/Leaflet/Leaflet/issues/2021
+ setTimeout(function () {
+ map.fitBounds(map_bounds, {
+ maxZoom:17
+ });
+ }, 0);
+ } else if (map_lon && map_lat) {
+ if(map_zoom)
+ map.setView(new L.LatLng(map_lat, map_lon),map_zoom);
+ else
+ map.setView(new L.LatLng(map_lat, map_lon),8);
+ }
+
+ map.addLayer(osmMapnik);
+
+ var baseLayers = {
+ "OSM Mapnik": osmMapnik/*,
+ "OSM Wikimedia": osmWikimedia*/
+ };
+
+ L.control.layers(baseLayers).addTo(map);
+
+
+ if(map_geojson)
+ L.geoJson(map_geojson).addTo(map);
+ /*else if(map_bounds)
+ L.rectangle(map_bounds, {color: "#ff7800", weight: 3, fill:false}).addTo(map);*/
+ });
+
+ // this event occour only once per element
+ $( this ).off( event );
+ });
+});
diff --git a/searx/static/themes/oscar/less/logicodev-dark/oscar.less b/searx/static/themes/oscar/less/logicodev-dark/oscar.less
index 804dd76a0..e788b8cba 100644
--- a/searx/static/themes/oscar/less/logicodev-dark/oscar.less
+++ b/searx/static/themes/oscar/less/logicodev-dark/oscar.less
@@ -59,7 +59,7 @@ ul.nav li a {
border-bottom: 4px solid #3d9f94 !important;
}
-.result-content {
+.result-content, .result-source, .result-format {
color:#B5B8B7 !important;
}
@@ -109,7 +109,7 @@ ul.nav li a {
.btn:hover {
color:#444 !important;
- background-color: #BBB !important;
+ background-color: #BBB !important;
}
.btn-primary.active {
@@ -221,7 +221,7 @@ p.btn.btn-default{
}
.table-hover > tbody > tr:hover > td, .table-hover > tbody > tr:hover > th {
- background: rgb(102, 105, 110) !important;
+ background: rgb(102, 105, 110) !important;
}
.btn-success {
diff --git a/searx/static/themes/oscar/less/logicodev/code.less b/searx/static/themes/oscar/less/logicodev/code.less
index 96486f5aa..491b30e5a 100644
--- a/searx/static/themes/oscar/less/logicodev/code.less
+++ b/searx/static/themes/oscar/less/logicodev/code.less
@@ -78,7 +78,7 @@ pre, code{
user-select: none;
cursor: default;
color: #556366;
-
+
&::selection {
background: transparent; /* WebKit/Blink Browsers */
}
@@ -99,5 +99,3 @@ pre, code{
.highlight {
font-weight: 700;
}
-
-
diff --git a/searx/static/themes/oscar/less/logicodev/infobox.less b/searx/static/themes/oscar/less/logicodev/infobox.less
index 0d488d744..954f4507a 100644
--- a/searx/static/themes/oscar/less/logicodev/infobox.less
+++ b/searx/static/themes/oscar/less/logicodev/infobox.less
@@ -30,7 +30,7 @@
table-layout: fixed;
}
-
+
.infobox_part:last-child {
margin-bottom: 0;
}
diff --git a/searx/static/themes/oscar/less/logicodev/navbar.less b/searx/static/themes/oscar/less/logicodev/navbar.less
index 5da7115d9..6e4f9ee10 100644
--- a/searx/static/themes/oscar/less/logicodev/navbar.less
+++ b/searx/static/themes/oscar/less/logicodev/navbar.less
@@ -28,4 +28,3 @@
width: 80%;
}
}
-
diff --git a/searx/static/themes/oscar/less/logicodev/results.less b/searx/static/themes/oscar/less/logicodev/results.less
index a64dc7d16..5e7e1336a 100644
--- a/searx/static/themes/oscar/less/logicodev/results.less
+++ b/searx/static/themes/oscar/less/logicodev/results.less
@@ -27,7 +27,7 @@
}
}
-.result-content {
+.result-content, .result-format, .result-source {
margin-top: 2px;
margin-bottom: 0;
word-wrap: break-word;
@@ -41,6 +41,16 @@
}
+.result-source {
+ font-size: 10px;
+ float: left;
+}
+
+.result-format {
+ font-size: 10px;
+ float: right;
+}
+
.external-link {
color: @dark-green;
font-size: 12px;
diff --git a/searx/static/themes/oscar/less/pointhi/code.less b/searx/static/themes/oscar/less/pointhi/code.less
index 90a2cd60c..70a2a5d49 100644
--- a/searx/static/themes/oscar/less/pointhi/code.less
+++ b/searx/static/themes/oscar/less/pointhi/code.less
@@ -69,7 +69,7 @@
-ms-user-select: none;
user-select: none;
cursor: default;
-
+
&::selection {
background: transparent; /* WebKit/Blink Browsers */
}
diff --git a/searx/static/themes/oscar/less/pointhi/infobox.less b/searx/static/themes/oscar/less/pointhi/infobox.less
index 41375f277..df51b002e 100644
--- a/searx/static/themes/oscar/less/pointhi/infobox.less
+++ b/searx/static/themes/oscar/less/pointhi/infobox.less
@@ -4,7 +4,7 @@
word-wrap: break-word;
table-layout: fixed;
}
-
+
.infobox_part:last-child {
margin-bottom: 0;
}
diff --git a/searx/static/themes/oscar/package.json b/searx/static/themes/oscar/package.json
index 7eae9df2b..5b10fcf9f 100644
--- a/searx/static/themes/oscar/package.json
+++ b/searx/static/themes/oscar/package.json
@@ -2,12 +2,11 @@
"devDependencies": {
"grunt": "~0.4.5",
"grunt-contrib-uglify": "~0.6.0",
- "grunt-contrib-watch" : "~0.6.1",
- "grunt-contrib-concat" : "~0.5.0",
- "grunt-contrib-jshint" : "~0.10.0",
- "grunt-contrib-less" : "~0.11.0"
+ "grunt-contrib-watch": "~0.6.1",
+ "grunt-contrib-concat": "~0.5.0",
+ "grunt-contrib-jshint": "~0.10.0",
+ "grunt-contrib-less": "~0.11.0"
},
-
"scripts": {
"build": "npm install && grunt",
"start": "grunt watch",
diff --git a/searx/static/themes/pix-art/css/style.css b/searx/static/themes/pix-art/css/style.css
index 229cf86a2..776291335 100644
--- a/searx/static/themes/pix-art/css/style.css
+++ b/searx/static/themes/pix-art/css/style.css
@@ -1 +1 @@
-html{font-family:"Courier New",Courier,monospace;font-size:.9em;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:#444;padding:0;margin:0}body,#container{padding:0;margin:0}canvas{image-rendering:optimizeSpeed;image-rendering:-moz-crisp-edges;image-rendering:-webkit-optimize-contrast;image-rendering:optimize-contrast;image-rendering:pixelated;-ms-interpolation-mode:nearest-neighbor;width:32px;height:32px}#container{width:100%;position:absolute;top:0}.search{padding:0;margin:0}#search_wrapper{position:relative;width:50em;padding:10px}.center #search_wrapper{margin-left:auto;margin-right:auto}.q{background:none repeat scroll 0 0 #fff;border:1px solid #3498db;color:#222;font-size:16px;font-family:"Courier New",Courier,monospace;height:28px;margin:0;outline:medium none;padding:2px;padding-left:8px;padding-right:0 !important;width:100%;z-index:2}#search_submit{position:absolute;top:15px;right:5px;padding:0;border:0;background:url('../img/search-icon-pixel.png') no-repeat;background-size:24px 24px;opacity:.8;width:24px;height:24px;font-size:0}@media screen and (max-width:50em){#search_wrapper{width:90%;clear:both;overflow:hidden}}.row{max-width:800px;margin:20px auto;text-align:justify}.row h1{font-size:3em;margin-top:50px}.row p{padding:0 10px;max-width:700px}.row h3,.row ul{margin:4px 8px}.hmarg{margin:0 20px;border:1px solid #3498db;padding:4px 10px}a:link.hmarg{color:#3498db}a:visited.hmarg{color:#3498db}a:active.hmarg{color:#3498db}a:hover.hmarg{color:#3498db}.top_margin{margin-top:60px}.center{text-align:center}h1{font-size:5em}div.title{background:url('../img/searx-pixel.png') no-repeat;width:100%;min-height:80px;background-position:center}div.title h1{visibility:hidden}input[type="button"],input[type="submit"]{font-family:"Courier New",Courier,monospace;padding:4px 12px;margin:2px 4px;display:inline-block;background:#3498db;color:#fff;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0;cursor:pointer}input[type="button"]:disabled{cursor:progress}input[type="checkbox"]{visibility:hidden}fieldset{margin:8px;border:1px solid #3498db}#logo{position:absolute;top:13px;left:10px}#categories{margin:0 10px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox_container{display:inline-block;position:relative;margin:0 3px;padding:0}.checkbox_container input{display:none}.checkbox_container label,.engine_checkbox label{cursor:pointer;padding:4px 10px;margin:0;display:block;text-transform:capitalize;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox_container input[type="checkbox"]:checked+label{background:#3498db;color:#fff}.engine_checkbox{padding:4px}label.allow{background:#e74c3c;padding:4px 8px;color:#fff;display:none}label.deny{background:#2ecc71;padding:4px 8px;color:#444;display:inline}.engine_checkbox input[type="checkbox"]:checked+label:nth-child(2)+label{display:none}.engine_checkbox input[type="checkbox"]:checked+label.allow{display:inline}a{text-decoration:none;color:#1a11be}a:visited{color:#8e44ad}.engines{color:#888}.small_font{font-size:.8em}.small p{margin:2px 0}.right{float:right}.invisible{display:none}.left{float:left}.highlight{color:#094089}.content .highlight{color:#000}.percentage{position:relative;width:300px}.percentage div{background:#444}table{width:100%}td{padding:0 4px}tr:hover{background:#ddd}#results{margin:auto;padding:0;width:50em;margin-bottom:20px}#search_url{margin-top:8px}#search_url input{border:1px solid #888;padding:4px;color:#444;width:14em;display:block;margin:4px;font-size:.8em}#preferences{top:10px;padding:0;border:0;background:url('../img/preference-icon-pixel.png') no-repeat;background-size:28px 28px;opacity:.8;width:28px;height:30px;display:block}#preferences *{display:none}#pagination{clear:both;text-align:center}#pagination br{clear:both}#apis{margin-top:8px;clear:both}#categories_container{position:relative}@media screen and (max-width:50em){#results{margin:auto;padding:0;width:90%}.checkbox_container{display:block;width:90%}.checkbox_container label{border-bottom:0}.preferences_container{display:none;postion:fixed !important;top:100px;right:0}}@media screen and (max-width:75em){div.title h1{font-size:1em}html.touch #categories{width:95%;height:30px;text-align:left;overflow-x:scroll;overflow-y:hidden;-webkit-overflow-scrolling:touch}html.touch #categories #categories_container{width:1000px;width:-moz-max-content;width:-webkit-max-content;width:max-content}html.touch #categories #categories_container .checkbox_container{display:inline-block;width:auto}#categories{font-size:90%;clear:both}#categories .checkbox_container{margin-top:2px;margin:auto}#categories{font-size:90%;clear:both}#categories .checkbox_container{margin-top:2px;margin:auto}#apis{display:none}#search_url{display:none}#logo{display:none}}.favicon{float:left;margin-right:4px;margin-top:2px}.preferences_back{background:none repeat scroll 0 0 #3498db;border:0 none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;cursor:pointer;display:inline-block;margin:2px 4px;padding:4px 6px}.preferences_back a{color:#fff}.hidden{opacity:0;overflow:hidden;font-size:.8em;position:absolute;bottom:-20px;width:100%;text-position:center;background:white;transition:opacity 1s ease}#categories_container:hover .hidden{transition:opacity 1s ease;opacity:.8} \ No newline at end of file
+#container,.search,body,html{padding:0;margin:0}.q,html{font-family:"Courier New",Courier,monospace}div.title h1,input[type=checkbox]{visibility:hidden}#container,#logo,#search_submit{position:absolute}#apis,#pagination,#pagination br{clear:both}#categories_container,#search_wrapper,.percentage{position:relative}html{font-size:.9em;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:#444}canvas{image-rendering:optimizeSpeed;image-rendering:-moz-crisp-edges;image-rendering:-webkit-optimize-contrast;image-rendering:optimize-contrast;image-rendering:pixelated;-ms-interpolation-mode:nearest-neighbor;width:32px;height:32px}#container{width:100%;top:0}#search_wrapper{width:50em;padding:10px}.center #search_wrapper{margin-left:auto;margin-right:auto}.q{background:#FFF;border:1px solid #3498DB;color:#222;font-size:16px;height:28px;margin:0;outline:0;padding:2px 2px 2px 8px;padding-right:0!important;width:100%;z-index:2}#search_submit{top:15px;right:5px;padding:0;border:0;background:url(../img/search-icon-pixel.png) no-repeat;background-size:24px 24px;opacity:.8;width:24px;height:24px;font-size:0}@media screen and (max-width:50em){#search_wrapper{width:90%;clear:both;overflow:hidden}}.row{max-width:800px;margin:20px auto;text-align:justify}#pagination,.center{text-align:center}.row h1{font-size:3em;margin-top:50px}.row p{padding:0 10px;max-width:700px}.row h3,.row ul{margin:4px 8px}.hmarg{margin:0 20px;border:1px solid #3498DB;padding:4px 10px}a:active.hmarg,a:hover.hmarg,a:link.hmarg,a:visited.hmarg{color:#3498DB}.top_margin{margin-top:60px}h1{font-size:5em}div.title{background:url(../img/searx-pixel.png) center no-repeat;width:100%;min-height:80px}input[type=button],input[type=submit]{font-family:"Courier New",Courier,monospace;padding:4px 12px;margin:2px 4px;display:inline-block;background:#3498DB;color:#FFF;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0;cursor:pointer}input[type=button]:disabled{cursor:progress}fieldset{margin:8px;border:1px solid #3498DB}#logo{top:13px;left:10px}#categories{margin:0 10px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox_container{display:inline-block;position:relative;margin:0 3px;padding:0}.checkbox_container input{display:none}.checkbox_container label,.engine_checkbox label{cursor:pointer;padding:4px 10px;margin:0;display:block;text-transform:capitalize;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox_container input[type=checkbox]:checked+label{background:#3498DB;color:#FFF}.engine_checkbox{padding:4px}label.allow{background:#E74C3C;padding:4px 8px;color:#FFF;display:none}label.deny{background:#2ECC71;padding:4px 8px;color:#444;display:inline}.engine_checkbox input[type=checkbox]:checked+label:nth-child(2)+label{display:none}.engine_checkbox input[type=checkbox]:checked+label.allow{display:inline}#preferences *,.invisible{display:none}a{text-decoration:none;color:#1a11be}a:visited{color:#8E44AD}.engines{color:#888}.small_font{font-size:.8em}.small p{margin:2px 0}#apis,#search_url{margin-top:8px}.right{float:right}.favicon,.left{float:left}.highlight{color:#094089}.content .highlight{color:#000}.percentage{width:300px}.percentage div{background:#444}table{width:100%}td{padding:0 4px}tr:hover{background:#DDD}#results{margin:auto auto 20px;padding:0;width:50em}#search_url input{border:1px solid #888;padding:4px;color:#444;width:14em;display:block;margin:4px;font-size:.8em}#preferences{top:10px;padding:0;border:0;background:url(../img/preference-icon-pixel.png) no-repeat;background-size:28px 28px;opacity:.8;width:28px;height:30px;display:block}@media screen and (max-width:50em){#results{margin:auto;padding:0;width:90%}.checkbox_container{display:block;width:90%}.checkbox_container label{border-bottom:0}.preferences_container{display:none;postion:fixed!important;top:100px;right:0}}@media screen and (max-width:75em){div.title h1{font-size:1em}html.touch #categories{width:95%;height:30px;text-align:left;overflow-x:scroll;overflow-y:hidden;-webkit-overflow-scrolling:touch}html.touch #categories #categories_container{width:1000px;width:-moz-max-content;width:-webkit-max-content;width:max-content}html.touch #categories #categories_container .checkbox_container{display:inline-block;width:auto}#categories{font-size:90%;clear:both}#categories .checkbox_container{margin:auto}#apis,#logo,#search_url{display:none}}.favicon{margin-right:4px;margin-top:2px}.preferences_back{background:#3498DB;border:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;cursor:pointer;display:inline-block;margin:2px 4px;padding:4px 6px}.preferences_back a{color:#FFF}.hidden{opacity:0;overflow:hidden;font-size:.8em;position:absolute;bottom:-20px;width:100%;text-position:center;background:#fff;transition:opacity 1s ease}#categories_container:hover .hidden{transition:opacity 1s ease;opacity:.8} \ No newline at end of file
diff --git a/searx/static/themes/simple/css/searx-rtl.css b/searx/static/themes/simple/css/searx-rtl.css
index a4268d7f5..2e904e5eb 100644
--- a/searx/static/themes/simple/css/searx-rtl.css
+++ b/searx/static/themes/simple/css/searx-rtl.css
@@ -1,4 +1,4 @@
-/*! searx | 14-08-2018 | https://github.com/asciimoo/searx */
+/*! searx | 06-08-2019 | https://github.com/asciimoo/searx */
/*
* searx, A privacy-respecting, hackable metasearch engine
*
diff --git a/searx/static/themes/simple/css/searx-rtl.min.css b/searx/static/themes/simple/css/searx-rtl.min.css
index 5e532fe2c..fc54981b0 100644
--- a/searx/static/themes/simple/css/searx-rtl.min.css
+++ b/searx/static/themes/simple/css/searx-rtl.min.css
@@ -1 +1 @@
-/*! searx | 14-08-2018 | https://github.com/asciimoo/searx *//*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */button,hr,input{overflow:visible}[type=checkbox],[type=radio],legend{padding:0;box-sizing:border-box}.badge,.center{text-align:center}.badge,progress,sub,sup{vertical-align:baseline}.autocomplete>ul,.list-unstyled{list-style-type:none}.tabs>section,legend{box-sizing:border-box}#main_preferences h1 span,#main_stats h1 span,.index h1{visibility:hidden}#apis,#pagination,#pagination br,#sidebar .infobox .attributes,#sidebar .infobox .urls,#sidebar .infobox br,.result .break,footer{clear:both}html{line-height:1.15}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}.highlight pre,textarea{overflow:auto}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}.badge,.search_box{white-space:nowrap}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.highlight .c,.highlight .cm,.highlight .ge,.highlight .sd{font-style:italic}.dialog-error:before,.dialog-modal:before,.dialog-warning:before,.ion-icon-big:before,.ion-icon:before{font-family:ion}details{display:block}summary{display:list-item}[hidden],html.js .show_if_nojs,html.no-js .hide_if_nojs,template{display:none}.highlight .hll{background-color:#ffc}.highlight .c{color:#408080}.highlight .err{border:1px solid red}.highlight .k{color:green;font-weight:700}.highlight .o{color:#666}.highlight .cm{color:#408080}.highlight .cp{color:#BC7A00}.highlight .c1,.highlight .cs{color:#408080;font-style:italic}.highlight .gd{color:#A00000}.highlight .gr{color:red}.highlight .gh{color:navy;font-weight:700}.highlight .gi{color:#00A000}.highlight .go{color:#888}.highlight .gp{color:navy;font-weight:700}.highlight .gs{font-weight:700}.highlight .gu{color:purple;font-weight:700}.highlight .gt{color:#04D}.highlight .kc,.highlight .kd,.highlight .kn{color:green;font-weight:700}.highlight .kp{color:green}.highlight .kr{color:green;font-weight:700}.highlight .kt{color:#B00040}.highlight .m{color:#666}.highlight .s{color:#BA2121}.highlight .na{color:#7D9029}.highlight .nb{color:green}.highlight .nc{color:#00F;font-weight:700}.highlight .no{color:#800}.highlight .nd{color:#A2F}.highlight .ni{color:#999;font-weight:700}.highlight .ne{color:#D2413A;font-weight:700}.highlight .nf{color:#00F}.highlight .nl{color:#A0A000}.highlight .nn{color:#00F;font-weight:700}.highlight .nt{color:green;font-weight:700}.highlight .nv{color:#19177C}.highlight .ow{color:#A2F;font-weight:700}.highlight .w{color:#bbb}.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:#666}.highlight .s2,.highlight .sb,.highlight .sc{color:#BA2121}.highlight .sd{color:#BA2121}.highlight .se{color:#B62;font-weight:700}.highlight .sh{color:#BA2121}.highlight .si{color:#B68;font-weight:700}.highlight .sx{color:green}.highlight .sr{color:#B68}.highlight .s1{color:#BA2121}.highlight .ss{color:#19177C}.highlight .bp{color:green}.highlight .vc,.highlight .vg,.highlight .vi{color:#19177C}.highlight .il{color:#666}.badge,kbd{color:#fff}.highlight .lineno{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.btn-collapse,.tabs>label,select:focus,select:hover{cursor:pointer}.highlight .lineno::selection{background:0 0}.highlight .lineno::-moz-selection{background:0 0}.right{float:right}.left{float:left}.invisible{display:none!important}.list-unstyled li{margin-top:4px;margin-bottom:4px}.danger{background-color:#fae1e1}.badge{display:inline-block;background-color:#777;min-width:10px;padding:1px 5px;border-radius:5px}.dialog-error tr,.dialog-modal tr,.dialog-warning tr{vertical-align:text-top}kbd{padding:2px 4px;margin:1px;font-size:90%;background:#000}table{width:100%}table.striped tr{border-bottom:1px solid #ececec}th{padding:.4em}td{padding:0 4px}tr:hover{background:#ececec}div.selectable_url{border:1px solid #888;padding:4px;color:#444;width:100%;display:block;margin:.1em;overflow:hidden;height:1.2em;line-height:1.2em}div.selectable_url pre{display:block;font-size:.8em;word-break:break-all;margin:.1em;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:element;user-select:all}#categories,.tabs>label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none;-khtml-user-select:none}.dialog-error{position:relative;width:70%;padding:1em 1em 1em 2.7em;margin:0 8% 1em;border:1px solid #db3434;border-radius:4px;text-align:left;color:#db3434;background:#fae1e1}.dialog-error:before{position:absolute;top:.5em;left:.5em;font-size:1.5em;content:"\f110"}.dialog-error .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-error ol,.dialog-error p,.dialog-error ul{margin:1px 0 0}.dialog-error table{width:auto}.dialog-error tr:hover{background:0 0}.dialog-error td{padding:0 1em 0 0}.dialog-error h4{margin-top:.3em;margin-bottom:.3em}.dialog-warning{position:relative;width:70%;padding:1em 1em 1em 2.7em;margin:0 8% 1em;border:1px solid #dbba34;border-radius:4px;text-align:left;color:#dbba34;background:#faf5e1}.dialog-warning:before{position:absolute;top:.5em;left:.5em;font-size:1.5em;content:"\f10f"}.dialog-warning .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-warning ol,.dialog-warning p,.dialog-warning ul{margin:1px 0 0}.dialog-warning table{width:auto}.dialog-warning tr:hover{background:0 0}.dialog-warning td{padding:0 1em 0 0}.dialog-warning h4{margin-top:.3em;margin-bottom:.3em}.dialog-modal{width:70%;padding:1em 1em 1em 2.7em;border:1px solid #000;border-radius:4px;text-align:left;background:#fff;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100000;margin:0 50% 0 0;box-shadow:0 0 1em}.dialog-modal:before{position:absolute;top:.5em;left:.5em;font-size:1.5em}.dialog-modal .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-modal ol,.dialog-modal p,.dialog-modal ul{margin:1px 0 0}.dialog-modal table{width:auto}.dialog-modal tr:hover{background:0 0}.dialog-modal td{padding:0 1em 0 0}.dialog-modal h4{margin-top:.3em;margin-bottom:.3em}.scrollx{overflow-x:auto;overflow-y:hidden;display:block;padding:0;margin:0;border:none}.tabs .tabs>label{font-size:90%}.tabs{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:flex;flex-wrap:wrap;width:100%;min-width:100%}.tabs>*{order:2}.tabs>input[type=radio]{display:none}.tabs>label{order:1;padding:.7em;margin:0 .7em;letter-spacing:.5px;text-transform:uppercase;border:solid #fff;border-width:0 0 2px;user-select:none}.tabs>label:hover,.tabs>label:last-of-type{border-bottom:2px solid #084999}.tabs>section{min-width:100%;padding:.7rem 0;border-top:1px solid #000;display:none}.tabs>label:last-of-type{background:#3498DB;color:#FFF;font-weight:700;letter-spacing:-.1px}.tabs>section:last-of-type{display:block}html body .tabs>input:checked~section{display:none}html body .tabs>input:checked~label{position:inherited;background:inherit;border-bottom:2px solid transparent;font-weight:400;color:inherit}html body .tabs>input:checked~label:hover{border-bottom:2px solid #084999}html body .tabs>input:checked+label{border-bottom:2px solid #084999;background:#3498DB;color:#FFF;font-weight:700;letter-spacing:-.1px}html body .tabs>input:checked+label+section{display:block}select{height:28px;margin:0 1em 0 0;padding:2px 8px 2px 0!important;color:#222;font-size:12px;z-index:2}@supports ((background-position-x:100%) and ((appearance:none) or (-webkit-appearance:none) or (-moz-appearance:none))){select{appearance:none;-webkit-appearance:none;-moz-appearance:none;border:none;border-bottom:1px solid #d7d7d7;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI1MTJweCIgaGVpZ2h0PSI1MTJweCIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDUxMiA1MTIiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTI4LDE5MiAyNTYsMzIwIDM4NCwxOTIiLz48L2c+PC9zdmc+Cg==) no-repeat;background-position-x:105%;background-size:2em;background-origin:content-box;outline:0}select:focus,select:hover{border-bottom:1px solid #3498DB}}@supports (border-radius:50px){.checkbox-onoff{display:inline-block;width:40px;height:10px;background:#dcdcdc;margin:8px auto;position:relative;border-radius:50px}.checkbox-onoff label{display:block;width:20px;height:20px;position:absolute;top:-5px;cursor:pointer;border-radius:50px;box-shadow:0 3px 5px 0 rgba(0,0,0,.3);transition:all .4s ease;left:27px;background-color:#3498DB}.checkbox-onoff input[type=checkbox]{visibility:hidden}.checkbox-onoff input[type=checkbox]:checked+label{left:-5px;background:#dcdcdc}}@supports (transform:rotate(-45deg)){.checkbox{width:20px;position:relative;margin:20px auto}.checkbox label{width:20px;height:20px;cursor:pointer;position:absolute;top:0;left:0;background:#fff;border-radius:4px;box-shadow:inset 0 1px 1px #fff,0 1px 4px rgba(0,0,0,.5)}.checkbox label:after{content:'';width:9px;height:5px;position:absolute;top:4px;left:4px;border:3px solid #333;border-top:none;border-right:none;background:0 0;opacity:0;transform:rotate(-45deg)}.checkbox input[type=checkbox]{visibility:hidden}.checkbox input[type=checkbox]:checked+label:after{border-color:#3498DB;opacity:1}.checkbox input[disabled]+label{background-color:transparent!important;box-shadow:none!important;cursor:inherit}.checkbox input:not(:checked):not([readonly]):not([disabled])+label:hover::after{opacity:.5}}@media screen and (max-width:50em){.tabs>label{width:100%}}.loader,.loader:after{border-radius:50%;width:2em;height:2em}.loader{margin:1em auto;font-size:10px;position:relative;text-indent:-9999em;border-top:.5em solid rgba(0,0,0,.2);border-right:.5em solid rgba(0,0,0,.2);border-bottom:.5em solid rgba(0,0,0,.2);border-left:.5em solid rgba(255,255,255,0);-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:load8 1.2s infinite linear;animation:load8 1.2s infinite linear}@-webkit-keyframes load8{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}/*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */.autocomplete{position:absolute;max-height:0;overflow-y:hidden;text-align:left}#categories_container,.category{position:relative}.autocomplete:active,.autocomplete:focus,.autocomplete:hover{background-color:#fff}#send_search:hover,.autocomplete>ul>li.active,.autocomplete>ul>li:active,.autocomplete>ul>li:focus{background-color:#3498DB}.autocomplete:empty{display:none}.autocomplete>ul{margin:0;padding:0}.autocomplete>ul>li{cursor:pointer;padding:5px 0 5px 10px}.autocomplete>ul>li.active a:active,.autocomplete>ul>li.active a:focus,.autocomplete>ul>li.active a:hover,.autocomplete>ul>li:active a:active,.autocomplete>ul>li:active a:focus,.autocomplete>ul>li:active a:hover,.autocomplete>ul>li:focus a:active,.autocomplete>ul>li:focus a:focus,.autocomplete>ul>li:focus a:hover{text-decoration:none}.autocomplete>ul>li.locked{cursor:inherit}.autocomplete.open{display:block;background-color:#fff;border:1px solid #3498DB;max-height:500px;overflow-y:auto;z-index:100}.autocomplete.open:empty{display:none}.ion-icon,.ion-icon-big{display:inline-block;line-height:1;font-weight:400;font-style:normal;speak:none;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:middle}@media screen and (max-width:50em){.autocomplete{bottom:0}.autocomplete>ul>li{padding:7px 0 7px 10px;border-bottom:1px solid #E8E7E6;text-align:left}}#main_preferences table td,.index{text-align:center}@font-face{font-family:ion;src:url(../fonts/ion.eot?ce7a0ead692560b4405a96d5b8471f51);src:url(../fonts/ion.eot?#iefix) format("embedded-opentype"),url(../fonts/ion.woff2?ce7a0ead692560b4405a96d5b8471f51) format("woff2"),url(../fonts/ion.woff?ce7a0ead692560b4405a96d5b8471f51) format("woff"),url(../fonts/ion.ttf?ce7a0ead692560b4405a96d5b8471f51) format("truetype"),url(../fonts/ion.svg?ce7a0ead692560b4405a96d5b8471f51#ion) format("svg");font-weight:400;font-style:normal}.ion-navicon-round:before{content:"\f101"}.ion-search:before{content:"\f102"}.ion-play:before{content:"\f103"}.ion-link:before{content:"\f104"}.ion-chevron-up:before{content:"\f105"}.ion-chevron-left:before{content:"\f106"}.ion-chevron-right:before{content:"\f107"}.ion-arrow-down-a:before{content:"\f108"}.ion-arrow-up-a:before{content:"\f109"}.ion-arrow-swap:before{content:"\f10a"}.ion-arrow-dropdown:before{content:"\f10b"}.ion-globe:before{content:"\f10c"}.ion-time:before{content:"\f10d"}.ion-location:before{content:"\f10e"}.ion-warning:before{content:"\f10f"}.ion-error:before{content:"\f110"}.ion-film-outline:before{content:"\f111"}.ion-music-note:before{content:"\f112"}.ion-more-vertical:before{content:"\f113"}.ion-magnet:before{content:"\f114"}.ion-close:before{content:"\f115"}.ion-icon-big{font-size:149%}.index .title{background:url(../img/searx.png) center no-repeat;width:100%;min-height:80px}.index h1{font-size:5em}.index #search{margin:0 auto;background:inherit;border:inherit}.index .search_filters{display:block;margin:1em 0}.index .category label{padding:6px 10px;border-bottom:initial!important}@media screen and (max-width:75em){div.title h1{font-size:1em}.preferences_back{clear:both}}#main_preferences form{width:100%}#main_preferences fieldset{margin:8px;border:none}#main_preferences legend{margin:0;padding:5px 0 0;display:block;float:left;width:300px}#main_preferences .value{margin:0;padding:0;float:left;width:15em}#main_preferences .description{margin:0;padding:5px 0 0;float:left;width:50%;color:#909090;font-size:90%}#main_preferences select{width:200px;font-size:inherit!important}#main_preferences table{border-collapse:collapse}#main_preferences table.cookies{width:auto}#main_preferences div.selectable_url pre,footer,main{width:100%}#main_preferences table.cookies td,#main_preferences table.cookies th{text-align:left;padding:.25em}#main_preferences table.cookies td:first-child,#main_preferences table.cookies th:first-child{padding-right:4em}#main_preferences table.cookies>tbody>tr:nth-child(even)>td,#main_preferences table.cookies>tbody>tr:nth-child(even)>th{background-color:#ececec}#main_preferences .name,#main_preferences .shortcut{text-align:left}#main_preferences .preferences_back{background:#3498DB;color:#fff;border:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;cursor:pointer;display:inline-block;margin:2px 4px;padding:.5em}#main_preferences .preferences_back a{display:block;color:#FFF}#main_preferences .preferences_back a::first-letter{text-transform:uppercase}#search{padding:0 2em;margin:0;background:#f7f7f7;border-bottom:1px solid #d7d7d7}#search_wrapper{padding:10px 0}.search_box{margin:0 12px 0 0;display:inline-flex;flex-direction:row}#clear_search,#q,#send_search{border-collapse:separate;box-sizing:border-box;margin:0;padding:2px;height:2.2em;background:#FFF;color:#222;font-size:16px;outline:0}#clear_search{display:block;width:1.8em;border-top:1px solid #3498DB;border-bottom:1px solid #3498DB;border-right:none;border-left:none;border-radius:0;z-index:10000}#clear_search:hover{color:#3498DB}#clear_search.empty *{display:none}#q::-ms-clear,#q::-webkit-search-cancel-button{display:none}#q,#send_search{display:block!important;border:1px solid #3498DB;border-radius:0;z-index:2}#q{outline:0;padding-left:8px;padding-right:0!important;border-right:none;width:40em}#send_search{border-left:none;width:2.2em}#send_search:hover{cursor:pointer;color:#ECF0F1}.no-js #send_search{width:auto!important}.search_filters{display:inline-block;vertical-align:middle}@media screen and (max-width:75em){#categories{font-size:90%;clear:both}#categories .checkbox_container{margin:auto}html.touch #main_index #categories_container,html.touch #main_results #categories_container{width:1000px;width:-moz-max-content;width:-webkit-max-content;width:max-content}html.touch #main_index #categories_container .category,html.touch #main_results #categories_container .category{display:inline-block;width:auto}html.touch #main_index #categories,html.touch #main_results #categories{width:100%;margin:0;text-align:left;overflow-x:scroll;overflow-y:hidden;-webkit-overflow-scrolling:touch}}@media screen and (max-width:50em){#search{width:100%;margin:0;padding:.1em 0 0}#search_wrapper{width:100%;margin:0 0 .7em;padding:0}.search_box{width:99%;margin:.1em;padding:0 .1em 0 0;display:flex;flex-direction:row}#q{width:auto!important;flex:1}.search_filters{display:block;margin:.5em}.language,.time_range{width:45%}.category{display:block;width:90%}.category label{border-bottom:0}}#categories{margin:0 10px 0 0;user-select:none}#categories::-webkit-scrollbar{width:0;height:0}.category{display:inline-block;margin:0 3px;padding:0}.category input{display:none}.category label{cursor:pointer;padding:4px 10px;margin:0;display:block;text-transform:capitalize;font-size:.9em;border-bottom:2px solid transparent;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body,html,main{padding:0;margin:0}.category input[type=checkbox]:focus+label{box-shadow:0 0 8px #3498DB}.category input[type=checkbox]:checked+label{background:#3498DB;color:#FFF;border-bottom:2px solid #084999}#categories_container .help{position:absolute;width:100%;bottom:-20px;overflow:hidden;opacity:0;transition:opacity 1s ease;font-size:.8em;text-position:center;background:#fff}footer p,html{font-size:.9em}#categories_container:hover .help{opacity:.8;transition:opacity 1s ease}html{font-family:arial,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:#444}#main_about,#main_preferences,#main_stats{margin:3em;width:auto}footer{bottom:0;height:3em;margin:1em 0;padding:1em 0;text-align:center}#main_preferences h1,#main_stats h1{background:url(../img/searx.png) no-repeat;background-size:auto 75%;min-height:40px;margin:0 auto}#results button[type=submit],input[type=submit]{padding:.5rem;margin:2px 4px;display:inline-block;background:#3498DB;color:#FFF;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0;cursor:pointer}a{text-decoration:none;color:#29314d}a:visited,a:visited .highlight{color:#684898}article[data-vim-selected]{background:#f7f7f7}article[data-vim-selected]::before{position:absolute;left:1em;padding:2px;content:">";font-weight:700;color:#3498DB}article.result-images[data-vim-selected]{background:#3498DB}article.result-images[data-vim-selected]::before{display:none;content:""}.result{margin:19px 0 18px;padding:0}.result h3{font-size:1.1em;word-wrap:break-word;margin:5px 0 0;padding:0}.result h3 a{color:#084999;font-weight:400;font-size:1.1em}.result h3 a:visited{color:#684898}.result h3 a:focus,.result h3 a:hover{text-decoration:underline;border:none;-webkit-box-shadow:none;box-shadow:none;outline:0}.result .cache_link,.result .proxyfied_link{font-size:.9em!important}.result .altlink,.result .content,.result .stat,.result .url{font-size:.9em;padding:0;max-width:54em;word-wrap:break-word}.result .altlink,.result .content,.result .stat{margin:0;line-height:1.24}.result .altlink .highlight,.result .content .highlight,.result .stat .highlight{color:#000;background:inherit;font-weight:700}.result .codelines .highlight{color:inherit;background:inherit;font-weight:400}.result .url{margin:0 0 3px;color:#25a55b}.result .published_date{font-size:.8em;color:#888}.result img.thumbnail{float:left;padding:0 5px 10px 0;width:20em;min-width:20em;min-height:8em}.result img.image{float:left;padding:0 5px 10px 0;width:100px;max-height:100px;object-fit:scale-down;object-position:right top}.category-social .image{width:auto!important;min-width:48px;min-height:48px;padding:0 5px 25px 0!important}.result-videos .content{overflow:hidden}.engines{float:right;color:#888}.engines span{font-size:smaller;margin:0 .5em 0 0}.result-images,.result-images img{margin:0;padding:0;max-height:200px}.small_font{font-size:.8em}.highlight{color:#094089;background:inherit;font-weight:700}.result-images{display:inline-block;position:relative}.result-images img{float:inherit;border:none;background:#084999}.result-images span a{display:none;color:#FFF}.result-images:hover span a{display:block;position:absolute;bottom:0;right:0;padding:4px;margin:0 0 4px 4px;background-color:rgba(0,0,0,.6);font-size:.7em}.torrent_result{border-left:10px solid #d3d3d3;padding-left:3px}#answers,#backToTop,#sidebar .infobox{border:1px solid #ddd;box-shadow:0 0 5px #CCC}.torrent_result p{margin:3px;font-size:.8em}.torrent_result a{color:#084999}.torrent_result a:hover{text-decoration:underline}.torrent_result a:visited{color:#684898}#results{margin:2em 2em 20px;padding:0;width:50em}#suggestions .wrapper{display:flex;flex-flow:row wrap;justify-content:flex-end}#suggestions .wrapper form{display:inline-block;flex:1 1 50%}#answers,#corrections,#suggestions{max-width:50em}#answers input,#corrections input,#infoboxes input,#suggestions input{padding:0;margin:3px;font-size:.9em;display:inline-block;background:0 0;color:#444;cursor:pointer}#answers .infobox .url a,#answers input[type=submit],#corrections .infobox .url a,#corrections input[type=submit],#infoboxes .infobox .url a,#infoboxes input[type=submit],#suggestions .infobox .url a,#suggestions input[type=submit]{color:#084999;text-decoration:none;font-size:.9rem}#answers .infobox .url a:hover,#answers input[type=submit]:hover,#corrections .infobox .url a:hover,#corrections input[type=submit]:hover,#infoboxes .infobox .url a:hover,#infoboxes input[type=submit]:hover,#suggestions .infobox .url a:hover,#suggestions input[type=submit]:hover{text-decoration:underline}#corrections{display:flex;flex-flow:row wrap;margin:1em 0}#corrections h4,#corrections input[type=submit]{display:inline-block;margin:0 .5em 0 0}#corrections input[type=submit]::after{content:", "}#apis .title,#search_url .title,#suggestions .title{margin:2em 0 .5em;color:#444}#answers{margin:10px 8px;padding:.9em}#answers h4{display:none}#answers .answer{display:block;font-size:1.2em;font-weight:700}#answers form,#infoboxes form{min-width:210px}#sidebar{position:absolute;top:100px;left:57em;margin:0 2px 5px 5px;padding:0 2px 2px;max-width:25em;word-wrap:break-word}#sidebar .infobox{margin:10px 0;padding:.9em;font-size:.9em}#sidebar .infobox h2{margin:0 0 .5em}#sidebar .infobox img{max-width:100%;max-height:12em;display:block;margin:0;padding:0}#sidebar .infobox dl{margin:.5em 0}#sidebar .infobox dt{display:inline;margin:.5em .25em .5em 0;padding:0;font-weight:700}#sidebar .infobox dd{display:inline;margin:.5em 0;padding:0}#apis,#search_url{margin-top:8px}#sidebar .infobox input{font-size:1em}#search_url div.selectable_url pre{width:200em}#linkto_preferences{position:absolute;right:10px;top:.9em;padding:0;border:0;display:block;font-size:1.2em;color:#222}#linkto_preferences a:active *,#linkto_preferences a:hover *,#linkto_preferences a:link *,#linkto_preferences a:visited *{color:#222}#backToTop{margin:0 0 0 2em;padding:0;font-size:1em;background:#fff;position:fixed;bottom:85px;left:50em;transition:opacity .5s;opacity:0}#backToTop a{display:block;margin:0;padding:.6em}@media screen and (max-width:75em){#main_about,#main_preferences,#main_stats{margin:.5em;width:auto}#answers,#suggestions{margin-top:1em}#infoboxes{position:inherit;max-width:inherit}#infoboxes .infobox{clear:both}#infoboxes .infobox img{float:left;max-width:10em;margin:.5em .5em .5em 0}#sidebar{position:static;max-width:50em;margin:0 0 2px;padding:0;float:none;border:none;width:auto}.image_result,.image_result img,.result .thumbnail{max-width:98%}#sidebar input{border:0}#apis,#search_url{display:none}.result{border-bottom:1px solid #E8E7E6;margin:0;padding-top:8px;padding-bottom:6px}.result h3{margin:0 0 1px}.result .url span.url{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.result .url a{float:right;padding:0 .5em}.result .engines{float:right;padding:0 0 3px}.result-images{border-bottom:none!important}}#main_results div#results.only_template_images{flex-direction:column;width:auto;display:flex}#main_results div#results.only_template_images #sidebar{position:relative;top:auto;order:2}#main_results div#results.only_template_images #urls{position:relative;order:1}#main_results div#results.only_template_images #backToTop{right:.5em;left:auto}#main_results div#results.only_template_images #pagination{position:relative;order:3}@media screen and (max-width:50em){article[data-vim-selected]::before{display:none;content:""}#linkto_preferences{display:none;postion:fixed!important;top:100px;right:0}#sidebar{margin:0 5px 2px}#corrections{margin:1em 5px}#results{margin:0;padding:0;width:initial}#backToTop{left:40em;bottom:35px}.result{padding:8px 10px 6px}.result-images{margin:0;padding:0;border:none}}@media screen and (max-width:35em){.result-videos img.thumbnail{float:none!important}.result-videos .content{overflow:inherit}}#search_submit{left:1px;right:auto} \ No newline at end of file
+/*! searx | 06-08-2019 | https://github.com/asciimoo/searx *//*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */button,hr,input{overflow:visible}[type=checkbox],[type=radio],legend{padding:0;box-sizing:border-box}.badge,.center{text-align:center}.badge,progress,sub,sup{vertical-align:baseline}.autocomplete>ul,.list-unstyled{list-style-type:none}.tabs>section,legend{box-sizing:border-box}#main_preferences h1 span,#main_stats h1 span,.index h1{visibility:hidden}#apis,#pagination,#pagination br,#sidebar .infobox .attributes,#sidebar .infobox .urls,#sidebar .infobox br,.result .break,footer{clear:both}html{line-height:1.15}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}.highlight pre,textarea{overflow:auto}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}.badge,.search_box{white-space:nowrap}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.highlight .c,.highlight .cm,.highlight .ge,.highlight .sd{font-style:italic}.dialog-error:before,.dialog-modal:before,.dialog-warning:before,.ion-icon-big:before,.ion-icon:before{font-family:ion}details{display:block}summary{display:list-item}[hidden],html.js .show_if_nojs,html.no-js .hide_if_nojs,template{display:none}.highlight .hll{background-color:#ffc}.highlight .c{color:#408080}.highlight .err{border:1px solid red}.highlight .k{color:green;font-weight:700}.highlight .o{color:#666}.highlight .cm{color:#408080}.highlight .cp{color:#BC7A00}.highlight .c1,.highlight .cs{color:#408080;font-style:italic}.highlight .gd{color:#A00000}.highlight .gr{color:red}.highlight .gh{color:navy;font-weight:700}.highlight .gi{color:#00A000}.highlight .go{color:#888}.highlight .gp{color:navy;font-weight:700}.highlight .gs{font-weight:700}.highlight .gu{color:purple;font-weight:700}.highlight .gt{color:#04D}.highlight .kc,.highlight .kd,.highlight .kn{color:green;font-weight:700}.highlight .kp{color:green}.highlight .kr{color:green;font-weight:700}.highlight .kt{color:#B00040}.highlight .m{color:#666}.highlight .s{color:#BA2121}.highlight .na{color:#7D9029}.highlight .nb{color:green}.highlight .nc{color:#00F;font-weight:700}.highlight .no{color:#800}.highlight .nd{color:#A2F}.highlight .ni{color:#999;font-weight:700}.highlight .ne{color:#D2413A;font-weight:700}.highlight .nf{color:#00F}.highlight .nl{color:#A0A000}.highlight .nn{color:#00F;font-weight:700}.highlight .nt{color:green;font-weight:700}.highlight .nv{color:#19177C}.highlight .ow{color:#A2F;font-weight:700}.highlight .w{color:#bbb}.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:#666}.highlight .s2,.highlight .sb,.highlight .sc{color:#BA2121}.highlight .sd{color:#BA2121}.highlight .se{color:#B62;font-weight:700}.highlight .sh{color:#BA2121}.highlight .si{color:#B68;font-weight:700}.highlight .sx{color:green}.highlight .sr{color:#B68}.highlight .s1{color:#BA2121}.highlight .ss{color:#19177C}.highlight .bp{color:green}.highlight .vc,.highlight .vg,.highlight .vi{color:#19177C}.highlight .il{color:#666}.badge,kbd{color:#fff}.highlight .lineno{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.btn-collapse,.tabs>label,select:focus,select:hover{cursor:pointer}.highlight .lineno::selection{background:0 0}.highlight .lineno::-moz-selection{background:0 0}.right{float:right}.left{float:left}.invisible{display:none!important}.list-unstyled li{margin-top:4px;margin-bottom:4px}.danger{background-color:#fae1e1}.badge{display:inline-block;background-color:#777;min-width:10px;padding:1px 5px;border-radius:5px}.dialog-error tr,.dialog-modal tr,.dialog-warning tr{vertical-align:text-top}kbd{padding:2px 4px;margin:1px;font-size:90%;background:#000}table{width:100%}table.striped tr{border-bottom:1px solid #ececec}th{padding:.4em}td{padding:0 4px}tr:hover{background:#ececec}div.selectable_url{border:1px solid #888;padding:4px;color:#444;width:100%;display:block;margin:.1em;overflow:hidden;height:1.2em;line-height:1.2em}div.selectable_url pre{display:block;font-size:.8em;word-break:break-all;margin:.1em;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:element;user-select:all}#categories,.tabs>label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none;-khtml-user-select:none}.dialog-error{position:relative;width:70%;padding:1em 1em 1em 2.7em;margin:0 8% 1em;border:1px solid #db3434;border-radius:4px;text-align:left;color:#db3434;background:#fae1e1}.dialog-error:before{position:absolute;top:.5em;left:.5em;font-size:1.5em;content:"\f110"}.dialog-error .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-error ol,.dialog-error p,.dialog-error ul{margin:1px 0 0}.dialog-error table{width:auto}.dialog-error tr:hover{background:0 0}.dialog-error td{padding:0 1em 0 0}.dialog-error h4{margin-top:.3em;margin-bottom:.3em}.dialog-warning{position:relative;width:70%;padding:1em 1em 1em 2.7em;margin:0 8% 1em;border:1px solid #dbba34;border-radius:4px;text-align:left;color:#dbba34;background:#faf5e1}.dialog-warning:before{position:absolute;top:.5em;left:.5em;font-size:1.5em;content:"\f10f"}.dialog-warning .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-warning ol,.dialog-warning p,.dialog-warning ul{margin:1px 0 0}.dialog-warning table{width:auto}.dialog-warning tr:hover{background:0 0}.dialog-warning td{padding:0 1em 0 0}.dialog-warning h4{margin-top:.3em;margin-bottom:.3em}.dialog-modal{width:70%;padding:1em 1em 1em 2.7em;border:1px solid #000;border-radius:4px;text-align:left;background:#fff;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100000;margin:0 50% 0 0;box-shadow:0 0 1em}.dialog-modal:before{position:absolute;top:.5em;left:.5em;font-size:1.5em}.dialog-modal .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-modal ol,.dialog-modal p,.dialog-modal ul{margin:1px 0 0}.dialog-modal table{width:auto}.dialog-modal tr:hover{background:0 0}.dialog-modal td{padding:0 1em 0 0}.dialog-modal h4{margin-top:.3em;margin-bottom:.3em}.scrollx{overflow-x:auto;overflow-y:hidden;display:block;padding:0;margin:0;border:none}.tabs .tabs>label{font-size:90%}.tabs{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:flex;flex-wrap:wrap;width:100%;min-width:100%}.tabs>*{order:2}.tabs>input[type=radio]{display:none}.tabs>label{order:1;padding:.7em;margin:0 .7em;letter-spacing:.5px;text-transform:uppercase;border:solid #fff;border-width:0 0 2px;user-select:none}.tabs>label:hover,.tabs>label:last-of-type{border-bottom:2px solid #084999}.tabs>section{min-width:100%;padding:.7rem 0;border-top:1px solid #000;display:none}.tabs>label:last-of-type{background:#3498DB;color:#FFF;font-weight:700;letter-spacing:-.1px}.tabs>section:last-of-type{display:block}html body .tabs>input:checked~section{display:none}html body .tabs>input:checked~label{position:inherited;background:inherit;border-bottom:2px solid transparent;font-weight:400;color:inherit}html body .tabs>input:checked~label:hover{border-bottom:2px solid #084999}html body .tabs>input:checked+label{border-bottom:2px solid #084999;background:#3498DB;color:#FFF;font-weight:700;letter-spacing:-.1px}html body .tabs>input:checked+label+section{display:block}select{height:28px;margin:0 1em 0 0;padding:2px 8px 2px 0!important;color:#222;font-size:12px;z-index:2}@supports ((background-position-x:100%) and ((appearance:none) or (-webkit-appearance:none) or (-moz-appearance:none))){select{appearance:none;-webkit-appearance:none;-moz-appearance:none;border:none;border-bottom:1px solid #d7d7d7;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI1MTJweCIgaGVpZ2h0PSI1MTJweCIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDUxMiA1MTIiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTI4LDE5MiAyNTYsMzIwIDM4NCwxOTIiLz48L2c+PC9zdmc+Cg==) no-repeat;background-position-x:105%;background-size:2em;background-origin:content-box;outline:0}select:focus,select:hover{border-bottom:1px solid #3498DB}}@supports (border-radius:50px){.checkbox-onoff{display:inline-block;width:40px;height:10px;background:#dcdcdc;margin:8px auto;position:relative;border-radius:50px}.checkbox-onoff label{display:block;width:20px;height:20px;position:absolute;top:-5px;cursor:pointer;border-radius:50px;box-shadow:0 3px 5px 0 rgba(0,0,0,.3);transition:all .4s ease;left:27px;background-color:#3498DB}.checkbox-onoff input[type=checkbox]{visibility:hidden}.checkbox-onoff input[type=checkbox]:checked+label{left:-5px;background:#dcdcdc}}@supports (transform:rotate(-45deg)){.checkbox{width:20px;position:relative;margin:20px auto}.checkbox label{width:20px;height:20px;cursor:pointer;position:absolute;top:0;left:0;background:#fff;border-radius:4px;box-shadow:inset 0 1px 1px #fff,0 1px 4px rgba(0,0,0,.5)}.checkbox label:after{content:'';width:9px;height:5px;position:absolute;top:4px;left:4px;border:3px solid #333;border-top:none;border-right:none;background:0 0;opacity:0;transform:rotate(-45deg)}.checkbox input[type=checkbox]{visibility:hidden}.checkbox input[type=checkbox]:checked+label:after{border-color:#3498DB;opacity:1}.checkbox input[disabled]+label{background-color:transparent!important;box-shadow:none!important;cursor:inherit}.checkbox input:not(:checked):not([readonly]):not([disabled])+label:hover::after{opacity:.5}}@media screen and (max-width:50em){.tabs>label{width:100%}}.loader,.loader:after{border-radius:50%;width:2em;height:2em}.loader{margin:1em auto;font-size:10px;position:relative;text-indent:-9999em;border-top:.5em solid rgba(0,0,0,.2);border-right:.5em solid rgba(0,0,0,.2);border-bottom:.5em solid rgba(0,0,0,.2);border-left:.5em solid rgba(255,255,255,0);-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:load8 1.2s infinite linear;animation:load8 1.2s infinite linear}@-webkit-keyframes load8{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}/*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */.autocomplete{position:absolute;max-height:0;overflow-y:hidden;text-align:left}#categories_container,.category{position:relative}.autocomplete:active,.autocomplete:focus,.autocomplete:hover{background-color:#fff}#send_search:hover,.autocomplete>ul>li.active,.autocomplete>ul>li:active,.autocomplete>ul>li:focus{background-color:#3498DB}.autocomplete:empty{display:none}.autocomplete>ul{margin:0;padding:0}.autocomplete>ul>li{cursor:pointer;padding:5px 0 5px 10px}.autocomplete>ul>li.active a:active,.autocomplete>ul>li.active a:focus,.autocomplete>ul>li.active a:hover,.autocomplete>ul>li:active a:active,.autocomplete>ul>li:active a:focus,.autocomplete>ul>li:active a:hover,.autocomplete>ul>li:focus a:active,.autocomplete>ul>li:focus a:focus,.autocomplete>ul>li:focus a:hover{text-decoration:none}.autocomplete>ul>li.locked{cursor:inherit}.autocomplete.open{display:block;background-color:#fff;border:1px solid #3498DB;max-height:500px;overflow-y:auto;z-index:100}.autocomplete.open:empty{display:none}.ion-icon,.ion-icon-big{display:inline-block;line-height:1;font-weight:400;font-style:normal;speak:none;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:middle}@media screen and (max-width:50em){.autocomplete{bottom:0}.autocomplete>ul>li{padding:7px 0 7px 10px;border-bottom:1px solid #E8E7E6;text-align:left}}#main_preferences table td,.index{text-align:center}@font-face{font-family:ion;src:url(../fonts/ion.eot?ce7a0ead692560b4405a96d5b8471f51);src:url(../fonts/ion.eot?#iefix) format("embedded-opentype"),url(../fonts/ion.woff2?ce7a0ead692560b4405a96d5b8471f51) format("woff2"),url(../fonts/ion.woff?ce7a0ead692560b4405a96d5b8471f51) format("woff"),url(../fonts/ion.ttf?ce7a0ead692560b4405a96d5b8471f51) format("truetype"),url(../fonts/ion.svg?ce7a0ead692560b4405a96d5b8471f51#ion) format("svg");font-weight:400;font-style:normal}.ion-navicon-round:before{content:"\f101"}.ion-search:before{content:"\f102"}.ion-play:before{content:"\f103"}.ion-link:before{content:"\f104"}.ion-chevron-up:before{content:"\f105"}.ion-chevron-left:before{content:"\f106"}.ion-chevron-right:before{content:"\f107"}.ion-arrow-down-a:before{content:"\f108"}.ion-arrow-up-a:before{content:"\f109"}.ion-arrow-swap:before{content:"\f10a"}.ion-arrow-dropdown:before{content:"\f10b"}.ion-globe:before{content:"\f10c"}.ion-time:before{content:"\f10d"}.ion-location:before{content:"\f10e"}.ion-warning:before{content:"\f10f"}.ion-error:before{content:"\f110"}.ion-film-outline:before{content:"\f111"}.ion-music-note:before{content:"\f112"}.ion-more-vertical:before{content:"\f113"}.ion-magnet:before{content:"\f114"}.ion-close:before{content:"\f115"}.ion-icon-big{font-size:149%}.index .title{background:url(../img/searx.png) center no-repeat;width:100%;min-height:80px}.index h1{font-size:5em}.index #search{margin:0 auto;background:inherit;border:inherit}.index .search_filters{display:block;margin:1em 0}.index .category label{padding:6px 10px;border-bottom:initial!important}@media screen and (max-width:75em){div.title h1{font-size:1em}.preferences_back{clear:both}}#main_preferences form{width:100%}#main_preferences fieldset{margin:8px;border:none}#main_preferences legend{margin:0;padding:5px 0 0;display:block;float:left;width:300px}#main_preferences .value{margin:0;padding:0;float:left;width:15em}#main_preferences .description{margin:0;padding:5px 0 0;float:left;width:50%;color:#909090;font-size:90%}#main_preferences select{width:200px;font-size:inherit!important}#main_preferences table{border-collapse:collapse}#main_preferences table.cookies{width:auto}#main_preferences div.selectable_url pre,footer,main{width:100%}#main_preferences table.cookies td,#main_preferences table.cookies th{text-align:left;padding:.25em}#main_preferences table.cookies td:first-child,#main_preferences table.cookies th:first-child{padding-right:4em}#main_preferences table.cookies>tbody>tr:nth-child(even)>td,#main_preferences table.cookies>tbody>tr:nth-child(even)>th{background-color:#ececec}#main_preferences .name,#main_preferences .shortcut{text-align:left}#main_preferences .preferences_back{background:#3498DB;color:#fff;border:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;cursor:pointer;display:inline-block;margin:2px 4px;padding:.5em}#main_preferences .preferences_back a{display:block;color:#FFF}#main_preferences .preferences_back a::first-letter{text-transform:uppercase}#search{padding:0 2em;margin:0;background:#f7f7f7;border-bottom:1px solid #d7d7d7}#search_wrapper{padding:10px 0}.search_box{margin:0 12px 0 0;display:inline-flex;flex-direction:row}#clear_search,#q,#send_search{border-collapse:separate;box-sizing:border-box;margin:0;padding:2px;height:2.2em;background:#FFF;color:#222;font-size:16px;outline:0}#clear_search{display:block;width:1.8em;border-top:1px solid #3498DB;border-bottom:1px solid #3498DB;border-right:none;border-left:none;border-radius:0;z-index:10000}#clear_search:hover{color:#3498DB}#clear_search.empty *{display:none}#q::-ms-clear,#q::-webkit-search-cancel-button{display:none}#q,#send_search{display:block!important;border:1px solid #3498DB;border-radius:0;z-index:2}#q{outline:0;padding-left:8px;padding-right:0!important;border-right:none;width:40em}#send_search{border-left:none;width:2.2em}#send_search:hover{cursor:pointer;color:#ECF0F1}.no-js #send_search{width:auto!important}.search_filters{display:inline-block;vertical-align:middle}@media screen and (max-width:75em){#categories{font-size:90%;clear:both}#categories .checkbox_container{margin:auto}html.touch #main_index #categories_container,html.touch #main_results #categories_container{width:1000px;width:-moz-max-content;width:-webkit-max-content;width:max-content}html.touch #main_index #categories_container .category,html.touch #main_results #categories_container .category{display:inline-block;width:auto}html.touch #main_index #categories,html.touch #main_results #categories{width:100%;margin:0;text-align:left;overflow-x:scroll;overflow-y:hidden;-webkit-overflow-scrolling:touch}}@media screen and (max-width:50em){#search{width:100%;margin:0;padding:.1em 0 0}#search_wrapper{width:100%;margin:0 0 .7em;padding:0}.search_box{width:99%;margin:.1em;padding:0 .1em 0 0;display:flex;flex-direction:row}#q{width:auto!important;flex:1}.search_filters{display:block;margin:.5em}.language,.time_range{width:45%}.category{display:block;width:90%}.category label{border-bottom:0}}#categories{margin:0 10px 0 0;user-select:none}#categories::-webkit-scrollbar{width:0;height:0}.category{display:inline-block;margin:0 3px;padding:0}.category input{display:none}.category label{cursor:pointer;padding:4px 10px;margin:0;display:block;text-transform:capitalize;font-size:.9em;border-bottom:2px solid transparent;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body,html,main{padding:0;margin:0}.category input[type=checkbox]:focus+label{box-shadow:0 0 8px #3498DB}.category input[type=checkbox]:checked+label{background:#3498DB;color:#FFF;border-bottom:2px solid #084999}#categories_container .help{position:absolute;width:100%;bottom:-20px;overflow:hidden;opacity:0;transition:opacity 1s ease;font-size:.8em;text-position:center;background:#fff}footer p,html{font-size:.9em}#categories_container:hover .help{opacity:.8;transition:opacity 1s ease}html{font-family:arial,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:#444}#main_about,#main_preferences,#main_stats{margin:3em;width:auto}footer{bottom:0;height:3em;margin:1em 0;padding:1em 0;text-align:center}#main_preferences h1,#main_stats h1{background:url(../img/searx.png) no-repeat;background-size:auto 75%;min-height:40px;margin:0 auto}#results button[type=submit],input[type=submit]{padding:.5rem;margin:2px 4px;display:inline-block;background:#3498DB;color:#FFF;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0;cursor:pointer}a{text-decoration:none;color:#29314d}a:visited,a:visited .highlight{color:#684898}article[data-vim-selected]{background:#f7f7f7}article[data-vim-selected]::before{position:absolute;left:1em;padding:2px;content:">";font-weight:700;color:#3498DB}article.result-images[data-vim-selected]{background:#3498DB}article.result-images[data-vim-selected]::before{display:none;content:""}.result{margin:19px 0 18px;padding:0}.result h3{font-size:1.1em;word-wrap:break-word;margin:5px 0 0;padding:0}.result h3 a{color:#084999;font-weight:400;font-size:1.1em}.result h3 a:visited{color:#684898}.result h3 a:focus,.result h3 a:hover{text-decoration:underline;border:none;-webkit-box-shadow:none;box-shadow:none;outline:0}.result .cache_link,.result .proxyfied_link{font-size:.9em!important}.result .altlink,.result .content,.result .stat,.result .url{font-size:.9em;padding:0;max-width:54em;word-wrap:break-word}.result .altlink,.result .content,.result .stat{margin:0;line-height:1.24}.result .altlink .highlight,.result .content .highlight,.result .stat .highlight{color:#000;background:inherit;font-weight:700}.result .codelines .highlight{color:inherit;background:inherit;font-weight:400}.result .url{margin:0 0 3px;color:#25a55b}.result .published_date{font-size:.8em;color:#888}.result img.thumbnail{float:left;padding:0 5px 10px 0;width:20em;min-width:20em;min-height:8em}.result img.image{float:left;padding:0 5px 10px 0;width:100px;max-height:100px;object-fit:scale-down;object-position:right top}.category-social .image{width:auto!important;min-width:48px;min-height:48px;padding:0 5px 25px 0!important}.result-videos .content{overflow:hidden}.engines{float:right;color:#888}.engines span{font-size:smaller;margin:0 .5em 0 0}.result-images,.result-images img{margin:0;padding:0;max-height:200px}.small_font{font-size:.8em}.highlight{color:#094089;background:inherit;font-weight:700}.result-images{display:inline-block;position:relative}.result-images img{float:inherit;border:none;background:#084999}.result-images span a{display:none;color:#FFF}.result-images:hover span a{display:block;position:absolute;bottom:0;right:0;padding:4px;margin:0 0 4px 4px;background-color:rgba(0,0,0,.6);font-size:.7em}.torrent_result{border-left:10px solid #d3d3d3;padding-left:3px}#answers,#backToTop,#sidebar .infobox{border:1px solid #ddd;box-shadow:0 0 5px #CCC}.torrent_result p{margin:3px;font-size:.8em}.torrent_result a{color:#084999}.torrent_result a:hover{text-decoration:underline}.torrent_result a:visited{color:#684898}#results{margin:2em 2em 20px;padding:0;width:50em}#suggestions .wrapper{display:flex;flex-flow:row wrap;justify-content:flex-end}#suggestions .wrapper form{display:inline-block;flex:1 1 50%}#answers,#corrections,#suggestions{max-width:50em}#answers input,#corrections input,#infoboxes input,#suggestions input{padding:0;margin:3px;font-size:.9em;display:inline-block;background:0 0;color:#444;cursor:pointer}#answers .infobox .url a,#answers input[type=submit],#corrections .infobox .url a,#corrections input[type=submit],#infoboxes .infobox .url a,#infoboxes input[type=submit],#suggestions .infobox .url a,#suggestions input[type=submit]{color:#084999;text-decoration:none;font-size:.9rem}#answers .infobox .url a:hover,#answers input[type=submit]:hover,#corrections .infobox .url a:hover,#corrections input[type=submit]:hover,#infoboxes .infobox .url a:hover,#infoboxes input[type=submit]:hover,#suggestions .infobox .url a:hover,#suggestions input[type=submit]:hover{text-decoration:underline}#corrections{display:flex;flex-flow:row wrap;margin:1em 0}#corrections h4,#corrections input[type=submit]{display:inline-block;margin:0 .5em 0 0}#corrections input[type=submit]::after{content:", "}#apis .title,#search_url .title,#suggestions .title{margin:2em 0 .5em;color:#444}#answers{margin:10px 8px;padding:.9em}#answers h4{display:none}#answers .answer{display:block;font-size:1.2em;font-weight:700}#answers form,#infoboxes form{min-width:210px}#sidebar{position:absolute;top:100px;left:57em;margin:0 2px 5px 5px;padding:0 2px 2px;max-width:25em;word-wrap:break-word}#sidebar .infobox{margin:10px 0;padding:.9em;font-size:.9em}#sidebar .infobox h2{margin:0 0 .5em}#sidebar .infobox img{max-width:100%;max-height:12em;display:block;margin:0;padding:0}#sidebar .infobox dl{margin:.5em 0}#sidebar .infobox dt{display:inline;margin:.5em .25em .5em 0;padding:0;font-weight:700}#sidebar .infobox dd{display:inline;margin:.5em 0;padding:0}#apis,#search_url{margin-top:8px}#sidebar .infobox input{font-size:1em}#search_url div.selectable_url pre{width:200em}#linkto_preferences{position:absolute;right:10px;top:.9em;padding:0;border:0;display:block;font-size:1.2em;color:#222}#linkto_preferences a:active *,#linkto_preferences a:hover *,#linkto_preferences a:link *,#linkto_preferences a:visited *{color:#222}#backToTop{margin:0 0 0 2em;padding:0;font-size:1em;background:#fff;position:fixed;bottom:85px;left:50em;transition:opacity .5s;opacity:0}#backToTop a{display:block;margin:0;padding:.6em}@media screen and (max-width:75em){#main_about,#main_preferences,#main_stats{margin:.5em;width:auto}#answers,#suggestions{margin-top:1em}#infoboxes{position:inherit;max-width:inherit}#infoboxes .infobox{clear:both}#infoboxes .infobox img{float:left;max-width:10em;margin:.5em .5em .5em 0}#sidebar{position:static;max-width:50em;margin:0 0 2px;padding:0;float:none;border:none;width:auto}.image_result,.image_result img,.result .thumbnail{max-width:98%}#sidebar input{border:0}#apis,#search_url{display:none}.result{border-bottom:1px solid #E8E7E6;margin:0;padding-top:8px;padding-bottom:6px}.result h3{margin:0 0 1px}.result .url span.url{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.result .url a{float:right;padding:0 .5em}.result .engines{float:right;padding:0 0 3px}.result-images{border-bottom:none!important}}#main_results div#results.only_template_images{flex-direction:column;width:auto;display:flex}#main_results div#results.only_template_images #sidebar{position:relative;top:auto;order:2}#main_results div#results.only_template_images #urls{position:relative;order:1}#main_results div#results.only_template_images #backToTop{right:.5em;left:auto}#main_results div#results.only_template_images #pagination{position:relative;order:3}@media screen and (max-width:50em){article[data-vim-selected]::before{display:none;content:""}#linkto_preferences{display:none;postion:fixed!important;top:100px;right:0}#sidebar{margin:0 5px 2px}#corrections{margin:1em 5px}#results{margin:0;padding:0;width:initial}#backToTop{left:40em;bottom:35px}.result{padding:8px 10px 6px}.result-images{margin:0;padding:0;border:none}}@media screen and (max-width:35em){.result-videos img.thumbnail{float:none!important}.result-videos .content{overflow:inherit}}#search_submit{left:1px;right:auto} \ No newline at end of file
diff --git a/searx/static/themes/simple/css/searx.css b/searx/static/themes/simple/css/searx.css
index 55171c0af..697f46b0e 100644
--- a/searx/static/themes/simple/css/searx.css
+++ b/searx/static/themes/simple/css/searx.css
@@ -1,4 +1,4 @@
-/*! searx | 14-08-2018 | https://github.com/asciimoo/searx */
+/*! searx | 06-08-2019 | https://github.com/asciimoo/searx */
/*
* searx, A privacy-respecting, hackable metasearch engine
*
diff --git a/searx/static/themes/simple/css/searx.min.css b/searx/static/themes/simple/css/searx.min.css
index a0e68d032..5dc9fd30b 100644
--- a/searx/static/themes/simple/css/searx.min.css
+++ b/searx/static/themes/simple/css/searx.min.css
@@ -1 +1 @@
-/*! searx | 14-08-2018 | https://github.com/asciimoo/searx *//*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */button,hr,input{overflow:visible}[type=checkbox],[type=radio],legend{padding:0;box-sizing:border-box}.badge,.center{text-align:center}.badge,progress,sub,sup{vertical-align:baseline}.autocomplete>ul,.list-unstyled{list-style-type:none}.tabs>section,legend{box-sizing:border-box}#main_preferences h1 span,#main_stats h1 span,.index h1{visibility:hidden}#apis,#pagination,#pagination br,#sidebar .infobox .attributes,#sidebar .infobox .urls,#sidebar .infobox br,.result .break,footer{clear:both}html{line-height:1.15}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}.highlight pre,textarea{overflow:auto}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}.badge,.search_box{white-space:nowrap}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.highlight .c,.highlight .cm,.highlight .ge,.highlight .sd{font-style:italic}.dialog-error:before,.dialog-modal:before,.dialog-warning:before,.ion-icon-big:before,.ion-icon:before{font-family:ion}details{display:block}summary{display:list-item}[hidden],html.js .show_if_nojs,html.no-js .hide_if_nojs,template{display:none}.highlight .hll{background-color:#ffc}.highlight .c{color:#408080}.highlight .err{border:1px solid red}.highlight .k{color:green;font-weight:700}.highlight .o{color:#666}.highlight .cm{color:#408080}.highlight .cp{color:#BC7A00}.highlight .c1,.highlight .cs{color:#408080;font-style:italic}.highlight .gd{color:#A00000}.highlight .gr{color:red}.highlight .gh{color:navy;font-weight:700}.highlight .gi{color:#00A000}.highlight .go{color:#888}.highlight .gp{color:navy;font-weight:700}.highlight .gs{font-weight:700}.highlight .gu{color:purple;font-weight:700}.highlight .gt{color:#04D}.highlight .kc,.highlight .kd,.highlight .kn{color:green;font-weight:700}.highlight .kp{color:green}.highlight .kr{color:green;font-weight:700}.highlight .kt{color:#B00040}.highlight .m{color:#666}.highlight .s{color:#BA2121}.highlight .na{color:#7D9029}.highlight .nb{color:green}.highlight .nc{color:#00F;font-weight:700}.highlight .no{color:#800}.highlight .nd{color:#A2F}.highlight .ni{color:#999;font-weight:700}.highlight .ne{color:#D2413A;font-weight:700}.highlight .nf{color:#00F}.highlight .nl{color:#A0A000}.highlight .nn{color:#00F;font-weight:700}.highlight .nt{color:green;font-weight:700}.highlight .nv{color:#19177C}.highlight .ow{color:#A2F;font-weight:700}.highlight .w{color:#bbb}.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:#666}.highlight .s2,.highlight .sb,.highlight .sc{color:#BA2121}.highlight .sd{color:#BA2121}.highlight .se{color:#B62;font-weight:700}.highlight .sh{color:#BA2121}.highlight .si{color:#B68;font-weight:700}.highlight .sx{color:green}.highlight .sr{color:#B68}.highlight .s1{color:#BA2121}.highlight .ss{color:#19177C}.highlight .bp{color:green}.highlight .vc,.highlight .vg,.highlight .vi{color:#19177C}.highlight .il{color:#666}.badge,kbd{color:#fff}.highlight .lineno{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.btn-collapse,.tabs>label,select:focus,select:hover{cursor:pointer}.highlight .lineno::selection{background:0 0}.highlight .lineno::-moz-selection{background:0 0}.right{float:right}.left{float:left}.invisible{display:none!important}.list-unstyled li{margin-top:4px;margin-bottom:4px}.danger{background-color:#fae1e1}.badge{display:inline-block;background-color:#777;min-width:10px;padding:1px 5px;border-radius:5px}.dialog-error tr,.dialog-modal tr,.dialog-warning tr{vertical-align:text-top}kbd{padding:2px 4px;margin:1px;font-size:90%;background:#000}table{width:100%}table.striped tr{border-bottom:1px solid #ececec}th{padding:.4em}td{padding:0 4px}tr:hover{background:#ececec}div.selectable_url{border:1px solid #888;padding:4px;color:#444;width:100%;display:block;margin:.1em;overflow:hidden;height:1.2em;line-height:1.2em}div.selectable_url pre{display:block;font-size:.8em;word-break:break-all;margin:.1em;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:element;user-select:all}#categories,.tabs>label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none;-khtml-user-select:none}.dialog-error{position:relative;width:70%;padding:1em 1em 1em 2.7em;margin:0 8% 1em;border:1px solid #db3434;border-radius:4px;text-align:left;color:#db3434;background:#fae1e1}.dialog-error:before{position:absolute;top:.5em;left:.5em;font-size:1.5em;content:"\f110"}.dialog-error .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-error ol,.dialog-error p,.dialog-error ul{margin:1px 0 0}.dialog-error table{width:auto}.dialog-error tr:hover{background:0 0}.dialog-error td{padding:0 1em 0 0}.dialog-error h4{margin-top:.3em;margin-bottom:.3em}.dialog-warning{position:relative;width:70%;padding:1em 1em 1em 2.7em;margin:0 8% 1em;border:1px solid #dbba34;border-radius:4px;text-align:left;color:#dbba34;background:#faf5e1}.dialog-warning:before{position:absolute;top:.5em;left:.5em;font-size:1.5em;content:"\f10f"}.dialog-warning .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-warning ol,.dialog-warning p,.dialog-warning ul{margin:1px 0 0}.dialog-warning table{width:auto}.dialog-warning tr:hover{background:0 0}.dialog-warning td{padding:0 1em 0 0}.dialog-warning h4{margin-top:.3em;margin-bottom:.3em}.dialog-modal{width:70%;padding:1em 1em 1em 2.7em;border:1px solid #000;border-radius:4px;text-align:left;background:#fff;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100000;margin:0 50% 0 0;box-shadow:0 0 1em}.dialog-modal:before{position:absolute;top:.5em;left:.5em;font-size:1.5em}.dialog-modal .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-modal ol,.dialog-modal p,.dialog-modal ul{margin:1px 0 0}.dialog-modal table{width:auto}.dialog-modal tr:hover{background:0 0}.dialog-modal td{padding:0 1em 0 0}.dialog-modal h4{margin-top:.3em;margin-bottom:.3em}.scrollx{overflow-x:auto;overflow-y:hidden;display:block;padding:0;margin:0;border:none}.tabs .tabs>label{font-size:90%}.tabs{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:flex;flex-wrap:wrap;width:100%;min-width:100%}.tabs>*{order:2}.tabs>input[type=radio]{display:none}.tabs>label{order:1;padding:.7em;margin:0 .7em;letter-spacing:.5px;text-transform:uppercase;border:solid #fff;border-width:0 0 2px;user-select:none}.tabs>label:hover,.tabs>label:last-of-type{border-bottom:2px solid #084999}.tabs>section{min-width:100%;padding:.7rem 0;border-top:1px solid #000;display:none}.tabs>label:last-of-type{background:#3498DB;color:#FFF;font-weight:700;letter-spacing:-.1px}.tabs>section:last-of-type{display:block}html body .tabs>input:checked~section{display:none}html body .tabs>input:checked~label{position:inherited;background:inherit;border-bottom:2px solid transparent;font-weight:400;color:inherit}html body .tabs>input:checked~label:hover{border-bottom:2px solid #084999}html body .tabs>input:checked+label{border-bottom:2px solid #084999;background:#3498DB;color:#FFF;font-weight:700;letter-spacing:-.1px}html body .tabs>input:checked+label+section{display:block}select{height:28px;margin:0 1em 0 0;padding:2px 8px 2px 0!important;color:#222;font-size:12px;z-index:2}@supports ((background-position-x:100%) and ((appearance:none) or (-webkit-appearance:none) or (-moz-appearance:none))){select{appearance:none;-webkit-appearance:none;-moz-appearance:none;border:none;border-bottom:1px solid #d7d7d7;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI1MTJweCIgaGVpZ2h0PSI1MTJweCIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDUxMiA1MTIiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTI4LDE5MiAyNTYsMzIwIDM4NCwxOTIiLz48L2c+PC9zdmc+Cg==) no-repeat;background-position-x:105%;background-size:2em;background-origin:content-box;outline:0}select:focus,select:hover{border-bottom:1px solid #3498DB}}@supports (border-radius:50px){.checkbox-onoff{display:inline-block;width:40px;height:10px;background:#dcdcdc;margin:8px auto;position:relative;border-radius:50px}.checkbox-onoff label{display:block;width:20px;height:20px;position:absolute;top:-5px;cursor:pointer;border-radius:50px;box-shadow:0 3px 5px 0 rgba(0,0,0,.3);transition:all .4s ease;left:27px;background-color:#3498DB}.checkbox-onoff input[type=checkbox]{visibility:hidden}.checkbox-onoff input[type=checkbox]:checked+label{left:-5px;background:#dcdcdc}}@supports (transform:rotate(-45deg)){.checkbox{width:20px;position:relative;margin:20px auto}.checkbox label{width:20px;height:20px;cursor:pointer;position:absolute;top:0;left:0;background:#fff;border-radius:4px;box-shadow:inset 0 1px 1px #fff,0 1px 4px rgba(0,0,0,.5)}.checkbox label:after{content:'';width:9px;height:5px;position:absolute;top:4px;left:4px;border:3px solid #333;border-top:none;border-right:none;background:0 0;opacity:0;transform:rotate(-45deg)}.checkbox input[type=checkbox]{visibility:hidden}.checkbox input[type=checkbox]:checked+label:after{border-color:#3498DB;opacity:1}.checkbox input[disabled]+label{background-color:transparent!important;box-shadow:none!important;cursor:inherit}.checkbox input:not(:checked):not([readonly]):not([disabled])+label:hover::after{opacity:.5}}@media screen and (max-width:50em){.tabs>label{width:100%}}.loader,.loader:after{border-radius:50%;width:2em;height:2em}.loader{margin:1em auto;font-size:10px;position:relative;text-indent:-9999em;border-top:.5em solid rgba(0,0,0,.2);border-right:.5em solid rgba(0,0,0,.2);border-bottom:.5em solid rgba(0,0,0,.2);border-left:.5em solid rgba(255,255,255,0);-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:load8 1.2s infinite linear;animation:load8 1.2s infinite linear}@-webkit-keyframes load8{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}/*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */.autocomplete{position:absolute;max-height:0;overflow-y:hidden;text-align:left}#categories_container,.category{position:relative}.autocomplete:active,.autocomplete:focus,.autocomplete:hover{background-color:#fff}#send_search:hover,.autocomplete>ul>li.active,.autocomplete>ul>li:active,.autocomplete>ul>li:focus{background-color:#3498DB}.autocomplete:empty{display:none}.autocomplete>ul{margin:0;padding:0}.autocomplete>ul>li{cursor:pointer;padding:5px 0 5px 10px}.autocomplete>ul>li.active a:active,.autocomplete>ul>li.active a:focus,.autocomplete>ul>li.active a:hover,.autocomplete>ul>li:active a:active,.autocomplete>ul>li:active a:focus,.autocomplete>ul>li:active a:hover,.autocomplete>ul>li:focus a:active,.autocomplete>ul>li:focus a:focus,.autocomplete>ul>li:focus a:hover{text-decoration:none}.autocomplete>ul>li.locked{cursor:inherit}.autocomplete.open{display:block;background-color:#fff;border:1px solid #3498DB;max-height:500px;overflow-y:auto;z-index:100}.autocomplete.open:empty{display:none}.ion-icon,.ion-icon-big{display:inline-block;line-height:1;font-weight:400;font-style:normal;speak:none;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:middle}@media screen and (max-width:50em){.autocomplete{bottom:0}.autocomplete>ul>li{padding:7px 0 7px 10px;border-bottom:1px solid #E8E7E6;text-align:left}}#main_preferences table td,.index{text-align:center}@font-face{font-family:ion;src:url(../fonts/ion.eot?ce7a0ead692560b4405a96d5b8471f51);src:url(../fonts/ion.eot?#iefix) format("embedded-opentype"),url(../fonts/ion.woff2?ce7a0ead692560b4405a96d5b8471f51) format("woff2"),url(../fonts/ion.woff?ce7a0ead692560b4405a96d5b8471f51) format("woff"),url(../fonts/ion.ttf?ce7a0ead692560b4405a96d5b8471f51) format("truetype"),url(../fonts/ion.svg?ce7a0ead692560b4405a96d5b8471f51#ion) format("svg");font-weight:400;font-style:normal}.ion-navicon-round:before{content:"\f101"}.ion-search:before{content:"\f102"}.ion-play:before{content:"\f103"}.ion-link:before{content:"\f104"}.ion-chevron-up:before{content:"\f105"}.ion-chevron-left:before{content:"\f106"}.ion-chevron-right:before{content:"\f107"}.ion-arrow-down-a:before{content:"\f108"}.ion-arrow-up-a:before{content:"\f109"}.ion-arrow-swap:before{content:"\f10a"}.ion-arrow-dropdown:before{content:"\f10b"}.ion-globe:before{content:"\f10c"}.ion-time:before{content:"\f10d"}.ion-location:before{content:"\f10e"}.ion-warning:before{content:"\f10f"}.ion-error:before{content:"\f110"}.ion-film-outline:before{content:"\f111"}.ion-music-note:before{content:"\f112"}.ion-more-vertical:before{content:"\f113"}.ion-magnet:before{content:"\f114"}.ion-close:before{content:"\f115"}.ion-icon-big{font-size:149%}.index .title{background:url(../img/searx.png) center no-repeat;width:100%;min-height:80px}.index h1{font-size:5em}.index #search{margin:0 auto;background:inherit;border:inherit}.index .search_filters{display:block;margin:1em 0}.index .category label{padding:6px 10px;border-bottom:initial!important}@media screen and (max-width:75em){div.title h1{font-size:1em}.preferences_back{clear:both}}#main_preferences form{width:100%}#main_preferences fieldset{margin:8px;border:none}#main_preferences legend{margin:0;padding:5px 0 0;display:block;float:left;width:300px}#main_preferences .value{margin:0;padding:0;float:left;width:15em}#main_preferences .description{margin:0;padding:5px 0 0;float:left;width:50%;color:#909090;font-size:90%}#main_preferences select{width:200px;font-size:inherit!important}#main_preferences table{border-collapse:collapse}#main_preferences table.cookies{width:auto}#main_preferences div.selectable_url pre,footer,main{width:100%}#main_preferences table.cookies td,#main_preferences table.cookies th{text-align:left;padding:.25em}#main_preferences table.cookies td:first-child,#main_preferences table.cookies th:first-child{padding-right:4em}#main_preferences table.cookies>tbody>tr:nth-child(even)>td,#main_preferences table.cookies>tbody>tr:nth-child(even)>th{background-color:#ececec}#main_preferences .name,#main_preferences .shortcut{text-align:left}#main_preferences .preferences_back{background:#3498DB;color:#fff;border:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;cursor:pointer;display:inline-block;margin:2px 4px;padding:.5em}#main_preferences .preferences_back a{display:block;color:#FFF}#main_preferences .preferences_back a::first-letter{text-transform:uppercase}#search{padding:0 2em;margin:0;background:#f7f7f7;border-bottom:1px solid #d7d7d7}#search_wrapper{padding:10px 0}.search_box{margin:0 12px 0 0;display:inline-flex;flex-direction:row}#clear_search,#q,#send_search{border-collapse:separate;box-sizing:border-box;margin:0;padding:2px;height:2.2em;background:#FFF;color:#222;font-size:16px;outline:0}#clear_search{display:block;width:1.8em;border-top:1px solid #3498DB;border-bottom:1px solid #3498DB;border-right:none;border-left:none;border-radius:0;z-index:10000}#clear_search:hover{color:#3498DB}#clear_search.empty *{display:none}#q::-ms-clear,#q::-webkit-search-cancel-button{display:none}#q,#send_search{display:block!important;border:1px solid #3498DB;border-radius:0;z-index:2}#q{outline:0;padding-left:8px;padding-right:0!important;border-right:none;width:40em}#send_search{border-left:none;width:2.2em}#send_search:hover{cursor:pointer;color:#ECF0F1}.no-js #send_search{width:auto!important}.search_filters{display:inline-block;vertical-align:middle}@media screen and (max-width:75em){#categories{font-size:90%;clear:both}#categories .checkbox_container{margin:auto}html.touch #main_index #categories_container,html.touch #main_results #categories_container{width:1000px;width:-moz-max-content;width:-webkit-max-content;width:max-content}html.touch #main_index #categories_container .category,html.touch #main_results #categories_container .category{display:inline-block;width:auto}html.touch #main_index #categories,html.touch #main_results #categories{width:100%;margin:0;text-align:left;overflow-x:scroll;overflow-y:hidden;-webkit-overflow-scrolling:touch}}@media screen and (max-width:50em){#search{width:100%;margin:0;padding:.1em 0 0}#search_wrapper{width:100%;margin:0 0 .7em;padding:0}.search_box{width:99%;margin:.1em;padding:0 .1em 0 0;display:flex;flex-direction:row}#q{width:auto!important;flex:1}.search_filters{display:block;margin:.5em}.language,.time_range{width:45%}.category{display:block;width:90%}.category label{border-bottom:0}}#categories{margin:0 10px 0 0;user-select:none}#categories::-webkit-scrollbar{width:0;height:0}.category{display:inline-block;margin:0 3px;padding:0}.category input{display:none}.category label{cursor:pointer;padding:4px 10px;margin:0;display:block;text-transform:capitalize;font-size:.9em;border-bottom:2px solid transparent;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body,html,main{padding:0;margin:0}.category input[type=checkbox]:focus+label{box-shadow:0 0 8px #3498DB}.category input[type=checkbox]:checked+label{background:#3498DB;color:#FFF;border-bottom:2px solid #084999}#categories_container .help{position:absolute;width:100%;bottom:-20px;overflow:hidden;opacity:0;transition:opacity 1s ease;font-size:.8em;text-position:center;background:#fff}footer p,html{font-size:.9em}#categories_container:hover .help{opacity:.8;transition:opacity 1s ease}html{font-family:arial,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:#444}#main_about,#main_preferences,#main_stats{margin:3em;width:auto}footer{bottom:0;height:3em;margin:1em 0;padding:1em 0;text-align:center}#main_preferences h1,#main_stats h1{background:url(../img/searx.png) no-repeat;background-size:auto 75%;min-height:40px;margin:0 auto}#results button[type=submit],input[type=submit]{padding:.5rem;margin:2px 4px;display:inline-block;background:#3498DB;color:#FFF;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0;cursor:pointer}a{text-decoration:none;color:#29314d}a:visited,a:visited .highlight{color:#684898}article[data-vim-selected]{background:#f7f7f7}article[data-vim-selected]::before{position:absolute;left:1em;padding:2px;content:">";font-weight:700;color:#3498DB}article.result-images[data-vim-selected]{background:#3498DB}article.result-images[data-vim-selected]::before{display:none;content:""}.result{margin:19px 0 18px;padding:0}.result h3{font-size:1.1em;word-wrap:break-word;margin:5px 0 0;padding:0}.result h3 a{color:#084999;font-weight:400;font-size:1.1em}.result h3 a:visited{color:#684898}.result h3 a:focus,.result h3 a:hover{text-decoration:underline;border:none;-webkit-box-shadow:none;box-shadow:none;outline:0}.result .cache_link,.result .proxyfied_link{font-size:.9em!important}.result .altlink,.result .content,.result .stat,.result .url{font-size:.9em;padding:0;max-width:54em;word-wrap:break-word}.result .altlink,.result .content,.result .stat{margin:0;line-height:1.24}.result .altlink .highlight,.result .content .highlight,.result .stat .highlight{color:#000;background:inherit;font-weight:700}.result .codelines .highlight{color:inherit;background:inherit;font-weight:400}.result .url{margin:0 0 3px;color:#25a55b}.result .published_date{font-size:.8em;color:#888}.result img.thumbnail{float:left;padding:0 5px 10px 0;width:20em;min-width:20em;min-height:8em}.result img.image{float:left;padding:0 5px 10px 0;width:100px;max-height:100px;object-fit:scale-down;object-position:right top}.category-social .image{width:auto!important;min-width:48px;min-height:48px;padding:0 5px 25px 0!important}.result-videos .content{overflow:hidden}.engines{float:right;color:#888}.engines span{font-size:smaller;margin:0 .5em 0 0}.result-images,.result-images img{margin:0;padding:0;max-height:200px}.small_font{font-size:.8em}.highlight{color:#094089;background:inherit;font-weight:700}.result-images{display:inline-block;position:relative}.result-images img{float:inherit;border:none;background:#084999}.result-images span a{display:none;color:#FFF}.result-images:hover span a{display:block;position:absolute;bottom:0;right:0;padding:4px;margin:0 0 4px 4px;background-color:rgba(0,0,0,.6);font-size:.7em}.torrent_result{border-left:10px solid #d3d3d3;padding-left:3px}#answers,#backToTop,#sidebar .infobox{border:1px solid #ddd;box-shadow:0 0 5px #CCC}.torrent_result p{margin:3px;font-size:.8em}.torrent_result a{color:#084999}.torrent_result a:hover{text-decoration:underline}.torrent_result a:visited{color:#684898}#results{margin:2em 2em 20px;padding:0;width:50em}#suggestions .wrapper{display:flex;flex-flow:row wrap;justify-content:flex-end}#suggestions .wrapper form{display:inline-block;flex:1 1 50%}#answers,#corrections,#suggestions{max-width:50em}#answers input,#corrections input,#infoboxes input,#suggestions input{padding:0;margin:3px;font-size:.9em;display:inline-block;background:0 0;color:#444;cursor:pointer}#answers .infobox .url a,#answers input[type=submit],#corrections .infobox .url a,#corrections input[type=submit],#infoboxes .infobox .url a,#infoboxes input[type=submit],#suggestions .infobox .url a,#suggestions input[type=submit]{color:#084999;text-decoration:none;font-size:.9rem}#answers .infobox .url a:hover,#answers input[type=submit]:hover,#corrections .infobox .url a:hover,#corrections input[type=submit]:hover,#infoboxes .infobox .url a:hover,#infoboxes input[type=submit]:hover,#suggestions .infobox .url a:hover,#suggestions input[type=submit]:hover{text-decoration:underline}#corrections{display:flex;flex-flow:row wrap;margin:1em 0}#corrections h4,#corrections input[type=submit]{display:inline-block;margin:0 .5em 0 0}#corrections input[type=submit]::after{content:", "}#apis .title,#search_url .title,#suggestions .title{margin:2em 0 .5em;color:#444}#answers{margin:10px 8px;padding:.9em}#answers h4{display:none}#answers .answer{display:block;font-size:1.2em;font-weight:700}#answers form,#infoboxes form{min-width:210px}#sidebar{position:absolute;top:100px;left:57em;margin:0 2px 5px 5px;padding:0 2px 2px;max-width:25em;word-wrap:break-word}#sidebar .infobox{margin:10px 0;padding:.9em;font-size:.9em}#sidebar .infobox h2{margin:0 0 .5em}#sidebar .infobox img{max-width:100%;max-height:12em;display:block;margin:0;padding:0}#sidebar .infobox dl{margin:.5em 0}#sidebar .infobox dt{display:inline;margin:.5em .25em .5em 0;padding:0;font-weight:700}#sidebar .infobox dd{display:inline;margin:.5em 0;padding:0}#apis,#search_url{margin-top:8px}#sidebar .infobox input{font-size:1em}#search_url div.selectable_url pre{width:200em}#linkto_preferences{position:absolute;right:10px;top:.9em;padding:0;border:0;display:block;font-size:1.2em;color:#222}#linkto_preferences a:active *,#linkto_preferences a:hover *,#linkto_preferences a:link *,#linkto_preferences a:visited *{color:#222}#backToTop{margin:0 0 0 2em;padding:0;font-size:1em;background:#fff;position:fixed;bottom:85px;left:50em;transition:opacity .5s;opacity:0}#backToTop a{display:block;margin:0;padding:.6em}@media screen and (max-width:75em){#main_about,#main_preferences,#main_stats{margin:.5em;width:auto}#answers,#suggestions{margin-top:1em}#infoboxes{position:inherit;max-width:inherit}#infoboxes .infobox{clear:both}#infoboxes .infobox img{float:left;max-width:10em;margin:.5em .5em .5em 0}#sidebar{position:static;max-width:50em;margin:0 0 2px;padding:0;float:none;border:none;width:auto}.image_result,.image_result img,.result .thumbnail{max-width:98%}#sidebar input{border:0}#apis,#search_url{display:none}.result{border-bottom:1px solid #E8E7E6;margin:0;padding-top:8px;padding-bottom:6px}.result h3{margin:0 0 1px}.result .url span.url{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.result .url a{float:right;padding:0 .5em}.result .engines{float:right;padding:0 0 3px}.result-images{border-bottom:none!important}}#main_results div#results.only_template_images{flex-direction:column;width:auto;display:flex}#main_results div#results.only_template_images #sidebar{position:relative;top:auto;order:2}#main_results div#results.only_template_images #urls{position:relative;order:1}#main_results div#results.only_template_images #backToTop{right:.5em;left:auto}#main_results div#results.only_template_images #pagination{position:relative;order:3}@media screen and (max-width:50em){article[data-vim-selected]::before{display:none;content:""}#linkto_preferences{display:none;postion:fixed!important;top:100px;right:0}#sidebar{margin:0 5px 2px}#corrections{margin:1em 5px}#results{margin:0;padding:0;width:initial}#backToTop{left:40em;bottom:35px}.result{padding:8px 10px 6px}.result-images{margin:0;padding:0;border:none}}@media screen and (max-width:35em){.result-videos img.thumbnail{float:none!important}.result-videos .content{overflow:inherit}} \ No newline at end of file
+/*! searx | 06-08-2019 | https://github.com/asciimoo/searx *//*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */button,hr,input{overflow:visible}[type=checkbox],[type=radio],legend{padding:0;box-sizing:border-box}.badge,.center{text-align:center}.badge,progress,sub,sup{vertical-align:baseline}.autocomplete>ul,.list-unstyled{list-style-type:none}.tabs>section,legend{box-sizing:border-box}#main_preferences h1 span,#main_stats h1 span,.index h1{visibility:hidden}#apis,#pagination,#pagination br,#sidebar .infobox .attributes,#sidebar .infobox .urls,#sidebar .infobox br,.result .break,footer{clear:both}html{line-height:1.15}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}.highlight pre,textarea{overflow:auto}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}.badge,.search_box{white-space:nowrap}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.highlight .c,.highlight .cm,.highlight .ge,.highlight .sd{font-style:italic}.dialog-error:before,.dialog-modal:before,.dialog-warning:before,.ion-icon-big:before,.ion-icon:before{font-family:ion}details{display:block}summary{display:list-item}[hidden],html.js .show_if_nojs,html.no-js .hide_if_nojs,template{display:none}.highlight .hll{background-color:#ffc}.highlight .c{color:#408080}.highlight .err{border:1px solid red}.highlight .k{color:green;font-weight:700}.highlight .o{color:#666}.highlight .cm{color:#408080}.highlight .cp{color:#BC7A00}.highlight .c1,.highlight .cs{color:#408080;font-style:italic}.highlight .gd{color:#A00000}.highlight .gr{color:red}.highlight .gh{color:navy;font-weight:700}.highlight .gi{color:#00A000}.highlight .go{color:#888}.highlight .gp{color:navy;font-weight:700}.highlight .gs{font-weight:700}.highlight .gu{color:purple;font-weight:700}.highlight .gt{color:#04D}.highlight .kc,.highlight .kd,.highlight .kn{color:green;font-weight:700}.highlight .kp{color:green}.highlight .kr{color:green;font-weight:700}.highlight .kt{color:#B00040}.highlight .m{color:#666}.highlight .s{color:#BA2121}.highlight .na{color:#7D9029}.highlight .nb{color:green}.highlight .nc{color:#00F;font-weight:700}.highlight .no{color:#800}.highlight .nd{color:#A2F}.highlight .ni{color:#999;font-weight:700}.highlight .ne{color:#D2413A;font-weight:700}.highlight .nf{color:#00F}.highlight .nl{color:#A0A000}.highlight .nn{color:#00F;font-weight:700}.highlight .nt{color:green;font-weight:700}.highlight .nv{color:#19177C}.highlight .ow{color:#A2F;font-weight:700}.highlight .w{color:#bbb}.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:#666}.highlight .s2,.highlight .sb,.highlight .sc{color:#BA2121}.highlight .sd{color:#BA2121}.highlight .se{color:#B62;font-weight:700}.highlight .sh{color:#BA2121}.highlight .si{color:#B68;font-weight:700}.highlight .sx{color:green}.highlight .sr{color:#B68}.highlight .s1{color:#BA2121}.highlight .ss{color:#19177C}.highlight .bp{color:green}.highlight .vc,.highlight .vg,.highlight .vi{color:#19177C}.highlight .il{color:#666}.badge,kbd{color:#fff}.highlight .lineno{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.btn-collapse,.tabs>label,select:focus,select:hover{cursor:pointer}.highlight .lineno::selection{background:0 0}.highlight .lineno::-moz-selection{background:0 0}.right{float:right}.left{float:left}.invisible{display:none!important}.list-unstyled li{margin-top:4px;margin-bottom:4px}.danger{background-color:#fae1e1}.badge{display:inline-block;background-color:#777;min-width:10px;padding:1px 5px;border-radius:5px}.dialog-error tr,.dialog-modal tr,.dialog-warning tr{vertical-align:text-top}kbd{padding:2px 4px;margin:1px;font-size:90%;background:#000}table{width:100%}table.striped tr{border-bottom:1px solid #ececec}th{padding:.4em}td{padding:0 4px}tr:hover{background:#ececec}div.selectable_url{border:1px solid #888;padding:4px;color:#444;width:100%;display:block;margin:.1em;overflow:hidden;height:1.2em;line-height:1.2em}div.selectable_url pre{display:block;font-size:.8em;word-break:break-all;margin:.1em;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:element;user-select:all}#categories,.tabs>label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none;-khtml-user-select:none}.dialog-error{position:relative;width:70%;padding:1em 1em 1em 2.7em;margin:0 8% 1em;border:1px solid #db3434;border-radius:4px;text-align:left;color:#db3434;background:#fae1e1}.dialog-error:before{position:absolute;top:.5em;left:.5em;font-size:1.5em;content:"\f110"}.dialog-error .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-error ol,.dialog-error p,.dialog-error ul{margin:1px 0 0}.dialog-error table{width:auto}.dialog-error tr:hover{background:0 0}.dialog-error td{padding:0 1em 0 0}.dialog-error h4{margin-top:.3em;margin-bottom:.3em}.dialog-warning{position:relative;width:70%;padding:1em 1em 1em 2.7em;margin:0 8% 1em;border:1px solid #dbba34;border-radius:4px;text-align:left;color:#dbba34;background:#faf5e1}.dialog-warning:before{position:absolute;top:.5em;left:.5em;font-size:1.5em;content:"\f10f"}.dialog-warning .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-warning ol,.dialog-warning p,.dialog-warning ul{margin:1px 0 0}.dialog-warning table{width:auto}.dialog-warning tr:hover{background:0 0}.dialog-warning td{padding:0 1em 0 0}.dialog-warning h4{margin-top:.3em;margin-bottom:.3em}.dialog-modal{width:70%;padding:1em 1em 1em 2.7em;border:1px solid #000;border-radius:4px;text-align:left;background:#fff;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100000;margin:0 50% 0 0;box-shadow:0 0 1em}.dialog-modal:before{position:absolute;top:.5em;left:.5em;font-size:1.5em}.dialog-modal .close{float:right;position:relative;top:-3px;color:inherit;font-size:1.5em}.dialog-modal ol,.dialog-modal p,.dialog-modal ul{margin:1px 0 0}.dialog-modal table{width:auto}.dialog-modal tr:hover{background:0 0}.dialog-modal td{padding:0 1em 0 0}.dialog-modal h4{margin-top:.3em;margin-bottom:.3em}.scrollx{overflow-x:auto;overflow-y:hidden;display:block;padding:0;margin:0;border:none}.tabs .tabs>label{font-size:90%}.tabs{display:-webkit-box;display:-moz-box;display:-webkit-flex;display:-ms-flexbox;display:flex;flex-wrap:wrap;width:100%;min-width:100%}.tabs>*{order:2}.tabs>input[type=radio]{display:none}.tabs>label{order:1;padding:.7em;margin:0 .7em;letter-spacing:.5px;text-transform:uppercase;border:solid #fff;border-width:0 0 2px;user-select:none}.tabs>label:hover,.tabs>label:last-of-type{border-bottom:2px solid #084999}.tabs>section{min-width:100%;padding:.7rem 0;border-top:1px solid #000;display:none}.tabs>label:last-of-type{background:#3498DB;color:#FFF;font-weight:700;letter-spacing:-.1px}.tabs>section:last-of-type{display:block}html body .tabs>input:checked~section{display:none}html body .tabs>input:checked~label{position:inherited;background:inherit;border-bottom:2px solid transparent;font-weight:400;color:inherit}html body .tabs>input:checked~label:hover{border-bottom:2px solid #084999}html body .tabs>input:checked+label{border-bottom:2px solid #084999;background:#3498DB;color:#FFF;font-weight:700;letter-spacing:-.1px}html body .tabs>input:checked+label+section{display:block}select{height:28px;margin:0 1em 0 0;padding:2px 8px 2px 0!important;color:#222;font-size:12px;z-index:2}@supports ((background-position-x:100%) and ((appearance:none) or (-webkit-appearance:none) or (-moz-appearance:none))){select{appearance:none;-webkit-appearance:none;-moz-appearance:none;border:none;border-bottom:1px solid #d7d7d7;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI1MTJweCIgaGVpZ2h0PSI1MTJweCIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDUxMiA1MTIiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTI4LDE5MiAyNTYsMzIwIDM4NCwxOTIiLz48L2c+PC9zdmc+Cg==) no-repeat;background-position-x:105%;background-size:2em;background-origin:content-box;outline:0}select:focus,select:hover{border-bottom:1px solid #3498DB}}@supports (border-radius:50px){.checkbox-onoff{display:inline-block;width:40px;height:10px;background:#dcdcdc;margin:8px auto;position:relative;border-radius:50px}.checkbox-onoff label{display:block;width:20px;height:20px;position:absolute;top:-5px;cursor:pointer;border-radius:50px;box-shadow:0 3px 5px 0 rgba(0,0,0,.3);transition:all .4s ease;left:27px;background-color:#3498DB}.checkbox-onoff input[type=checkbox]{visibility:hidden}.checkbox-onoff input[type=checkbox]:checked+label{left:-5px;background:#dcdcdc}}@supports (transform:rotate(-45deg)){.checkbox{width:20px;position:relative;margin:20px auto}.checkbox label{width:20px;height:20px;cursor:pointer;position:absolute;top:0;left:0;background:#fff;border-radius:4px;box-shadow:inset 0 1px 1px #fff,0 1px 4px rgba(0,0,0,.5)}.checkbox label:after{content:'';width:9px;height:5px;position:absolute;top:4px;left:4px;border:3px solid #333;border-top:none;border-right:none;background:0 0;opacity:0;transform:rotate(-45deg)}.checkbox input[type=checkbox]{visibility:hidden}.checkbox input[type=checkbox]:checked+label:after{border-color:#3498DB;opacity:1}.checkbox input[disabled]+label{background-color:transparent!important;box-shadow:none!important;cursor:inherit}.checkbox input:not(:checked):not([readonly]):not([disabled])+label:hover::after{opacity:.5}}@media screen and (max-width:50em){.tabs>label{width:100%}}.loader,.loader:after{border-radius:50%;width:2em;height:2em}.loader{margin:1em auto;font-size:10px;position:relative;text-indent:-9999em;border-top:.5em solid rgba(0,0,0,.2);border-right:.5em solid rgba(0,0,0,.2);border-bottom:.5em solid rgba(0,0,0,.2);border-left:.5em solid rgba(255,255,255,0);-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:load8 1.2s infinite linear;animation:load8 1.2s infinite linear}@-webkit-keyframes load8{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}/*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */.autocomplete{position:absolute;max-height:0;overflow-y:hidden;text-align:left}#categories_container,.category{position:relative}.autocomplete:active,.autocomplete:focus,.autocomplete:hover{background-color:#fff}#send_search:hover,.autocomplete>ul>li.active,.autocomplete>ul>li:active,.autocomplete>ul>li:focus{background-color:#3498DB}.autocomplete:empty{display:none}.autocomplete>ul{margin:0;padding:0}.autocomplete>ul>li{cursor:pointer;padding:5px 0 5px 10px}.autocomplete>ul>li.active a:active,.autocomplete>ul>li.active a:focus,.autocomplete>ul>li.active a:hover,.autocomplete>ul>li:active a:active,.autocomplete>ul>li:active a:focus,.autocomplete>ul>li:active a:hover,.autocomplete>ul>li:focus a:active,.autocomplete>ul>li:focus a:focus,.autocomplete>ul>li:focus a:hover{text-decoration:none}.autocomplete>ul>li.locked{cursor:inherit}.autocomplete.open{display:block;background-color:#fff;border:1px solid #3498DB;max-height:500px;overflow-y:auto;z-index:100}.autocomplete.open:empty{display:none}.ion-icon,.ion-icon-big{display:inline-block;line-height:1;font-weight:400;font-style:normal;speak:none;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:middle}@media screen and (max-width:50em){.autocomplete{bottom:0}.autocomplete>ul>li{padding:7px 0 7px 10px;border-bottom:1px solid #E8E7E6;text-align:left}}#main_preferences table td,.index{text-align:center}@font-face{font-family:ion;src:url(../fonts/ion.eot?ce7a0ead692560b4405a96d5b8471f51);src:url(../fonts/ion.eot?#iefix) format("embedded-opentype"),url(../fonts/ion.woff2?ce7a0ead692560b4405a96d5b8471f51) format("woff2"),url(../fonts/ion.woff?ce7a0ead692560b4405a96d5b8471f51) format("woff"),url(../fonts/ion.ttf?ce7a0ead692560b4405a96d5b8471f51) format("truetype"),url(../fonts/ion.svg?ce7a0ead692560b4405a96d5b8471f51#ion) format("svg");font-weight:400;font-style:normal}.ion-navicon-round:before{content:"\f101"}.ion-search:before{content:"\f102"}.ion-play:before{content:"\f103"}.ion-link:before{content:"\f104"}.ion-chevron-up:before{content:"\f105"}.ion-chevron-left:before{content:"\f106"}.ion-chevron-right:before{content:"\f107"}.ion-arrow-down-a:before{content:"\f108"}.ion-arrow-up-a:before{content:"\f109"}.ion-arrow-swap:before{content:"\f10a"}.ion-arrow-dropdown:before{content:"\f10b"}.ion-globe:before{content:"\f10c"}.ion-time:before{content:"\f10d"}.ion-location:before{content:"\f10e"}.ion-warning:before{content:"\f10f"}.ion-error:before{content:"\f110"}.ion-film-outline:before{content:"\f111"}.ion-music-note:before{content:"\f112"}.ion-more-vertical:before{content:"\f113"}.ion-magnet:before{content:"\f114"}.ion-close:before{content:"\f115"}.ion-icon-big{font-size:149%}.index .title{background:url(../img/searx.png) center no-repeat;width:100%;min-height:80px}.index h1{font-size:5em}.index #search{margin:0 auto;background:inherit;border:inherit}.index .search_filters{display:block;margin:1em 0}.index .category label{padding:6px 10px;border-bottom:initial!important}@media screen and (max-width:75em){div.title h1{font-size:1em}.preferences_back{clear:both}}#main_preferences form{width:100%}#main_preferences fieldset{margin:8px;border:none}#main_preferences legend{margin:0;padding:5px 0 0;display:block;float:left;width:300px}#main_preferences .value{margin:0;padding:0;float:left;width:15em}#main_preferences .description{margin:0;padding:5px 0 0;float:left;width:50%;color:#909090;font-size:90%}#main_preferences select{width:200px;font-size:inherit!important}#main_preferences table{border-collapse:collapse}#main_preferences table.cookies{width:auto}#main_preferences div.selectable_url pre,footer,main{width:100%}#main_preferences table.cookies td,#main_preferences table.cookies th{text-align:left;padding:.25em}#main_preferences table.cookies td:first-child,#main_preferences table.cookies th:first-child{padding-right:4em}#main_preferences table.cookies>tbody>tr:nth-child(even)>td,#main_preferences table.cookies>tbody>tr:nth-child(even)>th{background-color:#ececec}#main_preferences .name,#main_preferences .shortcut{text-align:left}#main_preferences .preferences_back{background:#3498DB;color:#fff;border:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;cursor:pointer;display:inline-block;margin:2px 4px;padding:.5em}#main_preferences .preferences_back a{display:block;color:#FFF}#main_preferences .preferences_back a::first-letter{text-transform:uppercase}#search{padding:0 2em;margin:0;background:#f7f7f7;border-bottom:1px solid #d7d7d7}#search_wrapper{padding:10px 0}.search_box{margin:0 12px 0 0;display:inline-flex;flex-direction:row}#clear_search,#q,#send_search{border-collapse:separate;box-sizing:border-box;margin:0;padding:2px;height:2.2em;background:#FFF;color:#222;font-size:16px;outline:0}#clear_search{display:block;width:1.8em;border-top:1px solid #3498DB;border-bottom:1px solid #3498DB;border-right:none;border-left:none;border-radius:0;z-index:10000}#clear_search:hover{color:#3498DB}#clear_search.empty *{display:none}#q::-ms-clear,#q::-webkit-search-cancel-button{display:none}#q,#send_search{display:block!important;border:1px solid #3498DB;border-radius:0;z-index:2}#q{outline:0;padding-left:8px;padding-right:0!important;border-right:none;width:40em}#send_search{border-left:none;width:2.2em}#send_search:hover{cursor:pointer;color:#ECF0F1}.no-js #send_search{width:auto!important}.search_filters{display:inline-block;vertical-align:middle}@media screen and (max-width:75em){#categories{font-size:90%;clear:both}#categories .checkbox_container{margin:auto}html.touch #main_index #categories_container,html.touch #main_results #categories_container{width:1000px;width:-moz-max-content;width:-webkit-max-content;width:max-content}html.touch #main_index #categories_container .category,html.touch #main_results #categories_container .category{display:inline-block;width:auto}html.touch #main_index #categories,html.touch #main_results #categories{width:100%;margin:0;text-align:left;overflow-x:scroll;overflow-y:hidden;-webkit-overflow-scrolling:touch}}@media screen and (max-width:50em){#search{width:100%;margin:0;padding:.1em 0 0}#search_wrapper{width:100%;margin:0 0 .7em;padding:0}.search_box{width:99%;margin:.1em;padding:0 .1em 0 0;display:flex;flex-direction:row}#q{width:auto!important;flex:1}.search_filters{display:block;margin:.5em}.language,.time_range{width:45%}.category{display:block;width:90%}.category label{border-bottom:0}}#categories{margin:0 10px 0 0;user-select:none}#categories::-webkit-scrollbar{width:0;height:0}.category{display:inline-block;margin:0 3px;padding:0}.category input{display:none}.category label{cursor:pointer;padding:4px 10px;margin:0;display:block;text-transform:capitalize;font-size:.9em;border-bottom:2px solid transparent;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body,html,main{padding:0;margin:0}.category input[type=checkbox]:focus+label{box-shadow:0 0 8px #3498DB}.category input[type=checkbox]:checked+label{background:#3498DB;color:#FFF;border-bottom:2px solid #084999}#categories_container .help{position:absolute;width:100%;bottom:-20px;overflow:hidden;opacity:0;transition:opacity 1s ease;font-size:.8em;text-position:center;background:#fff}footer p,html{font-size:.9em}#categories_container:hover .help{opacity:.8;transition:opacity 1s ease}html{font-family:arial,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:#444}#main_about,#main_preferences,#main_stats{margin:3em;width:auto}footer{bottom:0;height:3em;margin:1em 0;padding:1em 0;text-align:center}#main_preferences h1,#main_stats h1{background:url(../img/searx.png) no-repeat;background-size:auto 75%;min-height:40px;margin:0 auto}#results button[type=submit],input[type=submit]{padding:.5rem;margin:2px 4px;display:inline-block;background:#3498DB;color:#FFF;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0;cursor:pointer}a{text-decoration:none;color:#29314d}a:visited,a:visited .highlight{color:#684898}article[data-vim-selected]{background:#f7f7f7}article[data-vim-selected]::before{position:absolute;left:1em;padding:2px;content:">";font-weight:700;color:#3498DB}article.result-images[data-vim-selected]{background:#3498DB}article.result-images[data-vim-selected]::before{display:none;content:""}.result{margin:19px 0 18px;padding:0}.result h3{font-size:1.1em;word-wrap:break-word;margin:5px 0 0;padding:0}.result h3 a{color:#084999;font-weight:400;font-size:1.1em}.result h3 a:visited{color:#684898}.result h3 a:focus,.result h3 a:hover{text-decoration:underline;border:none;-webkit-box-shadow:none;box-shadow:none;outline:0}.result .cache_link,.result .proxyfied_link{font-size:.9em!important}.result .altlink,.result .content,.result .stat,.result .url{font-size:.9em;padding:0;max-width:54em;word-wrap:break-word}.result .altlink,.result .content,.result .stat{margin:0;line-height:1.24}.result .altlink .highlight,.result .content .highlight,.result .stat .highlight{color:#000;background:inherit;font-weight:700}.result .codelines .highlight{color:inherit;background:inherit;font-weight:400}.result .url{margin:0 0 3px;color:#25a55b}.result .published_date{font-size:.8em;color:#888}.result img.thumbnail{float:left;padding:0 5px 10px 0;width:20em;min-width:20em;min-height:8em}.result img.image{float:left;padding:0 5px 10px 0;width:100px;max-height:100px;object-fit:scale-down;object-position:right top}.category-social .image{width:auto!important;min-width:48px;min-height:48px;padding:0 5px 25px 0!important}.result-videos .content{overflow:hidden}.engines{float:right;color:#888}.engines span{font-size:smaller;margin:0 .5em 0 0}.result-images,.result-images img{margin:0;padding:0;max-height:200px}.small_font{font-size:.8em}.highlight{color:#094089;background:inherit;font-weight:700}.result-images{display:inline-block;position:relative}.result-images img{float:inherit;border:none;background:#084999}.result-images span a{display:none;color:#FFF}.result-images:hover span a{display:block;position:absolute;bottom:0;right:0;padding:4px;margin:0 0 4px 4px;background-color:rgba(0,0,0,.6);font-size:.7em}.torrent_result{border-left:10px solid #d3d3d3;padding-left:3px}#answers,#backToTop,#sidebar .infobox{border:1px solid #ddd;box-shadow:0 0 5px #CCC}.torrent_result p{margin:3px;font-size:.8em}.torrent_result a{color:#084999}.torrent_result a:hover{text-decoration:underline}.torrent_result a:visited{color:#684898}#results{margin:2em 2em 20px;padding:0;width:50em}#suggestions .wrapper{display:flex;flex-flow:row wrap;justify-content:flex-end}#suggestions .wrapper form{display:inline-block;flex:1 1 50%}#answers,#corrections,#suggestions{max-width:50em}#answers input,#corrections input,#infoboxes input,#suggestions input{padding:0;margin:3px;font-size:.9em;display:inline-block;background:0 0;color:#444;cursor:pointer}#answers .infobox .url a,#answers input[type=submit],#corrections .infobox .url a,#corrections input[type=submit],#infoboxes .infobox .url a,#infoboxes input[type=submit],#suggestions .infobox .url a,#suggestions input[type=submit]{color:#084999;text-decoration:none;font-size:.9rem}#answers .infobox .url a:hover,#answers input[type=submit]:hover,#corrections .infobox .url a:hover,#corrections input[type=submit]:hover,#infoboxes .infobox .url a:hover,#infoboxes input[type=submit]:hover,#suggestions .infobox .url a:hover,#suggestions input[type=submit]:hover{text-decoration:underline}#corrections{display:flex;flex-flow:row wrap;margin:1em 0}#corrections h4,#corrections input[type=submit]{display:inline-block;margin:0 .5em 0 0}#corrections input[type=submit]::after{content:", "}#apis .title,#search_url .title,#suggestions .title{margin:2em 0 .5em;color:#444}#answers{margin:10px 8px;padding:.9em}#answers h4{display:none}#answers .answer{display:block;font-size:1.2em;font-weight:700}#answers form,#infoboxes form{min-width:210px}#sidebar{position:absolute;top:100px;left:57em;margin:0 2px 5px 5px;padding:0 2px 2px;max-width:25em;word-wrap:break-word}#sidebar .infobox{margin:10px 0;padding:.9em;font-size:.9em}#sidebar .infobox h2{margin:0 0 .5em}#sidebar .infobox img{max-width:100%;max-height:12em;display:block;margin:0;padding:0}#sidebar .infobox dl{margin:.5em 0}#sidebar .infobox dt{display:inline;margin:.5em .25em .5em 0;padding:0;font-weight:700}#sidebar .infobox dd{display:inline;margin:.5em 0;padding:0}#apis,#search_url{margin-top:8px}#sidebar .infobox input{font-size:1em}#search_url div.selectable_url pre{width:200em}#linkto_preferences{position:absolute;right:10px;top:.9em;padding:0;border:0;display:block;font-size:1.2em;color:#222}#linkto_preferences a:active *,#linkto_preferences a:hover *,#linkto_preferences a:link *,#linkto_preferences a:visited *{color:#222}#backToTop{margin:0 0 0 2em;padding:0;font-size:1em;background:#fff;position:fixed;bottom:85px;left:50em;transition:opacity .5s;opacity:0}#backToTop a{display:block;margin:0;padding:.6em}@media screen and (max-width:75em){#main_about,#main_preferences,#main_stats{margin:.5em;width:auto}#answers,#suggestions{margin-top:1em}#infoboxes{position:inherit;max-width:inherit}#infoboxes .infobox{clear:both}#infoboxes .infobox img{float:left;max-width:10em;margin:.5em .5em .5em 0}#sidebar{position:static;max-width:50em;margin:0 0 2px;padding:0;float:none;border:none;width:auto}.image_result,.image_result img,.result .thumbnail{max-width:98%}#sidebar input{border:0}#apis,#search_url{display:none}.result{border-bottom:1px solid #E8E7E6;margin:0;padding-top:8px;padding-bottom:6px}.result h3{margin:0 0 1px}.result .url span.url{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.result .url a{float:right;padding:0 .5em}.result .engines{float:right;padding:0 0 3px}.result-images{border-bottom:none!important}}#main_results div#results.only_template_images{flex-direction:column;width:auto;display:flex}#main_results div#results.only_template_images #sidebar{position:relative;top:auto;order:2}#main_results div#results.only_template_images #urls{position:relative;order:1}#main_results div#results.only_template_images #backToTop{right:.5em;left:auto}#main_results div#results.only_template_images #pagination{position:relative;order:3}@media screen and (max-width:50em){article[data-vim-selected]::before{display:none;content:""}#linkto_preferences{display:none;postion:fixed!important;top:100px;right:0}#sidebar{margin:0 5px 2px}#corrections{margin:1em 5px}#results{margin:0;padding:0;width:initial}#backToTop{left:40em;bottom:35px}.result{padding:8px 10px 6px}.result-images{margin:0;padding:0;border:none}}@media screen and (max-width:35em){.result-videos img.thumbnail{float:none!important}.result-videos .content{overflow:inherit}} \ No newline at end of file
diff --git a/searx/static/themes/simple/gruntfile.js b/searx/static/themes/simple/gruntfile.js
index a0f9fd75a..c372ec730 100644
--- a/searx/static/themes/simple/gruntfile.js
+++ b/searx/static/themes/simple/gruntfile.js
@@ -10,21 +10,36 @@ module.exports = function(grunt) {
tasks: ['jshint', 'concat', 'uglify', 'webfont', 'less:development', 'less:production']
}
},
- concat: {
+ jshint: {
+ files: ['js/searx_src/*.js', 'js/searx_header/*.js'],
options: {
- separator: ';'
- },
- dist: {
- src: ['js/searx_src/*.js'],
- dest: 'js/searx.js'
+ reporterOutput: "",
+ proto: true,
+ // options here to override JSHint defaults
+ globals: {
+ browser: true,
+ jQuery: false,
+ devel: true
+ }
+ }
+ },
+ concat: {
+ head_and_body: {
+ options: {
+ separator: ';'
+ },
+ files: {
+ 'js/searx.head.js': ['js/searx_head/*.js'],
+ 'js/searx.js': ['js/searx_src/*.js']
+ }
}
},
uglify: {
options: {
banner: '/*! simple/searx.min.js | <%= grunt.template.today("dd-mm-yyyy") %> | https://github.com/asciimoo/searx */\n',
- output: {
- comments: 'some'
- },
+ output: {
+ comments: 'some'
+ },
ie8: false,
warnings: true,
compress: false,
@@ -33,20 +48,8 @@ module.exports = function(grunt) {
},
dist: {
files: {
- 'js/searx.min.js': ['<%= concat.dist.dest %>']
- }
- }
- },
- jshint: {
- files: ['js/searx_src/*.js'],
- options: {
- reporterOutput: "",
- proto: true,
- // options here to override JSHint defaults
- globals: {
- browser: true,
- jQuery: false,
- devel: true
+ 'js/searx.head.min.js': ['js/searx.head.js'],
+ 'js/searx.min.js': ['js/searx.js']
}
}
},
diff --git a/searx/static/themes/simple/js/searx.head.js b/searx/static/themes/simple/js/searx.head.js
new file mode 100644
index 000000000..3ac61c8ae
--- /dev/null
+++ b/searx/static/themes/simple/js/searx.head.js
@@ -0,0 +1,40 @@
+/**
+* searx is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Affero General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* searx 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 Affero General Public License for more details.
+*
+* You should have received a copy of the GNU Affero General Public License
+* along with searx. If not, see < http://www.gnu.org/licenses/ >.
+*
+* (C) 2019 by Alexandre Flament
+*
+*/
+(function(w, d) {
+ 'use strict';
+
+ // add data- properties
+ var script = d.currentScript || (function() {
+ var scripts = d.getElementsByTagName('script');
+ return scripts[scripts.length - 1];
+ })();
+
+ // try to detect touch screen
+ w.searx = {
+ touch: (("ontouchstart" in w) || w.DocumentTouch && document instanceof DocumentTouch) || false,
+ method: script.getAttribute('data-method'),
+ autocompleter: script.getAttribute('data-autocompleter') === 'true',
+ search_on_category_select: script.getAttribute('data-search-on-category-select') === 'true',
+ infinite_scroll: script.getAttribute('data-infinite-scroll') === 'true',
+ static_path: script.getAttribute('data-static-path'),
+ no_item_found: script.getAttribute('data-no-item-found')
+ }
+
+ // update the css
+ d.getElementsByTagName("html")[0].className = (w.searx.touch)?"js touch":"js";
+})(window, document); \ No newline at end of file
diff --git a/searx/static/themes/simple/js/searx.head.min.js b/searx/static/themes/simple/js/searx.head.min.js
new file mode 100644
index 000000000..00c711c79
--- /dev/null
+++ b/searx/static/themes/simple/js/searx.head.min.js
@@ -0,0 +1,4 @@
+/*! simple/searx.min.js | 06-08-2019 | https://github.com/asciimoo/searx */
+
+(function(t,e){"use strict";var a=e.currentScript||function(){var t=e.getElementsByTagName("script");return t[t.length-1]}();t.searx={touch:"ontouchstart"in t||t.DocumentTouch&&document instanceof DocumentTouch||false,method:a.getAttribute("data-method"),autocompleter:a.getAttribute("data-autocompleter")==="true",search_on_category_select:a.getAttribute("data-search-on-category-select")==="true",infinite_scroll:a.getAttribute("data-infinite-scroll")==="true",static_path:a.getAttribute("data-static-path"),no_item_found:a.getAttribute("data-no-item-found")};e.getElementsByTagName("html")[0].className=t.searx.touch?"js touch":"js"})(window,document);
+//# sourceMappingURL=searx.head.min.js.map \ No newline at end of file
diff --git a/searx/static/themes/simple/js/searx.head.min.js.map b/searx/static/themes/simple/js/searx.head.min.js.map
new file mode 100644
index 000000000..d19ad5a44
--- /dev/null
+++ b/searx/static/themes/simple/js/searx.head.min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["searx.head.js"],"names":["w","d","script","currentScript","scripts","getElementsByTagName","length","searx","touch","DocumentTouch","document","method","getAttribute","autocompleter","search_on_category_select","infinite_scroll","static_path","no_item_found","className","window"],"mappings":";;CAiBA,SAAUA,EAAGC,GACT,aAGA,IAAIC,EAASD,EAAEE,eAAkB,WAC7B,IAAIC,EAAUH,EAAEI,qBAAqB,UACrC,OAAOD,EAAQA,EAAQE,OAAS,GAFH,GAMjCN,EAAEO,MAAQ,CACNC,MAAS,iBAAkBR,GAAMA,EAAES,eAAiBC,oBAAoBD,eAAkB,MAC1FE,OAAQT,EAAOU,aAAa,eAC5BC,cAAeX,EAAOU,aAAa,wBAA0B,OAC7DE,0BAA2BZ,EAAOU,aAAa,oCAAsC,OACrFG,gBAAiBb,EAAOU,aAAa,0BAA4B,OACjEI,YAAad,EAAOU,aAAa,oBACjCK,cAAef,EAAOU,aAAa,uBAIvCX,EAAEI,qBAAqB,QAAQ,GAAGa,UAAalB,EAAEO,MAAW,MAAE,WAAW,MArB7E,CAsBGY,OAAQT","file":"searx.head.min.js"} \ No newline at end of file
diff --git a/searx/static/themes/simple/js/searx.js b/searx/static/themes/simple/js/searx.js
index 1830977c0..e191f2487 100644
--- a/searx/static/themes/simple/js/searx.js
+++ b/searx/static/themes/simple/js/searx.js
@@ -15,7 +15,7 @@
* (C) 2017 by Alexandre Flament, <alex@al-f.net>
*
*/
-(function(w, d, searx) {
+window.searx = (function(w, d) {
'use strict';
@@ -45,7 +45,7 @@
}
}
- searx = searx || {};
+ var searx = window.searx || {};
searx.on = function(obj, eventType, callback, useCapture) {
useCapture = useCapture || false;
@@ -110,7 +110,7 @@
};
searx.loadStyle = function(src) {
- var path = searx.staticPath + src,
+ var path = searx.static_path + src,
id = "style_" + src.replace('.', '_'),
s = d.getElementById(id);
if (s === null) {
@@ -124,7 +124,7 @@
};
searx.loadScript = function(src, callback) {
- var path = searx.staticPath + src,
+ var path = searx.static_path + src,
id = "script_" + src.replace('.', '_'),
s = d.getElementById(id);
if (s === null) {
@@ -161,7 +161,7 @@
});
return searx;
-})(window, document, window.searx);
+})(window, document);
;(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.AutoComplete = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
/*
* @license MIT
@@ -1529,7 +1529,7 @@ module.exports = AutoComplete;
if (searx.autocompleter) {
searx.autocomplete = AutoComplete.call(w, {
Url: "./autocompleter",
- EmptyMessage: searx.noItemFound,
+ EmptyMessage: searx.no_item_found,
HttpMethod: searx.method,
MinChars: 4,
Delay: 300,
diff --git a/searx/static/themes/simple/js/searx.min.js b/searx/static/themes/simple/js/searx.min.js
index f1601cd37..42e8a845c 100644
--- a/searx/static/themes/simple/js/searx.min.js
+++ b/searx/static/themes/simple/js/searx.min.js
@@ -1,6 +1,7 @@
-/*! simple/searx.min.js | 14-08-2018 | https://github.com/asciimoo/searx */
+/*! simple/searx.min.js | 06-08-2019 | https://github.com/asciimoo/searx */
-(function(e,t,n){"use strict";if(e.Element){(function(e){e.matches=e.matches||e.matchesSelector||e.webkitMatchesSelector||e.msMatchesSelector||function(e){var t=this,n=(t.parentNode||t.document).querySelectorAll(e),i=-1;while(n[++i]&&n[i]!=t);return!!n[i]}})(Element.prototype)}function i(e,t,n){try{e.call(t,n)}catch(e){console.log(e)}}n=n||{};n.on=function(e,n,r,a){a=a||false;if(typeof e!=="string"){e.addEventListener(n,r,a)}else{t.addEventListener(n,function(n){var a=n.target||n.srcElement,o=false;while(a&&a.matches&&a!==t&&!(o=a.matches(e)))a=a.parentElement;if(o)i(r,a,n)},a)}};n.ready=function(t){if(document.readyState!="loading"){t.call(e)}else{e.addEventListener("DOMContentLoaded",t.bind(e))}};n.http=function(e,t,n){var i=new XMLHttpRequest,r=function(){},a=function(){},o={then:function(e){r=e;return o},catch:function(e){a=e;return o}};try{i.open(e,t,true);i.onload=function(){if(i.status==200){r(i.response,i.responseType)}else{a(Error(i.statusText))}};i.onerror=function(){a(Error("Network Error"))};i.onabort=function(){a(Error("Transaction is aborted"))};i.send()}catch(e){a(e)}return o};n.loadStyle=function(e){var i=n.staticPath+e,r="style_"+e.replace(".","_"),a=t.getElementById(r);if(a===null){a=t.createElement("link");a.setAttribute("id",r);a.setAttribute("rel","stylesheet");a.setAttribute("type","text/css");a.setAttribute("href",i);t.body.appendChild(a)}};n.loadScript=function(e,i){var r=n.staticPath+e,a="script_"+e.replace(".","_"),o=t.getElementById(a);if(o===null){o=t.createElement("script");o.setAttribute("id",a);o.setAttribute("src",r);o.onload=i;o.onerror=function(){o.setAttribute("error","1")};t.body.appendChild(o)}else if(!o.hasAttribute("error")){try{i.apply(o,[])}catch(e){console.log(e)}}else{console.log("callback not executed : script '"+r+"' not loaded.")}};n.insertBefore=function(e,t){element.parentNode.insertBefore(e,t)};n.insertAfter=function(e,t){t.parentNode.insertBefore(e,t.nextSibling)};n.on(".close","click",function(e){var t=e.target||e.srcElement;this.parentNode.classList.add("invisible")});return n})(window,document,window.searx);(function(e){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=e()}else if(typeof define==="function"&&define.amd){define([],e)}else{var t;if(typeof window!=="undefined"){t=window}else if(typeof global!=="undefined"){t=global}else if(typeof self!=="undefined"){t=self}else{t=this}t.AutoComplete=e()}})(function(){var e,t,n;return function e(t,n,i){function r(o,s){if(!n[o]){if(!t[o]){var l=typeof require=="function"&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var u=new Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[o]={exports:{}};t[o][0].call(c.exports,function(e){var n=t[o][1][e];return r(n?n:e)},c,c.exports,e,t,n,i)}return n[o].exports}var a=typeof require=="function"&&require;for(var o=0;o<i.length;o++)r(i[o]);return r}({1:[function(e,t,n){/*
+window.searx=function(t,a){"use strict";if(t.Element){(function(e){e.matches=e.matches||e.matchesSelector||e.webkitMatchesSelector||e.msMatchesSelector||function(e){var t=this,n=(t.parentNode||t.document).querySelectorAll(e),i=-1;while(n[++i]&&n[i]!=t);return!!n[i]}})(Element.prototype)}function o(e,t,n){try{e.call(t,n)}catch(e){console.log(e)}}var s=window.searx||{};s.on=function(i,e,r,t){t=t||false;if(typeof i!=="string"){i.addEventListener(e,r,t)}else{a.addEventListener(e,function(e){var t=e.target||e.srcElement,n=false;while(t&&t.matches&&t!==a&&!(n=t.matches(i)))t=t.parentElement;if(n)o(r,t,e)},t)}};s.ready=function(e){if(document.readyState!="loading"){e.call(t)}else{t.addEventListener("DOMContentLoaded",e.bind(t))}};s.http=function(e,t,n){var i=new XMLHttpRequest,r=function(){},a=function(){},o={then:function(e){r=e;return o},catch:function(e){a=e;return o}};try{i.open(e,t,true);i.onload=function(){if(i.status==200){r(i.response,i.responseType)}else{a(Error(i.statusText))}};i.onerror=function(){a(Error("Network Error"))};i.onabort=function(){a(Error("Transaction is aborted"))};i.send()}catch(e){a(e)}return o};s.loadStyle=function(e){var t=s.static_path+e,n="style_"+e.replace(".","_"),i=a.getElementById(n);if(i===null){i=a.createElement("link");i.setAttribute("id",n);i.setAttribute("rel","stylesheet");i.setAttribute("type","text/css");i.setAttribute("href",t);a.body.appendChild(i)}};s.loadScript=function(e,t){var n=s.static_path+e,i="script_"+e.replace(".","_"),r=a.getElementById(i);if(r===null){r=a.createElement("script");r.setAttribute("id",i);r.setAttribute("src",n);r.onload=t;r.onerror=function(){r.setAttribute("error","1")};a.body.appendChild(r)}else if(!r.hasAttribute("error")){try{t.apply(r,[])}catch(e){console.log(e)}}else{console.log("callback not executed : script '"+n+"' not loaded.")}};s.insertBefore=function(e,t){element.parentNode.insertBefore(e,t)};s.insertAfter=function(e,t){t.parentNode.insertBefore(e,t.nextSibling)};s.on(".close","click",function(e){var t=e.target||e.srcElement;this.parentNode.classList.add("invisible")});return s}(window,document);(function(e){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=e()}else if(typeof define==="function"&&define.amd){define([],e)}else{var t;if(typeof window!=="undefined"){t=window}else if(typeof global!=="undefined"){t=global}else if(typeof self!=="undefined"){t=self}else{t=this}t.AutoComplete=e()}})(function(){var e,t,n;return function a(o,s,l){function u(n,e){if(!s[n]){if(!o[n]){var t=typeof require=="function"&&require;if(!e&&t)return t(n,!0);if(c)return c(n,!0);var i=new Error("Cannot find module '"+n+"'");throw i.code="MODULE_NOT_FOUND",i}var r=s[n]={exports:{}};o[n][0].call(r.exports,function(e){var t=o[n][1][e];return u(t?t:e)},r,r.exports,a,o,s,l)}return s[n].exports}var c=typeof require=="function"&&require;for(var e=0;e<l.length;e++)u(l[e]);return u}({1:[function(e,t,n){
+/*
* @license MIT
*
* Autocomplete.js v2.6.3
@@ -9,7 +10,8 @@
*
* (c) 2017, Baptiste Donaux
*/
-"use strict";var i;(function(e){e[e["AND"]=0]="AND";e[e["OR"]=1]="OR"})(i||(i={}));var r;(function(e){e[e["KEYDOWN"]=0]="KEYDOWN";e[e["KEYUP"]=1]="KEYUP"})(r||(r={}));var a=function(){function e(t,n){if(t===void 0){t={}}if(n===void 0){n="[data-autocomplete]"}if(Array.isArray(n)){n.forEach(function(n){new e(t,n)})}else if(typeof n=="string"){var i=document.querySelectorAll(n);Array.prototype.forEach.call(i,function(n){new e(t,n)})}else{var r=e.merge(e.defaults,t,{DOMResults:document.createElement("div")});e.prototype.create(r,n);return r}}e.prototype.create=function(t,n){t.Input=n;if(t.Input.nodeName.match(/^INPUT$/i)&&(t.Input.hasAttribute("type")===false||t.Input.getAttribute("type").match(/^TEXT|SEARCH$/i))){t.Input.setAttribute("autocomplete","off");t._Position(t);t.Input.parentNode.appendChild(t.DOMResults);t.$Listeners={blur:t._Blur.bind(t),destroy:e.prototype.destroy.bind(null,t),focus:t._Focus.bind(t),keyup:e.prototype.event.bind(null,t,r.KEYUP),keydown:e.prototype.event.bind(null,t,r.KEYDOWN),position:t._Position.bind(t)};for(var i in t.$Listeners){t.Input.addEventListener(i,t.$Listeners[i])}}};e.prototype.getEventsByType=function(e,t){var n={};for(var i in e.KeyboardMappings){var a=r.KEYUP;if(e.KeyboardMappings[i].Event!==undefined){a=e.KeyboardMappings[i].Event}if(a==t){n[i]=e.KeyboardMappings[i]}}return n};e.prototype.event=function(t,n,r){var a=function(t){if(l===true&&s.Operator==i.AND||l===false&&s.Operator==i.OR){t=e.merge({Not:false},t);if(t.hasOwnProperty("Is")){if(t.Is==r.keyCode){l=!t.Not}else{l=t.Not}}else if(t.hasOwnProperty("From")&&t.hasOwnProperty("To")){if(r.keyCode>=t.From&&r.keyCode<=t.To){l=!t.Not}else{l=t.Not}}}};for(var o in e.prototype.getEventsByType(t,n)){var s=e.merge({Operator:i.AND},t.KeyboardMappings[o]),l=i.AND==s.Operator;s.Conditions.forEach(a);if(l===true){s.Callback.call(t,r)}}};e.prototype.makeRequest=function(e,t){var n=Object.getOwnPropertyNames(e.HttpHeaders),i=new XMLHttpRequest,r=e._HttpMethod(),a=e._Url(),o=e._Pre(),s=encodeURIComponent(e._QueryArg())+"="+encodeURIComponent(o);if(r.match(/^GET$/i)){if(a.indexOf("?")!==-1){a+="&"+s}else{a+="?"+s}}i.open(r,a,true);for(var l=n.length-1;l>=0;l--){i.setRequestHeader(n[l],e.HttpHeaders[n[l]])}i.onreadystatechange=function(){if(i.readyState==4&&i.status==200){e.$Cache[o]=i.response;t(i.response)}};return i};e.prototype.ajax=function(t,n,i){if(i===void 0){i=true}if(t.$AjaxTimer){window.clearTimeout(t.$AjaxTimer)}if(i===true){t.$AjaxTimer=window.setTimeout(e.prototype.ajax.bind(null,t,n,false),t.Delay)}else{if(t.Request){t.Request.abort()}t.Request=n;t.Request.send(t._QueryArg()+"="+t._Pre())}};e.prototype.cache=function(t,n){var i=t._Cache(t._Pre());if(i===undefined){var r=e.prototype.makeRequest(t,n);e.prototype.ajax(t,r)}else{n(i)}};e.prototype.destroy=function(e){for(var t in e.$Listeners){e.Input.removeEventListener(t,e.$Listeners[t])}e.DOMResults.parentNode.removeChild(e.DOMResults)};return e}();a.merge=function(){var e={},t;for(var n=0;n<arguments.length;n++){for(t in arguments[n]){e[t]=arguments[n][t]}}return e};a.defaults={Delay:150,EmptyMessage:"No result here",Highlight:{getRegex:function(e){return new RegExp(e,"ig")},transform:function(e){return"<strong>"+e+"</strong>"}},HttpHeaders:{"Content-type":"application/x-www-form-urlencoded"},Limit:0,MinChars:0,HttpMethod:"GET",QueryArg:"q",Url:null,KeyboardMappings:{Enter:{Conditions:[{Is:13,Not:false}],Callback:function(e){if(this.DOMResults.getAttribute("class").indexOf("open")!=-1){var t=this.DOMResults.querySelector("li.active");if(t!==null){e.preventDefault();this._Select(t);this.DOMResults.setAttribute("class","autocomplete")}}},Operator:i.AND,Event:r.KEYDOWN},KeyUpAndDown_down:{Conditions:[{Is:38,Not:false},{Is:40,Not:false}],Callback:function(e){e.preventDefault()},Operator:i.OR,Event:r.KEYDOWN},KeyUpAndDown_up:{Conditions:[{Is:38,Not:false},{Is:40,Not:false}],Callback:function(e){e.preventDefault();var t=this.DOMResults.querySelector("li:first-child:not(.locked)"),n=this.DOMResults.querySelector("li:last-child:not(.locked)"),i=this.DOMResults.querySelector("li.active");if(i){var r=Array.prototype.indexOf.call(i.parentNode.children,i),a=r+(e.keyCode-39),o=this.DOMResults.getElementsByTagName("li").length;if(a<0){a=o-1}else if(a>=o){a=0}i.classList.remove("active");i.parentElement.children.item(a).classList.add("active")}else if(n&&e.keyCode==38){n.classList.add("active")}else if(t){t.classList.add("active")}},Operator:i.OR,Event:r.KEYUP},AlphaNum:{Conditions:[{Is:13,Not:true},{From:35,To:40,Not:true}],Callback:function(){var e=this.Input.getAttribute("data-autocomplete-old-value"),t=this._Pre();if(t!==""&&t.length>=this._MinChars()){if(!e||t!=e){this.DOMResults.setAttribute("class","autocomplete open")}a.prototype.cache(this,function(e){this._Render(this._Post(e));this._Open()}.bind(this))}},Operator:i.AND,Event:r.KEYUP}},DOMResults:null,Request:null,Input:null,_EmptyMessage:function(){var e="";if(this.Input.hasAttribute("data-autocomplete-empty-message")){e=this.Input.getAttribute("data-autocomplete-empty-message")}else if(this.EmptyMessage!==false){e=this.EmptyMessage}else{e=""}return e},_Limit:function(){var e=this.Input.getAttribute("data-autocomplete-limit");if(isNaN(e)||e===null){return this.Limit}return parseInt(e,10)},_MinChars:function(){var e=this.Input.getAttribute("data-autocomplete-minchars");if(isNaN(e)||e===null){return this.MinChars}return parseInt(e,10)},_Highlight:function(e){return e.replace(this.Highlight.getRegex(this._Pre()),this.Highlight.transform)},_HttpMethod:function(){if(this.Input.hasAttribute("data-autocomplete-method")){return this.Input.getAttribute("data-autocomplete-method")}return this.HttpMethod},_QueryArg:function(){if(this.Input.hasAttribute("data-autocomplete-param-name")){return this.Input.getAttribute("data-autocomplete-param-name")}return this.QueryArg},_Url:function(){if(this.Input.hasAttribute("data-autocomplete")){return this.Input.getAttribute("data-autocomplete")}return this.Url},_Blur:function(e){if(e===true){this.DOMResults.setAttribute("class","autocomplete");this.Input.setAttribute("data-autocomplete-old-value",this.Input.value)}else{var t=this;setTimeout(function(){t._Blur(true)},150)}},_Cache:function(e){return this.$Cache[e]},_Focus:function(){var e=this.Input.getAttribute("data-autocomplete-old-value");if((!e||this.Input.value!=e)&&this._MinChars()<=this.Input.value.length){this.DOMResults.setAttribute("class","autocomplete open")}},_Open:function(){var e=this;Array.prototype.forEach.call(this.DOMResults.getElementsByTagName("li"),function(t){if(t.getAttribute("class")!="locked"){t.onclick=function(n){e._Select(t)};t.onmouseenter=function(){var n=e.DOMResults.querySelector("li.active");if(n!==t){if(n!==null){n.classList.remove("active")}t.classList.add("active")}}}})},_Position:function(){this.DOMResults.setAttribute("class","autocomplete");this.DOMResults.setAttribute("style","top:"+(this.Input.offsetTop+this.Input.offsetHeight)+"px;left:"+this.Input.offsetLeft+"px;width:"+this.Input.clientWidth+"px;")},_Render:function(e){var t;if(typeof e=="string"){t=this._RenderRaw(e)}else{t=this._RenderResponseItems(e)}if(this.DOMResults.hasChildNodes()){this.DOMResults.removeChild(this.DOMResults.childNodes[0])}this.DOMResults.appendChild(t)},_RenderResponseItems:function(e){var t=document.createElement("ul"),n=document.createElement("li"),i=this._Limit();if(i<0){e=e.reverse()}else if(i===0){i=e.length}for(var r=0;r<Math.min(Math.abs(i),e.length);r++){n.innerHTML=e[r].Label;n.setAttribute("data-autocomplete-value",e[r].Value);t.appendChild(n);n=document.createElement("li")}return t},_RenderRaw:function(e){var t=document.createElement("ul"),n=document.createElement("li");if(e.length>0){this.DOMResults.innerHTML=e}else{var i=this._EmptyMessage();if(i!==""){n.innerHTML=i;n.setAttribute("class","locked");t.appendChild(n)}}return t},_Post:function(e){try{var t=[];var n=JSON.parse(e);if(Object.keys(n).length===0){return""}if(Array.isArray(n)){for(var i=0;i<Object.keys(n).length;i++){t[t.length]={Value:n[i],Label:this._Highlight(n[i])}}}else{for(var r in n){t.push({Value:r,Label:this._Highlight(n[r])})}}return t}catch(t){return e}},_Pre:function(){return this.Input.value},_Select:function(e){console.log("test test test");if(e.hasAttribute("data-autocomplete-value")){this.Input.value=e.getAttribute("data-autocomplete-value")}else{this.Input.value=e.innerHTML}this.Input.setAttribute("data-autocomplete-old-value",this.Input.value)},$AjaxTimer:null,$Cache:{},$Listeners:{}};t.exports=a},{}]},{},[1])(1)});/**
+"use strict";var l;(function(e){e[e["AND"]=0]="AND";e[e["OR"]=1]="OR"})(l||(l={}));var a;(function(e){e[e["KEYDOWN"]=0]="KEYDOWN";e[e["KEYUP"]=1]="KEYUP"})(a||(a={}));var i=function(){function s(t,e){if(t===void 0){t={}}if(e===void 0){e="[data-autocomplete]"}if(Array.isArray(e)){e.forEach(function(e){new s(t,e)})}else if(typeof e=="string"){var n=document.querySelectorAll(e);Array.prototype.forEach.call(n,function(e){new s(t,e)})}else{var i=s.merge(s.defaults,t,{DOMResults:document.createElement("div")});s.prototype.create(i,e);return i}}s.prototype.create=function(e,t){e.Input=t;if(e.Input.nodeName.match(/^INPUT$/i)&&(e.Input.hasAttribute("type")===false||e.Input.getAttribute("type").match(/^TEXT|SEARCH$/i))){e.Input.setAttribute("autocomplete","off");e._Position(e);e.Input.parentNode.appendChild(e.DOMResults);e.$Listeners={blur:e._Blur.bind(e),destroy:s.prototype.destroy.bind(null,e),focus:e._Focus.bind(e),keyup:s.prototype.event.bind(null,e,a.KEYUP),keydown:s.prototype.event.bind(null,e,a.KEYDOWN),position:e._Position.bind(e)};for(var n in e.$Listeners){e.Input.addEventListener(n,e.$Listeners[n])}}};s.prototype.getEventsByType=function(e,t){var n={};for(var i in e.KeyboardMappings){var r=a.KEYUP;if(e.KeyboardMappings[i].Event!==undefined){r=e.KeyboardMappings[i].Event}if(r==t){n[i]=e.KeyboardMappings[i]}}return n};s.prototype.event=function(e,t,n){var i=function(e){if(o===true&&a.Operator==l.AND||o===false&&a.Operator==l.OR){e=s.merge({Not:false},e);if(e.hasOwnProperty("Is")){if(e.Is==n.keyCode){o=!e.Not}else{o=e.Not}}else if(e.hasOwnProperty("From")&&e.hasOwnProperty("To")){if(n.keyCode>=e.From&&n.keyCode<=e.To){o=!e.Not}else{o=e.Not}}}};for(var r in s.prototype.getEventsByType(e,t)){var a=s.merge({Operator:l.AND},e.KeyboardMappings[r]),o=l.AND==a.Operator;a.Conditions.forEach(i);if(o===true){a.Callback.call(e,n)}}};s.prototype.makeRequest=function(e,t){var n=Object.getOwnPropertyNames(e.HttpHeaders),i=new XMLHttpRequest,r=e._HttpMethod(),a=e._Url(),o=e._Pre(),s=encodeURIComponent(e._QueryArg())+"="+encodeURIComponent(o);if(r.match(/^GET$/i)){if(a.indexOf("?")!==-1){a+="&"+s}else{a+="?"+s}}i.open(r,a,true);for(var l=n.length-1;l>=0;l--){i.setRequestHeader(n[l],e.HttpHeaders[n[l]])}i.onreadystatechange=function(){if(i.readyState==4&&i.status==200){e.$Cache[o]=i.response;t(i.response)}};return i};s.prototype.ajax=function(e,t,n){if(n===void 0){n=true}if(e.$AjaxTimer){window.clearTimeout(e.$AjaxTimer)}if(n===true){e.$AjaxTimer=window.setTimeout(s.prototype.ajax.bind(null,e,t,false),e.Delay)}else{if(e.Request){e.Request.abort()}e.Request=t;e.Request.send(e._QueryArg()+"="+e._Pre())}};s.prototype.cache=function(e,t){var n=e._Cache(e._Pre());if(n===undefined){var i=s.prototype.makeRequest(e,t);s.prototype.ajax(e,i)}else{t(n)}};s.prototype.destroy=function(e){for(var t in e.$Listeners){e.Input.removeEventListener(t,e.$Listeners[t])}e.DOMResults.parentNode.removeChild(e.DOMResults)};return s}();i.merge=function(){var e={},t;for(var n=0;n<arguments.length;n++){for(t in arguments[n]){e[t]=arguments[n][t]}}return e};i.defaults={Delay:150,EmptyMessage:"No result here",Highlight:{getRegex:function(e){return new RegExp(e,"ig")},transform:function(e){return"<strong>"+e+"</strong>"}},HttpHeaders:{"Content-type":"application/x-www-form-urlencoded"},Limit:0,MinChars:0,HttpMethod:"GET",QueryArg:"q",Url:null,KeyboardMappings:{Enter:{Conditions:[{Is:13,Not:false}],Callback:function(e){if(this.DOMResults.getAttribute("class").indexOf("open")!=-1){var t=this.DOMResults.querySelector("li.active");if(t!==null){e.preventDefault();this._Select(t);this.DOMResults.setAttribute("class","autocomplete")}}},Operator:l.AND,Event:a.KEYDOWN},KeyUpAndDown_down:{Conditions:[{Is:38,Not:false},{Is:40,Not:false}],Callback:function(e){e.preventDefault()},Operator:l.OR,Event:a.KEYDOWN},KeyUpAndDown_up:{Conditions:[{Is:38,Not:false},{Is:40,Not:false}],Callback:function(e){e.preventDefault();var t=this.DOMResults.querySelector("li:first-child:not(.locked)"),n=this.DOMResults.querySelector("li:last-child:not(.locked)"),i=this.DOMResults.querySelector("li.active");if(i){var r=Array.prototype.indexOf.call(i.parentNode.children,i),a=r+(e.keyCode-39),o=this.DOMResults.getElementsByTagName("li").length;if(a<0){a=o-1}else if(a>=o){a=0}i.classList.remove("active");i.parentElement.children.item(a).classList.add("active")}else if(n&&e.keyCode==38){n.classList.add("active")}else if(t){t.classList.add("active")}},Operator:l.OR,Event:a.KEYUP},AlphaNum:{Conditions:[{Is:13,Not:true},{From:35,To:40,Not:true}],Callback:function(){var e=this.Input.getAttribute("data-autocomplete-old-value"),t=this._Pre();if(t!==""&&t.length>=this._MinChars()){if(!e||t!=e){this.DOMResults.setAttribute("class","autocomplete open")}i.prototype.cache(this,function(e){this._Render(this._Post(e));this._Open()}.bind(this))}},Operator:l.AND,Event:a.KEYUP}},DOMResults:null,Request:null,Input:null,_EmptyMessage:function(){var e="";if(this.Input.hasAttribute("data-autocomplete-empty-message")){e=this.Input.getAttribute("data-autocomplete-empty-message")}else if(this.EmptyMessage!==false){e=this.EmptyMessage}else{e=""}return e},_Limit:function(){var e=this.Input.getAttribute("data-autocomplete-limit");if(isNaN(e)||e===null){return this.Limit}return parseInt(e,10)},_MinChars:function(){var e=this.Input.getAttribute("data-autocomplete-minchars");if(isNaN(e)||e===null){return this.MinChars}return parseInt(e,10)},_Highlight:function(e){return e.replace(this.Highlight.getRegex(this._Pre()),this.Highlight.transform)},_HttpMethod:function(){if(this.Input.hasAttribute("data-autocomplete-method")){return this.Input.getAttribute("data-autocomplete-method")}return this.HttpMethod},_QueryArg:function(){if(this.Input.hasAttribute("data-autocomplete-param-name")){return this.Input.getAttribute("data-autocomplete-param-name")}return this.QueryArg},_Url:function(){if(this.Input.hasAttribute("data-autocomplete")){return this.Input.getAttribute("data-autocomplete")}return this.Url},_Blur:function(e){if(e===true){this.DOMResults.setAttribute("class","autocomplete");this.Input.setAttribute("data-autocomplete-old-value",this.Input.value)}else{var t=this;setTimeout(function(){t._Blur(true)},150)}},_Cache:function(e){return this.$Cache[e]},_Focus:function(){var e=this.Input.getAttribute("data-autocomplete-old-value");if((!e||this.Input.value!=e)&&this._MinChars()<=this.Input.value.length){this.DOMResults.setAttribute("class","autocomplete open")}},_Open:function(){var n=this;Array.prototype.forEach.call(this.DOMResults.getElementsByTagName("li"),function(t){if(t.getAttribute("class")!="locked"){t.onclick=function(e){n._Select(t)};t.onmouseenter=function(){var e=n.DOMResults.querySelector("li.active");if(e!==t){if(e!==null){e.classList.remove("active")}t.classList.add("active")}}}})},_Position:function(){this.DOMResults.setAttribute("class","autocomplete");this.DOMResults.setAttribute("style","top:"+(this.Input.offsetTop+this.Input.offsetHeight)+"px;left:"+this.Input.offsetLeft+"px;width:"+this.Input.clientWidth+"px;")},_Render:function(e){var t;if(typeof e=="string"){t=this._RenderRaw(e)}else{t=this._RenderResponseItems(e)}if(this.DOMResults.hasChildNodes()){this.DOMResults.removeChild(this.DOMResults.childNodes[0])}this.DOMResults.appendChild(t)},_RenderResponseItems:function(e){var t=document.createElement("ul"),n=document.createElement("li"),i=this._Limit();if(i<0){e=e.reverse()}else if(i===0){i=e.length}for(var r=0;r<Math.min(Math.abs(i),e.length);r++){n.innerHTML=e[r].Label;n.setAttribute("data-autocomplete-value",e[r].Value);t.appendChild(n);n=document.createElement("li")}return t},_RenderRaw:function(e){var t=document.createElement("ul"),n=document.createElement("li");if(e.length>0){this.DOMResults.innerHTML=e}else{var i=this._EmptyMessage();if(i!==""){n.innerHTML=i;n.setAttribute("class","locked");t.appendChild(n)}}return t},_Post:function(t){try{var e=[];var n=JSON.parse(t);if(Object.keys(n).length===0){return""}if(Array.isArray(n)){for(var i=0;i<Object.keys(n).length;i++){e[e.length]={Value:n[i],Label:this._Highlight(n[i])}}}else{for(var r in n){e.push({Value:r,Label:this._Highlight(n[r])})}}return e}catch(e){return t}},_Pre:function(){return this.Input.value},_Select:function(e){console.log("test test test");if(e.hasAttribute("data-autocomplete-value")){this.Input.value=e.getAttribute("data-autocomplete-value")}else{this.Input.value=e.innerHTML}this.Input.setAttribute("data-autocomplete-old-value",this.Input.value)},$AjaxTimer:null,$Cache:{},$Listeners:{}};t.exports=i},{}]},{},[1])(1)});
+/**
*
* Google Image Layout v0.0.1
* Description, by Anh Trinh.
@@ -19,5 +21,5 @@
* @license Free to use under the MIT License.
*
*/
-(function(e,t){"use strict";function n(e,t,n,i){this.container_selector=e;this.results_selector=t;this.img_selector=n;this.margin=10;this.maxHeight=i;this._alignAllDone=true}n.prototype._getHeigth=function(e,t){var n=0,i;t-=e.length*this.margin;for(var r=0;r<e.length;r++){i=e[r];if(i.naturalWidth>0&&i.naturalHeight>0){n+=i.naturalWidth/i.naturalHeight}else{n+=1}}return t/n};n.prototype._setSize=function(e,t){var n,i,r=e.length;for(var a=0;a<r;a++){n=e[a];if(n.naturalWidth>0&&n.naturalHeight>0){i=t*n.naturalWidth/n.naturalHeight}else{i=t}n.style.width=i+"px";n.style.height=t+"px";n.style.marginLeft="3px";n.style.marginTop="3px";n.style.marginRight=this.margin-7+"px";n.style.marginBottom=this.margin-7+"px"}};n.prototype._alignImgs=function(e){var n,i,r=t.querySelector(this.container_selector).clientWidth;e:while(e.length>0){for(var a=1;a<=e.length;a++){n=e.slice(0,a);i=this._getHeigth(n,r);if(i<this.maxHeight){this._setSize(n,i);e=e.slice(a);continue e}}this._setSize(n,Math.min(this.maxHeight,i));break}};n.prototype.align=function(e){var n=t.querySelectorAll(this.results_selector),i=n.length,r=null,a=null,o=[];for(var s=0;s<i;s++){a=n[s];if(a.previousElementSibling!==r&&o.length>0){this._alignImgs(o);o=[]}o.push(a.querySelector(this.img_selector));r=a}if(o.length>0){this._alignImgs(o)}};n.prototype.watch=function(){var n,i,r,a,o=this,s=t.querySelectorAll(this.results_selector),l=s.length;function u(e){o.align()}function c(e){if(o._alignAllDone){o._alignAllDone=false;setTimeout(function(){o.align();o._alignAllDone=true},100)}}e.addEventListener("resize",c);e.addEventListener("pageshow",u);for(n=0;n<l;n++){i=s[n].querySelector(this.img_selector);if(typeof i!=="undefined"){i.addEventListener("load",c);i.addEventListener("error",c)}}};e.searx.ImageLayout=n})(window,document);searx.ready(function(){searx.on(".result","click",function(){t(this)(true)});searx.on(".result a","focus",function(e){var n=e.target;while(n!==undefined){if(n.classList.contains("result")){if(n.getAttribute("data-vim-selected")===null){t(n)(true)}break}n=n.parentNode}},true);var e={27:{key:"Escape",fun:i,des:"remove focus from the focused input",cat:"Control"},73:{key:"i",fun:l,des:"focus on the search input",cat:"Control"},66:{key:"b",fun:o(-window.innerHeight),des:"scroll one page up",cat:"Navigation"},70:{key:"f",fun:o(window.innerHeight),des:"scroll one page down",cat:"Navigation"},85:{key:"u",fun:o(-window.innerHeight/2),des:"scroll half a page up",cat:"Navigation"},68:{key:"d",fun:o(window.innerHeight/2),des:"scroll half a page down",cat:"Navigation"},71:{key:"g",fun:s(-document.body.scrollHeight,"top"),des:"scroll to the top of the page",cat:"Navigation"},86:{key:"v",fun:s(document.body.scrollHeight,"bottom"),des:"scroll to the bottom of the page",cat:"Navigation"},75:{key:"k",fun:t("up"),des:"select previous search result",cat:"Results"},74:{key:"j",fun:t("down"),des:"select next search result",cat:"Results"},80:{key:"p",fun:r(0),des:"go to previous page",cat:"Results"},78:{key:"n",fun:r(1),des:"go to next page",cat:"Results"},79:{key:"o",fun:u(false),des:"open search result",cat:"Results"},84:{key:"t",fun:u(true),des:"open the result in a new tab",cat:"Results"},82:{key:"r",fun:n,des:"reload page from the server",cat:"Control"},72:{key:"h",fun:d,des:"toggle help window",cat:"Other"}};searx.on(document,"keydown",function(t){if(e.hasOwnProperty(t.keyCode)&&!t.ctrlKey&&!t.altKey&&!t.shiftKey&&!t.metaKey){var n=t.target.tagName.toLowerCase();if(t.keyCode===27){if(n==="input"||n==="select"||n==="textarea"){e[t.keyCode].fun()}}else{if(t.target===document.body||n==="a"||n==="button"){t.preventDefault();e[t.keyCode].fun()}}}});function t(e){return function(t){var n=document.querySelector(".result[data-vim-selected]"),i=e;if(n===null){n=document.querySelector(".result");if(n===null){return}if(e==="down"||e==="up"){i=n}}var r,o=document.querySelectorAll(".result");if(typeof i!=="string"){r=i}else{switch(i){case"visible":var s=document.documentElement.scrollTop||document.body.scrollTop;var l=s+document.documentElement.clientHeight;for(var u=0;u<o.length;u++){r=o[u];var c=r.offsetTop;var d=c+r.clientHeight;if(d<=l&&c>s){break}}break;case"down":r=n.nextElementSibling;if(r===null){r=o[0]}break;case"up":r=n.previousElementSibling;if(r===null){r=o[o.length-1]}break;case"bottom":r=o[o.length-1];break;case"top":default:r=o[0]}}if(r){n.removeAttribute("data-vim-selected");r.setAttribute("data-vim-selected","true");var f=r.querySelector("h3 a")||r.querySelector("a");if(f!==null){f.focus()}if(!t){a()}}}}function n(){document.location.reload(true)}function i(){if(document.activeElement){document.activeElement.blur()}}function r(e){return function(){var t=$('div#pagination button[type="submit"]');if(t.length!==2){console.log("page navigation with this theme is not supported");return}if(e>=0&&e<t.length){t[e].click()}else{console.log("pageButtonClick(): invalid argument")}}}function a(){var e=document.querySelector(".result[data-vim-selected]");if(e===null){return}var t=document.documentElement.scrollTop||document.body.scrollTop,n=document.documentElement.clientHeight,i=e.offsetTop,r=i+e.clientHeight,a=120;if(e.previousElementSibling===null&&r<n){window.scroll(window.scrollX,0);return}if(t>i-a){window.scroll(window.scrollX,i-a)}else{var o=t+n;if(o<r+a){window.scroll(window.scrollX,r-n+a)}}}function o(e){return function(){window.scrollBy(0,e);t("visible")()}}function s(e,n){return function(){window.scrollTo(0,e);t(n)()}}function l(){window.scrollTo(0,0);document.querySelector("#q").focus()}function u(e){return function(){var t=document.querySelector(".result[data-vim-selected] h3 a");if(t!==null){var n=t.getAttribute("href");if(e){window.open(n)}else{window.location.href=n}}}}function c(t){var n={};for(var i in e){var r=e[i];n[r.cat]=n[r.cat]||[];n[r.cat].push(r)}var a=Object.keys(n).sort(function(e,t){return n[t].length-n[e].length});if(a.length===0){return}var o='<a href="#" class="close" aria-label="close" title="close">×</a>';o+="<h3>How to navigate searx with Vim-like hotkeys</h3>";o+="<table>";for(var s=0;s<a.length;s++){var l=n[a[s]];var u=s===a.length-1;var c=s%2===0;if(c){o+="<tr>"}o+="<td>";o+="<h4>"+l[0].cat+"</h4>";o+='<ul class="list-unstyled">';for(var d in l){o+="<li><kbd>"+l[d].key+"</kbd> "+l[d].des+"</li>"}o+="</ul>";o+="</td>";if(!c||u){o+="</tr>"}}o+="</table>";t.innerHTML=o}function d(){var e=document.querySelector("#vim-hotkeys-help");console.log(e);if(e===undefined||e===null){e=document.createElement("div");e.id="vim-hotkeys-help";e.className="dialog-modal";e.style="width: 40%";c(e);var t=document.getElementsByTagName("body")[0];t.appendChild(e)}else{e.classList.toggle("invisible");return}}});(function(e,t,n){"use strict";n.ready(function(){n.on(".searx_overpass_request","click",function(e){this.classList.remove("searx_overpass_request");var i="https://overpass-api.de/api/interpreter?data=";var r=i+"[out:json][timeout:25];(";var a=");out meta;";var o=this.dataset.osmId;var s=this.dataset.osmType;var l=t.querySelector("#"+this.dataset.resultTable);var u=t.querySelector("#"+this.dataset.resultTableLoadicon);var c=["addr:city","addr:country","addr:housenumber","addr:postcode","addr:street"];if(o&&s&&l){var d=null;switch(s){case"node":d=r+"node("+o+");"+a;break;case"way":d=r+"way("+o+");"+a;break;case"relation":d=r+"relation("+o+");"+a;break;default:break}if(d){n.http("GET",d).then(function(e,t){e=JSON.parse(e);if(e&&e.elements&&e.elements[0]){var n=e.elements[0];var i="";for(var r in n.tags){if(n.tags.name===null||c.indexOf(r)==-1){i+="<tr><td>"+r+"</td><td>";switch(r){case"phone":case"fax":i+='<a href="tel:'+n.tags[r].replace(/ /g,"")+'">'+n.tags[r]+"</a>";break;case"email":i+='<a href="mailto:'+n.tags[r]+'">'+n.tags[r]+"</a>";break;case"website":case"url":i+='<a href="'+n.tags[r]+'">'+n.tags[r]+"</a>";break;case"wikidata":i+='<a href="https://www.wikidata.org/wiki/'+n.tags[r]+'">'+n.tags[r]+"</a>";break;case"wikipedia":if(n.tags[r].indexOf(":")!=-1){i+='<a href="https://'+n.tags[r].substring(0,n.tags[r].indexOf(":"))+".wikipedia.org/wiki/"+n.tags[r].substring(n.tags[r].indexOf(":")+1)+'">'+n.tags[r]+"</a>";break}default:i+=n.tags[r];break}i+="</td></tr>"}}u.parentNode.removeChild(u);l.classList.remove("invisible");l.querySelector("tbody").innerHTML=i}}).catch(function(){u.classList.remove("invisible");u.innerHTML="could not load data!"})}}e.preventDefault()});n.on(".searx_init_map","click",function(e){this.classList.remove("searx_init_map");var t=this.dataset.leafletTarget;var i=parseFloat(this.dataset.mapLon);var r=parseFloat(this.dataset.mapLat);var a=parseFloat(this.dataset.mapZoom);var o=JSON.parse(this.dataset.mapBoundingbox);var s=JSON.parse(this.dataset.mapGeojson);n.loadStyle("leaflet/leaflet.css");n.loadScript("leaflet/leaflet.js",function(){var e=null;if(o){var n=L.latLng(o[0],o[2]);var l=L.latLng(o[1],o[3]);e=L.latLngBounds(n,l)}var u=L.map(t);var c="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png";var d='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';var f=new L.TileLayer(c,{minZoom:1,maxZoom:19,attribution:d});var p="https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png";var h='Wikimedia maps beta | Maps data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';var m=new L.TileLayer(p,{minZoom:1,maxZoom:19,attribution:h});if(e){setTimeout(function(){u.fitBounds(e,{maxZoom:17})},0)}else if(i&&r){if(a){u.setView(new L.latLng(r,i),a)}else{u.setView(new L.latLng(r,i),8)}}u.addLayer(f);var g={"OSM Mapnik":f};L.control.layers(g).addTo(u);if(s){L.geoJson(s).addTo(u)}});e.preventDefault()})})})(window,document,window.searx);(function(e,t,n){"use strict";n.ready(function(){n.image_thumbnail_layout=new n.ImageLayout("#urls","#urls .result-images","img.image_thumbnail",200);n.image_thumbnail_layout.watch();n.on(".btn-collapse","click",function(e){var n=this.getAttribute("data-btn-text-collapsed");var i=this.getAttribute("data-btn-text-not-collapsed");var r=this.getAttribute("data-target");var a=t.querySelector(r);var o=this.innerHTML;if(this.classList.contains("collapsed")){o=o.replace(n,i)}else{o=o.replace(i,n)}this.innerHTML=o;this.classList.toggle("collapsed");a.classList.toggle("invisible")});n.on(".media-loader","click",function(e){var n=this.getAttribute("data-target");var i=t.querySelector(n+" > iframe");var r=i.getAttribute("src");if(r===null||r===undefined||r===false){i.setAttribute("src",i.getAttribute("data-src"))}});e.addEventListener("scroll",function(){var e=t.getElementById("backToTop"),n=document.documentElement.scrollTop||document.body.scrollTop;if(e!==null){if(n>=200){e.style.opacity=1}else{e.style.opacity=0}}})})})(window,document,window.searx);(function(e,t,n){"use strict";var i=true,r="q",a;function o(e){if(e.setSelectionRange){var t=e.value.length;e.setSelectionRange(t,t)}}function s(){if(a.value.length>0){var e=document.getElementById("search");setTimeout(e.submit.bind(e),0)}}function l(e){var t=document.getElementById("clear_search");var n=function(){if(e.value.length===0){t.classList.add("empty")}else{t.classList.remove("empty")}};n();t.addEventListener("click",function(){e.value="";e.focus();n()});e.addEventListener("keyup",n,false)}n.ready(function(){a=t.getElementById(r);function u(e){if(i){o(a);i=false}else{}}if(a!==null){l(a);if(n.autocompleter){n.autocomplete=AutoComplete.call(e,{Url:"./autocompleter",EmptyMessage:n.noItemFound,HttpMethod:n.method,MinChars:4,Delay:300},"#"+r);e.addEventListener("resize",function(){var e=new CustomEvent("position");a.dispatchEvent(e)})}a.addEventListener("focus",u,false);a.focus()}if(a!==null&&n.search_on_category_select){t.querySelector(".help").className="invisible";n.on("#categories input","change",function(e){var n,i=t.querySelectorAll('#categories input[type="checkbox"]');for(n=0;n<i.length;n++){if(i[n]!==this&&i[n].checked){i[n].click()}}if(!this.checked){this.click()}s();return false});n.on(t.getElementById("time_range"),"change",s);n.on(t.getElementById("language"),"change",s)}})})(window,document,window.searx);
+(function(u,c){"use strict";function e(e,t,n,i){this.container_selector=e;this.results_selector=t;this.img_selector=n;this.margin=10;this.maxHeight=i;this._alignAllDone=true}e.prototype._getHeigth=function(e,t){var n=0,i;t-=e.length*this.margin;for(var r=0;r<e.length;r++){i=e[r];if(i.naturalWidth>0&&i.naturalHeight>0){n+=i.naturalWidth/i.naturalHeight}else{n+=1}}return t/n};e.prototype._setSize=function(e,t){var n,i,r=e.length;for(var a=0;a<r;a++){n=e[a];if(n.naturalWidth>0&&n.naturalHeight>0){i=t*n.naturalWidth/n.naturalHeight}else{i=t}n.style.width=i+"px";n.style.height=t+"px";n.style.marginLeft="3px";n.style.marginTop="3px";n.style.marginRight=this.margin-7+"px";n.style.marginBottom=this.margin-7+"px"}};e.prototype._alignImgs=function(e){var t,n,i=c.querySelector(this.container_selector).clientWidth;e:while(e.length>0){for(var r=1;r<=e.length;r++){t=e.slice(0,r);n=this._getHeigth(t,i);if(n<this.maxHeight){this._setSize(t,n);e=e.slice(r);continue e}}this._setSize(t,Math.min(this.maxHeight,n));break}};e.prototype.align=function(e){var t=c.querySelectorAll(this.results_selector),n=t.length,i=null,r=null,a=[];for(var o=0;o<n;o++){r=t[o];if(r.previousElementSibling!==i&&a.length>0){this._alignImgs(a);a=[]}a.push(r.querySelector(this.img_selector));i=r}if(a.length>0){this._alignImgs(a)}};e.prototype.watch=function(){var e,t,n,i,r=this,a=c.querySelectorAll(this.results_selector),o=a.length;function s(e){r.align()}function l(e){if(r._alignAllDone){r._alignAllDone=false;setTimeout(function(){r.align();r._alignAllDone=true},100)}}u.addEventListener("resize",l);u.addEventListener("pageshow",s);for(e=0;e<o;e++){t=a[e].querySelector(this.img_selector);if(typeof t!=="undefined"){t.addEventListener("load",l);t.addEventListener("error",l)}}};u.searx.ImageLayout=e})(window,document);searx.ready(function(){searx.on(".result","click",function(){n(this)(true)});searx.on(".result a","focus",function(e){var t=e.target;while(t!==undefined){if(t.classList.contains("result")){if(t.getAttribute("data-vim-selected")===null){n(t)(true)}break}t=t.parentNode}},true);var d={27:{key:"Escape",fun:t,des:"remove focus from the focused input",cat:"Control"},73:{key:"i",fun:o,des:"focus on the search input",cat:"Control"},66:{key:"b",fun:r(-window.innerHeight),des:"scroll one page up",cat:"Navigation"},70:{key:"f",fun:r(window.innerHeight),des:"scroll one page down",cat:"Navigation"},85:{key:"u",fun:r(-window.innerHeight/2),des:"scroll half a page up",cat:"Navigation"},68:{key:"d",fun:r(window.innerHeight/2),des:"scroll half a page down",cat:"Navigation"},71:{key:"g",fun:a(-document.body.scrollHeight,"top"),des:"scroll to the top of the page",cat:"Navigation"},86:{key:"v",fun:a(document.body.scrollHeight,"bottom"),des:"scroll to the bottom of the page",cat:"Navigation"},75:{key:"k",fun:n("up"),des:"select previous search result",cat:"Results"},74:{key:"j",fun:n("down"),des:"select next search result",cat:"Results"},80:{key:"p",fun:i(0),des:"go to previous page",cat:"Results"},78:{key:"n",fun:i(1),des:"go to next page",cat:"Results"},79:{key:"o",fun:s(false),des:"open search result",cat:"Results"},84:{key:"t",fun:s(true),des:"open the result in a new tab",cat:"Results"},82:{key:"r",fun:e,des:"reload page from the server",cat:"Control"},72:{key:"h",fun:u,des:"toggle help window",cat:"Other"}};searx.on(document,"keydown",function(e){if(d.hasOwnProperty(e.keyCode)&&!e.ctrlKey&&!e.altKey&&!e.shiftKey&&!e.metaKey){var t=e.target.tagName.toLowerCase();if(e.keyCode===27){if(t==="input"||t==="select"||t==="textarea"){d[e.keyCode].fun()}}else{if(e.target===document.body||t==="a"||t==="button"){e.preventDefault();d[e.keyCode].fun()}}}});function n(d){return function(e){var t=document.querySelector(".result[data-vim-selected]"),n=d;if(t===null){t=document.querySelector(".result");if(t===null){return}if(d==="down"||d==="up"){n=t}}var i,r=document.querySelectorAll(".result");if(typeof n!=="string"){i=n}else{switch(n){case"visible":var a=document.documentElement.scrollTop||document.body.scrollTop;var o=a+document.documentElement.clientHeight;for(var s=0;s<r.length;s++){i=r[s];var l=i.offsetTop;var u=l+i.clientHeight;if(u<=o&&l>a){break}}break;case"down":i=t.nextElementSibling;if(i===null){i=r[0]}break;case"up":i=t.previousElementSibling;if(i===null){i=r[r.length-1]}break;case"bottom":i=r[r.length-1];break;case"top":default:i=r[0]}}if(i){t.removeAttribute("data-vim-selected");i.setAttribute("data-vim-selected","true");var c=i.querySelector("h3 a")||i.querySelector("a");if(c!==null){c.focus()}if(!e){f()}}}}function e(){document.location.reload(true)}function t(){if(document.activeElement){document.activeElement.blur()}}function i(t){return function(){var e=$('div#pagination button[type="submit"]');if(e.length!==2){console.log("page navigation with this theme is not supported");return}if(t>=0&&t<e.length){e[t].click()}else{console.log("pageButtonClick(): invalid argument")}}}function f(){var e=document.querySelector(".result[data-vim-selected]");if(e===null){return}var t=document.documentElement.scrollTop||document.body.scrollTop,n=document.documentElement.clientHeight,i=e.offsetTop,r=i+e.clientHeight,a=120;if(e.previousElementSibling===null&&r<n){window.scroll(window.scrollX,0);return}if(t>i-a){window.scroll(window.scrollX,i-a)}else{var o=t+n;if(o<r+a){window.scroll(window.scrollX,r-n+a)}}}function r(e){return function(){window.scrollBy(0,e);n("visible")()}}function a(e,t){return function(){window.scrollTo(0,e);n(t)()}}function o(){window.scrollTo(0,0);document.querySelector("#q").focus()}function s(n){return function(){var e=document.querySelector(".result[data-vim-selected] h3 a");if(e!==null){var t=e.getAttribute("href");if(n){window.open(t)}else{window.location.href=t}}}}function l(e){var n={};for(var t in d){var i=d[t];n[i.cat]=n[i.cat]||[];n[i.cat].push(i)}var r=Object.keys(n).sort(function(e,t){return n[t].length-n[e].length});if(r.length===0){return}var a='<a href="#" class="close" aria-label="close" title="close">×</a>';a+="<h3>How to navigate searx with Vim-like hotkeys</h3>";a+="<table>";for(var o=0;o<r.length;o++){var s=n[r[o]];var l=o===r.length-1;var u=o%2===0;if(u){a+="<tr>"}a+="<td>";a+="<h4>"+s[0].cat+"</h4>";a+='<ul class="list-unstyled">';for(var c in s){a+="<li><kbd>"+s[c].key+"</kbd> "+s[c].des+"</li>"}a+="</ul>";a+="</td>";if(!u||l){a+="</tr>"}}a+="</table>";e.innerHTML=a}function u(){var e=document.querySelector("#vim-hotkeys-help");console.log(e);if(e===undefined||e===null){e=document.createElement("div");e.id="vim-hotkeys-help";e.className="dialog-modal";e.style="width: 40%";l(e);var t=document.getElementsByTagName("body")[0];t.appendChild(e)}else{e.classList.toggle("invisible");return}}});(function(e,c,v){"use strict";v.ready(function(){v.on(".searx_overpass_request","click",function(e){this.classList.remove("searx_overpass_request");var t="https://overpass-api.de/api/interpreter?data=";var n=t+"[out:json][timeout:25];(";var i=");out meta;";var r=this.dataset.osmId;var a=this.dataset.osmType;var o=c.querySelector("#"+this.dataset.resultTable);var s=c.querySelector("#"+this.dataset.resultTableLoadicon);var l=["addr:city","addr:country","addr:housenumber","addr:postcode","addr:street"];if(r&&a&&o){var u=null;switch(a){case"node":u=n+"node("+r+");"+i;break;case"way":u=n+"way("+r+");"+i;break;case"relation":u=n+"relation("+r+");"+i;break;default:break}if(u){v.http("GET",u).then(function(e,t){e=JSON.parse(e);if(e&&e.elements&&e.elements[0]){var n=e.elements[0];var i="";for(var r in n.tags){if(n.tags.name===null||l.indexOf(r)==-1){i+="<tr><td>"+r+"</td><td>";switch(r){case"phone":case"fax":i+='<a href="tel:'+n.tags[r].replace(/ /g,"")+'">'+n.tags[r]+"</a>";break;case"email":i+='<a href="mailto:'+n.tags[r]+'">'+n.tags[r]+"</a>";break;case"website":case"url":i+='<a href="'+n.tags[r]+'">'+n.tags[r]+"</a>";break;case"wikidata":i+='<a href="https://www.wikidata.org/wiki/'+n.tags[r]+'">'+n.tags[r]+"</a>";break;case"wikipedia":if(n.tags[r].indexOf(":")!=-1){i+='<a href="https://'+n.tags[r].substring(0,n.tags[r].indexOf(":"))+".wikipedia.org/wiki/"+n.tags[r].substring(n.tags[r].indexOf(":")+1)+'">'+n.tags[r]+"</a>";break}default:i+=n.tags[r];break}i+="</td></tr>"}}s.parentNode.removeChild(s);o.classList.remove("invisible");o.querySelector("tbody").innerHTML=i}}).catch(function(){s.classList.remove("invisible");s.innerHTML="could not load data!"})}}e.preventDefault()});v.on(".searx_init_map","click",function(e){this.classList.remove("searx_init_map");var d=this.dataset.leafletTarget;var f=parseFloat(this.dataset.mapLon);var p=parseFloat(this.dataset.mapLat);var h=parseFloat(this.dataset.mapZoom);var m=JSON.parse(this.dataset.mapBoundingbox);var g=JSON.parse(this.dataset.mapGeojson);v.loadStyle("leaflet/leaflet.css");v.loadScript("leaflet/leaflet.js",function(){var e=null;if(m){var t=L.latLng(m[0],m[2]);var n=L.latLng(m[1],m[3]);e=L.latLngBounds(t,n)}var i=L.map(d);var r="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png";var a='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';var o=new L.TileLayer(r,{minZoom:1,maxZoom:19,attribution:a});var s="https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png";var l='Wikimedia maps beta | Maps data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';var u=new L.TileLayer(s,{minZoom:1,maxZoom:19,attribution:l});if(e){setTimeout(function(){i.fitBounds(e,{maxZoom:17})},0)}else if(f&&p){if(h){i.setView(new L.latLng(p,f),h)}else{i.setView(new L.latLng(p,f),8)}}i.addLayer(o);var c={"OSM Mapnik":o};L.control.layers(c).addTo(i);if(g){L.geoJson(g).addTo(i)}});e.preventDefault()})})})(window,document,window.searx);(function(e,o,t){"use strict";t.ready(function(){t.image_thumbnail_layout=new t.ImageLayout("#urls","#urls .result-images","img.image_thumbnail",200);t.image_thumbnail_layout.watch();t.on(".btn-collapse","click",function(e){var t=this.getAttribute("data-btn-text-collapsed");var n=this.getAttribute("data-btn-text-not-collapsed");var i=this.getAttribute("data-target");var r=o.querySelector(i);var a=this.innerHTML;if(this.classList.contains("collapsed")){a=a.replace(t,n)}else{a=a.replace(n,t)}this.innerHTML=a;this.classList.toggle("collapsed");r.classList.toggle("invisible")});t.on(".media-loader","click",function(e){var t=this.getAttribute("data-target");var n=o.querySelector(t+" > iframe");var i=n.getAttribute("src");if(i===null||i===undefined||i===false){n.setAttribute("src",n.getAttribute("data-src"))}});e.addEventListener("scroll",function(){var e=o.getElementById("backToTop"),t=document.documentElement.scrollTop||document.body.scrollTop;if(e!==null){if(t>=200){e.style.opacity=1}else{e.style.opacity=0}}})})})(window,document,window.searx);(function(t,i,n){"use strict";var r=true,a="q",o;function s(e){if(e.setSelectionRange){var t=e.value.length;e.setSelectionRange(t,t)}}function l(){if(o.value.length>0){var e=document.getElementById("search");setTimeout(e.submit.bind(e),0)}}function u(e){var t=document.getElementById("clear_search");var n=function(){if(e.value.length===0){t.classList.add("empty")}else{t.classList.remove("empty")}};n();t.addEventListener("click",function(){e.value="";e.focus();n()});e.addEventListener("keyup",n,false)}n.ready(function(){o=i.getElementById(a);function e(e){if(r){s(o);r=false}else{}}if(o!==null){u(o);if(n.autocompleter){n.autocomplete=AutoComplete.call(t,{Url:"./autocompleter",EmptyMessage:n.no_item_found,HttpMethod:n.method,MinChars:4,Delay:300},"#"+a);t.addEventListener("resize",function(){var e=new CustomEvent("position");o.dispatchEvent(e)})}o.addEventListener("focus",e,false);o.focus()}if(o!==null&&n.search_on_category_select){i.querySelector(".help").className="invisible";n.on("#categories input","change",function(e){var t,n=i.querySelectorAll('#categories input[type="checkbox"]');for(t=0;t<n.length;t++){if(n[t]!==this&&n[t].checked){n[t].click()}}if(!this.checked){this.click()}l();return false});n.on(i.getElementById("time_range"),"change",l);n.on(i.getElementById("language"),"change",l)}})})(window,document,window.searx);
//# sourceMappingURL=searx.min.js.map \ No newline at end of file
diff --git a/searx/static/themes/simple/js/searx.min.js.map b/searx/static/themes/simple/js/searx.min.js.map
index 5528c1e50..d7a1eeac8 100644
--- a/searx/static/themes/simple/js/searx.min.js.map
+++ b/searx/static/themes/simple/js/searx.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["searx.js"],"names":["w","d","searx","Element","ElementPrototype","matches","matchesSelector","webkitMatchesSelector","msMatchesSelector","selector","node","this","nodes","parentNode","document","querySelectorAll","i","prototype","callbackSafe","callback","el","e","call","exception","console","log","on","obj","eventType","useCapture","addEventListener","target","srcElement","found","parentElement","ready","readyState","bind","http","method","url","req","XMLHttpRequest","resolve","reject","promise","then","catch","open","onload","status","response","responseType","Error","statusText","onerror","onabort","send","ex","loadStyle","src","path","staticPath","id","replace","s","getElementById","createElement","setAttribute","body","appendChild","loadScript","hasAttribute","apply","insertBefore","newNode","referenceNode","element","insertAfter","nextSibling","classList","add","window","f","exports","module","define","amd","g","global","self","AutoComplete","t","n","r","o","u","a","require","code","l","length","1","ConditionOperator","EventType","params","Array","isArray","forEach","elements","input","specificParams","merge","defaults","DOMResults","create","Input","nodeName","match","getAttribute","_Position","$Listeners","blur","_Blur","destroy","focus","_Focus","keyup","event","KEYUP","keydown","KEYDOWN","position","getEventsByType","type","mappings","key","KeyboardMappings","Event","undefined","eventIdentifier","condition","mapping","Operator","AND","OR","Not","hasOwnProperty","Is","keyCode","From","To","name","Conditions","Callback","makeRequest","propertyHttpHeaders","Object","getOwnPropertyNames","HttpHeaders","request","_HttpMethod","_Url","queryParams","_Pre","queryParamsStringify","encodeURIComponent","_QueryArg","indexOf","setRequestHeader","onreadystatechange","$Cache","ajax","timeout","$AjaxTimer","clearTimeout","setTimeout","Delay","Request","abort","cache","_Cache","removeEventListener","removeChild","tmp","arguments","EmptyMessage","Highlight","getRegex","value","RegExp","transform","Content-type","Limit","MinChars","HttpMethod","QueryArg","Url","Enter","liActive","querySelector","preventDefault","_Select","KeyUpAndDown_down","KeyUpAndDown_up","first","last","active","currentIndex","children","lisCount","getElementsByTagName","remove","item","AlphaNum","oldValue","currentValue","_MinChars","_Render","_Post","_Open","_EmptyMessage","emptyMessage","_Limit","limit","isNaN","parseInt","minchars","_Highlight","label","now","li","onclick","onmouseenter","offsetTop","offsetHeight","offsetLeft","clientWidth","ul","_RenderRaw","_RenderResponseItems","hasChildNodes","childNodes","reverse","Math","min","abs","innerHTML","Label","Value","returnResponse","json","JSON","parse","keys","push","ImageLayout","container_selector","results_selector","img_selector","maxHeight","margin","_alignAllDone","_getHeigth","images","width","img","naturalWidth","naturalHeight","_setSize","height","imgWidth","imagesLength","style","marginLeft","marginTop","marginRight","marginBottom","_alignImgs","imgGroup","slice","h","containerWidth","align","results_selectorNode","results_length","previous","current","previousElementSibling","watch","imgNodeLength","results_nodes","throttleAlign","highlightResult","contains","vimKeys","27","fun","removeFocus","des","cat","73","searchInputFocus","66","scrollPage","innerHeight","70","85","68","71","scrollPageTo","scrollHeight","86","75","74","80","pageButtonClick","78","79","openResult","84","82","reloadPage","72","toggleHelp","ctrlKey","altKey","shiftKey","metaKey","tagName","toLowerCase","which","noScroll","effectiveWhich","next","results","top","documentElement","scrollTop","bot","clientHeight","etop","ebot","nextElementSibling","removeAttribute","link","scrollPageToSelected","location","reload","activeElement","num","buttons","$","click","sel","wtop","wheight","offset","scroll","scrollX","wbot","amount","scrollBy","nav","scrollTo","newTab","href","initHelpContent","divElement","categories","k","sorted","sort","b","html","lastCategory","cj","helpPanel","className","toggle","overpass_url","query_start","query_end","osm_id","dataset","osmId","osm_type","osmType","result_table","resultTable","result_table_loadicon","resultTableLoadicon","osm_ignore_tags","query","contentType","newHtml","row","tags","substring","leaflet_target","leafletTarget","map_lon","parseFloat","mapLon","map_lat","mapLat","map_zoom","mapZoom","map_boundingbox","mapBoundingbox","map_geojson","mapGeojson","map_bounds","southWest","L","latLng","northEast","latLngBounds","map","osmMapnikUrl","osmMapnikAttrib","osmMapnik","TileLayer","minZoom","maxZoom","attribution","osmWikimediaUrl","osmWikimediaAttrib","osmWikimedia","fitBounds","setView","addLayer","baseLayers","OSM Mapnik","control","layers","addTo","geoJson","image_thumbnail_layout","btnLabelCollapsed","btnLabelNotCollapsed","targetElement","iframe_load","srctest","opacity","firstFocus","qinput_id","qinput","placeCursorAtEnd","setSelectionRange","len","submitIfQuery","search","submit","createClearButton","cs","updateClearButton","placeCursorAtEndOnce","autocompleter","autocomplete","noItemFound","CustomEvent","dispatchEvent","search_on_category_select","checked"],"mappings":";;CAiBA,SAAUA,EAAGC,EAAGC,GAEd,aAMA,GAAIF,EAAEG,QAAS,EACb,SAAUC,GACRA,EAAiBC,QAAUD,EAAiBC,SAC5CD,EAAiBE,iBACjBF,EAAiBG,uBACjBH,EAAiBI,mBACjB,SAASC,GACP,IAAIC,EAAOC,KAAMC,GAASF,EAAKG,YAAcH,EAAKI,UAAUC,iBAAiBN,GAAWO,GAAK,EAC7F,MAAOJ,IAAQI,IAAMJ,EAAMI,IAAMN,GACjC,QAASE,EAAMI,KARnB,CAUGb,QAAQc,WAGb,SAASC,EAAaC,EAAUC,EAAIC,GAClC,IACEF,EAASG,KAAKF,EAAIC,GAClB,MAAOE,GACPC,QAAQC,IAAIF,IAIhBrB,EAAQA,MAERA,EAAMwB,GAAK,SAASC,EAAKC,EAAWT,EAAUU,GAC5CA,EAAaA,GAAc,MAC3B,UAAWF,IAAQ,SAAU,CAE3BA,EAAIG,iBAAiBF,EAAWT,EAAUU,OACrC,CAEL5B,EAAE6B,iBAAiBF,EAAW,SAASP,GACrC,IAAID,EAAKC,EAAEU,QAAUV,EAAEW,WAAYC,EAAQ,MAC3C,MAAOb,GAAMA,EAAGf,SAAWe,IAAOnB,KAAOgC,EAAQb,EAAGf,QAAQsB,IAAOP,EAAKA,EAAGc,cAC3E,GAAID,EAAOf,EAAaC,EAAUC,EAAIC,IACrCQ,KAIP3B,EAAMiC,MAAQ,SAAShB,GACrB,GAAIL,SAASsB,YAAc,UAAW,CACpCjB,EAASG,KAAKtB,OACT,CACLA,EAAE8B,iBAAiB,mBAAoBX,EAASkB,KAAKrC,MAIzDE,EAAMoC,KAAO,SAASC,EAAQC,EAAKrB,GACjC,IAAIsB,EAAM,IAAIC,eACdC,EAAU,aACVC,EAAS,aACTC,GACEC,KAAM,SAAS3B,GAAYwB,EAAUxB,EAAU,OAAO0B,GACtDE,MAAO,SAAS5B,GAAYyB,EAASzB,EAAU,OAAO0B,IAGxD,IACEJ,EAAIO,KAAKT,EAAQC,EAAK,MAGtBC,EAAIQ,OAAS,WACX,GAAIR,EAAIS,QAAU,IAAK,CACrBP,EAAQF,EAAIU,SAAUV,EAAIW,kBACrB,CACLR,EAAOS,MAAMZ,EAAIa,eAKrBb,EAAIc,QAAU,WACZX,EAAOS,MAAM,mBAGfZ,EAAIe,QAAU,WACZZ,EAAOS,MAAM,4BAIfZ,EAAIgB,OACJ,MAAOC,GACPd,EAAOc,GAGT,OAAOb,GAGT3C,EAAMyD,UAAY,SAASC,GACzB,IAAIC,EAAO3D,EAAM4D,WAAaF,EAC9BG,EAAK,SAAWH,EAAII,QAAQ,IAAK,KACjCC,EAAIhE,EAAEiE,eAAeH,GACrB,GAAIE,IAAM,KAAM,CACdA,EAAIhE,EAAEkE,cAAc,QACpBF,EAAEG,aAAa,KAAML,GACrBE,EAAEG,aAAa,MAAO,cACtBH,EAAEG,aAAa,OAAQ,YACvBH,EAAEG,aAAa,OAAQP,GACvB5D,EAAEoE,KAAKC,YAAYL,KAIvB/D,EAAMqE,WAAa,SAASX,EAAKzC,GAC/B,IAAI0C,EAAO3D,EAAM4D,WAAaF,EAC9BG,EAAK,UAAYH,EAAII,QAAQ,IAAK,KAClCC,EAAIhE,EAAEiE,eAAeH,GACrB,GAAIE,IAAM,KAAM,CACdA,EAAIhE,EAAEkE,cAAc,UACpBF,EAAEG,aAAa,KAAML,GACrBE,EAAEG,aAAa,MAAOP,GACtBI,EAAEhB,OAAS9B,EACX8C,EAAEV,QAAU,WACVU,EAAEG,aAAa,QAAS,MAE1BnE,EAAEoE,KAAKC,YAAYL,QACd,IAAKA,EAAEO,aAAa,SAAU,CACnC,IACErD,EAASsD,MAAMR,MACf,MAAO1C,GACPC,QAAQC,IAAIF,QAET,CACLC,QAAQC,IAAI,mCAAqCoC,EAAO,mBAI5D3D,EAAMwE,aAAe,SAAUC,EAASC,GACtCC,QAAQhE,WAAW6D,aAAaC,EAASC,IAG3C1E,EAAM4E,YAAc,SAASH,EAASC,GACpCA,EAAc/D,WAAW6D,aAAaC,EAASC,EAAcG,cAG/D7E,EAAMwB,GAAG,SAAU,QAAS,SAASL,GACnC,IAAID,EAAKC,EAAEU,QAAUV,EAAEW,WACvBrB,KAAKE,WAAWmE,UAAUC,IAAI,eAGhC,OAAO/E,GAjJT,CAkJGgF,OAAQpE,SAAUoE,OAAOhF,QAC3B,SAAUiF,GAAG,UAAUC,UAAU,iBAAiBC,SAAS,YAAY,CAACA,OAAOD,QAAQD,SAAS,UAAUG,SAAS,YAAYA,OAAOC,IAAI,CAACD,UAAUH,OAAO,CAAC,IAAIK,EAAE,UAAUN,SAAS,YAAY,CAACM,EAAEN,YAAY,UAAUO,SAAS,YAAY,CAACD,EAAEC,YAAY,UAAUC,OAAO,YAAY,CAACF,EAAEE,SAAS,CAACF,EAAE7E,KAAK6E,EAAEG,aAAeR,MAAjU,CAAwU,WAAW,IAAIG,EAAOD,EAAOD,EAAQ,OAAO,SAAU/D,EAAEuE,EAAEC,EAAEC,GAAG,SAAS7B,EAAE8B,EAAEC,GAAG,IAAIH,EAAEE,GAAG,CAAC,IAAIH,EAAEG,GAAG,CAAC,IAAIE,SAASC,SAAS,YAAYA,QAAQ,IAAIF,GAAGC,EAAE,OAAOA,EAAEF,GAAG,GAAG,GAAG/E,EAAE,OAAOA,EAAE+E,GAAG,GAAG,IAAIZ,EAAE,IAAI9B,MAAM,uBAAuB0C,EAAE,KAAK,MAAMZ,EAAEgB,KAAK,mBAAmBhB,EAAE,IAAIiB,EAAEP,EAAEE,IAAIX,YAAYQ,EAAEG,GAAG,GAAGzE,KAAK8E,EAAEhB,QAAQ,SAAS/D,GAAG,IAAIwE,EAAED,EAAEG,GAAG,GAAG1E,GAAG,OAAO4C,EAAE4B,EAAEA,EAAExE,IAAI+E,EAAEA,EAAEhB,QAAQ/D,EAAEuE,EAAEC,EAAEC,GAAG,OAAOD,EAAEE,GAAGX,QAAQ,IAAIpE,SAASkF,SAAS,YAAYA,QAAQ,IAAI,IAAIH,EAAE,EAAEA,EAAED,EAAEO,OAAON,IAAI9B,EAAE6B,EAAEC,IAAI,OAAO9B,EAAvb,EAA4bqC,GAAG,SAASJ,EAAQb,EAAOD;;;;;;;;;AAU50B,aACA,IAAImB,GACJ,SAAWA,GACPA,EAAkBA,EAAkB,OAAS,GAAK,MAClDA,EAAkBA,EAAkB,MAAQ,GAAK,MAFrD,CAGGA,IAAsBA,OACzB,IAAIC,GACJ,SAAWA,GACPA,EAAUA,EAAU,WAAa,GAAK,UACtCA,EAAUA,EAAU,SAAW,GAAK,SAFxC,CAGGA,IAAcA,OAOjB,IAAIb,EAAgB,WAEhB,SAASA,EAAac,EAAQhG,GAC1B,GAAIgG,SAAgB,EAAG,CAAEA,KACzB,GAAIhG,SAAkB,EAAG,CAAEA,EAAW,sBACtC,GAAIiG,MAAMC,QAAQlG,GAAW,CACzBA,EAASmG,QAAQ,SAAU3C,GACvB,IAAI0B,EAAac,EAAQxC,UAG5B,UAAWxD,GAAY,SAAU,CAClC,IAAIoG,EAAW/F,SAASC,iBAAiBN,GACzCiG,MAAMzF,UAAU2F,QAAQtF,KAAKuF,EAAU,SAAUC,GAC7C,IAAInB,EAAac,EAAQK,SAG5B,CACD,IAAIC,EAAiBpB,EAAaqB,MAAMrB,EAAasB,SAAUR,GAC3DS,WAAYpG,SAASqD,cAAc,SAEvCwB,EAAa1E,UAAUkG,OAAOJ,EAAgBtG,GAC9C,OAAOsG,GAGfpB,EAAa1E,UAAUkG,OAAS,SAAUV,EAAQ5B,GAC9C4B,EAAOW,MAAQvC,EACf,GAAI4B,EAAOW,MAAMC,SAASC,MAAM,cAAgBb,EAAOW,MAAM5C,aAAa,UAAY,OAASiC,EAAOW,MAAMG,aAAa,QAAQD,MAAM,mBAAoB,CACvJb,EAAOW,MAAMhD,aAAa,eAAgB,OAC1CqC,EAAOe,UAAUf,GACjBA,EAAOW,MAAMvG,WAAWyD,YAAYmC,EAAOS,YAC3CT,EAAOgB,YACHC,KAAMjB,EAAOkB,MAAMtF,KAAKoE,GACxBmB,QAASjC,EAAa1E,UAAU2G,QAAQvF,KAAK,KAAMoE,GACnDoB,MAAOpB,EAAOqB,OAAOzF,KAAKoE,GAC1BsB,MAAOpC,EAAa1E,UAAU+G,MAAM3F,KAAK,KAAMoE,EAAQD,EAAUyB,OACjEC,QAASvC,EAAa1E,UAAU+G,MAAM3F,KAAK,KAAMoE,EAAQD,EAAU2B,SACnEC,SAAU3B,EAAOe,UAAUnF,KAAKoE,IAEpC,IAAK,IAAIuB,KAASvB,EAAOgB,WAAY,CACjChB,EAAOW,MAAMtF,iBAAiBkG,EAAOvB,EAAOgB,WAAWO,OAInErC,EAAa1E,UAAUoH,gBAAkB,SAAU5B,EAAQ6B,GACvD,IAAIC,KACJ,IAAK,IAAIC,KAAO/B,EAAOgC,iBAAkB,CACrC,IAAIT,EAAQxB,EAAUyB,MACtB,GAAIxB,EAAOgC,iBAAiBD,GAAKE,QAAUC,UAAW,CAClDX,EAAQvB,EAAOgC,iBAAiBD,GAAKE,MAEzC,GAAIV,GAASM,EAAM,CACfC,EAASC,GAAO/B,EAAOgC,iBAAiBD,IAGhD,OAAOD,GAEX5C,EAAa1E,UAAU+G,MAAQ,SAAUvB,EAAQ6B,EAAMN,GACnD,IAAIY,EAAkB,SAAUC,GAC5B,GAAKvB,IAAU,MAAQwB,EAAQC,UAAYxC,EAAkByC,KAAS1B,IAAU,OAASwB,EAAQC,UAAYxC,EAAkB0C,GAAK,CAChIJ,EAAYlD,EAAaqB,OACrBkC,IAAK,OACNL,GACH,GAAIA,EAAUM,eAAe,MAAO,CAChC,GAAIN,EAAUO,IAAMpB,EAAMqB,QAAS,CAC/B/B,GAASuB,EAAUK,QAElB,CACD5B,EAAQuB,EAAUK,UAGrB,GAAIL,EAAUM,eAAe,SAAWN,EAAUM,eAAe,MAAO,CACzE,GAAInB,EAAMqB,SAAWR,EAAUS,MAAQtB,EAAMqB,SAAWR,EAAUU,GAAI,CAClEjC,GAASuB,EAAUK,QAElB,CACD5B,EAAQuB,EAAUK,QAKlC,IAAK,IAAIM,KAAQ7D,EAAa1E,UAAUoH,gBAAgB5B,EAAQ6B,GAAO,CACnE,IAAIQ,EAAUnD,EAAaqB,OACvB+B,SAAUxC,EAAkByC,KAC7BvC,EAAOgC,iBAAiBe,IAAQlC,EAAQf,EAAkByC,KAAOF,EAAQC,SAC5ED,EAAQW,WAAW7C,QAAQgC,GAC3B,GAAItB,IAAU,KAAM,CAChBwB,EAAQY,SAASpI,KAAKmF,EAAQuB,MAI1CrC,EAAa1E,UAAU0I,YAAc,SAAUlD,EAAQtF,GACnD,IAAIyI,EAAsBC,OAAOC,oBAAoBrD,EAAOsD,aAAcC,EAAU,IAAItH,eAAkBH,EAASkE,EAAOwD,cAAezH,EAAMiE,EAAOyD,OAAQC,EAAc1D,EAAO2D,OAAQC,EAAuBC,mBAAmB7D,EAAO8D,aAAe,IAAMD,mBAAmBH,GACpR,GAAI5H,EAAO+E,MAAM,UAAW,CACxB,GAAI9E,EAAIgI,QAAQ,QAAU,EAAG,CACzBhI,GAAO,IAAM6H,MAEZ,CACD7H,GAAO,IAAM6H,GAGrBL,EAAQhH,KAAKT,EAAQC,EAAK,MAC1B,IAAK,IAAIxB,EAAI4I,EAAoBvD,OAAS,EAAGrF,GAAK,EAAGA,IAAK,CACtDgJ,EAAQS,iBAAiBb,EAAoB5I,GAAIyF,EAAOsD,YAAYH,EAAoB5I,KAE5FgJ,EAAQU,mBAAqB,WACzB,GAAIV,EAAQ5H,YAAc,GAAK4H,EAAQ9G,QAAU,IAAK,CAClDuD,EAAOkE,OAAOR,GAAeH,EAAQ7G,SACrChC,EAAS6I,EAAQ7G,YAGzB,OAAO6G,GAEXrE,EAAa1E,UAAU2J,KAAO,SAAUnE,EAAQuD,EAASa,GACrD,GAAIA,SAAiB,EAAG,CAAEA,EAAU,KACpC,GAAIpE,EAAOqE,WAAY,CACnB5F,OAAO6F,aAAatE,EAAOqE,YAE/B,GAAID,IAAY,KAAM,CAClBpE,EAAOqE,WAAa5F,OAAO8F,WAAWrF,EAAa1E,UAAU2J,KAAKvI,KAAK,KAAMoE,EAAQuD,EAAS,OAAQvD,EAAOwE,WAE5G,CACD,GAAIxE,EAAOyE,QAAS,CAChBzE,EAAOyE,QAAQC,QAEnB1E,EAAOyE,QAAUlB,EACjBvD,EAAOyE,QAAQzH,KAAKgD,EAAO8D,YAAc,IAAM9D,EAAO2D,UAG9DzE,EAAa1E,UAAUmK,MAAQ,SAAU3E,EAAQtF,GAC7C,IAAIgC,EAAWsD,EAAO4E,OAAO5E,EAAO2D,QACpC,GAAIjH,IAAawF,UAAW,CACxB,IAAIqB,EAAUrE,EAAa1E,UAAU0I,YAAYlD,EAAQtF,GACzDwE,EAAa1E,UAAU2J,KAAKnE,EAAQuD,OAEnC,CACD7I,EAASgC,KAGjBwC,EAAa1E,UAAU2G,QAAU,SAAUnB,GACvC,IAAK,IAAIuB,KAASvB,EAAOgB,WAAY,CACjChB,EAAOW,MAAMkE,oBAAoBtD,EAAOvB,EAAOgB,WAAWO,IAE9DvB,EAAOS,WAAWrG,WAAW0K,YAAY9E,EAAOS,aAEpD,OAAOvB,EAhJQ,GAkJnBA,EAAaqB,MAAQ,WACjB,IAAIA,KAAYwE,EAChB,IAAK,IAAIxK,EAAI,EAAGA,EAAIyK,UAAUpF,OAAQrF,IAAK,CACvC,IAAKwK,KAAOC,UAAUzK,GAAI,CACtBgG,EAAMwE,GAAOC,UAAUzK,GAAGwK,IAGlC,OAAOxE,GAEXrB,EAAasB,UACTgE,MAAO,IACPS,aAAc,iBACdC,WACIC,SAAU,SAAUC,GAChB,OAAO,IAAIC,OAAOD,EAAO,OAE7BE,UAAW,SAAUF,GACjB,MAAO,WAAaA,EAAQ,cAGpC9B,aACIiC,eAAgB,qCAEpBC,MAAO,EACPC,SAAU,EACVC,WAAY,MACZC,SAAU,IACVC,IAAK,KACL5D,kBACI6D,OACI7C,aACQL,GAAI,GACJF,IAAK,QAEbQ,SAAU,SAAU1B,GAChB,GAAIrH,KAAKuG,WAAWK,aAAa,SAASiD,QAAQ,UAAY,EAAG,CAC7D,IAAI+B,EAAW5L,KAAKuG,WAAWsF,cAAc,aAC7C,GAAID,IAAa,KAAM,CACnBvE,EAAMyE,iBACN9L,KAAK+L,QAAQH,GACb5L,KAAKuG,WAAW9C,aAAa,QAAS,mBAIlD2E,SAAUxC,EAAkByC,IAC5BN,MAAOlC,EAAU2B,SAErBwE,mBACIlD,aACQL,GAAI,GACJF,IAAK,QAGLE,GAAI,GACJF,IAAK,QAEbQ,SAAU,SAAU1B,GAChBA,EAAMyE,kBAEV1D,SAAUxC,EAAkB0C,GAC5BP,MAAOlC,EAAU2B,SAErByE,iBACInD,aACQL,GAAI,GACJF,IAAK,QAGLE,GAAI,GACJF,IAAK,QAEbQ,SAAU,SAAU1B,GAChBA,EAAMyE,iBACN,IAAII,EAAQlM,KAAKuG,WAAWsF,cAAc,+BAAgCM,EAAOnM,KAAKuG,WAAWsF,cAAc,8BAA+BO,EAASpM,KAAKuG,WAAWsF,cAAc,aACrL,GAAIO,EAAQ,CACR,IAAIC,EAAetG,MAAMzF,UAAUuJ,QAAQlJ,KAAKyL,EAAOlM,WAAWoM,SAAUF,GAAS3E,EAAW4E,GAAgBhF,EAAMqB,QAAU,IAAK6D,EAAWvM,KAAKuG,WAAWiG,qBAAqB,MAAM9G,OAC3L,GAAI+B,EAAW,EAAG,CACdA,EAAW8E,EAAW,OAErB,GAAI9E,GAAY8E,EAAU,CAC3B9E,EAAW,EAEf2E,EAAO/H,UAAUoI,OAAO,UACxBL,EAAO7K,cAAc+K,SAASI,KAAKjF,GAAUpD,UAAUC,IAAI,eAE1D,GAAI6H,GAAQ9E,EAAMqB,SAAW,GAAI,CAClCyD,EAAK9H,UAAUC,IAAI,eAElB,GAAI4H,EAAO,CACZA,EAAM7H,UAAUC,IAAI,YAG5B8D,SAAUxC,EAAkB0C,GAC5BP,MAAOlC,EAAUyB,OAErBqF,UACI7D,aACQL,GAAI,GACJF,IAAK,OAELI,KAAM,GACNC,GAAI,GACJL,IAAK,OAEbQ,SAAU,WACN,IAAI6D,EAAW5M,KAAKyG,MAAMG,aAAa,+BAAgCiG,EAAe7M,KAAKyJ,OAC3F,GAAIoD,IAAiB,IAAMA,EAAanH,QAAU1F,KAAK8M,YAAa,CAChE,IAAKF,GAAYC,GAAgBD,EAAU,CACvC5M,KAAKuG,WAAW9C,aAAa,QAAS,qBAE1CuB,EAAa1E,UAAUmK,MAAMzK,KAAM,SAAUwC,GACzCxC,KAAK+M,QAAQ/M,KAAKgN,MAAMxK,IACxBxC,KAAKiN,SACPvL,KAAK1B,SAGfoI,SAAUxC,EAAkByC,IAC5BN,MAAOlC,EAAUyB,QAGzBf,WAAY,KACZgE,QAAS,KACT9D,MAAO,KAIPyG,cAAe,WACX,IAAIC,EAAe,GACnB,GAAInN,KAAKyG,MAAM5C,aAAa,mCAAoC,CAC5DsJ,EAAenN,KAAKyG,MAAMG,aAAa,wCAEtC,GAAI5G,KAAK+K,eAAiB,MAAO,CAClCoC,EAAenN,KAAK+K,iBAEnB,CACDoC,EAAe,GAEnB,OAAOA,GAKXC,OAAQ,WACJ,IAAIC,EAAQrN,KAAKyG,MAAMG,aAAa,2BACpC,GAAI0G,MAAMD,IAAUA,IAAU,KAAM,CAChC,OAAOrN,KAAKsL,MAEhB,OAAOiC,SAASF,EAAO,KAK3BP,UAAW,WACP,IAAIU,EAAWxN,KAAKyG,MAAMG,aAAa,8BACvC,GAAI0G,MAAME,IAAaA,IAAa,KAAM,CACtC,OAAOxN,KAAKuL,SAEhB,OAAOgC,SAASC,EAAU,KAK9BC,WAAY,SAAUC,GAClB,OAAOA,EAAMrK,QAAQrD,KAAKgL,UAAUC,SAASjL,KAAKyJ,QAASzJ,KAAKgL,UAAUI,YAK9E9B,YAAa,WACT,GAAItJ,KAAKyG,MAAM5C,aAAa,4BAA6B,CACrD,OAAO7D,KAAKyG,MAAMG,aAAa,4BAEnC,OAAO5G,KAAKwL,YAKhB5B,UAAW,WACP,GAAI5J,KAAKyG,MAAM5C,aAAa,gCAAiC,CACzD,OAAO7D,KAAKyG,MAAMG,aAAa,gCAEnC,OAAO5G,KAAKyL,UAKhBlC,KAAM,WACF,GAAIvJ,KAAKyG,MAAM5C,aAAa,qBAAsB,CAC9C,OAAO7D,KAAKyG,MAAMG,aAAa,qBAEnC,OAAO5G,KAAK0L,KAKhB1E,MAAO,SAAU2G,GACb,GAAIA,IAAQ,KAAM,CACd3N,KAAKuG,WAAW9C,aAAa,QAAS,gBACtCzD,KAAKyG,MAAMhD,aAAa,8BAA+BzD,KAAKyG,MAAMyE,WAEjE,CACD,IAAIpF,EAAS9F,KACbqK,WAAW,WACPvE,EAAOkB,MAAM,OACd,OAMX0D,OAAQ,SAAUQ,GACd,OAAOlL,KAAKgK,OAAOkB,IAKvB/D,OAAQ,WACJ,IAAIyF,EAAW5M,KAAKyG,MAAMG,aAAa,+BACvC,KAAMgG,GAAY5M,KAAKyG,MAAMyE,OAAS0B,IAAa5M,KAAK8M,aAAe9M,KAAKyG,MAAMyE,MAAMxF,OAAQ,CAC5F1F,KAAKuG,WAAW9C,aAAa,QAAS,uBAM9CwJ,MAAO,WACH,IAAInH,EAAS9F,KACb+F,MAAMzF,UAAU2F,QAAQtF,KAAKX,KAAKuG,WAAWiG,qBAAqB,MAAO,SAAUoB,GAC/E,GAAIA,EAAGhH,aAAa,UAAY,SAAU,CACxCgH,EAAGC,QAAU,SAAUxG,GACjBvB,EAAOiG,QAAQ6B,IAEnBA,EAAGE,aAAe,WACd,IAAI1B,EAAStG,EAAOS,WAAWsF,cAAc,aAC7C,GAAIO,IAAWwB,EAAI,CACf,GAAIxB,IAAW,KAAM,CACjBA,EAAO/H,UAAUoI,OAAO,UAE5BmB,EAAGvJ,UAAUC,IAAI,gBASrCuC,UAAW,WACP7G,KAAKuG,WAAW9C,aAAa,QAAS,gBACtCzD,KAAKuG,WAAW9C,aAAa,QAAS,QAAUzD,KAAKyG,MAAMsH,UAAY/N,KAAKyG,MAAMuH,cAAgB,WAAahO,KAAKyG,MAAMwH,WAAa,YAAcjO,KAAKyG,MAAMyH,YAAc,QAKlLnB,QAAS,SAAUvK,GACf,IAAI2L,EACJ,UAAW3L,GAAY,SAAU,CAC7B2L,EAAKnO,KAAKoO,WAAW5L,OAEpB,CACD2L,EAAKnO,KAAKqO,qBAAqB7L,GAEnC,GAAIxC,KAAKuG,WAAW+H,gBAAiB,CACjCtO,KAAKuG,WAAWqE,YAAY5K,KAAKuG,WAAWgI,WAAW,IAE3DvO,KAAKuG,WAAW5C,YAAYwK,IAKhCE,qBAAsB,SAAU7L,GAC5B,IAAI2L,EAAKhO,SAASqD,cAAc,MAAOoK,EAAKzN,SAASqD,cAAc,MAAO6J,EAAQrN,KAAKoN,SAEvF,GAAIC,EAAQ,EAAG,CACX7K,EAAWA,EAASgM,eAEnB,GAAInB,IAAU,EAAG,CAClBA,EAAQ7K,EAASkD,OAErB,IAAK,IAAIgH,EAAO,EAAGA,EAAO+B,KAAKC,IAAID,KAAKE,IAAItB,GAAQ7K,EAASkD,QAASgH,IAAQ,CAC1EkB,EAAGgB,UAAYpM,EAASkK,GAAMmC,MAC9BjB,EAAGnK,aAAa,0BAA2BjB,EAASkK,GAAMoC,OAC1DX,EAAGxK,YAAYiK,GACfA,EAAKzN,SAASqD,cAAc,MAEhC,OAAO2K,GAKXC,WAAY,SAAU5L,GAClB,IAAI2L,EAAKhO,SAASqD,cAAc,MAAOoK,EAAKzN,SAASqD,cAAc,MACnE,GAAIhB,EAASkD,OAAS,EAAG,CACrB1F,KAAKuG,WAAWqI,UAAYpM,MAE3B,CACD,IAAI2K,EAAenN,KAAKkN,gBACxB,GAAIC,IAAiB,GAAI,CACrBS,EAAGgB,UAAYzB,EACfS,EAAGnK,aAAa,QAAS,UACzB0K,EAAGxK,YAAYiK,IAGvB,OAAOO,GAKXnB,MAAO,SAAUxK,GACb,IACI,IAAIuM,KAEJ,IAAIC,EAAOC,KAAKC,MAAM1M,GACtB,GAAI0G,OAAOiG,KAAKH,GAAMtJ,SAAW,EAAG,CAChC,MAAO,GAEX,GAAIK,MAAMC,QAAQgJ,GAAO,CACrB,IAAK,IAAI3O,EAAI,EAAGA,EAAI6I,OAAOiG,KAAKH,GAAMtJ,OAAQrF,IAAK,CAC/C0O,EAAeA,EAAerJ,SAAYoJ,MAASE,EAAK3O,GAAIwO,MAAS7O,KAAKyN,WAAWuB,EAAK3O,UAG7F,CACD,IAAK,IAAI6K,KAAS8D,EAAM,CACpBD,EAAeK,MACXN,MAAS5D,EACT2D,MAAS7O,KAAKyN,WAAWuB,EAAK9D,OAI1C,OAAO6D,EAEX,MAAO1H,GAEH,OAAO7E,IAMfiH,KAAM,WACF,OAAOzJ,KAAKyG,MAAMyE,OAKtBa,QAAS,SAAUW,GACtB7L,QAAQC,IAAI,kBACL,GAAI4L,EAAK7I,aAAa,2BAA4B,CAC9C7D,KAAKyG,MAAMyE,MAAQwB,EAAK9F,aAAa,+BAEpC,CACD5G,KAAKyG,MAAMyE,MAAQwB,EAAKkC,UAE5B5O,KAAKyG,MAAMhD,aAAa,8BAA+BzD,KAAKyG,MAAMyE,QAEtEf,WAAY,KACZH,UACAlD,eAEJpC,EAAOD,QAAUO,YAEN,IAAI;;;;;;;;;;CAYf,SAAU3F,EAAGC,GACX,aAEA,SAAS+P,EAAYC,EAAoBC,EAAkBC,EAAcC,GACvEzP,KAAKsP,mBAAqBA,EAC1BtP,KAAKuP,iBAAmBA,EACxBvP,KAAKwP,aAAeA,EACpBxP,KAAK0P,OAAS,GACd1P,KAAKyP,UAAYA,EACjBzP,KAAK2P,cAAgB,KAcvBN,EAAY/O,UAAUsP,WAAa,SAASC,EAAQC,GAClD,IAAI3K,EAAI,EACR4K,EAEAD,GAASD,EAAOnK,OAAS1F,KAAK0P,OAC9B,IAAK,IAAIrP,EAAI,EAAGA,EAAIwP,EAAOnK,OAAQrF,IAAK,CACtC0P,EAAMF,EAAOxP,GACb,GAAK0P,EAAIC,aAAe,GAAOD,EAAIE,cAAgB,EAAI,CACrD9K,GAAK4K,EAAIC,aAAeD,EAAIE,kBACvB,CAEL9K,GAAK,GAIT,OAAO2K,EAAQ3K,GAGjBkK,EAAY/O,UAAU4P,SAAW,SAASL,EAAQM,GAChD,IAAIJ,EAAKK,EAAUC,EAAeR,EAAOnK,OACzC,IAAK,IAAIrF,EAAI,EAAGA,EAAIgQ,EAAchQ,IAAK,CACrC0P,EAAMF,EAAOxP,GACb,GAAK0P,EAAIC,aAAe,GAAOD,EAAIE,cAAgB,EAAI,CACrDG,EAAWD,EAASJ,EAAIC,aAAeD,EAAIE,kBACtC,CAELG,EAAWD,EAEbJ,EAAIO,MAAMR,MAAQM,EAAW,KAC7BL,EAAIO,MAAMH,OAASA,EAAS,KAC5BJ,EAAIO,MAAMC,WAAa,MACvBR,EAAIO,MAAME,UAAY,MACtBT,EAAIO,MAAMG,YAAczQ,KAAK0P,OAAS,EAAI,KAC1CK,EAAIO,MAAMI,aAAe1Q,KAAK0P,OAAS,EAAI,OAI/CL,EAAY/O,UAAUqQ,WAAa,SAASC,GAC1C,IAAIC,EAAOC,EACXC,EAAiBzR,EAAEuM,cAAc7L,KAAKsP,oBAAoBpB,YAE1D7O,EAAG,MAAOuR,EAASlL,OAAS,EAAG,CAC7B,IAAK,IAAIrF,EAAI,EAAGA,GAAKuQ,EAASlL,OAAQrF,IAAK,CACzCwQ,EAAQD,EAASC,MAAM,EAAGxQ,GAC1ByQ,EAAI9Q,KAAK4P,WAAWiB,EAAOE,GAC3B,GAAID,EAAI9Q,KAAKyP,UAAW,CACtBzP,KAAKkQ,SAASW,EAAOC,GACrBF,EAAWA,EAASC,MAAMxQ,GAC1B,SAAShB,GAGbW,KAAKkQ,SAASW,EAAOpC,KAAKC,IAAI1O,KAAKyP,UAAWqB,IAC9C,QAIJzB,EAAY/O,UAAU0Q,MAAQ,SAASzB,GACrC,IAAI0B,EAAuB3R,EAAEc,iBAAiBJ,KAAKuP,kBACnD2B,EAAiBD,EAAqBvL,OACtCyL,EAAW,KACXC,EAAU,KACVR,KACA,IAAK,IAAIvQ,EAAI,EAAGA,EAAI6Q,EAAgB7Q,IAAK,CACvC+Q,EAAUH,EAAqB5Q,GAC/B,GAAI+Q,EAAQC,yBAA2BF,GAAYP,EAASlL,OAAS,EAAG,CAItE1F,KAAK2Q,WAAWC,GAEhBA,KAGFA,EAASxB,KAAKgC,EAAQvF,cAAc7L,KAAKwP,eAEzC2B,EAAWC,EAGb,GAAIR,EAASlL,OAAS,EAAG,CACvB1F,KAAK2Q,WAAWC,KAIpBvB,EAAY/O,UAAUgR,MAAQ,WAC5B,IAAIjR,EAAG0P,EAAKa,EAAUW,EACtBvQ,EAAMhB,KACNwR,EAAgBlS,EAAEc,iBAAiBJ,KAAKuP,kBACxC2B,EAAiBM,EAAc9L,OAE/B,SAASsL,EAAMtQ,GACbM,EAAIgQ,QAGN,SAASS,EAAc/Q,GACrB,GAAIM,EAAI2O,cAAe,CACrB3O,EAAI2O,cAAgB,MACpBtF,WAAW,WACTrJ,EAAIgQ,QACJhQ,EAAI2O,cAAgB,MACnB,MAIPtQ,EAAE8B,iBAAiB,SAAUsQ,GAC7BpS,EAAE8B,iBAAiB,WAAY6P,GAE/B,IAAK3Q,EAAI,EAAGA,EAAI6Q,EAAgB7Q,IAAK,CACnC0P,EAAMyB,EAAcnR,GAAGwL,cAAc7L,KAAKwP,cAC1C,UAAWO,IAAQ,YAAa,CAC9BA,EAAI5O,iBAAiB,OAAQsQ,GAC7B1B,EAAI5O,iBAAiB,QAASsQ,MAKpCpS,EAAEE,MAAM8P,YAAcA,GA1IxB,CA4IG9K,OAAQpE,UACVZ,MAAMiC,MAAM,WAEXjC,MAAMwB,GAAG,UAAW,QAAS,WAC3B2Q,EAAgB1R,MAAM,QAGxBT,MAAMwB,GAAG,YAAa,QAAS,SAASL,GACtC,IAAID,EAAKC,EAAEU,OACX,MAAOX,IAAOuH,UAAW,CACvB,GAAIvH,EAAG4D,UAAUsN,SAAS,UAAW,CACnC,GAAIlR,EAAGmG,aAAa,uBAAyB,KAAM,CACjD8K,EAAgBjR,GAAI,MAEtB,MAEFA,EAAKA,EAAGP,aAET,MAEH,IAAI0R,GACFC,IACEhK,IAAK,SACLiK,IAAKC,EACLC,IAAK,sCACLC,IAAK,WAEPC,IACErK,IAAK,IACLiK,IAAKK,EACLH,IAAK,4BACLC,IAAK,WAEPG,IACEvK,IAAK,IACLiK,IAAKO,GAAY9N,OAAO+N,aACxBN,IAAK,qBACLC,IAAK,cAEPM,IACE1K,IAAK,IACLiK,IAAKO,EAAW9N,OAAO+N,aACvBN,IAAK,uBACLC,IAAK,cAEPO,IACE3K,IAAK,IACLiK,IAAKO,GAAY9N,OAAO+N,YAAc,GACtCN,IAAK,wBACLC,IAAK,cAEPQ,IACE5K,IAAK,IACLiK,IAAKO,EAAW9N,OAAO+N,YAAc,GACrCN,IAAK,0BACLC,IAAK,cAEPS,IACE7K,IAAK,IACLiK,IAAKa,GAAcxS,SAASuD,KAAKkP,aAAc,OAC/CZ,IAAK,gCACLC,IAAK,cAEPY,IACEhL,IAAK,IACLiK,IAAKa,EAAaxS,SAASuD,KAAKkP,aAAc,UAC9CZ,IAAK,mCACLC,IAAK,cAEPa,IACEjL,IAAK,IACLiK,IAAKJ,EAAgB,MACrBM,IAAK,gCACLC,IAAK,WAEPc,IACElL,IAAK,IACLiK,IAAKJ,EAAgB,QACrBM,IAAK,4BACLC,IAAK,WAEPe,IACEnL,IAAK,IACLiK,IAAKmB,EAAgB,GACrBjB,IAAK,sBACLC,IAAK,WAEPiB,IACErL,IAAK,IACLiK,IAAKmB,EAAgB,GACrBjB,IAAK,kBACLC,IAAK,WAEPkB,IACEtL,IAAK,IACLiK,IAAKsB,EAAW,OAChBpB,IAAK,qBACLC,IAAK,WAEPoB,IACExL,IAAK,IACLiK,IAAKsB,EAAW,MAChBpB,IAAK,+BACLC,IAAK,WAEPqB,IACEzL,IAAK,IACLiK,IAAKyB,EACLvB,IAAK,8BACLC,IAAK,WAEPuB,IACE3L,IAAK,IACLiK,IAAK2B,EACLzB,IAAK,qBACLC,IAAK,UAIT1S,MAAMwB,GAAGZ,SAAU,UAAW,SAASO,GAErC,GAAIkR,EAAQpJ,eAAe9H,EAAEgI,WAAahI,EAAEgT,UAAYhT,EAAEiT,SAAWjT,EAAEkT,WAAalT,EAAEmT,QAAS,CAC7F,IAAIC,EAAUpT,EAAEU,OAAO0S,QAAQC,cAC/B,GAAIrT,EAAEgI,UAAY,GAAI,CACpB,GAAIoL,IAAY,SAAWA,IAAY,UAAYA,IAAY,WAAY,CACzElC,EAAQlR,EAAEgI,SAASoJ,WAEhB,CACL,GAAIpR,EAAEU,SAAWjB,SAASuD,MAAQoQ,IAAY,KAAOA,IAAY,SAAU,CACzEpT,EAAEoL,iBACF8F,EAAQlR,EAAEgI,SAASoJ,WAM3B,SAASJ,EAAgBsC,GACvB,OAAO,SAASC,GACd,IAAI7C,EAAUjR,SAAS0L,cAAc,8BACrCqI,EAAiBF,EACjB,GAAI5C,IAAY,KAAM,CAEpBA,EAAUjR,SAAS0L,cAAc,WACjC,GAAIuF,IAAY,KAAM,CAEpB,OAGF,GAAI4C,IAAU,QAAUA,IAAU,KAAM,CACtCE,EAAiB9C,GAIrB,IAAI+C,EAAMC,EAAUjU,SAASC,iBAAiB,WAE9C,UAAW8T,IAAmB,SAAU,CACtCC,EAAOD,MACF,CACL,OAAQA,GACN,IAAK,UACL,IAAIG,EAAMlU,SAASmU,gBAAgBC,WAAapU,SAASuD,KAAK6Q,UAC9D,IAAIC,EAAMH,EAAMlU,SAASmU,gBAAgBG,aAEzC,IAAK,IAAIpU,EAAI,EAAGA,EAAI+T,EAAQ1O,OAAQrF,IAAK,CACvC8T,EAAOC,EAAQ/T,GACf,IAAIqU,EAAOP,EAAKpG,UAChB,IAAI4G,EAAOD,EAAOP,EAAKM,aAEvB,GAAKE,GAAQH,GAASE,EAAOL,EAAM,CACjC,OAGJ,MACA,IAAK,OACLF,EAAO/C,EAAQwD,mBACf,GAAIT,IAAS,KAAM,CACjBA,EAAOC,EAAQ,GAEjB,MACA,IAAK,KACLD,EAAO/C,EAAQC,uBACf,GAAI8C,IAAS,KAAM,CACjBA,EAAOC,EAAQA,EAAQ1O,OAAS,GAElC,MACA,IAAK,SACLyO,EAAOC,EAAQA,EAAQ1O,OAAS,GAChC,MACA,IAAK,MAEL,QACAyO,EAAOC,EAAQ,IAInB,GAAID,EAAM,CACR/C,EAAQyD,gBAAgB,qBACxBV,EAAK1Q,aAAa,oBAAqB,QACvC,IAAIqR,EAAOX,EAAKtI,cAAc,SAAWsI,EAAKtI,cAAc,KAC5D,GAAIiJ,IAAS,KAAM,CACjBA,EAAK5N,QAEP,IAAK+M,EAAU,CACbc,OAMR,SAASxB,IACPpT,SAAS6U,SAASC,OAAO,MAG3B,SAASlD,IACP,GAAI5R,SAAS+U,cAAe,CAC1B/U,SAAS+U,cAAcnO,QAI3B,SAASkM,EAAgBkC,GACvB,OAAO,WACL,IAAIC,EAAUC,EAAE,wCAChB,GAAID,EAAQ1P,SAAW,EAAG,CACxB7E,QAAQC,IAAI,oDACZ,OAEF,GAAIqU,GAAO,GAAKA,EAAMC,EAAQ1P,OAAQ,CACpC0P,EAAQD,GAAKG,YACR,CACLzU,QAAQC,IAAI,yCAKlB,SAASiU,IACP,IAAIQ,EAAMpV,SAAS0L,cAAc,8BACjC,GAAI0J,IAAQ,KAAM,CAChB,OAEF,IAAIC,EAAOrV,SAASmU,gBAAgBC,WAAapU,SAASuD,KAAK6Q,UAC/DkB,EAAUtV,SAASmU,gBAAgBG,aACnCC,EAAOa,EAAIxH,UACX4G,EAAOD,EAAOa,EAAId,aAClBiB,EAAS,IAET,GAAKH,EAAIlE,yBAA2B,MAAUsD,EAAOc,EAAU,CAG7DlR,OAAOoR,OAAOpR,OAAOqR,QAAS,GAC9B,OAEF,GAAIJ,EAAQd,EAAOgB,EAAS,CAC1BnR,OAAOoR,OAAOpR,OAAOqR,QAASlB,EAAOgB,OAChC,CACL,IAAIG,EAAOL,EAAOC,EAClB,GAAII,EAAQlB,EAAOe,EAAS,CAC1BnR,OAAOoR,OAAOpR,OAAOqR,QAASjB,EAAOc,EAAUC,KAKrD,SAASrD,EAAWyD,GAClB,OAAO,WACLvR,OAAOwR,SAAS,EAAGD,GACnBpE,EAAgB,cAIpB,SAASiB,EAAalL,EAAUuO,GAC9B,OAAO,WACLzR,OAAO0R,SAAS,EAAGxO,GACnBiK,EAAgBsE,MAIpB,SAAS7D,IACP5N,OAAO0R,SAAS,EAAG,GACnB9V,SAAS0L,cAAc,MAAM3E,QAG/B,SAASkM,EAAW8C,GAClB,OAAO,WACL,IAAIpB,EAAO3U,SAAS0L,cAAc,mCAClC,GAAIiJ,IAAS,KAAM,CACjB,IAAIjT,EAAMiT,EAAKlO,aAAa,QAC5B,GAAIsP,EAAQ,CACV3R,OAAOlC,KAAKR,OACP,CACL0C,OAAOyQ,SAASmB,KAAOtU,KAM/B,SAASuU,EAAgBC,GACvB,IAAIC,KAEJ,IAAK,IAAIC,KAAK3E,EAAS,CACrB,IAAI/J,EAAM+J,EAAQ2E,GAClBD,EAAWzO,EAAIoK,KAAOqE,EAAWzO,EAAIoK,SACrCqE,EAAWzO,EAAIoK,KAAK7C,KAAKvH,GAG3B,IAAI2O,EAAStN,OAAOiG,KAAKmH,GAAYG,KAAK,SAASnR,EAAGoR,GACpD,OAAOJ,EAAWI,GAAGhR,OAAS4Q,EAAWhR,GAAGI,SAG9C,GAAI8Q,EAAO9Q,SAAW,EAAG,CACvB,OAGH,IAAIiR,EAAO,mEACVA,GAAQ,uDACVA,GAAQ,UAEN,IAAK,IAAItW,EAAI,EAAGA,EAAImW,EAAO9Q,OAAQrF,IAAK,CACtC,IAAI4R,EAAMqE,EAAWE,EAAOnW,IAE5B,IAAIuW,EAAevW,IAAOmW,EAAO9Q,OAAS,EAC1C,IAAIwG,EAAQ7L,EAAI,IAAM,EAEtB,GAAI6L,EAAO,CACTyK,GAAQ,OAEVA,GAAQ,OAERA,GAAQ,OAAS1E,EAAI,GAAGA,IAAM,QAC9B0E,GAAQ,6BAER,IAAK,IAAIE,KAAM5E,EAAK,CAClB0E,GAAQ,YAAc1E,EAAI4E,GAAIhP,IAAM,UAAYoK,EAAI4E,GAAI7E,IAAM,QAGhE2E,GAAQ,QACRA,GAAQ,QAER,IAAKzK,GAAS0K,EAAc,CAC1BD,GAAQ,SAIdA,GAAQ,WAENN,EAAWzH,UAAY+H,EAGzB,SAASlD,IACR,IAAIqD,EAAY3W,SAAS0L,cAAc,qBACvChL,QAAQC,IAAIgW,GACb,GAAIA,IAAc9O,WAAa8O,IAAc,KAAM,CAElDA,EAAY3W,SAASqD,cAAc,OAChCsT,EAAU1T,GAAK,mBACjB0T,EAAUC,UAAU,eACpBD,EAAUxG,MAAM,aACjB8F,EAAgBU,GAChB,IAAIpT,EAAOvD,SAASqM,qBAAqB,QAAQ,GACjD9I,EAAKC,YAAYmT,OACX,CAENA,EAAUzS,UAAU2S,OAAO,aAC3B,YAuBH,SAAW3X,EAAGC,EAAGC,GACf,aAEAA,EAAMiC,MAAM,WACVjC,EAAMwB,GAAG,0BAA2B,QAAS,SAASsG,GAEpDrH,KAAKqE,UAAUoI,OAAO,0BAGtB,IAAIwK,EAAe,gDACnB,IAAIC,EAAcD,EAAe,2BACjC,IAAIE,EAAY,cAEhB,IAAIC,EAASpX,KAAKqX,QAAQC,MAC1B,IAAIC,EAAWvX,KAAKqX,QAAQG,QAC5B,IAAIC,EAAenY,EAAEuM,cAAc,IAAM7L,KAAKqX,QAAQK,aACtD,IAAIC,EAAwBrY,EAAEuM,cAAc,IAAM7L,KAAKqX,QAAQO,qBAG/D,IAAIC,GAAoB,YAAa,eAAgB,mBAAoB,gBAAiB,eAE1F,GAAGT,GAAUG,GAAYE,EAAc,CACrC,IAAIK,EAAQ,KACZ,OAAOP,GACL,IAAK,OACLO,EAAQZ,EAAc,QAAUE,EAAS,KAAOD,EAChD,MACA,IAAK,MACLW,EAAQZ,EAAc,OAASE,EAAS,KAAOD,EAC/C,MACA,IAAK,WACLW,EAAQZ,EAAc,YAAcE,EAAS,KAAOD,EACpD,MACA,QACA,MAEF,GAAGW,EAAO,CAERvY,EAAMoC,KAAM,MAAOmW,GAAQ3V,KAAK,SAASwU,EAAMoB,GAC7CpB,EAAO1H,KAAKC,MAAMyH,GAClB,GAAGA,GAAQA,EAAKzQ,UAAYyQ,EAAKzQ,SAAS,GAAI,CAC5C,IAAIhC,EAAUyS,EAAKzQ,SAAS,GAC5B,IAAI8R,EAAU,GACd,IAAK,IAAIC,KAAO/T,EAAQgU,KAAM,CAC5B,GAAGhU,EAAQgU,KAAKrP,OAAS,MAAQgP,EAAgBhO,QAAQoO,KAAS,EAAG,CACnED,GAAW,WAAaC,EAAM,YAC9B,OAAOA,GACL,IAAK,QACL,IAAK,MACLD,GAAW,gBAAmB9T,EAAQgU,KAAKD,GAAK5U,QAAQ,KAAK,IAAM,KAAQa,EAAQgU,KAAKD,GAAO,OAC/F,MACA,IAAK,QACLD,GAAW,mBAAsB9T,EAAQgU,KAAKD,GAAO,KAAQ/T,EAAQgU,KAAKD,GAAO,OACjF,MACA,IAAK,UACL,IAAK,MACLD,GAAW,YAAe9T,EAAQgU,KAAKD,GAAO,KAAQ/T,EAAQgU,KAAKD,GAAO,OAC1E,MACA,IAAK,WACLD,GAAW,0CAA6C9T,EAAQgU,KAAKD,GAAO,KAAQ/T,EAAQgU,KAAKD,GAAO,OACxG,MACA,IAAK,YACL,GAAG/T,EAAQgU,KAAKD,GAAKpO,QAAQ,OAAS,EAAG,CACvCmO,GAAW,oBAAuB9T,EAAQgU,KAAKD,GAAKE,UAAU,EAAEjU,EAAQgU,KAAKD,GAAKpO,QAAQ,MAAQ,uBAAyB3F,EAAQgU,KAAKD,GAAKE,UAAUjU,EAAQgU,KAAKD,GAAKpO,QAAQ,KAAK,GAAK,KAAQ3F,EAAQgU,KAAKD,GAAO,OACvN,MAGF,QAEAD,GAAW9T,EAAQgU,KAAKD,GACxB,MAEFD,GAAW,cAGtBL,EAAsBzX,WAAW0K,YAAY+M,GACtCF,EAAapT,UAAUoI,OAAO,aAC9BgL,EAAa5L,cAAc,SAAS+C,UAAYoJ,KAGnD5V,MAAM,WACLuV,EAAsBtT,UAAUoI,OAAO,aACvCkL,EAAsB/I,UAAY,0BAMxCvH,EAAMyE,mBAGRvM,EAAMwB,GAAG,kBAAmB,QAAS,SAASsG,GAE5CrH,KAAKqE,UAAUoI,OAAO,kBAGtB,IAAI2L,EAAiBpY,KAAKqX,QAAQgB,cAClC,IAAIC,EAAUC,WAAWvY,KAAKqX,QAAQmB,QACtC,IAAIC,EAAUF,WAAWvY,KAAKqX,QAAQqB,QACtC,IAAIC,EAAWJ,WAAWvY,KAAKqX,QAAQuB,SACvC,IAAIC,EAAkB5J,KAAKC,MAAMlP,KAAKqX,QAAQyB,gBAC9C,IAAIC,EAAc9J,KAAKC,MAAMlP,KAAKqX,QAAQ2B,YAE1CzZ,EAAMyD,UAAU,uBAChBzD,EAAMqE,WAAW,qBAAsB,WACrC,IAAIqV,EAAa,KACjB,GAAGJ,EAAiB,CAClB,IAAIK,EAAYC,EAAEC,OAAOP,EAAgB,GAAIA,EAAgB,IAC7D,IAAIQ,EAAYF,EAAEC,OAAOP,EAAgB,GAAIA,EAAgB,IAC7DI,EAAaE,EAAEG,aAAaJ,EAAWG,GAIzC,IAAIE,EAAMJ,EAAEI,IAAInB,GAEhB,IAAIoB,EAAa,qDACjB,IAAIC,EAAgB,gFACpB,IAAIC,EAAY,IAAIP,EAAEQ,UAAUH,GAAeI,QAAS,EAAGC,QAAS,GAAIC,YAAaL,IACrF,IAAIM,EAAgB,sDACpB,IAAIC,EAAqB,uGACzB,IAAIC,EAAe,IAAId,EAAEQ,UAAUI,GAAkBH,QAAS,EAAGC,QAAS,GAAIC,YAAaE,IAE3F,GAAGf,EAAY,CAGb5O,WAAW,WACTkP,EAAIW,UAAUjB,GACZY,QAAQ,MAET,QACE,GAAIvB,GAAWG,EAAS,CAC7B,GAAGE,EAAU,CACXY,EAAIY,QAAQ,IAAIhB,EAAEC,OAAOX,EAASH,GAASK,OACtC,CACLY,EAAIY,QAAQ,IAAIhB,EAAEC,OAAOX,EAASH,GAAS,IAI/CiB,EAAIa,SAASV,GAEb,IAAIW,GACFC,aAAcZ,GAIhBP,EAAEoB,QAAQC,OAAOH,GAAYI,MAAMlB,GAEnC,GAAGR,EAAa,CACdI,EAAEuB,QAAQ3B,GAAa0B,MAAMlB,MAOjClS,EAAMyE,sBA3JZ,CA8JGvH,OAAQpE,SAAUoE,OAAOhF,QAiB5B,SAAUF,EAAGC,EAAGC,GACd,aAEAA,EAAMiC,MAAM,WACVjC,EAAMob,uBAAyB,IAAIpb,EAAM8P,YAAY,QAAS,uBAAwB,sBAAuB,KAC7G9P,EAAMob,uBAAuBrJ,QAE7B/R,EAAMwB,GAAG,gBAAiB,QAAS,SAASsG,GAC1C,IAAIuT,EAAoB5a,KAAK4G,aAAa,2BAC1C,IAAIiU,EAAuB7a,KAAK4G,aAAa,+BAC7C,IAAIxF,EAASpB,KAAK4G,aAAa,eAC/B,IAAIkU,EAAgBxb,EAAEuM,cAAczK,GACpC,IAAIuV,EAAO3W,KAAK4O,UAChB,GAAI5O,KAAKqE,UAAUsN,SAAS,aAAc,CACxCgF,EAAOA,EAAKtT,QAAQuX,EAAmBC,OAClC,CACLlE,EAAOA,EAAKtT,QAAQwX,EAAsBD,GAE5C5a,KAAK4O,UAAY+H,EACjB3W,KAAKqE,UAAU2S,OAAO,aACtB8D,EAAczW,UAAU2S,OAAO,eAGjCzX,EAAMwB,GAAG,gBAAiB,QAAS,SAASsG,GAC1C,IAAIjG,EAASpB,KAAK4G,aAAa,eAC/B,IAAImU,EAAczb,EAAEuM,cAAczK,EAAS,aAC3C,IAAI4Z,EAAUD,EAAYnU,aAAa,OACvC,GAAIoU,IAAY,MAAQA,IAAYhT,WAAagT,IAAY,MAAO,CAClED,EAAYtX,aAAa,MAAOsX,EAAYnU,aAAa,gBAI7DvH,EAAE8B,iBAAiB,SAAU,WAC3B,IAAIT,EAAIpB,EAAEiE,eAAe,aACzBgR,EAAYpU,SAASmU,gBAAgBC,WAAapU,SAASuD,KAAK6Q,UAChE,GAAI7T,IAAM,KAAM,CACd,GAAI6T,GAAa,IAAK,CACpB7T,EAAE4P,MAAM2K,QAAU,MACb,CACLva,EAAE4P,MAAM2K,QAAU,SAvC5B,CA8CG1W,OAAQpE,SAAUoE,OAAOhF,QAiB5B,SAAUF,EAAGC,EAAGC,GACd,aAEA,IAAI2b,EAAa,KAAMC,EAAY,IAAKC,EAExC,SAASC,EAAiBnX,GACxB,GAAIA,EAAQoX,kBAAmB,CAC7B,IAAIC,EAAMrX,EAAQgH,MAAMxF,OACxBxB,EAAQoX,kBAAkBC,EAAKA,IAInC,SAASC,IACP,GAAIJ,EAAOlQ,MAAMxF,OAAU,EAAG,CAC5B,IAAI+V,EAAStb,SAASoD,eAAe,UACrC8G,WAAWoR,EAAOC,OAAOha,KAAK+Z,GAAS,IAI3C,SAASE,EAAkBP,GACzB,IAAIQ,EAAKzb,SAASoD,eAAe,gBACjC,IAAIsY,EAAoB,WACtB,GAAIT,EAAOlQ,MAAMxF,SAAW,EAAG,CACpCkW,EAAGvX,UAAUC,IAAI,aACL,CACZsX,EAAGvX,UAAUoI,OAAO,WAKjBoP,IACAD,EAAGza,iBAAiB,QAAS,WAC3Bia,EAAOlQ,MAAM,GACbkQ,EAAOlU,QACP2U,MAEFT,EAAOja,iBAAiB,QAAS0a,EAAmB,OAGtDtc,EAAMiC,MAAM,WACV4Z,EAAS9b,EAAEiE,eAAe4X,GAE1B,SAASW,EAAqBpb,GAC5B,GAAIwa,EAAY,CACdG,EAAiBD,GACjBF,EAAa,UACR,GAKT,GAAIE,IAAW,KAAM,CAEnBO,EAAkBP,GAGlB,GAAI7b,EAAMwc,cAAe,CACvBxc,EAAMyc,aAAehX,aAAarE,KAAKtB,GACrCqM,IAAK,kBACLX,aAAcxL,EAAM0c,YACpBzQ,WAAYjM,EAAMqC,OAClB2J,SAAU,EACVjB,MAAO,KACN,IAAM6Q,GAGT9b,EAAE8B,iBAAiB,SAAU,WAC3B,IAAIkG,EAAQ,IAAI6U,YAAY,YAC5Bd,EAAOe,cAAc9U,KAIzB+T,EAAOja,iBAAiB,QAAS2a,EAAsB,OACvDV,EAAOlU,QAIT,GAAIkU,IAAW,MAAQ7b,EAAM6c,0BAA2B,CACtD9c,EAAEuM,cAAc,SAASkL,UAAU,YAEnCxX,EAAMwB,GAAG,oBAAqB,SAAU,SAASL,GAC/C,IAAIL,EAAGiW,EAAahX,EAAEc,iBAAiB,sCACvC,IAAIC,EAAE,EAAGA,EAAEiW,EAAW5Q,OAAQrF,IAAK,CACjC,GAAIiW,EAAWjW,KAAOL,MAAQsW,EAAWjW,GAAGgc,QAAS,CACnD/F,EAAWjW,GAAGiV,SAGlB,IAAMtV,KAAKqc,QAAS,CAClBrc,KAAKsV,QAEPkG,IACA,OAAO,QAGTjc,EAAMwB,GAAGzB,EAAEiE,eAAe,cAAe,SAAUiY,GACnDjc,EAAMwB,GAAGzB,EAAEiE,eAAe,YAAa,SAAUiY,OA/FvD,CAoGGjX,OAAQpE,SAAUoE,OAAOhF","file":"searx.min.js"} \ No newline at end of file
+{"version":3,"sources":["searx.js"],"names":["window","searx","w","d","Element","ElementPrototype","matches","matchesSelector","webkitMatchesSelector","msMatchesSelector","selector","node","this","nodes","parentNode","document","querySelectorAll","i","prototype","callbackSafe","callback","el","e","call","exception","console","log","on","obj","eventType","useCapture","addEventListener","target","srcElement","found","parentElement","ready","readyState","bind","http","method","url","req","XMLHttpRequest","resolve","reject","promise","then","catch","open","onload","status","response","responseType","Error","statusText","onerror","onabort","send","ex","loadStyle","src","path","static_path","id","replace","s","getElementById","createElement","setAttribute","body","appendChild","loadScript","hasAttribute","apply","insertBefore","newNode","referenceNode","element","insertAfter","nextSibling","classList","add","f","exports","module","define","amd","g","global","self","AutoComplete","t","n","r","o","u","a","require","code","l","length","1","ConditionOperator","EventType","params","Array","isArray","forEach","elements","input","specificParams","merge","defaults","DOMResults","create","Input","nodeName","match","getAttribute","_Position","$Listeners","blur","_Blur","destroy","focus","_Focus","keyup","event","KEYUP","keydown","KEYDOWN","position","getEventsByType","type","mappings","key","KeyboardMappings","Event","undefined","eventIdentifier","condition","mapping","Operator","AND","OR","Not","hasOwnProperty","Is","keyCode","From","To","name","Conditions","Callback","makeRequest","propertyHttpHeaders","Object","getOwnPropertyNames","HttpHeaders","request","_HttpMethod","_Url","queryParams","_Pre","queryParamsStringify","encodeURIComponent","_QueryArg","indexOf","setRequestHeader","onreadystatechange","$Cache","ajax","timeout","$AjaxTimer","clearTimeout","setTimeout","Delay","Request","abort","cache","_Cache","removeEventListener","removeChild","tmp","arguments","EmptyMessage","Highlight","getRegex","value","RegExp","transform","Content-type","Limit","MinChars","HttpMethod","QueryArg","Url","Enter","liActive","querySelector","preventDefault","_Select","KeyUpAndDown_down","KeyUpAndDown_up","first","last","active","currentIndex","children","lisCount","getElementsByTagName","remove","item","AlphaNum","oldValue","currentValue","_MinChars","_Render","_Post","_Open","_EmptyMessage","emptyMessage","_Limit","limit","isNaN","parseInt","minchars","_Highlight","label","now","li","onclick","onmouseenter","offsetTop","offsetHeight","offsetLeft","clientWidth","ul","_RenderRaw","_RenderResponseItems","hasChildNodes","childNodes","reverse","Math","min","abs","innerHTML","Label","Value","returnResponse","json","JSON","parse","keys","push","ImageLayout","container_selector","results_selector","img_selector","maxHeight","margin","_alignAllDone","_getHeigth","images","width","img","naturalWidth","naturalHeight","_setSize","height","imgWidth","imagesLength","style","marginLeft","marginTop","marginRight","marginBottom","_alignImgs","imgGroup","slice","h","containerWidth","align","results_selectorNode","results_length","previous","current","previousElementSibling","watch","imgNodeLength","results_nodes","throttleAlign","highlightResult","contains","vimKeys","27","fun","removeFocus","des","cat","73","searchInputFocus","66","scrollPage","innerHeight","70","85","68","71","scrollPageTo","scrollHeight","86","75","74","80","pageButtonClick","78","79","openResult","84","82","reloadPage","72","toggleHelp","ctrlKey","altKey","shiftKey","metaKey","tagName","toLowerCase","which","noScroll","effectiveWhich","next","results","top","documentElement","scrollTop","bot","clientHeight","etop","ebot","nextElementSibling","removeAttribute","link","scrollPageToSelected","location","reload","activeElement","num","buttons","$","click","sel","wtop","wheight","offset","scroll","scrollX","wbot","amount","scrollBy","nav","scrollTo","newTab","href","initHelpContent","divElement","categories","k","sorted","sort","b","html","lastCategory","cj","helpPanel","className","toggle","overpass_url","query_start","query_end","osm_id","dataset","osmId","osm_type","osmType","result_table","resultTable","result_table_loadicon","resultTableLoadicon","osm_ignore_tags","query","contentType","newHtml","row","tags","substring","leaflet_target","leafletTarget","map_lon","parseFloat","mapLon","map_lat","mapLat","map_zoom","mapZoom","map_boundingbox","mapBoundingbox","map_geojson","mapGeojson","map_bounds","southWest","L","latLng","northEast","latLngBounds","map","osmMapnikUrl","osmMapnikAttrib","osmMapnik","TileLayer","minZoom","maxZoom","attribution","osmWikimediaUrl","osmWikimediaAttrib","osmWikimedia","fitBounds","setView","addLayer","baseLayers","OSM Mapnik","control","layers","addTo","geoJson","image_thumbnail_layout","btnLabelCollapsed","btnLabelNotCollapsed","targetElement","iframe_load","srctest","opacity","firstFocus","qinput_id","qinput","placeCursorAtEnd","setSelectionRange","len","submitIfQuery","search","submit","createClearButton","cs","updateClearButton","placeCursorAtEndOnce","autocompleter","autocomplete","no_item_found","CustomEvent","dispatchEvent","search_on_category_select","checked"],"mappings":";;AAiBAA,OAAOC,MAAQ,SAAUC,EAAGC,GAE1B,aAMA,GAAID,EAAEE,QAAS,EACb,SAAUC,GACRA,EAAiBC,QAAUD,EAAiBC,SAC5CD,EAAiBE,iBACjBF,EAAiBG,uBACjBH,EAAiBI,mBACjB,SAASC,GACP,IAAIC,EAAOC,KAAMC,GAASF,EAAKG,YAAcH,EAAKI,UAAUC,iBAAiBN,GAAWO,GAAK,EAC7F,MAAOJ,IAAQI,IAAMJ,EAAMI,IAAMN,GACjC,QAASE,EAAMI,KARnB,CAUGb,QAAQc,WAGb,SAASC,EAAaC,EAAUC,EAAIC,GAClC,IACEF,EAASG,KAAKF,EAAIC,GAClB,MAAOE,GACPC,QAAQC,IAAIF,IAIhB,IAAIvB,EAAQD,OAAOC,OAAS,GAE5BA,EAAM0B,GAAK,SAASC,EAAKC,EAAWT,EAAUU,GAC5CA,EAAaA,GAAc,MAC3B,UAAWF,IAAQ,SAAU,CAE3BA,EAAIG,iBAAiBF,EAAWT,EAAUU,OACrC,CAEL3B,EAAE4B,iBAAiBF,EAAW,SAASP,GACrC,IAAID,EAAKC,EAAEU,QAAUV,EAAEW,WAAYC,EAAQ,MAC3C,MAAOb,GAAMA,EAAGf,SAAWe,IAAOlB,KAAO+B,EAAQb,EAAGf,QAAQsB,IAAOP,EAAKA,EAAGc,cAC3E,GAAID,EAAOf,EAAaC,EAAUC,EAAIC,IACrCQ,KAIP7B,EAAMmC,MAAQ,SAAShB,GACrB,GAAIL,SAASsB,YAAc,UAAW,CACpCjB,EAASG,KAAKrB,OACT,CACLA,EAAE6B,iBAAiB,mBAAoBX,EAASkB,KAAKpC,MAIzDD,EAAMsC,KAAO,SAASC,EAAQC,EAAKrB,GACjC,IAAIsB,EAAM,IAAIC,eACdC,EAAU,aACVC,EAAS,aACTC,EAAU,CACRC,KAAM,SAAS3B,GAAYwB,EAAUxB,EAAU,OAAO0B,GACtDE,MAAO,SAAS5B,GAAYyB,EAASzB,EAAU,OAAO0B,IAGxD,IACEJ,EAAIO,KAAKT,EAAQC,EAAK,MAGtBC,EAAIQ,OAAS,WACX,GAAIR,EAAIS,QAAU,IAAK,CACrBP,EAAQF,EAAIU,SAAUV,EAAIW,kBACrB,CACLR,EAAOS,MAAMZ,EAAIa,eAKrBb,EAAIc,QAAU,WACZX,EAAOS,MAAM,mBAGfZ,EAAIe,QAAU,WACZZ,EAAOS,MAAM,4BAIfZ,EAAIgB,OACJ,MAAOC,GACPd,EAAOc,GAGT,OAAOb,GAGT7C,EAAM2D,UAAY,SAASC,GACzB,IAAIC,EAAO7D,EAAM8D,YAAcF,EAC/BG,EAAK,SAAWH,EAAII,QAAQ,IAAK,KACjCC,EAAI/D,EAAEgE,eAAeH,GACrB,GAAIE,IAAM,KAAM,CACdA,EAAI/D,EAAEiE,cAAc,QACpBF,EAAEG,aAAa,KAAML,GACrBE,EAAEG,aAAa,MAAO,cACtBH,EAAEG,aAAa,OAAQ,YACvBH,EAAEG,aAAa,OAAQP,GACvB3D,EAAEmE,KAAKC,YAAYL,KAIvBjE,EAAMuE,WAAa,SAASX,EAAKzC,GAC/B,IAAI0C,EAAO7D,EAAM8D,YAAcF,EAC/BG,EAAK,UAAYH,EAAII,QAAQ,IAAK,KAClCC,EAAI/D,EAAEgE,eAAeH,GACrB,GAAIE,IAAM,KAAM,CACdA,EAAI/D,EAAEiE,cAAc,UACpBF,EAAEG,aAAa,KAAML,GACrBE,EAAEG,aAAa,MAAOP,GACtBI,EAAEhB,OAAS9B,EACX8C,EAAEV,QAAU,WACVU,EAAEG,aAAa,QAAS,MAE1BlE,EAAEmE,KAAKC,YAAYL,QACd,IAAKA,EAAEO,aAAa,SAAU,CACnC,IACErD,EAASsD,MAAMR,EAAG,IAClB,MAAO1C,GACPC,QAAQC,IAAIF,QAET,CACLC,QAAQC,IAAI,mCAAqCoC,EAAO,mBAI5D7D,EAAM0E,aAAe,SAAUC,EAASC,GACtCC,QAAQhE,WAAW6D,aAAaC,EAASC,IAG3C5E,EAAM8E,YAAc,SAASH,EAASC,GACpCA,EAAc/D,WAAW6D,aAAaC,EAASC,EAAcG,cAG/D/E,EAAM0B,GAAG,SAAU,QAAS,SAASL,GACnC,IAAID,EAAKC,EAAEU,QAAUV,EAAEW,WACvBrB,KAAKE,WAAWmE,UAAUC,IAAI,eAGhC,OAAOjF,EAjJM,CAkJZD,OAAQe,WACV,SAAUoE,GAAG,UAAUC,UAAU,iBAAiBC,SAAS,YAAY,CAACA,OAAOD,QAAQD,SAAS,UAAUG,SAAS,YAAYA,OAAOC,IAAI,CAACD,OAAO,GAAGH,OAAO,CAAC,IAAIK,EAAE,UAAUxF,SAAS,YAAY,CAACwF,EAAExF,YAAY,UAAUyF,SAAS,YAAY,CAACD,EAAEC,YAAY,UAAUC,OAAO,YAAY,CAACF,EAAEE,SAAS,CAACF,EAAE5E,KAAK4E,EAAEG,aAAeR,MAAjU,CAAwU,WAAW,IAAIG,EAAOD,EAAOD,EAAQ,OAAO,SAAU9D,EAAEsE,EAAEC,EAAEC,GAAG,SAAS5B,EAAE6B,EAAEC,GAAG,IAAIH,EAAEE,GAAG,CAAC,IAAIH,EAAEG,GAAG,CAAC,IAAIE,SAASC,SAAS,YAAYA,QAAQ,IAAIF,GAAGC,EAAE,OAAOA,EAAEF,GAAG,GAAG,GAAG9E,EAAE,OAAOA,EAAE8E,GAAG,GAAG,IAAIZ,EAAE,IAAI7B,MAAM,uBAAuByC,EAAE,KAAK,MAAMZ,EAAEgB,KAAK,mBAAmBhB,EAAE,IAAIiB,EAAEP,EAAEE,GAAG,CAACX,QAAQ,IAAIQ,EAAEG,GAAG,GAAGxE,KAAK6E,EAAEhB,QAAQ,SAAS9D,GAAG,IAAIuE,EAAED,EAAEG,GAAG,GAAGzE,GAAG,OAAO4C,EAAE2B,EAAEA,EAAEvE,IAAI8E,EAAEA,EAAEhB,QAAQ9D,EAAEsE,EAAEC,EAAEC,GAAG,OAAOD,EAAEE,GAAGX,QAAQ,IAAInE,SAASiF,SAAS,YAAYA,QAAQ,IAAI,IAAIH,EAAE,EAAEA,EAAED,EAAEO,OAAON,IAAI7B,EAAE4B,EAAEC,IAAI,OAAO7B,EAAvb,CAA2b,CAACoC,EAAE,CAAC,SAASJ,EAAQb,EAAOD;;;;;;;;;;AAU50B,aACA,IAAImB,GACJ,SAAWA,GACPA,EAAkBA,EAAkB,OAAS,GAAK,MAClDA,EAAkBA,EAAkB,MAAQ,GAAK,MAFrD,CAGGA,IAAsBA,EAAoB,KAC7C,IAAIC,GACJ,SAAWA,GACPA,EAAUA,EAAU,WAAa,GAAK,UACtCA,EAAUA,EAAU,SAAW,GAAK,SAFxC,CAGGA,IAAcA,EAAY,KAO7B,IAAIb,EAAgB,WAEhB,SAASA,EAAac,EAAQ/F,GAC1B,GAAI+F,SAAgB,EAAG,CAAEA,EAAS,GAClC,GAAI/F,SAAkB,EAAG,CAAEA,EAAW,sBACtC,GAAIgG,MAAMC,QAAQjG,GAAW,CACzBA,EAASkG,QAAQ,SAAU1C,GACvB,IAAIyB,EAAac,EAAQvC,UAG5B,UAAWxD,GAAY,SAAU,CAClC,IAAImG,EAAW9F,SAASC,iBAAiBN,GACzCgG,MAAMxF,UAAU0F,QAAQrF,KAAKsF,EAAU,SAAUC,GAC7C,IAAInB,EAAac,EAAQK,SAG5B,CACD,IAAIC,EAAiBpB,EAAaqB,MAAMrB,EAAasB,SAAUR,EAAQ,CACnES,WAAYnG,SAASqD,cAAc,SAEvCuB,EAAazE,UAAUiG,OAAOJ,EAAgBrG,GAC9C,OAAOqG,GAGfpB,EAAazE,UAAUiG,OAAS,SAAUV,EAAQ3B,GAC9C2B,EAAOW,MAAQtC,EACf,GAAI2B,EAAOW,MAAMC,SAASC,MAAM,cAAgBb,EAAOW,MAAM3C,aAAa,UAAY,OAASgC,EAAOW,MAAMG,aAAa,QAAQD,MAAM,mBAAoB,CACvJb,EAAOW,MAAM/C,aAAa,eAAgB,OAC1CoC,EAAOe,UAAUf,GACjBA,EAAOW,MAAMtG,WAAWyD,YAAYkC,EAAOS,YAC3CT,EAAOgB,WAAa,CAChBC,KAAMjB,EAAOkB,MAAMrF,KAAKmE,GACxBmB,QAASjC,EAAazE,UAAU0G,QAAQtF,KAAK,KAAMmE,GACnDoB,MAAOpB,EAAOqB,OAAOxF,KAAKmE,GAC1BsB,MAAOpC,EAAazE,UAAU8G,MAAM1F,KAAK,KAAMmE,EAAQD,EAAUyB,OACjEC,QAASvC,EAAazE,UAAU8G,MAAM1F,KAAK,KAAMmE,EAAQD,EAAU2B,SACnEC,SAAU3B,EAAOe,UAAUlF,KAAKmE,IAEpC,IAAK,IAAIuB,KAASvB,EAAOgB,WAAY,CACjChB,EAAOW,MAAMrF,iBAAiBiG,EAAOvB,EAAOgB,WAAWO,OAInErC,EAAazE,UAAUmH,gBAAkB,SAAU5B,EAAQ6B,GACvD,IAAIC,EAAW,GACf,IAAK,IAAIC,KAAO/B,EAAOgC,iBAAkB,CACrC,IAAIT,EAAQxB,EAAUyB,MACtB,GAAIxB,EAAOgC,iBAAiBD,GAAKE,QAAUC,UAAW,CAClDX,EAAQvB,EAAOgC,iBAAiBD,GAAKE,MAEzC,GAAIV,GAASM,EAAM,CACfC,EAASC,GAAO/B,EAAOgC,iBAAiBD,IAGhD,OAAOD,GAEX5C,EAAazE,UAAU8G,MAAQ,SAAUvB,EAAQ6B,EAAMN,GACnD,IAAIY,EAAkB,SAAUC,GAC5B,GAAKvB,IAAU,MAAQwB,EAAQC,UAAYxC,EAAkByC,KAAS1B,IAAU,OAASwB,EAAQC,UAAYxC,EAAkB0C,GAAK,CAChIJ,EAAYlD,EAAaqB,MAAM,CAC3BkC,IAAK,OACNL,GACH,GAAIA,EAAUM,eAAe,MAAO,CAChC,GAAIN,EAAUO,IAAMpB,EAAMqB,QAAS,CAC/B/B,GAASuB,EAAUK,QAElB,CACD5B,EAAQuB,EAAUK,UAGrB,GAAIL,EAAUM,eAAe,SAAWN,EAAUM,eAAe,MAAO,CACzE,GAAInB,EAAMqB,SAAWR,EAAUS,MAAQtB,EAAMqB,SAAWR,EAAUU,GAAI,CAClEjC,GAASuB,EAAUK,QAElB,CACD5B,EAAQuB,EAAUK,QAKlC,IAAK,IAAIM,KAAQ7D,EAAazE,UAAUmH,gBAAgB5B,EAAQ6B,GAAO,CACnE,IAAIQ,EAAUnD,EAAaqB,MAAM,CAC7B+B,SAAUxC,EAAkByC,KAC7BvC,EAAOgC,iBAAiBe,IAAQlC,EAAQf,EAAkByC,KAAOF,EAAQC,SAC5ED,EAAQW,WAAW7C,QAAQgC,GAC3B,GAAItB,IAAU,KAAM,CAChBwB,EAAQY,SAASnI,KAAKkF,EAAQuB,MAI1CrC,EAAazE,UAAUyI,YAAc,SAAUlD,EAAQrF,GACnD,IAAIwI,EAAsBC,OAAOC,oBAAoBrD,EAAOsD,aAAcC,EAAU,IAAIrH,eAAkBH,EAASiE,EAAOwD,cAAexH,EAAMgE,EAAOyD,OAAQC,EAAc1D,EAAO2D,OAAQC,EAAuBC,mBAAmB7D,EAAO8D,aAAe,IAAMD,mBAAmBH,GACpR,GAAI3H,EAAO8E,MAAM,UAAW,CACxB,GAAI7E,EAAI+H,QAAQ,QAAU,EAAG,CACzB/H,GAAO,IAAM4H,MAEZ,CACD5H,GAAO,IAAM4H,GAGrBL,EAAQ/G,KAAKT,EAAQC,EAAK,MAC1B,IAAK,IAAIxB,EAAI2I,EAAoBvD,OAAS,EAAGpF,GAAK,EAAGA,IAAK,CACtD+I,EAAQS,iBAAiBb,EAAoB3I,GAAIwF,EAAOsD,YAAYH,EAAoB3I,KAE5F+I,EAAQU,mBAAqB,WACzB,GAAIV,EAAQ3H,YAAc,GAAK2H,EAAQ7G,QAAU,IAAK,CAClDsD,EAAOkE,OAAOR,GAAeH,EAAQ5G,SACrChC,EAAS4I,EAAQ5G,YAGzB,OAAO4G,GAEXrE,EAAazE,UAAU0J,KAAO,SAAUnE,EAAQuD,EAASa,GACrD,GAAIA,SAAiB,EAAG,CAAEA,EAAU,KACpC,GAAIpE,EAAOqE,WAAY,CACnB9K,OAAO+K,aAAatE,EAAOqE,YAE/B,GAAID,IAAY,KAAM,CAClBpE,EAAOqE,WAAa9K,OAAOgL,WAAWrF,EAAazE,UAAU0J,KAAKtI,KAAK,KAAMmE,EAAQuD,EAAS,OAAQvD,EAAOwE,WAE5G,CACD,GAAIxE,EAAOyE,QAAS,CAChBzE,EAAOyE,QAAQC,QAEnB1E,EAAOyE,QAAUlB,EACjBvD,EAAOyE,QAAQxH,KAAK+C,EAAO8D,YAAc,IAAM9D,EAAO2D,UAG9DzE,EAAazE,UAAUkK,MAAQ,SAAU3E,EAAQrF,GAC7C,IAAIgC,EAAWqD,EAAO4E,OAAO5E,EAAO2D,QACpC,GAAIhH,IAAauF,UAAW,CACxB,IAAIqB,EAAUrE,EAAazE,UAAUyI,YAAYlD,EAAQrF,GACzDuE,EAAazE,UAAU0J,KAAKnE,EAAQuD,OAEnC,CACD5I,EAASgC,KAGjBuC,EAAazE,UAAU0G,QAAU,SAAUnB,GACvC,IAAK,IAAIuB,KAASvB,EAAOgB,WAAY,CACjChB,EAAOW,MAAMkE,oBAAoBtD,EAAOvB,EAAOgB,WAAWO,IAE9DvB,EAAOS,WAAWpG,WAAWyK,YAAY9E,EAAOS,aAEpD,OAAOvB,EAhJQ,GAkJnBA,EAAaqB,MAAQ,WACjB,IAAIA,EAAQ,GAAIwE,EAChB,IAAK,IAAIvK,EAAI,EAAGA,EAAIwK,UAAUpF,OAAQpF,IAAK,CACvC,IAAKuK,KAAOC,UAAUxK,GAAI,CACtB+F,EAAMwE,GAAOC,UAAUxK,GAAGuK,IAGlC,OAAOxE,GAEXrB,EAAasB,SAAW,CACpBgE,MAAO,IACPS,aAAc,iBACdC,UAAW,CACPC,SAAU,SAAUC,GAChB,OAAO,IAAIC,OAAOD,EAAO,OAE7BE,UAAW,SAAUF,GACjB,MAAO,WAAaA,EAAQ,cAGpC9B,YAAa,CACTiC,eAAgB,qCAEpBC,MAAO,EACPC,SAAU,EACVC,WAAY,MACZC,SAAU,IACVC,IAAK,KACL5D,iBAAkB,CACd6D,MAAS,CACL7C,WAAY,CAAC,CACLL,GAAI,GACJF,IAAK,QAEbQ,SAAU,SAAU1B,GAChB,GAAIpH,KAAKsG,WAAWK,aAAa,SAASiD,QAAQ,UAAY,EAAG,CAC7D,IAAI+B,EAAW3L,KAAKsG,WAAWsF,cAAc,aAC7C,GAAID,IAAa,KAAM,CACnBvE,EAAMyE,iBACN7L,KAAK8L,QAAQH,GACb3L,KAAKsG,WAAW7C,aAAa,QAAS,mBAIlD0E,SAAUxC,EAAkByC,IAC5BN,MAAOlC,EAAU2B,SAErBwE,kBAAqB,CACjBlD,WAAY,CAAC,CACLL,GAAI,GACJF,IAAK,OAET,CACIE,GAAI,GACJF,IAAK,QAEbQ,SAAU,SAAU1B,GAChBA,EAAMyE,kBAEV1D,SAAUxC,EAAkB0C,GAC5BP,MAAOlC,EAAU2B,SAErByE,gBAAmB,CACfnD,WAAY,CAAC,CACLL,GAAI,GACJF,IAAK,OAET,CACIE,GAAI,GACJF,IAAK,QAEbQ,SAAU,SAAU1B,GAChBA,EAAMyE,iBACN,IAAII,EAAQjM,KAAKsG,WAAWsF,cAAc,+BAAgCM,EAAOlM,KAAKsG,WAAWsF,cAAc,8BAA+BO,EAASnM,KAAKsG,WAAWsF,cAAc,aACrL,GAAIO,EAAQ,CACR,IAAIC,EAAetG,MAAMxF,UAAUsJ,QAAQjJ,KAAKwL,EAAOjM,WAAWmM,SAAUF,GAAS3E,EAAW4E,GAAgBhF,EAAMqB,QAAU,IAAK6D,EAAWtM,KAAKsG,WAAWiG,qBAAqB,MAAM9G,OAC3L,GAAI+B,EAAW,EAAG,CACdA,EAAW8E,EAAW,OAErB,GAAI9E,GAAY8E,EAAU,CAC3B9E,EAAW,EAEf2E,EAAO9H,UAAUmI,OAAO,UACxBL,EAAO5K,cAAc8K,SAASI,KAAKjF,GAAUnD,UAAUC,IAAI,eAE1D,GAAI4H,GAAQ9E,EAAMqB,SAAW,GAAI,CAClCyD,EAAK7H,UAAUC,IAAI,eAElB,GAAI2H,EAAO,CACZA,EAAM5H,UAAUC,IAAI,YAG5B6D,SAAUxC,EAAkB0C,GAC5BP,MAAOlC,EAAUyB,OAErBqF,SAAY,CACR7D,WAAY,CAAC,CACLL,GAAI,GACJF,IAAK,MACN,CACCI,KAAM,GACNC,GAAI,GACJL,IAAK,OAEbQ,SAAU,WACN,IAAI6D,EAAW3M,KAAKwG,MAAMG,aAAa,+BAAgCiG,EAAe5M,KAAKwJ,OAC3F,GAAIoD,IAAiB,IAAMA,EAAanH,QAAUzF,KAAK6M,YAAa,CAChE,IAAKF,GAAYC,GAAgBD,EAAU,CACvC3M,KAAKsG,WAAW7C,aAAa,QAAS,qBAE1CsB,EAAazE,UAAUkK,MAAMxK,KAAM,SAAUwC,GACzCxC,KAAK8M,QAAQ9M,KAAK+M,MAAMvK,IACxBxC,KAAKgN,SACPtL,KAAK1B,SAGfmI,SAAUxC,EAAkByC,IAC5BN,MAAOlC,EAAUyB,QAGzBf,WAAY,KACZgE,QAAS,KACT9D,MAAO,KAIPyG,cAAe,WACX,IAAIC,EAAe,GACnB,GAAIlN,KAAKwG,MAAM3C,aAAa,mCAAoC,CAC5DqJ,EAAelN,KAAKwG,MAAMG,aAAa,wCAEtC,GAAI3G,KAAK8K,eAAiB,MAAO,CAClCoC,EAAelN,KAAK8K,iBAEnB,CACDoC,EAAe,GAEnB,OAAOA,GAKXC,OAAQ,WACJ,IAAIC,EAAQpN,KAAKwG,MAAMG,aAAa,2BACpC,GAAI0G,MAAMD,IAAUA,IAAU,KAAM,CAChC,OAAOpN,KAAKqL,MAEhB,OAAOiC,SAASF,EAAO,KAK3BP,UAAW,WACP,IAAIU,EAAWvN,KAAKwG,MAAMG,aAAa,8BACvC,GAAI0G,MAAME,IAAaA,IAAa,KAAM,CACtC,OAAOvN,KAAKsL,SAEhB,OAAOgC,SAASC,EAAU,KAK9BC,WAAY,SAAUC,GAClB,OAAOA,EAAMpK,QAAQrD,KAAK+K,UAAUC,SAAShL,KAAKwJ,QAASxJ,KAAK+K,UAAUI,YAK9E9B,YAAa,WACT,GAAIrJ,KAAKwG,MAAM3C,aAAa,4BAA6B,CACrD,OAAO7D,KAAKwG,MAAMG,aAAa,4BAEnC,OAAO3G,KAAKuL,YAKhB5B,UAAW,WACP,GAAI3J,KAAKwG,MAAM3C,aAAa,gCAAiC,CACzD,OAAO7D,KAAKwG,MAAMG,aAAa,gCAEnC,OAAO3G,KAAKwL,UAKhBlC,KAAM,WACF,GAAItJ,KAAKwG,MAAM3C,aAAa,qBAAsB,CAC9C,OAAO7D,KAAKwG,MAAMG,aAAa,qBAEnC,OAAO3G,KAAKyL,KAKhB1E,MAAO,SAAU2G,GACb,GAAIA,IAAQ,KAAM,CACd1N,KAAKsG,WAAW7C,aAAa,QAAS,gBACtCzD,KAAKwG,MAAM/C,aAAa,8BAA+BzD,KAAKwG,MAAMyE,WAEjE,CACD,IAAIpF,EAAS7F,KACboK,WAAW,WACPvE,EAAOkB,MAAM,OACd,OAMX0D,OAAQ,SAAUQ,GACd,OAAOjL,KAAK+J,OAAOkB,IAKvB/D,OAAQ,WACJ,IAAIyF,EAAW3M,KAAKwG,MAAMG,aAAa,+BACvC,KAAMgG,GAAY3M,KAAKwG,MAAMyE,OAAS0B,IAAa3M,KAAK6M,aAAe7M,KAAKwG,MAAMyE,MAAMxF,OAAQ,CAC5FzF,KAAKsG,WAAW7C,aAAa,QAAS,uBAM9CuJ,MAAO,WACH,IAAInH,EAAS7F,KACb8F,MAAMxF,UAAU0F,QAAQrF,KAAKX,KAAKsG,WAAWiG,qBAAqB,MAAO,SAAUoB,GAC/E,GAAIA,EAAGhH,aAAa,UAAY,SAAU,CACxCgH,EAAGC,QAAU,SAAUxG,GACjBvB,EAAOiG,QAAQ6B,IAEnBA,EAAGE,aAAe,WACd,IAAI1B,EAAStG,EAAOS,WAAWsF,cAAc,aAC7C,GAAIO,IAAWwB,EAAI,CACf,GAAIxB,IAAW,KAAM,CACjBA,EAAO9H,UAAUmI,OAAO,UAE5BmB,EAAGtJ,UAAUC,IAAI,gBASrCsC,UAAW,WACP5G,KAAKsG,WAAW7C,aAAa,QAAS,gBACtCzD,KAAKsG,WAAW7C,aAAa,QAAS,QAAUzD,KAAKwG,MAAMsH,UAAY9N,KAAKwG,MAAMuH,cAAgB,WAAa/N,KAAKwG,MAAMwH,WAAa,YAAchO,KAAKwG,MAAMyH,YAAc,QAKlLnB,QAAS,SAAUtK,GACf,IAAI0L,EACJ,UAAW1L,GAAY,SAAU,CAC7B0L,EAAKlO,KAAKmO,WAAW3L,OAEpB,CACD0L,EAAKlO,KAAKoO,qBAAqB5L,GAEnC,GAAIxC,KAAKsG,WAAW+H,gBAAiB,CACjCrO,KAAKsG,WAAWqE,YAAY3K,KAAKsG,WAAWgI,WAAW,IAE3DtO,KAAKsG,WAAW3C,YAAYuK,IAKhCE,qBAAsB,SAAU5L,GAC5B,IAAI0L,EAAK/N,SAASqD,cAAc,MAAOmK,EAAKxN,SAASqD,cAAc,MAAO4J,EAAQpN,KAAKmN,SAEvF,GAAIC,EAAQ,EAAG,CACX5K,EAAWA,EAAS+L,eAEnB,GAAInB,IAAU,EAAG,CAClBA,EAAQ5K,EAASiD,OAErB,IAAK,IAAIgH,EAAO,EAAGA,EAAO+B,KAAKC,IAAID,KAAKE,IAAItB,GAAQ5K,EAASiD,QAASgH,IAAQ,CAC1EkB,EAAGgB,UAAYnM,EAASiK,GAAMmC,MAC9BjB,EAAGlK,aAAa,0BAA2BjB,EAASiK,GAAMoC,OAC1DX,EAAGvK,YAAYgK,GACfA,EAAKxN,SAASqD,cAAc,MAEhC,OAAO0K,GAKXC,WAAY,SAAU3L,GAClB,IAAI0L,EAAK/N,SAASqD,cAAc,MAAOmK,EAAKxN,SAASqD,cAAc,MACnE,GAAIhB,EAASiD,OAAS,EAAG,CACrBzF,KAAKsG,WAAWqI,UAAYnM,MAE3B,CACD,IAAI0K,EAAelN,KAAKiN,gBACxB,GAAIC,IAAiB,GAAI,CACrBS,EAAGgB,UAAYzB,EACfS,EAAGlK,aAAa,QAAS,UACzByK,EAAGvK,YAAYgK,IAGvB,OAAOO,GAKXnB,MAAO,SAAUvK,GACb,IACI,IAAIsM,EAAiB,GAErB,IAAIC,EAAOC,KAAKC,MAAMzM,GACtB,GAAIyG,OAAOiG,KAAKH,GAAMtJ,SAAW,EAAG,CAChC,MAAO,GAEX,GAAIK,MAAMC,QAAQgJ,GAAO,CACrB,IAAK,IAAI1O,EAAI,EAAGA,EAAI4I,OAAOiG,KAAKH,GAAMtJ,OAAQpF,IAAK,CAC/CyO,EAAeA,EAAerJ,QAAU,CAAEoJ,MAASE,EAAK1O,GAAIuO,MAAS5O,KAAKwN,WAAWuB,EAAK1O,UAG7F,CACD,IAAK,IAAI4K,KAAS8D,EAAM,CACpBD,EAAeK,KAAK,CAChBN,MAAS5D,EACT2D,MAAS5O,KAAKwN,WAAWuB,EAAK9D,OAI1C,OAAO6D,EAEX,MAAO1H,GAEH,OAAO5E,IAMfgH,KAAM,WACF,OAAOxJ,KAAKwG,MAAMyE,OAKtBa,QAAS,SAAUW,GACtB5L,QAAQC,IAAI,kBACL,GAAI2L,EAAK5I,aAAa,2BAA4B,CAC9C7D,KAAKwG,MAAMyE,MAAQwB,EAAK9F,aAAa,+BAEpC,CACD3G,KAAKwG,MAAMyE,MAAQwB,EAAKkC,UAE5B3O,KAAKwG,MAAM/C,aAAa,8BAA+BzD,KAAKwG,MAAMyE,QAEtEf,WAAY,KACZH,OAAQ,GACRlD,WAAY,IAEhBpC,EAAOD,QAAUO,GAEf,KAAK,GAAG,CAAC,GAthB0W,CAshBtW;;;;;;;;;;;CAYf,SAAUzF,EAAGC,GACX,aAEA,SAAS6P,EAAYC,EAAoBC,EAAkBC,EAAcC,GACvExP,KAAKqP,mBAAqBA,EAC1BrP,KAAKsP,iBAAmBA,EACxBtP,KAAKuP,aAAeA,EACpBvP,KAAKyP,OAAS,GACdzP,KAAKwP,UAAYA,EACjBxP,KAAK0P,cAAgB,KAcvBN,EAAY9O,UAAUqP,WAAa,SAASC,EAAQC,GAClD,IAAI3K,EAAI,EACR4K,EAEAD,GAASD,EAAOnK,OAASzF,KAAKyP,OAC9B,IAAK,IAAIpP,EAAI,EAAGA,EAAIuP,EAAOnK,OAAQpF,IAAK,CACtCyP,EAAMF,EAAOvP,GACb,GAAKyP,EAAIC,aAAe,GAAOD,EAAIE,cAAgB,EAAI,CACrD9K,GAAK4K,EAAIC,aAAeD,EAAIE,kBACvB,CAEL9K,GAAK,GAIT,OAAO2K,EAAQ3K,GAGjBkK,EAAY9O,UAAU2P,SAAW,SAASL,EAAQM,GAChD,IAAIJ,EAAKK,EAAUC,EAAeR,EAAOnK,OACzC,IAAK,IAAIpF,EAAI,EAAGA,EAAI+P,EAAc/P,IAAK,CACrCyP,EAAMF,EAAOvP,GACb,GAAKyP,EAAIC,aAAe,GAAOD,EAAIE,cAAgB,EAAI,CACrDG,EAAWD,EAASJ,EAAIC,aAAeD,EAAIE,kBACtC,CAELG,EAAWD,EAEbJ,EAAIO,MAAMR,MAAQM,EAAW,KAC7BL,EAAIO,MAAMH,OAASA,EAAS,KAC5BJ,EAAIO,MAAMC,WAAa,MACvBR,EAAIO,MAAME,UAAY,MACtBT,EAAIO,MAAMG,YAAcxQ,KAAKyP,OAAS,EAAI,KAC1CK,EAAIO,MAAMI,aAAezQ,KAAKyP,OAAS,EAAI,OAI/CL,EAAY9O,UAAUoQ,WAAa,SAASC,GAC1C,IAAIC,EAAOC,EACXC,EAAiBvR,EAAEqM,cAAc5L,KAAKqP,oBAAoBpB,YAE1D3O,EAAG,MAAOqR,EAASlL,OAAS,EAAG,CAC7B,IAAK,IAAIpF,EAAI,EAAGA,GAAKsQ,EAASlL,OAAQpF,IAAK,CACzCuQ,EAAQD,EAASC,MAAM,EAAGvQ,GAC1BwQ,EAAI7Q,KAAK2P,WAAWiB,EAAOE,GAC3B,GAAID,EAAI7Q,KAAKwP,UAAW,CACtBxP,KAAKiQ,SAASW,EAAOC,GACrBF,EAAWA,EAASC,MAAMvQ,GAC1B,SAASf,GAGbU,KAAKiQ,SAASW,EAAOpC,KAAKC,IAAIzO,KAAKwP,UAAWqB,IAC9C,QAIJzB,EAAY9O,UAAUyQ,MAAQ,SAASzB,GACrC,IAAI0B,EAAuBzR,EAAEa,iBAAiBJ,KAAKsP,kBACnD2B,EAAiBD,EAAqBvL,OACtCyL,EAAW,KACXC,EAAU,KACVR,EAAW,GACX,IAAK,IAAItQ,EAAI,EAAGA,EAAI4Q,EAAgB5Q,IAAK,CACvC8Q,EAAUH,EAAqB3Q,GAC/B,GAAI8Q,EAAQC,yBAA2BF,GAAYP,EAASlL,OAAS,EAAG,CAItEzF,KAAK0Q,WAAWC,GAEhBA,EAAW,GAGbA,EAASxB,KAAKgC,EAAQvF,cAAc5L,KAAKuP,eAEzC2B,EAAWC,EAGb,GAAIR,EAASlL,OAAS,EAAG,CACvBzF,KAAK0Q,WAAWC,KAIpBvB,EAAY9O,UAAU+Q,MAAQ,WAC5B,IAAIhR,EAAGyP,EAAKa,EAAUW,EACtBtQ,EAAMhB,KACNuR,EAAgBhS,EAAEa,iBAAiBJ,KAAKsP,kBACxC2B,EAAiBM,EAAc9L,OAE/B,SAASsL,EAAMrQ,GACbM,EAAI+P,QAGN,SAASS,EAAc9Q,GACrB,GAAIM,EAAI0O,cAAe,CACrB1O,EAAI0O,cAAgB,MACpBtF,WAAW,WACTpJ,EAAI+P,QACJ/P,EAAI0O,cAAgB,MACnB,MAIPpQ,EAAE6B,iBAAiB,SAAUqQ,GAC7BlS,EAAE6B,iBAAiB,WAAY4P,GAE/B,IAAK1Q,EAAI,EAAGA,EAAI4Q,EAAgB5Q,IAAK,CACnCyP,EAAMyB,EAAclR,GAAGuL,cAAc5L,KAAKuP,cAC1C,UAAWO,IAAQ,YAAa,CAC9BA,EAAI3O,iBAAiB,OAAQqQ,GAC7B1B,EAAI3O,iBAAiB,QAASqQ,MAKpClS,EAAED,MAAM+P,YAAcA,GA1IxB,CA4IGhQ,OAAQe,UACVd,MAAMmC,MAAM,WAEXnC,MAAM0B,GAAG,UAAW,QAAS,WAC3B0Q,EAAgBzR,KAAhByR,CAAsB,QAGxBpS,MAAM0B,GAAG,YAAa,QAAS,SAASL,GACtC,IAAID,EAAKC,EAAEU,OACX,MAAOX,IAAOsH,UAAW,CACvB,GAAItH,EAAG4D,UAAUqN,SAAS,UAAW,CACnC,GAAIjR,EAAGkG,aAAa,uBAAyB,KAAM,CACjD8K,EAAgBhR,EAAhBgR,CAAoB,MAEtB,MAEFhR,EAAKA,EAAGP,aAET,MAEH,IAAIyR,EAAU,CACZC,GAAI,CACFhK,IAAK,SACLiK,IAAKC,EACLC,IAAK,sCACLC,IAAK,WAEPC,GAAI,CACFrK,IAAK,IACLiK,IAAKK,EACLH,IAAK,4BACLC,IAAK,WAEPG,GAAI,CACFvK,IAAK,IACLiK,IAAKO,GAAYhT,OAAOiT,aACxBN,IAAK,qBACLC,IAAK,cAEPM,GAAI,CACF1K,IAAK,IACLiK,IAAKO,EAAWhT,OAAOiT,aACvBN,IAAK,uBACLC,IAAK,cAEPO,GAAI,CACF3K,IAAK,IACLiK,IAAKO,GAAYhT,OAAOiT,YAAc,GACtCN,IAAK,wBACLC,IAAK,cAEPQ,GAAI,CACF5K,IAAK,IACLiK,IAAKO,EAAWhT,OAAOiT,YAAc,GACrCN,IAAK,0BACLC,IAAK,cAEPS,GAAI,CACF7K,IAAK,IACLiK,IAAKa,GAAcvS,SAASuD,KAAKiP,aAAc,OAC/CZ,IAAK,gCACLC,IAAK,cAEPY,GAAI,CACFhL,IAAK,IACLiK,IAAKa,EAAavS,SAASuD,KAAKiP,aAAc,UAC9CZ,IAAK,mCACLC,IAAK,cAEPa,GAAI,CACFjL,IAAK,IACLiK,IAAKJ,EAAgB,MACrBM,IAAK,gCACLC,IAAK,WAEPc,GAAI,CACFlL,IAAK,IACLiK,IAAKJ,EAAgB,QACrBM,IAAK,4BACLC,IAAK,WAEPe,GAAI,CACFnL,IAAK,IACLiK,IAAKmB,EAAgB,GACrBjB,IAAK,sBACLC,IAAK,WAEPiB,GAAI,CACFrL,IAAK,IACLiK,IAAKmB,EAAgB,GACrBjB,IAAK,kBACLC,IAAK,WAEPkB,GAAI,CACFtL,IAAK,IACLiK,IAAKsB,EAAW,OAChBpB,IAAK,qBACLC,IAAK,WAEPoB,GAAI,CACFxL,IAAK,IACLiK,IAAKsB,EAAW,MAChBpB,IAAK,+BACLC,IAAK,WAEPqB,GAAI,CACFzL,IAAK,IACLiK,IAAKyB,EACLvB,IAAK,8BACLC,IAAK,WAEPuB,GAAI,CACF3L,IAAK,IACLiK,IAAK2B,EACLzB,IAAK,qBACLC,IAAK,UAIT3S,MAAM0B,GAAGZ,SAAU,UAAW,SAASO,GAErC,GAAIiR,EAAQpJ,eAAe7H,EAAE+H,WAAa/H,EAAE+S,UAAY/S,EAAEgT,SAAWhT,EAAEiT,WAAajT,EAAEkT,QAAS,CAC7F,IAAIC,EAAUnT,EAAEU,OAAOyS,QAAQC,cAC/B,GAAIpT,EAAE+H,UAAY,GAAI,CACpB,GAAIoL,IAAY,SAAWA,IAAY,UAAYA,IAAY,WAAY,CACzElC,EAAQjR,EAAE+H,SAASoJ,WAEhB,CACL,GAAInR,EAAEU,SAAWjB,SAASuD,MAAQmQ,IAAY,KAAOA,IAAY,SAAU,CACzEnT,EAAEmL,iBACF8F,EAAQjR,EAAE+H,SAASoJ,WAM3B,SAASJ,EAAgBsC,GACvB,OAAO,SAASC,GACd,IAAI7C,EAAUhR,SAASyL,cAAc,8BACrCqI,EAAiBF,EACjB,GAAI5C,IAAY,KAAM,CAEpBA,EAAUhR,SAASyL,cAAc,WACjC,GAAIuF,IAAY,KAAM,CAEpB,OAGF,GAAI4C,IAAU,QAAUA,IAAU,KAAM,CACtCE,EAAiB9C,GAIrB,IAAI+C,EAAMC,EAAUhU,SAASC,iBAAiB,WAE9C,UAAW6T,IAAmB,SAAU,CACtCC,EAAOD,MACF,CACL,OAAQA,GACN,IAAK,UACL,IAAIG,EAAMjU,SAASkU,gBAAgBC,WAAanU,SAASuD,KAAK4Q,UAC9D,IAAIC,EAAMH,EAAMjU,SAASkU,gBAAgBG,aAEzC,IAAK,IAAInU,EAAI,EAAGA,EAAI8T,EAAQ1O,OAAQpF,IAAK,CACvC6T,EAAOC,EAAQ9T,GACf,IAAIoU,EAAOP,EAAKpG,UAChB,IAAI4G,EAAOD,EAAOP,EAAKM,aAEvB,GAAKE,GAAQH,GAASE,EAAOL,EAAM,CACjC,OAGJ,MACA,IAAK,OACLF,EAAO/C,EAAQwD,mBACf,GAAIT,IAAS,KAAM,CACjBA,EAAOC,EAAQ,GAEjB,MACA,IAAK,KACLD,EAAO/C,EAAQC,uBACf,GAAI8C,IAAS,KAAM,CACjBA,EAAOC,EAAQA,EAAQ1O,OAAS,GAElC,MACA,IAAK,SACLyO,EAAOC,EAAQA,EAAQ1O,OAAS,GAChC,MACA,IAAK,MAEL,QACAyO,EAAOC,EAAQ,IAInB,GAAID,EAAM,CACR/C,EAAQyD,gBAAgB,qBACxBV,EAAKzQ,aAAa,oBAAqB,QACvC,IAAIoR,EAAOX,EAAKtI,cAAc,SAAWsI,EAAKtI,cAAc,KAC5D,GAAIiJ,IAAS,KAAM,CACjBA,EAAK5N,QAEP,IAAK+M,EAAU,CACbc,OAMR,SAASxB,IACPnT,SAAS4U,SAASC,OAAO,MAG3B,SAASlD,IACP,GAAI3R,SAAS8U,cAAe,CAC1B9U,SAAS8U,cAAcnO,QAI3B,SAASkM,EAAgBkC,GACvB,OAAO,WACL,IAAIC,EAAUC,EAAE,wCAChB,GAAID,EAAQ1P,SAAW,EAAG,CACxB5E,QAAQC,IAAI,oDACZ,OAEF,GAAIoU,GAAO,GAAKA,EAAMC,EAAQ1P,OAAQ,CACpC0P,EAAQD,GAAKG,YACR,CACLxU,QAAQC,IAAI,yCAKlB,SAASgU,IACP,IAAIQ,EAAMnV,SAASyL,cAAc,8BACjC,GAAI0J,IAAQ,KAAM,CAChB,OAEF,IAAIC,EAAOpV,SAASkU,gBAAgBC,WAAanU,SAASuD,KAAK4Q,UAC/DkB,EAAUrV,SAASkU,gBAAgBG,aACnCC,EAAOa,EAAIxH,UACX4G,EAAOD,EAAOa,EAAId,aAClBiB,EAAS,IAET,GAAKH,EAAIlE,yBAA2B,MAAUsD,EAAOc,EAAU,CAG7DpW,OAAOsW,OAAOtW,OAAOuW,QAAS,GAC9B,OAEF,GAAIJ,EAAQd,EAAOgB,EAAS,CAC1BrW,OAAOsW,OAAOtW,OAAOuW,QAASlB,EAAOgB,OAChC,CACL,IAAIG,EAAOL,EAAOC,EAClB,GAAII,EAAQlB,EAAOe,EAAS,CAC1BrW,OAAOsW,OAAOtW,OAAOuW,QAASjB,EAAOc,EAAUC,KAKrD,SAASrD,EAAWyD,GAClB,OAAO,WACLzW,OAAO0W,SAAS,EAAGD,GACnBpE,EAAgB,UAAhBA,IAIJ,SAASiB,EAAalL,EAAUuO,GAC9B,OAAO,WACL3W,OAAO4W,SAAS,EAAGxO,GACnBiK,EAAgBsE,EAAhBtE,IAIJ,SAASS,IACP9S,OAAO4W,SAAS,EAAG,GACnB7V,SAASyL,cAAc,MAAM3E,QAG/B,SAASkM,EAAW8C,GAClB,OAAO,WACL,IAAIpB,EAAO1U,SAASyL,cAAc,mCAClC,GAAIiJ,IAAS,KAAM,CACjB,IAAIhT,EAAMgT,EAAKlO,aAAa,QAC5B,GAAIsP,EAAQ,CACV7W,OAAOiD,KAAKR,OACP,CACLzC,OAAO2V,SAASmB,KAAOrU,KAM/B,SAASsU,EAAgBC,GACvB,IAAIC,EAAa,GAEjB,IAAK,IAAIC,KAAK3E,EAAS,CACrB,IAAI/J,EAAM+J,EAAQ2E,GAClBD,EAAWzO,EAAIoK,KAAOqE,EAAWzO,EAAIoK,MAAQ,GAC7CqE,EAAWzO,EAAIoK,KAAK7C,KAAKvH,GAG3B,IAAI2O,EAAStN,OAAOiG,KAAKmH,GAAYG,KAAK,SAASnR,EAAGoR,GACpD,OAAOJ,EAAWI,GAAGhR,OAAS4Q,EAAWhR,GAAGI,SAG9C,GAAI8Q,EAAO9Q,SAAW,EAAG,CACvB,OAGH,IAAIiR,EAAO,mEACVA,GAAQ,uDACVA,GAAQ,UAEN,IAAK,IAAIrW,EAAI,EAAGA,EAAIkW,EAAO9Q,OAAQpF,IAAK,CACtC,IAAI2R,EAAMqE,EAAWE,EAAOlW,IAE5B,IAAIsW,EAAetW,IAAOkW,EAAO9Q,OAAS,EAC1C,IAAIwG,EAAQ5L,EAAI,IAAM,EAEtB,GAAI4L,EAAO,CACTyK,GAAQ,OAEVA,GAAQ,OAERA,GAAQ,OAAS1E,EAAI,GAAGA,IAAM,QAC9B0E,GAAQ,6BAER,IAAK,IAAIE,KAAM5E,EAAK,CAClB0E,GAAQ,YAAc1E,EAAI4E,GAAIhP,IAAM,UAAYoK,EAAI4E,GAAI7E,IAAM,QAGhE2E,GAAQ,QACRA,GAAQ,QAER,IAAKzK,GAAS0K,EAAc,CAC1BD,GAAQ,SAIdA,GAAQ,WAENN,EAAWzH,UAAY+H,EAGzB,SAASlD,IACR,IAAIqD,EAAY1W,SAASyL,cAAc,qBACvC/K,QAAQC,IAAI+V,GACb,GAAIA,IAAc9O,WAAa8O,IAAc,KAAM,CAElDA,EAAY1W,SAASqD,cAAc,OAChCqT,EAAUzT,GAAK,mBACjByT,EAAUC,UAAU,eACpBD,EAAUxG,MAAM,aACjB8F,EAAgBU,GAChB,IAAInT,EAAOvD,SAASoM,qBAAqB,QAAQ,GACjD7I,EAAKC,YAAYkT,OACX,CAENA,EAAUxS,UAAU0S,OAAO,aAC3B,YAuBH,SAAWzX,EAAGC,EAAGF,GACf,aAEAA,EAAMmC,MAAM,WACVnC,EAAM0B,GAAG,0BAA2B,QAAS,SAASqG,GAEpDpH,KAAKqE,UAAUmI,OAAO,0BAGtB,IAAIwK,EAAe,gDACnB,IAAIC,EAAcD,EAAe,2BACjC,IAAIE,EAAY,cAEhB,IAAIC,EAASnX,KAAKoX,QAAQC,MAC1B,IAAIC,EAAWtX,KAAKoX,QAAQG,QAC5B,IAAIC,EAAejY,EAAEqM,cAAc,IAAM5L,KAAKoX,QAAQK,aACtD,IAAIC,EAAwBnY,EAAEqM,cAAc,IAAM5L,KAAKoX,QAAQO,qBAG/D,IAAIC,EAAkB,CAAE,YAAa,eAAgB,mBAAoB,gBAAiB,eAE1F,GAAGT,GAAUG,GAAYE,EAAc,CACrC,IAAIK,EAAQ,KACZ,OAAOP,GACL,IAAK,OACLO,EAAQZ,EAAc,QAAUE,EAAS,KAAOD,EAChD,MACA,IAAK,MACLW,EAAQZ,EAAc,OAASE,EAAS,KAAOD,EAC/C,MACA,IAAK,WACLW,EAAQZ,EAAc,YAAcE,EAAS,KAAOD,EACpD,MACA,QACA,MAEF,GAAGW,EAAO,CAERxY,EAAMsC,KAAM,MAAOkW,GAAQ1V,KAAK,SAASuU,EAAMoB,GAC7CpB,EAAO1H,KAAKC,MAAMyH,GAClB,GAAGA,GAAQA,EAAKzQ,UAAYyQ,EAAKzQ,SAAS,GAAI,CAC5C,IAAI/B,EAAUwS,EAAKzQ,SAAS,GAC5B,IAAI8R,EAAU,GACd,IAAK,IAAIC,KAAO9T,EAAQ+T,KAAM,CAC5B,GAAG/T,EAAQ+T,KAAKrP,OAAS,MAAQgP,EAAgBhO,QAAQoO,KAAS,EAAG,CACnED,GAAW,WAAaC,EAAM,YAC9B,OAAOA,GACL,IAAK,QACL,IAAK,MACLD,GAAW,gBAAmB7T,EAAQ+T,KAAKD,GAAK3U,QAAQ,KAAK,IAAM,KAAQa,EAAQ+T,KAAKD,GAAO,OAC/F,MACA,IAAK,QACLD,GAAW,mBAAsB7T,EAAQ+T,KAAKD,GAAO,KAAQ9T,EAAQ+T,KAAKD,GAAO,OACjF,MACA,IAAK,UACL,IAAK,MACLD,GAAW,YAAe7T,EAAQ+T,KAAKD,GAAO,KAAQ9T,EAAQ+T,KAAKD,GAAO,OAC1E,MACA,IAAK,WACLD,GAAW,0CAA6C7T,EAAQ+T,KAAKD,GAAO,KAAQ9T,EAAQ+T,KAAKD,GAAO,OACxG,MACA,IAAK,YACL,GAAG9T,EAAQ+T,KAAKD,GAAKpO,QAAQ,OAAS,EAAG,CACvCmO,GAAW,oBAAuB7T,EAAQ+T,KAAKD,GAAKE,UAAU,EAAEhU,EAAQ+T,KAAKD,GAAKpO,QAAQ,MAAQ,uBAAyB1F,EAAQ+T,KAAKD,GAAKE,UAAUhU,EAAQ+T,KAAKD,GAAKpO,QAAQ,KAAK,GAAK,KAAQ1F,EAAQ+T,KAAKD,GAAO,OACvN,MAGF,QAEAD,GAAW7T,EAAQ+T,KAAKD,GACxB,MAEFD,GAAW,cAGtBL,EAAsBxX,WAAWyK,YAAY+M,GACtCF,EAAanT,UAAUmI,OAAO,aAC9BgL,EAAa5L,cAAc,SAAS+C,UAAYoJ,KAGnD3V,MAAM,WACLsV,EAAsBrT,UAAUmI,OAAO,aACvCkL,EAAsB/I,UAAY,0BAMxCvH,EAAMyE,mBAGRxM,EAAM0B,GAAG,kBAAmB,QAAS,SAASqG,GAE5CpH,KAAKqE,UAAUmI,OAAO,kBAGtB,IAAI2L,EAAiBnY,KAAKoX,QAAQgB,cAClC,IAAIC,EAAUC,WAAWtY,KAAKoX,QAAQmB,QACtC,IAAIC,EAAUF,WAAWtY,KAAKoX,QAAQqB,QACtC,IAAIC,EAAWJ,WAAWtY,KAAKoX,QAAQuB,SACvC,IAAIC,EAAkB5J,KAAKC,MAAMjP,KAAKoX,QAAQyB,gBAC9C,IAAIC,EAAc9J,KAAKC,MAAMjP,KAAKoX,QAAQ2B,YAE1C1Z,EAAM2D,UAAU,uBAChB3D,EAAMuE,WAAW,qBAAsB,WACrC,IAAIoV,EAAa,KACjB,GAAGJ,EAAiB,CAClB,IAAIK,EAAYC,EAAEC,OAAOP,EAAgB,GAAIA,EAAgB,IAC7D,IAAIQ,EAAYF,EAAEC,OAAOP,EAAgB,GAAIA,EAAgB,IAC7DI,EAAaE,EAAEG,aAAaJ,EAAWG,GAIzC,IAAIE,EAAMJ,EAAEI,IAAInB,GAEhB,IAAIoB,EAAa,qDACjB,IAAIC,EAAgB,gFACpB,IAAIC,EAAY,IAAIP,EAAEQ,UAAUH,EAAc,CAACI,QAAS,EAAGC,QAAS,GAAIC,YAAaL,IACrF,IAAIM,EAAgB,sDACpB,IAAIC,EAAqB,uGACzB,IAAIC,EAAe,IAAId,EAAEQ,UAAUI,EAAiB,CAACH,QAAS,EAAGC,QAAS,GAAIC,YAAaE,IAE3F,GAAGf,EAAY,CAGb5O,WAAW,WACTkP,EAAIW,UAAUjB,EAAY,CACxBY,QAAQ,MAET,QACE,GAAIvB,GAAWG,EAAS,CAC7B,GAAGE,EAAU,CACXY,EAAIY,QAAQ,IAAIhB,EAAEC,OAAOX,EAASH,GAASK,OACtC,CACLY,EAAIY,QAAQ,IAAIhB,EAAEC,OAAOX,EAASH,GAAS,IAI/CiB,EAAIa,SAASV,GAEb,IAAIW,EAAa,CACfC,aAAcZ,GAIhBP,EAAEoB,QAAQC,OAAOH,GAAYI,MAAMlB,GAEnC,GAAGR,EAAa,CACdI,EAAEuB,QAAQ3B,GAAa0B,MAAMlB,MAOjClS,EAAMyE,sBA3JZ,CA8JGzM,OAAQe,SAAUf,OAAOC,QAiB5B,SAAUC,EAAGC,EAAGF,GACd,aAEAA,EAAMmC,MAAM,WACVnC,EAAMqb,uBAAyB,IAAIrb,EAAM+P,YAAY,QAAS,uBAAwB,sBAAuB,KAC7G/P,EAAMqb,uBAAuBrJ,QAE7BhS,EAAM0B,GAAG,gBAAiB,QAAS,SAASqG,GAC1C,IAAIuT,EAAoB3a,KAAK2G,aAAa,2BAC1C,IAAIiU,EAAuB5a,KAAK2G,aAAa,+BAC7C,IAAIvF,EAASpB,KAAK2G,aAAa,eAC/B,IAAIkU,EAAgBtb,EAAEqM,cAAcxK,GACpC,IAAIsV,EAAO1W,KAAK2O,UAChB,GAAI3O,KAAKqE,UAAUqN,SAAS,aAAc,CACxCgF,EAAOA,EAAKrT,QAAQsX,EAAmBC,OAClC,CACLlE,EAAOA,EAAKrT,QAAQuX,EAAsBD,GAE5C3a,KAAK2O,UAAY+H,EACjB1W,KAAKqE,UAAU0S,OAAO,aACtB8D,EAAcxW,UAAU0S,OAAO,eAGjC1X,EAAM0B,GAAG,gBAAiB,QAAS,SAASqG,GAC1C,IAAIhG,EAASpB,KAAK2G,aAAa,eAC/B,IAAImU,EAAcvb,EAAEqM,cAAcxK,EAAS,aAC3C,IAAI2Z,EAAUD,EAAYnU,aAAa,OACvC,GAAIoU,IAAY,MAAQA,IAAYhT,WAAagT,IAAY,MAAO,CAClED,EAAYrX,aAAa,MAAOqX,EAAYnU,aAAa,gBAI7DrH,EAAE6B,iBAAiB,SAAU,WAC3B,IAAIT,EAAInB,EAAEgE,eAAe,aACzB+Q,EAAYnU,SAASkU,gBAAgBC,WAAanU,SAASuD,KAAK4Q,UAChE,GAAI5T,IAAM,KAAM,CACd,GAAI4T,GAAa,IAAK,CACpB5T,EAAE2P,MAAM2K,QAAU,MACb,CACLta,EAAE2P,MAAM2K,QAAU,SAvC5B,CA8CG5b,OAAQe,SAAUf,OAAOC,QAiB5B,SAAUC,EAAGC,EAAGF,GACd,aAEA,IAAI4b,EAAa,KAAMC,EAAY,IAAKC,EAExC,SAASC,EAAiBlX,GACxB,GAAIA,EAAQmX,kBAAmB,CAC7B,IAAIC,EAAMpX,EAAQ+G,MAAMxF,OACxBvB,EAAQmX,kBAAkBC,EAAKA,IAInC,SAASC,IACP,GAAIJ,EAAOlQ,MAAMxF,OAAU,EAAG,CAC5B,IAAI+V,EAASrb,SAASoD,eAAe,UACrC6G,WAAWoR,EAAOC,OAAO/Z,KAAK8Z,GAAS,IAI3C,SAASE,EAAkBP,GACzB,IAAIQ,EAAKxb,SAASoD,eAAe,gBACjC,IAAIqY,EAAoB,WACtB,GAAIT,EAAOlQ,MAAMxF,SAAW,EAAG,CACpCkW,EAAGtX,UAAUC,IAAI,aACL,CACZqX,EAAGtX,UAAUmI,OAAO,WAKjBoP,IACAD,EAAGxa,iBAAiB,QAAS,WAC3Bga,EAAOlQ,MAAM,GACbkQ,EAAOlU,QACP2U,MAEFT,EAAOha,iBAAiB,QAASya,EAAmB,OAGtDvc,EAAMmC,MAAM,WACV2Z,EAAS5b,EAAEgE,eAAe2X,GAE1B,SAASW,EAAqBnb,GAC5B,GAAIua,EAAY,CACdG,EAAiBD,GACjBF,EAAa,UACR,GAKT,GAAIE,IAAW,KAAM,CAEnBO,EAAkBP,GAGlB,GAAI9b,EAAMyc,cAAe,CACvBzc,EAAM0c,aAAehX,aAAapE,KAAKrB,EAAG,CACxCmM,IAAK,kBACLX,aAAczL,EAAM2c,cACpBzQ,WAAYlM,EAAMuC,OAClB0J,SAAU,EACVjB,MAAO,KACN,IAAM6Q,GAGT5b,EAAE6B,iBAAiB,SAAU,WAC3B,IAAIiG,EAAQ,IAAI6U,YAAY,YAC5Bd,EAAOe,cAAc9U,KAIzB+T,EAAOha,iBAAiB,QAAS0a,EAAsB,OACvDV,EAAOlU,QAIT,GAAIkU,IAAW,MAAQ9b,EAAM8c,0BAA2B,CACtD5c,EAAEqM,cAAc,SAASkL,UAAU,YAEnCzX,EAAM0B,GAAG,oBAAqB,SAAU,SAASL,GAC/C,IAAIL,EAAGgW,EAAa9W,EAAEa,iBAAiB,sCACvC,IAAIC,EAAE,EAAGA,EAAEgW,EAAW5Q,OAAQpF,IAAK,CACjC,GAAIgW,EAAWhW,KAAOL,MAAQqW,EAAWhW,GAAG+b,QAAS,CACnD/F,EAAWhW,GAAGgV,SAGlB,IAAMrV,KAAKoc,QAAS,CAClBpc,KAAKqV,QAEPkG,IACA,OAAO,QAGTlc,EAAM0B,GAAGxB,EAAEgE,eAAe,cAAe,SAAUgY,GACnDlc,EAAM0B,GAAGxB,EAAEgE,eAAe,YAAa,SAAUgY,OA/FvD,CAoGGnc,OAAQe,SAAUf,OAAOC","file":"searx.min.js"} \ No newline at end of file
diff --git a/searx/static/themes/simple/js/searx_head/00_init.js b/searx/static/themes/simple/js/searx_head/00_init.js
new file mode 100644
index 000000000..3ac61c8ae
--- /dev/null
+++ b/searx/static/themes/simple/js/searx_head/00_init.js
@@ -0,0 +1,40 @@
+/**
+* searx is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Affero General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* searx 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 Affero General Public License for more details.
+*
+* You should have received a copy of the GNU Affero General Public License
+* along with searx. If not, see < http://www.gnu.org/licenses/ >.
+*
+* (C) 2019 by Alexandre Flament
+*
+*/
+(function(w, d) {
+ 'use strict';
+
+ // add data- properties
+ var script = d.currentScript || (function() {
+ var scripts = d.getElementsByTagName('script');
+ return scripts[scripts.length - 1];
+ })();
+
+ // try to detect touch screen
+ w.searx = {
+ touch: (("ontouchstart" in w) || w.DocumentTouch && document instanceof DocumentTouch) || false,
+ method: script.getAttribute('data-method'),
+ autocompleter: script.getAttribute('data-autocompleter') === 'true',
+ search_on_category_select: script.getAttribute('data-search-on-category-select') === 'true',
+ infinite_scroll: script.getAttribute('data-infinite-scroll') === 'true',
+ static_path: script.getAttribute('data-static-path'),
+ no_item_found: script.getAttribute('data-no-item-found')
+ }
+
+ // update the css
+ d.getElementsByTagName("html")[0].className = (w.searx.touch)?"js touch":"js";
+})(window, document); \ No newline at end of file
diff --git a/searx/static/themes/simple/js/searx_src/00_searx_toolkit.js b/searx/static/themes/simple/js/searx_src/00_searx_toolkit.js
index fb524427d..dbef4be73 100644
--- a/searx/static/themes/simple/js/searx_src/00_searx_toolkit.js
+++ b/searx/static/themes/simple/js/searx_src/00_searx_toolkit.js
@@ -15,7 +15,7 @@
* (C) 2017 by Alexandre Flament, <alex@al-f.net>
*
*/
-(function(w, d, searx) {
+window.searx = (function(w, d) {
'use strict';
@@ -45,7 +45,7 @@
}
}
- searx = searx || {};
+ var searx = window.searx || {};
searx.on = function(obj, eventType, callback, useCapture) {
useCapture = useCapture || false;
@@ -110,7 +110,7 @@
};
searx.loadStyle = function(src) {
- var path = searx.staticPath + src,
+ var path = searx.static_path + src,
id = "style_" + src.replace('.', '_'),
s = d.getElementById(id);
if (s === null) {
@@ -124,7 +124,7 @@
};
searx.loadScript = function(src, callback) {
- var path = searx.staticPath + src,
+ var path = searx.static_path + src,
id = "script_" + src.replace('.', '_'),
s = d.getElementById(id);
if (s === null) {
@@ -161,4 +161,4 @@
});
return searx;
-})(window, document, window.searx);
+})(window, document);
diff --git a/searx/static/themes/simple/js/searx_src/searx_search.js b/searx/static/themes/simple/js/searx_src/searx_search.js
index 964be2194..580d98d6a 100644
--- a/searx/static/themes/simple/js/searx_src/searx_search.js
+++ b/searx/static/themes/simple/js/searx_src/searx_search.js
@@ -73,7 +73,7 @@
if (searx.autocompleter) {
searx.autocomplete = AutoComplete.call(w, {
Url: "./autocompleter",
- EmptyMessage: searx.noItemFound,
+ EmptyMessage: searx.no_item_found,
HttpMethod: searx.method,
MinChars: 4,
Delay: 300,
diff --git a/searx/static/themes/simple/leaflet/leaflet.css b/searx/static/themes/simple/leaflet/leaflet.css
index 230e5bad1..d1b47a125 100644
--- a/searx/static/themes/simple/leaflet/leaflet.css
+++ b/searx/static/themes/simple/leaflet/leaflet.css
@@ -1,636 +1,636 @@
-/* required styles */
-
-.leaflet-pane,
-.leaflet-tile,
-.leaflet-marker-icon,
-.leaflet-marker-shadow,
-.leaflet-tile-container,
-.leaflet-pane > svg,
-.leaflet-pane > canvas,
-.leaflet-zoom-box,
-.leaflet-image-layer,
-.leaflet-layer {
- position: absolute;
- left: 0;
- top: 0;
- }
-.leaflet-container {
- overflow: hidden;
- }
-.leaflet-tile,
-.leaflet-marker-icon,
-.leaflet-marker-shadow {
- -webkit-user-select: none;
- -moz-user-select: none;
- user-select: none;
- -webkit-user-drag: none;
- }
-/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
-.leaflet-safari .leaflet-tile {
- image-rendering: -webkit-optimize-contrast;
- }
-/* hack that prevents hw layers "stretching" when loading new tiles */
-.leaflet-safari .leaflet-tile-container {
- width: 1600px;
- height: 1600px;
- -webkit-transform-origin: 0 0;
- }
-.leaflet-marker-icon,
-.leaflet-marker-shadow {
- display: block;
- }
-/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
-/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
-.leaflet-container .leaflet-overlay-pane svg,
-.leaflet-container .leaflet-marker-pane img,
-.leaflet-container .leaflet-shadow-pane img,
-.leaflet-container .leaflet-tile-pane img,
-.leaflet-container img.leaflet-image-layer {
- max-width: none !important;
- max-height: none !important;
- }
-
-.leaflet-container.leaflet-touch-zoom {
- -ms-touch-action: pan-x pan-y;
- touch-action: pan-x pan-y;
- }
-.leaflet-container.leaflet-touch-drag {
- -ms-touch-action: pinch-zoom;
- /* Fallback for FF which doesn't support pinch-zoom */
- touch-action: none;
- touch-action: pinch-zoom;
-}
-.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
- -ms-touch-action: none;
- touch-action: none;
-}
-.leaflet-container {
- -webkit-tap-highlight-color: transparent;
-}
-.leaflet-container a {
- -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
-}
-.leaflet-tile {
- filter: inherit;
- visibility: hidden;
- }
-.leaflet-tile-loaded {
- visibility: inherit;
- }
-.leaflet-zoom-box {
- width: 0;
- height: 0;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- z-index: 800;
- }
-/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
-.leaflet-overlay-pane svg {
- -moz-user-select: none;
- }
-
-.leaflet-pane { z-index: 400; }
-
-.leaflet-tile-pane { z-index: 200; }
-.leaflet-overlay-pane { z-index: 400; }
-.leaflet-shadow-pane { z-index: 500; }
-.leaflet-marker-pane { z-index: 600; }
-.leaflet-tooltip-pane { z-index: 650; }
-.leaflet-popup-pane { z-index: 700; }
-
-.leaflet-map-pane canvas { z-index: 100; }
-.leaflet-map-pane svg { z-index: 200; }
-
-.leaflet-vml-shape {
- width: 1px;
- height: 1px;
- }
-.lvml {
- behavior: url(#default#VML);
- display: inline-block;
- position: absolute;
- }
-
-
-/* control positioning */
-
-.leaflet-control {
- position: relative;
- z-index: 800;
- pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
- pointer-events: auto;
- }
-.leaflet-top,
-.leaflet-bottom {
- position: absolute;
- z-index: 1000;
- pointer-events: none;
- }
-.leaflet-top {
- top: 0;
- }
-.leaflet-right {
- right: 0;
- }
-.leaflet-bottom {
- bottom: 0;
- }
-.leaflet-left {
- left: 0;
- }
-.leaflet-control {
- float: left;
- clear: both;
- }
-.leaflet-right .leaflet-control {
- float: right;
- }
-.leaflet-top .leaflet-control {
- margin-top: 10px;
- }
-.leaflet-bottom .leaflet-control {
- margin-bottom: 10px;
- }
-.leaflet-left .leaflet-control {
- margin-left: 10px;
- }
-.leaflet-right .leaflet-control {
- margin-right: 10px;
- }
-
-
-/* zoom and fade animations */
-
-.leaflet-fade-anim .leaflet-tile {
- will-change: opacity;
- }
-.leaflet-fade-anim .leaflet-popup {
- opacity: 0;
- -webkit-transition: opacity 0.2s linear;
- -moz-transition: opacity 0.2s linear;
- -o-transition: opacity 0.2s linear;
- transition: opacity 0.2s linear;
- }
-.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
- opacity: 1;
- }
-.leaflet-zoom-animated {
- -webkit-transform-origin: 0 0;
- -ms-transform-origin: 0 0;
- transform-origin: 0 0;
- }
-.leaflet-zoom-anim .leaflet-zoom-animated {
- will-change: transform;
- }
-.leaflet-zoom-anim .leaflet-zoom-animated {
- -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
- -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
- -o-transition: -o-transform 0.25s cubic-bezier(0,0,0.25,1);
- transition: transform 0.25s cubic-bezier(0,0,0.25,1);
- }
-.leaflet-zoom-anim .leaflet-tile,
-.leaflet-pan-anim .leaflet-tile {
- -webkit-transition: none;
- -moz-transition: none;
- -o-transition: none;
- transition: none;
- }
-
-.leaflet-zoom-anim .leaflet-zoom-hide {
- visibility: hidden;
- }
-
-
-/* cursors */
-
-.leaflet-interactive {
- cursor: pointer;
- }
-.leaflet-grab {
- cursor: -webkit-grab;
- cursor: -moz-grab;
- }
-.leaflet-crosshair,
-.leaflet-crosshair .leaflet-interactive {
- cursor: crosshair;
- }
-.leaflet-popup-pane,
-.leaflet-control {
- cursor: auto;
- }
-.leaflet-dragging .leaflet-grab,
-.leaflet-dragging .leaflet-grab .leaflet-interactive,
-.leaflet-dragging .leaflet-marker-draggable {
- cursor: move;
- cursor: -webkit-grabbing;
- cursor: -moz-grabbing;
- }
-
-/* marker & overlays interactivity */
-.leaflet-marker-icon,
-.leaflet-marker-shadow,
-.leaflet-image-layer,
-.leaflet-pane > svg path,
-.leaflet-tile-container {
- pointer-events: none;
- }
-
-.leaflet-marker-icon.leaflet-interactive,
-.leaflet-image-layer.leaflet-interactive,
-.leaflet-pane > svg path.leaflet-interactive {
- pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
- pointer-events: auto;
- }
-
-/* visual tweaks */
-
-.leaflet-container {
- background: #ddd;
- outline: 0;
- }
-.leaflet-container a {
- color: #0078A8;
- }
-.leaflet-container a.leaflet-active {
- outline: 2px solid orange;
- }
-.leaflet-zoom-box {
- border: 2px dotted #38f;
- background: rgba(255,255,255,0.5);
- }
-
-
-/* general typography */
-.leaflet-container {
- font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
- }
-
-
-/* general toolbar styles */
-
-.leaflet-bar {
- box-shadow: 0 1px 5px rgba(0,0,0,0.65);
- border-radius: 4px;
- }
-.leaflet-bar a,
-.leaflet-bar a:hover {
- background-color: #fff;
- border-bottom: 1px solid #ccc;
- width: 26px;
- height: 26px;
- line-height: 26px;
- display: block;
- text-align: center;
- text-decoration: none;
- color: black;
- }
-.leaflet-bar a,
-.leaflet-control-layers-toggle {
- background-position: 50% 50%;
- background-repeat: no-repeat;
- display: block;
- }
-.leaflet-bar a:hover {
- background-color: #f4f4f4;
- }
-.leaflet-bar a:first-child {
- border-top-left-radius: 4px;
- border-top-right-radius: 4px;
- }
-.leaflet-bar a:last-child {
- border-bottom-left-radius: 4px;
- border-bottom-right-radius: 4px;
- border-bottom: none;
- }
-.leaflet-bar a.leaflet-disabled {
- cursor: default;
- background-color: #f4f4f4;
- color: #bbb;
- }
-
-.leaflet-touch .leaflet-bar a {
- width: 30px;
- height: 30px;
- line-height: 30px;
- }
-.leaflet-touch .leaflet-bar a:first-child {
- border-top-left-radius: 2px;
- border-top-right-radius: 2px;
- }
-.leaflet-touch .leaflet-bar a:last-child {
- border-bottom-left-radius: 2px;
- border-bottom-right-radius: 2px;
- }
-
-/* zoom control */
-
-.leaflet-control-zoom-in,
-.leaflet-control-zoom-out {
- font: bold 18px 'Lucida Console', Monaco, monospace;
- text-indent: 1px;
- }
-
-.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
- font-size: 22px;
- }
-
-
-/* layers control */
-
-.leaflet-control-layers {
- box-shadow: 0 1px 5px rgba(0,0,0,0.4);
- background: #fff;
- border-radius: 5px;
- }
-.leaflet-control-layers-toggle {
- background-image: url(images/layers.png);
- width: 36px;
- height: 36px;
- }
-.leaflet-retina .leaflet-control-layers-toggle {
- background-image: url(images/layers-2x.png);
- background-size: 26px 26px;
- }
-.leaflet-touch .leaflet-control-layers-toggle {
- width: 44px;
- height: 44px;
- }
-.leaflet-control-layers .leaflet-control-layers-list,
-.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
- display: none;
- }
-.leaflet-control-layers-expanded .leaflet-control-layers-list {
- display: block;
- position: relative;
- }
-.leaflet-control-layers-expanded {
- padding: 6px 10px 6px 6px;
- color: #333;
- background: #fff;
- }
-.leaflet-control-layers-scrollbar {
- overflow-y: scroll;
- overflow-x: hidden;
- padding-right: 5px;
- }
-.leaflet-control-layers-selector {
- margin-top: 2px;
- position: relative;
- top: 1px;
- }
-.leaflet-control-layers label {
- display: block;
- }
-.leaflet-control-layers-separator {
- height: 0;
- border-top: 1px solid #ddd;
- margin: 5px -10px 5px -6px;
- }
-
-/* Default icon URLs */
-.leaflet-default-icon-path {
- background-image: url(images/marker-icon.png);
- }
-
-
-/* attribution and scale controls */
-
-.leaflet-container .leaflet-control-attribution {
- background: #fff;
- background: rgba(255, 255, 255, 0.7);
- margin: 0;
- }
-.leaflet-control-attribution,
-.leaflet-control-scale-line {
- padding: 0 5px;
- color: #333;
- }
-.leaflet-control-attribution a {
- text-decoration: none;
- }
-.leaflet-control-attribution a:hover {
- text-decoration: underline;
- }
-.leaflet-container .leaflet-control-attribution,
-.leaflet-container .leaflet-control-scale {
- font-size: 11px;
- }
-.leaflet-left .leaflet-control-scale {
- margin-left: 5px;
- }
-.leaflet-bottom .leaflet-control-scale {
- margin-bottom: 5px;
- }
-.leaflet-control-scale-line {
- border: 2px solid #777;
- border-top: none;
- line-height: 1.1;
- padding: 2px 5px 1px;
- font-size: 11px;
- white-space: nowrap;
- overflow: hidden;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-
- background: #fff;
- background: rgba(255, 255, 255, 0.5);
- }
-.leaflet-control-scale-line:not(:first-child) {
- border-top: 2px solid #777;
- border-bottom: none;
- margin-top: -2px;
- }
-.leaflet-control-scale-line:not(:first-child):not(:last-child) {
- border-bottom: 2px solid #777;
- }
-
-.leaflet-touch .leaflet-control-attribution,
-.leaflet-touch .leaflet-control-layers,
-.leaflet-touch .leaflet-bar {
- box-shadow: none;
- }
-.leaflet-touch .leaflet-control-layers,
-.leaflet-touch .leaflet-bar {
- border: 2px solid rgba(0,0,0,0.2);
- background-clip: padding-box;
- }
-
-
-/* popup */
-
-.leaflet-popup {
- position: absolute;
- text-align: center;
- margin-bottom: 20px;
- }
-.leaflet-popup-content-wrapper {
- padding: 1px;
- text-align: left;
- border-radius: 12px;
- }
-.leaflet-popup-content {
- margin: 13px 19px;
- line-height: 1.4;
- }
-.leaflet-popup-content p {
- margin: 18px 0;
- }
-.leaflet-popup-tip-container {
- width: 40px;
- height: 20px;
- position: absolute;
- left: 50%;
- margin-left: -20px;
- overflow: hidden;
- pointer-events: none;
- }
-.leaflet-popup-tip {
- width: 17px;
- height: 17px;
- padding: 1px;
-
- margin: -10px auto 0;
-
- -webkit-transform: rotate(45deg);
- -moz-transform: rotate(45deg);
- -ms-transform: rotate(45deg);
- -o-transform: rotate(45deg);
- transform: rotate(45deg);
- }
-.leaflet-popup-content-wrapper,
-.leaflet-popup-tip {
- background: white;
- color: #333;
- box-shadow: 0 3px 14px rgba(0,0,0,0.4);
- }
-.leaflet-container a.leaflet-popup-close-button {
- position: absolute;
- top: 0;
- right: 0;
- padding: 4px 4px 0 0;
- border: none;
- text-align: center;
- width: 18px;
- height: 14px;
- font: 16px/14px Tahoma, Verdana, sans-serif;
- color: #c3c3c3;
- text-decoration: none;
- font-weight: bold;
- background: transparent;
- }
-.leaflet-container a.leaflet-popup-close-button:hover {
- color: #999;
- }
-.leaflet-popup-scrolled {
- overflow: auto;
- border-bottom: 1px solid #ddd;
- border-top: 1px solid #ddd;
- }
-
-.leaflet-oldie .leaflet-popup-content-wrapper {
- zoom: 1;
- }
-.leaflet-oldie .leaflet-popup-tip {
- width: 24px;
- margin: 0 auto;
-
- -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
- filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
- }
-.leaflet-oldie .leaflet-popup-tip-container {
- margin-top: -1px;
- }
-
-.leaflet-oldie .leaflet-control-zoom,
-.leaflet-oldie .leaflet-control-layers,
-.leaflet-oldie .leaflet-popup-content-wrapper,
-.leaflet-oldie .leaflet-popup-tip {
- border: 1px solid #999;
- }
-
-
-/* div icon */
-
-.leaflet-div-icon {
- background: #fff;
- border: 1px solid #666;
- }
-
-
-/* Tooltip */
-/* Base styles for the element that has a tooltip */
-.leaflet-tooltip {
- position: absolute;
- padding: 6px;
- background-color: #fff;
- border: 1px solid #fff;
- border-radius: 3px;
- color: #222;
- white-space: nowrap;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- pointer-events: none;
- box-shadow: 0 1px 3px rgba(0,0,0,0.4);
- }
-.leaflet-tooltip.leaflet-clickable {
- cursor: pointer;
- pointer-events: auto;
- }
-.leaflet-tooltip-top:before,
-.leaflet-tooltip-bottom:before,
-.leaflet-tooltip-left:before,
-.leaflet-tooltip-right:before {
- position: absolute;
- pointer-events: none;
- border: 6px solid transparent;
- background: transparent;
- content: "";
- }
-
-/* Directions */
-
-.leaflet-tooltip-bottom {
- margin-top: 6px;
-}
-.leaflet-tooltip-top {
- margin-top: -6px;
-}
-.leaflet-tooltip-bottom:before,
-.leaflet-tooltip-top:before {
- left: 50%;
- margin-left: -6px;
- }
-.leaflet-tooltip-top:before {
- bottom: 0;
- margin-bottom: -12px;
- border-top-color: #fff;
- }
-.leaflet-tooltip-bottom:before {
- top: 0;
- margin-top: -12px;
- margin-left: -6px;
- border-bottom-color: #fff;
- }
-.leaflet-tooltip-left {
- margin-left: -6px;
-}
-.leaflet-tooltip-right {
- margin-left: 6px;
-}
-.leaflet-tooltip-left:before,
-.leaflet-tooltip-right:before {
- top: 50%;
- margin-top: -6px;
- }
-.leaflet-tooltip-left:before {
- right: 0;
- margin-right: -12px;
- border-left-color: #fff;
- }
-.leaflet-tooltip-right:before {
- left: 0;
- margin-left: -12px;
- border-right-color: #fff;
- }
+/* required styles */
+
+.leaflet-pane,
+.leaflet-tile,
+.leaflet-marker-icon,
+.leaflet-marker-shadow,
+.leaflet-tile-container,
+.leaflet-pane > svg,
+.leaflet-pane > canvas,
+.leaflet-zoom-box,
+.leaflet-image-layer,
+.leaflet-layer {
+ position: absolute;
+ left: 0;
+ top: 0;
+ }
+.leaflet-container {
+ overflow: hidden;
+ }
+.leaflet-tile,
+.leaflet-marker-icon,
+.leaflet-marker-shadow {
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ -webkit-user-drag: none;
+ }
+/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
+.leaflet-safari .leaflet-tile {
+ image-rendering: -webkit-optimize-contrast;
+ }
+/* hack that prevents hw layers "stretching" when loading new tiles */
+.leaflet-safari .leaflet-tile-container {
+ width: 1600px;
+ height: 1600px;
+ -webkit-transform-origin: 0 0;
+ }
+.leaflet-marker-icon,
+.leaflet-marker-shadow {
+ display: block;
+ }
+/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
+/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
+.leaflet-container .leaflet-overlay-pane svg,
+.leaflet-container .leaflet-marker-pane img,
+.leaflet-container .leaflet-shadow-pane img,
+.leaflet-container .leaflet-tile-pane img,
+.leaflet-container img.leaflet-image-layer {
+ max-width: none !important;
+ max-height: none !important;
+ }
+
+.leaflet-container.leaflet-touch-zoom {
+ -ms-touch-action: pan-x pan-y;
+ touch-action: pan-x pan-y;
+ }
+.leaflet-container.leaflet-touch-drag {
+ -ms-touch-action: pinch-zoom;
+ /* Fallback for FF which doesn't support pinch-zoom */
+ touch-action: none;
+ touch-action: pinch-zoom;
+}
+.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
+ -ms-touch-action: none;
+ touch-action: none;
+}
+.leaflet-container {
+ -webkit-tap-highlight-color: transparent;
+}
+.leaflet-container a {
+ -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
+}
+.leaflet-tile {
+ filter: inherit;
+ visibility: hidden;
+ }
+.leaflet-tile-loaded {
+ visibility: inherit;
+ }
+.leaflet-zoom-box {
+ width: 0;
+ height: 0;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ z-index: 800;
+ }
+/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
+.leaflet-overlay-pane svg {
+ -moz-user-select: none;
+ }
+
+.leaflet-pane { z-index: 400; }
+
+.leaflet-tile-pane { z-index: 200; }
+.leaflet-overlay-pane { z-index: 400; }
+.leaflet-shadow-pane { z-index: 500; }
+.leaflet-marker-pane { z-index: 600; }
+.leaflet-tooltip-pane { z-index: 650; }
+.leaflet-popup-pane { z-index: 700; }
+
+.leaflet-map-pane canvas { z-index: 100; }
+.leaflet-map-pane svg { z-index: 200; }
+
+.leaflet-vml-shape {
+ width: 1px;
+ height: 1px;
+ }
+.lvml {
+ behavior: url(#default#VML);
+ display: inline-block;
+ position: absolute;
+ }
+
+
+/* control positioning */
+
+.leaflet-control {
+ position: relative;
+ z-index: 800;
+ pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
+ pointer-events: auto;
+ }
+.leaflet-top,
+.leaflet-bottom {
+ position: absolute;
+ z-index: 1000;
+ pointer-events: none;
+ }
+.leaflet-top {
+ top: 0;
+ }
+.leaflet-right {
+ right: 0;
+ }
+.leaflet-bottom {
+ bottom: 0;
+ }
+.leaflet-left {
+ left: 0;
+ }
+.leaflet-control {
+ float: left;
+ clear: both;
+ }
+.leaflet-right .leaflet-control {
+ float: right;
+ }
+.leaflet-top .leaflet-control {
+ margin-top: 10px;
+ }
+.leaflet-bottom .leaflet-control {
+ margin-bottom: 10px;
+ }
+.leaflet-left .leaflet-control {
+ margin-left: 10px;
+ }
+.leaflet-right .leaflet-control {
+ margin-right: 10px;
+ }
+
+
+/* zoom and fade animations */
+
+.leaflet-fade-anim .leaflet-tile {
+ will-change: opacity;
+ }
+.leaflet-fade-anim .leaflet-popup {
+ opacity: 0;
+ -webkit-transition: opacity 0.2s linear;
+ -moz-transition: opacity 0.2s linear;
+ -o-transition: opacity 0.2s linear;
+ transition: opacity 0.2s linear;
+ }
+.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
+ opacity: 1;
+ }
+.leaflet-zoom-animated {
+ -webkit-transform-origin: 0 0;
+ -ms-transform-origin: 0 0;
+ transform-origin: 0 0;
+ }
+.leaflet-zoom-anim .leaflet-zoom-animated {
+ will-change: transform;
+ }
+.leaflet-zoom-anim .leaflet-zoom-animated {
+ -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
+ -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
+ -o-transition: -o-transform 0.25s cubic-bezier(0,0,0.25,1);
+ transition: transform 0.25s cubic-bezier(0,0,0.25,1);
+ }
+.leaflet-zoom-anim .leaflet-tile,
+.leaflet-pan-anim .leaflet-tile {
+ -webkit-transition: none;
+ -moz-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+
+.leaflet-zoom-anim .leaflet-zoom-hide {
+ visibility: hidden;
+ }
+
+
+/* cursors */
+
+.leaflet-interactive {
+ cursor: pointer;
+ }
+.leaflet-grab {
+ cursor: -webkit-grab;
+ cursor: -moz-grab;
+ }
+.leaflet-crosshair,
+.leaflet-crosshair .leaflet-interactive {
+ cursor: crosshair;
+ }
+.leaflet-popup-pane,
+.leaflet-control {
+ cursor: auto;
+ }
+.leaflet-dragging .leaflet-grab,
+.leaflet-dragging .leaflet-grab .leaflet-interactive,
+.leaflet-dragging .leaflet-marker-draggable {
+ cursor: move;
+ cursor: -webkit-grabbing;
+ cursor: -moz-grabbing;
+ }
+
+/* marker & overlays interactivity */
+.leaflet-marker-icon,
+.leaflet-marker-shadow,
+.leaflet-image-layer,
+.leaflet-pane > svg path,
+.leaflet-tile-container {
+ pointer-events: none;
+ }
+
+.leaflet-marker-icon.leaflet-interactive,
+.leaflet-image-layer.leaflet-interactive,
+.leaflet-pane > svg path.leaflet-interactive {
+ pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
+ pointer-events: auto;
+ }
+
+/* visual tweaks */
+
+.leaflet-container {
+ background: #ddd;
+ outline: 0;
+ }
+.leaflet-container a {
+ color: #0078A8;
+ }
+.leaflet-container a.leaflet-active {
+ outline: 2px solid orange;
+ }
+.leaflet-zoom-box {
+ border: 2px dotted #38f;
+ background: rgba(255,255,255,0.5);
+ }
+
+
+/* general typography */
+.leaflet-container {
+ font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
+ }
+
+
+/* general toolbar styles */
+
+.leaflet-bar {
+ box-shadow: 0 1px 5px rgba(0,0,0,0.65);
+ border-radius: 4px;
+ }
+.leaflet-bar a,
+.leaflet-bar a:hover {
+ background-color: #fff;
+ border-bottom: 1px solid #ccc;
+ width: 26px;
+ height: 26px;
+ line-height: 26px;
+ display: block;
+ text-align: center;
+ text-decoration: none;
+ color: black;
+ }
+.leaflet-bar a,
+.leaflet-control-layers-toggle {
+ background-position: 50% 50%;
+ background-repeat: no-repeat;
+ display: block;
+ }
+.leaflet-bar a:hover {
+ background-color: #f4f4f4;
+ }
+.leaflet-bar a:first-child {
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ }
+.leaflet-bar a:last-child {
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+ border-bottom: none;
+ }
+.leaflet-bar a.leaflet-disabled {
+ cursor: default;
+ background-color: #f4f4f4;
+ color: #bbb;
+ }
+
+.leaflet-touch .leaflet-bar a {
+ width: 30px;
+ height: 30px;
+ line-height: 30px;
+ }
+.leaflet-touch .leaflet-bar a:first-child {
+ border-top-left-radius: 2px;
+ border-top-right-radius: 2px;
+ }
+.leaflet-touch .leaflet-bar a:last-child {
+ border-bottom-left-radius: 2px;
+ border-bottom-right-radius: 2px;
+ }
+
+/* zoom control */
+
+.leaflet-control-zoom-in,
+.leaflet-control-zoom-out {
+ font: bold 18px 'Lucida Console', Monaco, monospace;
+ text-indent: 1px;
+ }
+
+.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
+ font-size: 22px;
+ }
+
+
+/* layers control */
+
+.leaflet-control-layers {
+ box-shadow: 0 1px 5px rgba(0,0,0,0.4);
+ background: #fff;
+ border-radius: 5px;
+ }
+.leaflet-control-layers-toggle {
+ background-image: url(images/layers.png);
+ width: 36px;
+ height: 36px;
+ }
+.leaflet-retina .leaflet-control-layers-toggle {
+ background-image: url(images/layers-2x.png);
+ background-size: 26px 26px;
+ }
+.leaflet-touch .leaflet-control-layers-toggle {
+ width: 44px;
+ height: 44px;
+ }
+.leaflet-control-layers .leaflet-control-layers-list,
+.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
+ display: none;
+ }
+.leaflet-control-layers-expanded .leaflet-control-layers-list {
+ display: block;
+ position: relative;
+ }
+.leaflet-control-layers-expanded {
+ padding: 6px 10px 6px 6px;
+ color: #333;
+ background: #fff;
+ }
+.leaflet-control-layers-scrollbar {
+ overflow-y: scroll;
+ overflow-x: hidden;
+ padding-right: 5px;
+ }
+.leaflet-control-layers-selector {
+ margin-top: 2px;
+ position: relative;
+ top: 1px;
+ }
+.leaflet-control-layers label {
+ display: block;
+ }
+.leaflet-control-layers-separator {
+ height: 0;
+ border-top: 1px solid #ddd;
+ margin: 5px -10px 5px -6px;
+ }
+
+/* Default icon URLs */
+.leaflet-default-icon-path {
+ background-image: url(images/marker-icon.png);
+ }
+
+
+/* attribution and scale controls */
+
+.leaflet-container .leaflet-control-attribution {
+ background: #fff;
+ background: rgba(255, 255, 255, 0.7);
+ margin: 0;
+ }
+.leaflet-control-attribution,
+.leaflet-control-scale-line {
+ padding: 0 5px;
+ color: #333;
+ }
+.leaflet-control-attribution a {
+ text-decoration: none;
+ }
+.leaflet-control-attribution a:hover {
+ text-decoration: underline;
+ }
+.leaflet-container .leaflet-control-attribution,
+.leaflet-container .leaflet-control-scale {
+ font-size: 11px;
+ }
+.leaflet-left .leaflet-control-scale {
+ margin-left: 5px;
+ }
+.leaflet-bottom .leaflet-control-scale {
+ margin-bottom: 5px;
+ }
+.leaflet-control-scale-line {
+ border: 2px solid #777;
+ border-top: none;
+ line-height: 1.1;
+ padding: 2px 5px 1px;
+ font-size: 11px;
+ white-space: nowrap;
+ overflow: hidden;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+
+ background: #fff;
+ background: rgba(255, 255, 255, 0.5);
+ }
+.leaflet-control-scale-line:not(:first-child) {
+ border-top: 2px solid #777;
+ border-bottom: none;
+ margin-top: -2px;
+ }
+.leaflet-control-scale-line:not(:first-child):not(:last-child) {
+ border-bottom: 2px solid #777;
+ }
+
+.leaflet-touch .leaflet-control-attribution,
+.leaflet-touch .leaflet-control-layers,
+.leaflet-touch .leaflet-bar {
+ box-shadow: none;
+ }
+.leaflet-touch .leaflet-control-layers,
+.leaflet-touch .leaflet-bar {
+ border: 2px solid rgba(0,0,0,0.2);
+ background-clip: padding-box;
+ }
+
+
+/* popup */
+
+.leaflet-popup {
+ position: absolute;
+ text-align: center;
+ margin-bottom: 20px;
+ }
+.leaflet-popup-content-wrapper {
+ padding: 1px;
+ text-align: left;
+ border-radius: 12px;
+ }
+.leaflet-popup-content {
+ margin: 13px 19px;
+ line-height: 1.4;
+ }
+.leaflet-popup-content p {
+ margin: 18px 0;
+ }
+.leaflet-popup-tip-container {
+ width: 40px;
+ height: 20px;
+ position: absolute;
+ left: 50%;
+ margin-left: -20px;
+ overflow: hidden;
+ pointer-events: none;
+ }
+.leaflet-popup-tip {
+ width: 17px;
+ height: 17px;
+ padding: 1px;
+
+ margin: -10px auto 0;
+
+ -webkit-transform: rotate(45deg);
+ -moz-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ -o-transform: rotate(45deg);
+ transform: rotate(45deg);
+ }
+.leaflet-popup-content-wrapper,
+.leaflet-popup-tip {
+ background: white;
+ color: #333;
+ box-shadow: 0 3px 14px rgba(0,0,0,0.4);
+ }
+.leaflet-container a.leaflet-popup-close-button {
+ position: absolute;
+ top: 0;
+ right: 0;
+ padding: 4px 4px 0 0;
+ border: none;
+ text-align: center;
+ width: 18px;
+ height: 14px;
+ font: 16px/14px Tahoma, Verdana, sans-serif;
+ color: #c3c3c3;
+ text-decoration: none;
+ font-weight: bold;
+ background: transparent;
+ }
+.leaflet-container a.leaflet-popup-close-button:hover {
+ color: #999;
+ }
+.leaflet-popup-scrolled {
+ overflow: auto;
+ border-bottom: 1px solid #ddd;
+ border-top: 1px solid #ddd;
+ }
+
+.leaflet-oldie .leaflet-popup-content-wrapper {
+ zoom: 1;
+ }
+.leaflet-oldie .leaflet-popup-tip {
+ width: 24px;
+ margin: 0 auto;
+
+ -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
+ filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
+ }
+.leaflet-oldie .leaflet-popup-tip-container {
+ margin-top: -1px;
+ }
+
+.leaflet-oldie .leaflet-control-zoom,
+.leaflet-oldie .leaflet-control-layers,
+.leaflet-oldie .leaflet-popup-content-wrapper,
+.leaflet-oldie .leaflet-popup-tip {
+ border: 1px solid #999;
+ }
+
+
+/* div icon */
+
+.leaflet-div-icon {
+ background: #fff;
+ border: 1px solid #666;
+ }
+
+
+/* Tooltip */
+/* Base styles for the element that has a tooltip */
+.leaflet-tooltip {
+ position: absolute;
+ padding: 6px;
+ background-color: #fff;
+ border: 1px solid #fff;
+ border-radius: 3px;
+ color: #222;
+ white-space: nowrap;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ pointer-events: none;
+ box-shadow: 0 1px 3px rgba(0,0,0,0.4);
+ }
+.leaflet-tooltip.leaflet-clickable {
+ cursor: pointer;
+ pointer-events: auto;
+ }
+.leaflet-tooltip-top:before,
+.leaflet-tooltip-bottom:before,
+.leaflet-tooltip-left:before,
+.leaflet-tooltip-right:before {
+ position: absolute;
+ pointer-events: none;
+ border: 6px solid transparent;
+ background: transparent;
+ content: "";
+ }
+
+/* Directions */
+
+.leaflet-tooltip-bottom {
+ margin-top: 6px;
+}
+.leaflet-tooltip-top {
+ margin-top: -6px;
+}
+.leaflet-tooltip-bottom:before,
+.leaflet-tooltip-top:before {
+ left: 50%;
+ margin-left: -6px;
+ }
+.leaflet-tooltip-top:before {
+ bottom: 0;
+ margin-bottom: -12px;
+ border-top-color: #fff;
+ }
+.leaflet-tooltip-bottom:before {
+ top: 0;
+ margin-top: -12px;
+ margin-left: -6px;
+ border-bottom-color: #fff;
+ }
+.leaflet-tooltip-left {
+ margin-left: -6px;
+}
+.leaflet-tooltip-right {
+ margin-left: 6px;
+}
+.leaflet-tooltip-left:before,
+.leaflet-tooltip-right:before {
+ top: 50%;
+ margin-top: -6px;
+ }
+.leaflet-tooltip-left:before {
+ right: 0;
+ margin-right: -12px;
+ border-left-color: #fff;
+ }
+.leaflet-tooltip-right:before {
+ left: 0;
+ margin-left: -12px;
+ border-right-color: #fff;
+ }
diff --git a/searx/templates/courgette/preferences.html b/searx/templates/courgette/preferences.html
index 61f521477..56a6e0202 100644
--- a/searx/templates/courgette/preferences.html
+++ b/searx/templates/courgette/preferences.html
@@ -13,6 +13,7 @@
<legend>{{ _('Search language') }}</legend>
<p>
<select name='language'>
+ <option value="all" {% if current_language == 'all' %}selected="selected"{% endif %}>{{ _('Default language') }}</option>
{% for lang_id,lang_name,country_name,english_name in language_codes | sort(attribute=1) %}
<option value="{{ lang_id }}" {% if lang_id == current_language %}selected="selected"{% endif %}>{{ lang_name }} {% if country_name %}({{ country_name }}) {% endif %}- {{ lang_id }}</option>
{% endfor %}
diff --git a/searx/templates/courgette/result_templates/key-value.html b/searx/templates/courgette/result_templates/key-value.html
new file mode 100644
index 000000000..789e8de92
--- /dev/null
+++ b/searx/templates/courgette/result_templates/key-value.html
@@ -0,0 +1,13 @@
+<div class="result">
+<table>
+ {% for key, value in result.items() %}
+ {% if key in ['engine', 'engines', 'template', 'score', 'category', 'positions'] %}
+ {% continue %}
+ {% endif %}
+ <tr>
+ <td><b>{{ key|upper }}</b>: {{ value|safe }}</td>
+ </tr>
+ {% endfor %}
+</table>
+<p class="engines">{{ result.engines|join(', ') }}</p>
+</div>
diff --git a/searx/templates/courgette/result_templates/torrent.html b/searx/templates/courgette/result_templates/torrent.html
index 2fd8395ad..7f94a221e 100644
--- a/searx/templates/courgette/result_templates/torrent.html
+++ b/searx/templates/courgette/result_templates/torrent.html
@@ -4,7 +4,7 @@
{% endif %}
<h3 class="result_title"><a href="{{ result.url }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %}>{{ result.title|safe }}</a></h3>
{% if result.content %}<span class="content">{{ result.content|safe }}</span><br />{% endif %}
- <span class="stats">{{ _('Seeder') }} : {{ result.seed }}, {{ _('Leecher') }} : {{ result.leech }}</span><br />
+ {% if result.seed is defined %}<span class="stats">{{ _('Seeder') }} : {{ result.seed }}, {{ _('Leecher') }} : {{ result.leech }}</span><br />{% endif %}
<span>
{% if result.magnetlink %}<a href="{{ result.magnetlink }}" class="magnetlink">{{ _('magnet link') }}</a>{% endif %}
{% if result.torrentfile %}<a href="{{ result.torrentfile }}" class="torrentfile" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %}>{{ _('torrent file') }}</a>{% endif %}
diff --git a/searx/templates/courgette/results.html b/searx/templates/courgette/results.html
index c72b7c3f7..aa983e666 100644
--- a/searx/templates/courgette/results.html
+++ b/searx/templates/courgette/results.html
@@ -42,8 +42,8 @@
<div id="suggestions"><span>{{ _('Suggestions') }}</span>
{% for suggestion in suggestions %}
<form method="{{ method or 'POST' }}" action="{{ url_for('index') }}">
- <input type="hidden" name="q" value="{{ suggestion }}">
- <input type="submit" value="{{ suggestion }}" />
+ <input type="hidden" name="q" value="{{ suggestion.url }}">
+ <input type="submit" value="{{ suggestion.title }}" />
</form>
{% endfor %}
</div>
diff --git a/searx/templates/legacy/preferences.html b/searx/templates/legacy/preferences.html
index fb70832e3..f418dcd5b 100644
--- a/searx/templates/legacy/preferences.html
+++ b/searx/templates/legacy/preferences.html
@@ -14,6 +14,7 @@
<legend>{{ _('Search language') }}</legend>
<p>
<select name='language'>
+ <option value="all" {% if current_language == 'all' %}selected="selected"{% endif %}>{{ _('Default language') }}</option>
{% for lang_id,lang_name,country_name,english_name in language_codes | sort(attribute=1) %}
<option value="{{ lang_id }}" {% if lang_id == current_language %}selected="selected"{% endif %}>{{ lang_name }} {% if country_name %}({{ country_name }}) {% endif %}- {{ lang_id }}</option>
{% endfor %}
diff --git a/searx/templates/legacy/result_templates/key-value.html b/searx/templates/legacy/result_templates/key-value.html
new file mode 100644
index 000000000..a5bb509d9
--- /dev/null
+++ b/searx/templates/legacy/result_templates/key-value.html
@@ -0,0 +1,13 @@
+<table class="result-table">
+ {% for key, value in result.items() %}
+ {% if key in ['engine', 'engines', 'template', 'score', 'category', 'positions'] %}
+ {% continue %}
+ {% endif %}
+ <tr>
+ <td><b>{{ key|upper }}</b>: {{ value|safe }}</td>
+ </tr>
+ {% endfor %}
+ <tr>
+ <td><b>ENGINES</b>: {{ result.engines|join(', ') }}</td>
+ </tr>
+</table>
diff --git a/searx/templates/legacy/result_templates/torrent.html b/searx/templates/legacy/result_templates/torrent.html
index 67e058ae5..068e05373 100644
--- a/searx/templates/legacy/result_templates/torrent.html
+++ b/searx/templates/legacy/result_templates/torrent.html
@@ -8,6 +8,6 @@
<p>
{% if result.magnetlink %}<a href="{{ result.magnetlink }}" class="magnetlink">{{ _('magnet link') }}</a>{% endif %}
{% if result.torrentfile %}<a href="{{ result.torrentfile }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %} class="torrentfile">{{ _('torrent file') }}</a>{% endif %} -
- <span class="stats">{{ _('Seeder') }} : {{ result.seed }}, {{ _('Leecher') }} : {{ result.leech }}</span>
+ {% if result.seed is defined %}<span class="stats">{{ _('Seeder') }} : {{ result.seed }}, {{ _('Leecher') }} : {{ result.leech }}</span>{% endif %}
</p>
</div>
diff --git a/searx/templates/legacy/results.html b/searx/templates/legacy/results.html
index f0d78398d..2e28bc91f 100644
--- a/searx/templates/legacy/results.html
+++ b/searx/templates/legacy/results.html
@@ -44,8 +44,8 @@
{% set first = true %}
{% for suggestion in suggestions %}
{% if not first %} &bull; {% endif %}<form method="{{ method or 'POST' }}" action="{{ url_for('index') }}">
- <input type="hidden" name="q" value="{{ suggestion }}">
- <input type="submit" class="suggestion" value="{{ suggestion }}" />
+ <input type="hidden" name="q" value="{{ suggestion.url }}">
+ <input type="submit" class="suggestion" value="{{ suggestion.title }}" />
</form>
{% set first = false %}
{% endfor %}
diff --git a/searx/templates/oscar/advanced.html b/searx/templates/oscar/advanced.html
index 95d99ba6a..bf5f86324 100644
--- a/searx/templates/oscar/advanced.html
+++ b/searx/templates/oscar/advanced.html
@@ -1,16 +1,17 @@
<input type="checkbox" name="advanced_search" id="check-advanced" {% if advanced_search %} checked="checked"{% endif %}>
-<label for="check-advanced">
+<label for="check-advanced">{{- "" -}}
<span class="glyphicon glyphicon-cog"></span>
- {{ _('Advanced settings') }}
+ {{- _('Advanced settings') -}}
</label>
<div id="advanced-search-container">
{% include 'oscar/categories.html' %}
+
<div class="row">
<div class="col-xs-6">
- {% include 'oscar/time-range.html' %}
+ {%- include 'oscar/time-range.html' -%}
</div>
<div class="col-xs-6">
- {% include 'oscar/languages.html' %}
+ {%- include 'oscar/languages.html' -%}
</div>
</div>
</div>
diff --git a/searx/templates/oscar/base.html b/searx/templates/oscar/base.html
index 243e8b3d7..66a9e6029 100644
--- a/searx/templates/oscar/base.html
+++ b/searx/templates/oscar/base.html
@@ -10,16 +10,17 @@
<meta name="referrer" content="no-referrer">
<meta name="viewport" content="width=device-width, initial-scale=1 , maximum-scale=1.0, user-scalable=1" />
{% block meta %}{% endblock %}
- <title>{% block title %}{% endblock %}{{ instance_name }}</title>
+ <title>{% block title %}{% endblock %}{{ instance_name }}</title>
<link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap.min.css') }}" type="text/css" />
- {% if preferences.get_value('oscar-style') %}
- <link rel="stylesheet" href="{{ url_for('static', filename='css/'+preferences.get_value('oscar-style')+'.min.css') }}" type="text/css" />
- {% else %}
- <link rel="stylesheet" href="{{ url_for('static', filename='css/logicodev.min.css') }}" type="text/css" />
- {% endif %}
+ {% if preferences.get_value('oscar-style') -%}
+ {{' '}}<link rel="stylesheet" href="{{ url_for('static', filename='css/'+preferences.get_value('oscar-style')+'.min.css') }}" type="text/css" />
+ {%- else -%}
+ {{' '}}<link rel="stylesheet" href="{{ url_for('static', filename='css/logicodev.min.css') }}" type="text/css" />
+ {%- endif %}
+
<link rel="stylesheet" href="{{ url_for('static', filename='css/leaflet.min.css') }}" type="text/css" />
- {% for css in styles %}
+ {%- for css in styles %}
<link rel="stylesheet" href="{{ url_for('static', filename=css) }}" type="text/css" />
{% endfor %}
@@ -37,12 +38,6 @@
{% endblock %}
<link title="{{ instance_name }}" type="application/opensearchdescription+xml" rel="search" href="{{ url_for('opensearch') }}"/>
-
- <script type="text/javascript">
- searx = {};
- searx.method = "{{ method or 'POST' }}";
- searx.autocompleter = {% if autocomplete %}true{% else %}false{% endif %};
- </script>
<noscript>
<style type="text/css">
.tab-content > .active_if_nojs, .active_if_nojs {display: block !important; visibility: visible !important;}
@@ -54,6 +49,7 @@
</head>
<body>
{% include 'oscar/navbar.html' %}
+
<div class="container">
{% if errors %}
<div class="alert alert-danger fade in" role="alert">
@@ -99,11 +95,14 @@
</div>
<script src="{{ url_for('static', filename='js/jquery-1.11.1.min.js') }}"></script>
<script src="{{ url_for('static', filename='js/bootstrap.min.js') }}"></script>
- {% if autocomplete %}<script src="{{ url_for('static', filename='js/typeahead.bundle.min.js') }}"></script>{% endif %}
+ {% if autocomplete %} <script src="{{ url_for('static', filename='js/typeahead.bundle.min.js') }}"></script>{% endif %}
+
<script src="{{ url_for('static', filename='js/require-2.1.15.min.js') }}"></script>
- <script src="{{ url_for('static', filename='js/searx.min.js') }}"></script>
+ <script src="{{ url_for('static', filename='js/searx.min.js') }}"
+ data-method="{{ method or 'POST' }}"
+ data-autocompleter="{% if autocomplete %}true{% else %}false{% endif %}"></script>
{% for script in scripts %}
- <script src="{{ url_for('static', filename=script) }}"></script>
+ {{""}}<script src="{{ url_for('static', filename=script) }}"></script>
{% endfor %}
<noscript>
<style>
diff --git a/searx/templates/oscar/categories.html b/searx/templates/oscar/categories.html
index 1ace10f16..a5c5f61c7 100644
--- a/searx/templates/oscar/categories.html
+++ b/searx/templates/oscar/categories.html
@@ -1,13 +1,13 @@
<div id="categories">
-{% if rtl %}
- {% for category in categories | reverse %}
- <input class="hidden" type="checkbox" id="checkbox_{{ category|replace(' ', '_') }}" name="category_{{ category }}" {% if category in selected_categories %}checked="checked"{% endif %} />
+{%- if rtl -%}
+ {% for category in categories | reverse -%}
+ <input class="hidden" type="checkbox" id="checkbox_{{ category|replace(' ', '_') }}" name="category_{{ category }}" {% if category in selected_categories %}checked="checked"{% endif %} />{{- '' -}}
<label for="checkbox_{{ category|replace(' ', '_') }}">{{ _(category) }}</label>
- {% endfor %}
-{% else %}
- {% for category in categories %}
- <input class="hidden" type="checkbox" id="checkbox_{{ category|replace(' ', '_') }}" name="category_{{ category }}" {% if category in selected_categories %}checked="checked"{% endif %} />
+ {%- endfor %}
+{%- else -%}
+ {% for category in categories -%}
+ <input class="hidden" type="checkbox" id="checkbox_{{ category|replace(' ', '_') }}" name="category_{{ category }}" {% if category in selected_categories %}checked="checked"{% endif %} />{{- '' -}}
<label for="checkbox_{{ category|replace(' ', '_') }}">{{ _(category) }}</label>
- {% endfor %}
-{% endif %}
+ {%- endfor %}
+{%- endif -%}
</div>
diff --git a/searx/templates/oscar/infobox.html b/searx/templates/oscar/infobox.html
index c98fb0e63..9f5e58d2b 100644
--- a/searx/templates/oscar/infobox.html
+++ b/searx/templates/oscar/infobox.html
@@ -1,34 +1,35 @@
{% from 'oscar/macros.html' import result_link with context %}
<div class="panel panel-default infobox">
- <div class="panel-heading">
- <h4 class="panel-title infobox_part"><bdi>{{ infobox.infobox }}</bdi></h4>
+ <div class="panel-heading">{{- "" -}}
+ <h4 class="panel-title infobox_part"><bdi>{{ infobox.infobox }}</bdi></h4>{{- "" -}}
</div>
<div class="panel-body">
{% if infobox.img_src %}<img class="img-responsive center-block infobox_part" src="{{ image_proxify(infobox.img_src) }}" alt="{{ infobox.infobox }}" />{% endif %}
- {% if infobox.content %}<bdi><p class="infobox_part">{{ infobox.content }}</bdi></p>{% endif %}
- {% if infobox.attributes %}
+ {% if infobox.content %}<bdi><p class="infobox_part">{{ infobox.content }}</p></bdi>{% endif %}
+
+ {% if infobox.attributes -%}
<table class="table table-striped infobox_part">
- {% for attribute in infobox.attributes %}
- <tr>
+ {% for attribute in infobox.attributes -%}
+ <tr>{{- "" -}}
<td><bdi>{{ attribute.label }}</bdi></td>
- {% if attribute.image %}
+ {%- if attribute.image -%}
<td><img class="img-responsive" src="{{ image_proxify(attribute.image.src) }}" alt="{{ attribute.image.alt }}" /></td>
- {% else %}
+ {%- else -%}
<td><bdi>{{ attribute.value }}</bdi></td>
- {% endif %}
+ {%- endif -%}
</tr>
- {% endfor %}
+ {% endfor -%}
</table>
{% endif %}
- {% if infobox.urls %}
- <div class="infobox_part">
+ {% if infobox.urls -%}
+ <div class="infobox_part">{{- "\n" -}}
<bdi>
- {% for url in infobox.urls %}
- <p class="btn btn-default btn-xs">{{ result_link(url.url, url.title) }}</a></p>
- {% endfor %}
- </bdi>
+ {%- for url in infobox.urls -%}
+ <p class="btn btn-default btn-xs">{{ result_link(url.url, url.title) }}</p>
+ {% endfor -%}
+ </bdi>{{- "" -}}
</div>
{% endif %}
</div>
diff --git a/searx/templates/oscar/languages.html b/searx/templates/oscar/languages.html
index 369abca83..5aff9f918 100644
--- a/searx/templates/oscar/languages.html
+++ b/searx/templates/oscar/languages.html
@@ -1,11 +1,8 @@
-{% if preferences %}
-<select class="custom-select form-control" name='language'>
-{% else %}
-<select class="time_range custom-select form-control" id='language' name='language'>
-{% endif %}
- {% for lang_id,lang_name,country_name,english_name in language_codes | sort(attribute=1) %}
- <option value="{{ lang_id }}" {% if lang_id == current_language %}selected="selected"{% endif %}>
- {{ lang_name }} {% if country_name %}({{ country_name }}) {% endif %}- {{ lang_id }}
- </option>
- {% endfor %}
+<select class="language custom-select form-control" id="language" name="language" accesskey="l">
+ <option value="all" {% if current_language == 'all' %}selected="selected"{% endif %}>{{ _('Default language') }}</option>
+{%- for lang_id,lang_name,country_name,english_name in language_codes | sort(attribute=1) -%}
+ <option value="{{ lang_id }}" {% if lang_id == current_language %}selected="selected"{% endif %}>
+ {{- lang_name }} {% if country_name %}({{ country_name }}) {% endif %}- {{ lang_id -}}
+ </option>
+{%- endfor -%}
</select>
diff --git a/searx/templates/oscar/macros.html b/searx/templates/oscar/macros.html
index 0ff957521..d2d1dc643 100644
--- a/searx/templates/oscar/macros.html
+++ b/searx/templates/oscar/macros.html
@@ -14,7 +14,7 @@
<!-- Draw result header -->
{% macro result_header(result, favicons) -%}
-<h4 class="result_header">{% if result.engine~".png" in favicons %}{{ draw_favicon(result.engine) }} {% endif %}{{ result_link(result.url, result.title|safe) }}</h4>
+<h4 class="result_header">{% if result.engine~".png" in favicons %}{{ draw_favicon(result.engine) }} {% endif %}{% if result.url %}{{ result_link(result.url, result.title|safe) }}{% else %}{{ result.title|safe}}{% endif %}</h4>
{%- endmacro %}
<!-- Draw result sub header -->
@@ -26,30 +26,38 @@
<!-- Draw result footer -->
{% macro result_footer(result) -%}
- <div class="clearfix"></div>
+ <div class="clearfix"></div>{{- "" -}}
<div class="pull-right">
- {% for engine in result.engines %}
- <span class="label label-default">{{ engine }}</span>
- {% endfor %}
- <small>{{ result_link("https://web.archive.org/web/" + result.url, icon('link') + _('cached'), "text-info") }}</small>
- {% if proxify %}
- <small>{{ result_link(proxify(result.url), icon('sort') + _('proxied'), "text-info") }}</small>
- {% endif %}
-</div>
-<div class="external-link">{{ result.pretty_url }}</div>
+ {%- for engine in result.engines -%}
+ <span class="label label-default">{{ engine }}</span>
+ {%- endfor -%}
+ {%- if result.url -%}
+ <small>{{ result_link("https://web.archive.org/web/" + result.url, icon('link') + _('cached'), "text-info") }}</small>
+ {%- endif -%}
+ {%- if proxify -%}
+ <small>{{ result_link(proxify(result.url), icon('sort') + _('proxied'), "text-info") }}</small>
+ {%- endif -%}
+ </div>
+ {%- if result.pretty_url -%}
+ <div class="external-link">{{ result.pretty_url }}</div>
+ {%- endif -%}
{%- endmacro %}
<!-- Draw result footer -->
{% macro result_footer_rtl(result) -%}
- <div class="clearfix"></div>
- {% for engine in result.engines %}
+ <div class="clearfix"></div>{{- "" -}}
+ {% for engine in result.engines -%}
<span class="label label-default">{{ engine }}</span>
- {% endfor %}
+ {%- endfor %}
+ {%- if result.url -%}
<small>{{ result_link("https://web.archive.org/web/" + result.url, icon('link') + _('cached'), "text-info") }}</small>
- {% if proxify %}
+ {%- endif -%}
+ {% if proxify -%}
<small>{{ result_link(proxify(result.url), icon('sort') + _('proxied'), "text-info") }}</small>
- {% endif %}
+ {%- endif %}
+ {%- if result.pretty_url -%}
<div class="external-link">{{ result.pretty_url }}</div>
+ {%- endif %}
{%- endmacro %}
{% macro preferences_item_header(info, label, rtl) -%}
diff --git a/searx/templates/oscar/navbar.html b/searx/templates/oscar/navbar.html
index 12bf14ffa..077fb9f15 100644
--- a/searx/templates/oscar/navbar.html
+++ b/searx/templates/oscar/navbar.html
@@ -1,9 +1,9 @@
-<div class="searx-navbar">
- <span class="instance {% if rtl %}pull-right{% else %}pull-left{% endif%}">
- <a href="{{ url_for('index') }}">{{ instance_name }}</a>
- </span>
- <span class="{% if rtl %}pull-left{% else %}pull-right{% endif %}">
- <a href="{{ url_for('about') }}">{{ _('about') }}</a>
- <a href="{{ url_for('preferences') }}">{{ _('preferences') }}</a>
- </span>
+<div class="searx-navbar">{{- "" -}}
+ <span class="instance {% if rtl %}pull-right{% else %}pull-left{% endif%}">{{- "" -}}
+ <a href="{{ url_for('index') }}">{{ instance_name }}</a>{{- "" -}}
+ </span>{{- "" -}}
+ <span class="{% if rtl %}pull-left{% else %}pull-right{% endif %}">{{- "" -}}
+ <a href="{{ url_for('about') }}">{{ _('about') }}</a>{{- "" -}}
+ <a href="{{ url_for('preferences') }}">{{ _('preferences') }}</a>{{- "" -}}
+ </span>{{- "" -}}
</div>
diff --git a/searx/templates/oscar/preferences.html b/searx/templates/oscar/preferences.html
index b64d72ddf..1a484dd4b 100644
--- a/searx/templates/oscar/preferences.html
+++ b/searx/templates/oscar/preferences.html
@@ -41,7 +41,7 @@
{% set language_label = _('Search language') %}
{% set language_info = _('What language do you prefer for search?') %}
{{ preferences_item_header(language_info, language_label, rtl) }}
- {% include 'oscar/languages.html' %}
+ {% include 'oscar/languages.html' %}
{{ preferences_item_footer(language_info, language_label, rtl) }}
{% set locale_label = _('Interface language') %}
@@ -156,26 +156,26 @@
<div class="container-fluid">
<fieldset>
<div class="table-responsive">
- <table class="table table-hover table-condensed table-striped">
- <tr>
+ <table class="table table-hover table-condensed table-striped">
+ <tr>
{% if not rtl %}
- <th>{{ _("Allow") }}</th>
- <th>{{ _("Engine name") }}</th>
- <th>{{ _("Shortcut") }}</th>
- <th>{{ _("Selected language") }}</th>
- <th>{{ _("SafeSearch") }}</th>
- <th>{{ _("Time range") }}</th>
- <th>{{ _("Avg. time") }}</th>
- <th>{{ _("Max time") }}</th>
+ <th>{{ _("Allow") }}</th>
+ <th>{{ _("Engine name") }}</th>
+ <th>{{ _("Shortcut") }}</th>
+ <th>{{ _("Selected language") }}</th>
+ <th>{{ _("SafeSearch") }}</th>
+ <th>{{ _("Time range") }}</th>
+ <th>{{ _("Avg. time") }}</th>
+ <th>{{ _("Max time") }}</th>
{% else %}
- <th>{{ _("Max time") }}</th>
- <th>{{ _("Avg. time") }}</th>
- <th>{{ _("Time range") }}</th>
- <th>{{ _("SafeSearch") }}</th>
- <th>{{ _("Selected language") }}</th>
- <th>{{ _("Shortcut") }}</th>
- <th>{{ _("Engine name") }}</th>
- <th>{{ _("Allow") }}</th>
+ <th>{{ _("Max time") }}</th>
+ <th>{{ _("Avg. time") }}</th>
+ <th>{{ _("Time range") }}</th>
+ <th>{{ _("SafeSearch") }}</th>
+ <th>{{ _("Selected language") }}</th>
+ <th>{{ _("Shortcut") }}</th>
+ <th>{{ _("Engine name") }}</th>
+ <th>{{ _("Allow") }}</th>
{% endif %}
</tr>
{% for search_engine in engines_by_category[categ] %}
@@ -186,19 +186,19 @@
{{ checkbox_toggle('engine_' + search_engine.name|replace(' ', '_') + '__' + categ|replace(' ', '_'), (search_engine.name, categ) in disabled_engines) }}
</td>
<th>{{ search_engine.name }}</th>
- <td class="name">{{ shortcuts[search_engine.name] }}</td>
- <td>{{ support_toggle(stats[search_engine.name].supports_selected_language) }}</td>
- <td>{{ support_toggle(search_engine.safesearch==True) }}</td>
- <td>{{ support_toggle(search_engine.time_range_support==True) }}</td>
- <td class="{{ 'danger' if stats[search_engine.name]['warn_time'] else '' }}">{{ 'N/A' if stats[search_engine.name].time==None else stats[search_engine.name].time }}</td>
- <td class="{{ 'danger' if stats[search_engine.name]['warn_timeout'] else '' }}">{{ search_engine.timeout }}</td>
- {% else %}
- <td class="{{ 'danger' if stats[search_engine.name]['warn_timeout'] else '' }}">{{ search_engine.timeout }}</td>
- <td class="{{ 'danger' if stats[search_engine.name]['warn_time'] else '' }}">{{ 'N/A' if stats[search_engine.name].time==None else stats[search_engine.name].time }}</td>
- <td>{{ support_toggle(search_engine.time_range_support==True) }}</td>
- <td>{{ support_toggle(search_engine.safesearch==True) }}</td>
- <td>{{ support_toggle(stats[search_engine.name].supports_selected_language) }}</td>
- <td>{{ shortcuts[search_engine.name] }}</td>
+ <td class="name">{{ shortcuts[search_engine.name] }}</td>
+ <td>{{ support_toggle(stats[search_engine.name].supports_selected_language) }}</td>
+ <td>{{ support_toggle(search_engine.safesearch==True) }}</td>
+ <td>{{ support_toggle(search_engine.time_range_support==True) }}</td>
+ <td class="{{ 'danger' if stats[search_engine.name]['warn_time'] else '' }}">{{ 'N/A' if stats[search_engine.name].time==None else stats[search_engine.name].time }}</td>
+ <td class="{{ 'danger' if stats[search_engine.name]['warn_timeout'] else '' }}">{{ search_engine.timeout }}</td>
+ {% else %}
+ <td class="{{ 'danger' if stats[search_engine.name]['warn_timeout'] else '' }}">{{ search_engine.timeout }}</td>
+ <td class="{{ 'danger' if stats[search_engine.name]['warn_time'] else '' }}">{{ 'N/A' if stats[search_engine.name].time==None else stats[search_engine.name].time }}</td>
+ <td>{{ support_toggle(search_engine.time_range_support==True) }}</td>
+ <td>{{ support_toggle(search_engine.safesearch==True) }}</td>
+ <td>{{ support_toggle(stats[search_engine.name].supports_selected_language) }}</td>
+ <td>{{ shortcuts[search_engine.name] }}</td>
<th>{{ search_engine.name }}</th>
<td class="onoff-checkbox">
{{ checkbox_toggle('engine_' + search_engine.name|replace(' ', '_') + '__' + categ|replace(' ', '_'), (search_engine.name, categ) in disabled_engines) }}
@@ -207,7 +207,7 @@
</tr>
{% endif %}
{% endfor %}
- </table>
+ </table>
</div>
</fieldset>
</div>
diff --git a/searx/templates/oscar/result_templates/code.html b/searx/templates/oscar/result_templates/code.html
index ba74d0333..a1c18a6b7 100644
--- a/searx/templates/oscar/result_templates/code.html
+++ b/searx/templates/oscar/result_templates/code.html
@@ -1,18 +1,18 @@
-{% from 'oscar/macros.html' import result_header, result_sub_header, result_footer, result_footer_rtl, icon %}
-
-{{ result_header(result, favicons) }}
-{{ result_sub_header(result) }}
-
-{% if result.content %}<p class="result-content">{{ result.content|safe }}</p>{% endif %}
-
-{% if result.repository %}<p class="result-content">{{ icon('file') }} <a href="{{ result.repository }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %}>{{ result.repository }}</a></p>{% endif %}
-
-<div dir="ltr">
-{{ result.codelines|code_highlighter(result.code_language)|safe }}
-</div>
-
-{% if rtl %}
-{{ result_footer_rtl(result) }}
-{% else %}
-{{ result_footer(result) }}
-{% endif %}
+{% from 'oscar/macros.html' import result_header, result_sub_header, result_footer, result_footer_rtl, icon %}
+
+{{ result_header(result, favicons) }}
+{{ result_sub_header(result) }}
+
+{% if result.content %}<p class="result-content">{{ result.content|safe }}</p>{% endif %}
+
+{% if result.repository %}<p class="result-content">{{ icon('file') }} <a href="{{ result.repository }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %}>{{ result.repository }}</a></p>{% endif %}
+
+<div dir="ltr">
+{{ result.codelines|code_highlighter(result.code_language)|safe }}
+</div>
+
+{% if rtl %}
+{{ result_footer_rtl(result) }}
+{% else %}
+{{ result_footer(result) }}
+{% endif %}
diff --git a/searx/templates/oscar/result_templates/default.html b/searx/templates/oscar/result_templates/default.html
index 3ed0f3122..885cbbfa8 100644
--- a/searx/templates/oscar/result_templates/default.html
+++ b/searx/templates/oscar/result_templates/default.html
@@ -1,31 +1,31 @@
-{% from 'oscar/macros.html' import result_header, result_sub_header, result_footer, result_footer_rtl, icon with context %}
-
-{{ result_header(result, favicons) }}
-{{ result_sub_header(result) }}
-
-{% if result.embedded %}
- <small> &bull; <a class="text-info btn-collapse collapsed cursor-pointer media-loader disabled_if_nojs" data-toggle="collapse" data-target="#result-media-{{ index }}" data-btn-text-collapsed="{{ _('show media') }}" data-btn-text-not-collapsed="{{ _('hide media') }}">{{ icon('music') }} {{ _('show media') }}</a></small>
-{% endif %}
-
-{% if result.embedded %}
-<div id="result-media-{{ index }}" class="collapse">
- {{ result.embedded|safe }}
-</div>
-{% endif %}
-
-{% if result.img_src %}
-<div class="container-fluid">
- <div class="row">
-<img src="{{ image_proxify(result.img_src) }}" alt="{{ result.title|striptags }}" title="{{ result.title|striptags }}" style="width: auto; max-height: 60px; min-height: 60px;" class="col-xs-2 col-sm-4 col-md-4 result-content">
-{% if result.content %}<p class="result-content col-xs-8 col-sm-8 col-md-8">{{ result.content|safe }}</p>{% endif %}
- </div>
-</div>
-{% else %}
-{% if result.content %}<p class="result-content">{{ result.content|safe }}</p>{% endif %}
-{% endif %}
-
-{% if rtl %}
-{{ result_footer_rtl(result) }}
-{% else %}
-{{ result_footer(result) }}
-{% endif %}
+{% from 'oscar/macros.html' import result_header, result_sub_header, result_footer, result_footer_rtl, icon with context %}
+
+{{- result_header(result, favicons) -}}
+{{- result_sub_header(result) -}}
+
+{%- if result.embedded -%}
+ <small> &bull; <a class="text-info btn-collapse collapsed cursor-pointer media-loader disabled_if_nojs" data-toggle="collapse" data-target="#result-media-{{ index }}" data-btn-text-collapsed="{{ _('show media') }}" data-btn-text-not-collapsed="{{ _('hide media') }}">{{ icon('music') }} {{ _('show media') }}</a></small>
+{%- endif -%}
+
+{%- if result.embedded -%}
+<div id="result-media-{{ index }}" class="collapse">
+ {{ result.embedded|safe }}
+</div>
+{%- endif -%}
+
+{%- if result.img_src -%}
+<div class="container-fluid">
+ <div class="row">
+<img src="{{ image_proxify(result.img_src) }}" alt="{{ result.title|striptags }}" title="{{ result.title|striptags }}" style="width: auto; max-height: 60px; min-height: 60px;" class="col-xs-2 col-sm-4 col-md-4 result-content">
+{% if result.content %}<p class="result-content col-xs-8 col-sm-8 col-md-8">{{ result.content|safe }}</p>{% endif -%}
+ </div>
+</div>
+{%- else -%}
+{%- if result.content %}<p class="result-content">{{ result.content|safe }}</p>{% endif -%}
+{%- endif -%}
+
+{%- if rtl -%}
+{{ result_footer_rtl(result) }}
+{%- else -%}
+{{ result_footer(result) }}
+{%- endif -%}
diff --git a/searx/templates/oscar/result_templates/images.html b/searx/templates/oscar/result_templates/images.html
index b23f34915..d0a3b7b83 100644
--- a/searx/templates/oscar/result_templates/images.html
+++ b/searx/templates/oscar/result_templates/images.html
@@ -1,39 +1,36 @@
-{% from 'oscar/macros.html' import draw_favicon %}
-
-<a href="{{ result.img_src }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %} data-toggle="modal" data-target="#modal-{{ index }}-{{pageno}}">
- <img src="{% if result.thumbnail_src %}{{ image_proxify(result.thumbnail_src) }}{% else %}{{ image_proxify(result.img_src) }}{% endif %}" alt="{{ result.title|striptags }}" title="{{ result.title|striptags }}" class="img-thumbnail">
-</a>
-
-<div class="modal fade" id="modal-{{ index }}-{{ pageno }}" tabindex="-1" role="dialog" aria-hidden="true">
- <div class="modal-dialog">
- <div class="modal-wrapper">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
- <h4 class="modal-title">{% if result.engine~".png" in favicons %}{{ draw_favicon(result.engine) }} {% endif %}{{ result.title|striptags }}</h4>
- </div>
- <div class="modal-body">
- <img class="img-responsive center-block" src="{% if result.thumbnail_src %}{{ image_proxify(result.thumbnail_src) }}{% else %}{{ image_proxify(result.img_src) }}{% endif %}" alt="{{ result.title|striptags }}">
- {% if result.author %}<span class="photo-author">{{ result.author }}</span><br />{% endif %}
- {% if result.content %}
- <p class="result-content">
- {{ result.content }}
- </p>
- {% endif %}
- </div>
- <div class="modal-footer">
- <div class="clearfix"></div>
- <span class="label label-default pull-right">{{ result.engine }}</span>
- <p class="text-muted pull-left">{{ result.pretty_url }}</p>
- <div class="clearfix"></div>
- <div class="row">
- <div class="col-md-6">
- <a href="{{ result.img_src }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %} class="btn btn-default">{{ _('Get image') }}</a>
- </div>
- <div class="col-md-6">
- <a href="{{ result.url }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %} class="btn btn-default">{{ _('View source') }}</a>
- </div>
- </div>
- </div>
- </div>
- </div>
-</div>
+{%- from 'oscar/macros.html' import draw_favicon -%}
+
+<a href="{{ result.img_src }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %} data-toggle="modal" data-target="#modal-{{ index }}-{{pageno}}">{{- "" -}}
+ <img src="{% if result.thumbnail_src %}{{ image_proxify(result.thumbnail_src) }}{% else %}{{ image_proxify(result.img_src) }}{% endif %}" alt="{{ result.title|striptags }}" title="{{ result.title|striptags }}" class="img-thumbnail">{{- "" -}}
+</a>
+<div class="modal fade" id="modal-{{ index }}-{{ pageno }}" tabindex="-1" role="dialog" aria-hidden="true">{{- "" -}}
+ <div class="modal-dialog">{{- "" -}}
+ <div class="modal-wrapper">{{- "" -}}
+ <div class="modal-header">{{- "" -}}
+ <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>{{- "" -}}
+ <h4 class="modal-title">{% if result.engine~".png" in favicons %}{{ draw_favicon(result.engine) }} {% endif %}{{ result.title|striptags }}</h4>{{- "" -}}
+ </div>{{- "" -}}
+ <div class="modal-body">{{- "" -}}
+ <img class="img-responsive center-block" src="{% if result.thumbnail_src %}{{ image_proxify(result.thumbnail_src) }}{% else %}{{ image_proxify(result.img_src) }}{% endif %}" alt="{{ result.title|striptags }}">
+ {%- if result.author %}<span class="photo-author">{{ result.author }}</span><br />{% endif -%}
+ {%- if result.content %}<p class="result-content">{{ result.content|striptags }}</p>{% endif -%}
+ {%- if result.img_format %}<p class="result-format">{{ result.img_format }}</p>{% endif -%}
+ {%- if result.source %}<p class="result-source">{{ result.source }}</p>{% endif -%}
+ </div>{{- "" -}}
+ <div class="modal-footer">{{- "" -}}
+ <div class="clearfix"></div>{{- "" -}}
+ <span class="label label-default pull-right">{{ result.engine }}</span>{{- "" -}}
+ <p class="text-muted pull-left">{{ result.pretty_url }}</p>{{- "" -}}
+ <div class="clearfix"></div>{{- "" -}}
+ <div class="row">{{- "" -}}
+ <div class="col-md-6">{{- "" -}}
+ <a href="{{ result.img_src }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %} class="btn btn-default">{{ _('Get image') }}</a>{{- "" -}}
+ </div>{{- "" -}}
+ <div class="col-md-6">{{- "" -}}
+ <a href="{{ result.url }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %} class="btn btn-default">{{ _('View source') }}</a>{{- "" -}}
+ </div>{{- "" -}}
+ </div>{{- "" -}}
+ </div>{{- "" -}}
+ </div>{{- "" -}}
+ </div>{{- "" -}}
+</div>{{- "" -}}
diff --git a/searx/templates/oscar/result_templates/key-value.html b/searx/templates/oscar/result_templates/key-value.html
new file mode 100644
index 000000000..67c748e7f
--- /dev/null
+++ b/searx/templates/oscar/result_templates/key-value.html
@@ -0,0 +1,19 @@
+{% from 'oscar/macros.html' import result_footer, result_footer_rtl with context %}
+<div class="panel panel-default">
+<table class="table table-responsive table-bordered table-condensed">
+ {% for key, value in result.items() %}
+ {% if key in ['engine', 'engines', 'template', 'score', 'category', 'positions'] %}
+ {% continue %}
+ {% endif %}
+ <tr>
+ <td><b>{{ key|upper }}</b>: {{ value }}</td>
+ </tr>
+ {% endfor %}
+</table>
+
+{% if rtl %}
+{{ result_footer_rtl(result) }}
+{% else %}
+{{ result_footer(result) }}
+{% endif %}
+</div>
diff --git a/searx/templates/oscar/result_templates/map.html b/searx/templates/oscar/result_templates/map.html
index 822c7cdea..712375d7f 100644
--- a/searx/templates/oscar/result_templates/map.html
+++ b/searx/templates/oscar/result_templates/map.html
@@ -1,72 +1,72 @@
-{% from 'oscar/macros.html' import result_header, result_sub_header, result_footer, result_footer_rtl, icon %}
-
-{{ result_header(result, favicons) }}
-{{ result_sub_header(result) }}
-
-{% if (result.latitude and result.longitude) or result.boundingbox %}
- <small> &bull; <a class="text-info btn-collapse collapsed searx_init_map cursor-pointer disabled_if_nojs" data-toggle="collapse" data-target="#result-map-{{ index }}" data-leaflet-target="osm-map-{{ index }}" data-map-lon="{{ result.longitude }}" data-map-lat="{{ result.latitude }}" {% if result.boundingbox %}data-map-boundingbox='{{ result.boundingbox|tojson|safe }}'{% endif %} {% if result.geojson %}data-map-geojson='{{ result.geojson|tojson|safe }}'{% endif %} data-btn-text-collapsed="{{ _('show map') }}" data-btn-text-not-collapsed="{{ _('hide map') }}">{{ icon('globe') }} {{ _('show map') }}</a></small>
-{% endif %}
-
-{% if result.osm and (result.osm.type and result.osm.id) %}
- <small> &bull; <a class="text-info btn-collapse collapsed cursor-pointer searx_overpass_request disabled_if_nojs" data-toggle="collapse" data-target="#result-overpass-{{ index }}" data-osm-type="{{ result.osm.type }}" data-osm-id="{{ result.osm.id }}" data-result-table="result-overpass-table-{{ index }}" data-result-table-loadicon="result-overpass-table-loading-{{ index }}" data-btn-text-collapsed="{{ _('show details') }}" data-btn-text-not-collapsed="{{ _('hide details') }}">{{ icon('map-marker') }} {{ _('show details') }}</a></small>
-{% endif %}
-
-{# {% if (result.latitude and result.longitude) %}
- <small> &bull; <a class="text-info btn-collapse collapsed cursor-pointer disabled_if_nojs" data-toggle="collapse" data-target="#result-geodata-{{ index }}" data-btn-text-collapsed="{{ _('show geodata') }}" data-btn-text-not-collapsed="{{ _('hide geodata') }}">{{ icon('map-marker') }} {{ _('show geodata') }}</a></small>
-{% endif %} #}
-
-<div class="container-fluid">
-
-{% if result.address %}
-<p class="row result-content result-adress col-xs-12 col-sm-5 col-md-4" itemscope itemtype="http://schema.org/PostalAddress">
- {% if result.address.name %}
- <strong itemprop="name">{{ result.address.name }}</strong><br/>
- {% endif %}
- {% if result.address.road %}
- <span itemprop="streetAddress">
- {% if result.address.house_number %}{{ result.address.house_number }}, {% endif %}
- {{ result.address.road }}
- </span><br/>
- {% endif %}
- {% if result.address.locality %}
- <span itemprop="addressLocality">{{ result.address.locality }}</span>
- {% if result.address.postcode %}, <span itemprop="postalCode">{{ result.address.postcode }}</span>{% endif %}
- <br/>
- {% endif %}
- {% if result.address.country %}
- <span itemprop="addressCountry">{{ result.address.country }}</span>
- {% endif %}
-</p>
-{% endif %}
-
-{% if result.osm and (result.osm.type and result.osm.id) %}
- <div class="row result-content collapse col-xs-12 col-sm-7 col-md-8" id="result-overpass-{{ index }}"{% if rtl %} dir="ltr"{% endif %}>
- <div class="text-center" id="result-overpass-table-loading-{{ index }}"><img src="{{ url_for('static', filename='img/loader.gif') }}" alt="Loading ..."/></div>
- <table class="table table-striped table-condensed hidden" id="result-overpass-table-{{ index }}">
- <tr><th>key</th><th>value</th></tr>
- </table>
- </div>
-{% endif %}
-
-{# {% if (result.latitude and result.longitude) %}
- <div class="row collapse col-xs-12 col-sm-5 col-md-4" id="result-geodata-{{ index }}">
- <strong>Longitude:</strong> {{ result.longitude }} <br/>
- <strong>Latitude:</strong> {{ result.latitude }}
- </div>
-{% endif %} #}
-
-{% if result.content %}<p class="row result-content col-xs-12 col-sm-12 col-md-12">{{ result.content|safe }}</p>{% endif %}
-
-</div>
-
-{% if (result.latitude and result.longitude) or result.boundingbox %}
- <div class="collapse" id="result-map-{{ index }}">
- <div style="height:300px; width:100%; margin: 10px 0;" id="osm-map-{{ index }}"></div>
- </div>
-{% endif %}
-
-{% if rtl %}
-{{ result_footer_rtl(result) }}
-{% else %}
-{{ result_footer(result) }}
-{% endif %}
+{% from 'oscar/macros.html' import result_header, result_sub_header, result_footer, result_footer_rtl, icon %}
+
+{{ result_header(result, favicons) }}
+{{ result_sub_header(result) }}
+
+{% if (result.latitude and result.longitude) or result.boundingbox %}
+ <small> &bull; <a class="text-info btn-collapse collapsed searx_init_map cursor-pointer disabled_if_nojs" data-toggle="collapse" data-target="#result-map-{{ index }}" data-leaflet-target="osm-map-{{ index }}" data-map-lon="{{ result.longitude }}" data-map-lat="{{ result.latitude }}" {% if result.boundingbox %}data-map-boundingbox='{{ result.boundingbox|tojson|safe }}'{% endif %} {% if result.geojson %}data-map-geojson='{{ result.geojson|tojson|safe }}'{% endif %} data-btn-text-collapsed="{{ _('show map') }}" data-btn-text-not-collapsed="{{ _('hide map') }}">{{ icon('globe') }} {{ _('show map') }}</a></small>
+{% endif %}
+
+{% if result.osm and (result.osm.type and result.osm.id) %}
+ <small> &bull; <a class="text-info btn-collapse collapsed cursor-pointer searx_overpass_request disabled_if_nojs" data-toggle="collapse" data-target="#result-overpass-{{ index }}" data-osm-type="{{ result.osm.type }}" data-osm-id="{{ result.osm.id }}" data-result-table="result-overpass-table-{{ index }}" data-result-table-loadicon="result-overpass-table-loading-{{ index }}" data-btn-text-collapsed="{{ _('show details') }}" data-btn-text-not-collapsed="{{ _('hide details') }}">{{ icon('map-marker') }} {{ _('show details') }}</a></small>
+{% endif %}
+
+{# {% if (result.latitude and result.longitude) %}
+ <small> &bull; <a class="text-info btn-collapse collapsed cursor-pointer disabled_if_nojs" data-toggle="collapse" data-target="#result-geodata-{{ index }}" data-btn-text-collapsed="{{ _('show geodata') }}" data-btn-text-not-collapsed="{{ _('hide geodata') }}">{{ icon('map-marker') }} {{ _('show geodata') }}</a></small>
+{% endif %} #}
+
+<div class="container-fluid">
+
+{% if result.address %}
+<p class="row result-content result-adress col-xs-12 col-sm-5 col-md-4" itemscope itemtype="http://schema.org/PostalAddress">
+ {% if result.address.name %}
+ <strong itemprop="name">{{ result.address.name }}</strong><br/>
+ {% endif %}
+ {% if result.address.road %}
+ <span itemprop="streetAddress">
+ {% if result.address.house_number %}{{ result.address.house_number }}, {% endif %}
+ {{ result.address.road }}
+ </span><br/>
+ {% endif %}
+ {% if result.address.locality %}
+ <span itemprop="addressLocality">{{ result.address.locality }}</span>
+ {% if result.address.postcode %}, <span itemprop="postalCode">{{ result.address.postcode }}</span>{% endif %}
+ <br/>
+ {% endif %}
+ {% if result.address.country %}
+ <span itemprop="addressCountry">{{ result.address.country }}</span>
+ {% endif %}
+</p>
+{% endif %}
+
+{% if result.osm and (result.osm.type and result.osm.id) %}
+ <div class="row result-content collapse col-xs-12 col-sm-7 col-md-8" id="result-overpass-{{ index }}"{% if rtl %} dir="ltr"{% endif %}>
+ <div class="text-center" id="result-overpass-table-loading-{{ index }}"><img src="{{ url_for('static', filename='img/loader.gif') }}" alt="Loading ..."/></div>
+ <table class="table table-striped table-condensed hidden" id="result-overpass-table-{{ index }}">
+ <tr><th>key</th><th>value</th></tr>
+ </table>
+ </div>
+{% endif %}
+
+{# {% if (result.latitude and result.longitude) %}
+ <div class="row collapse col-xs-12 col-sm-5 col-md-4" id="result-geodata-{{ index }}">
+ <strong>Longitude:</strong> {{ result.longitude }} <br/>
+ <strong>Latitude:</strong> {{ result.latitude }}
+ </div>
+{% endif %} #}
+
+{% if result.content %}<p class="row result-content col-xs-12 col-sm-12 col-md-12">{{ result.content|safe }}</p>{% endif %}
+
+</div>
+
+{% if (result.latitude and result.longitude) or result.boundingbox %}
+ <div class="collapse" id="result-map-{{ index }}">
+ <div style="height:300px; width:100%; margin: 10px 0;" id="osm-map-{{ index }}"></div>
+ </div>
+{% endif %}
+
+{% if rtl %}
+{{ result_footer_rtl(result) }}
+{% else %}
+{{ result_footer(result) }}
+{% endif %}
diff --git a/searx/templates/oscar/result_templates/torrent.html b/searx/templates/oscar/result_templates/torrent.html
index bc2b30fbe..089367e36 100644
--- a/searx/templates/oscar/result_templates/torrent.html
+++ b/searx/templates/oscar/result_templates/torrent.html
@@ -3,7 +3,7 @@
{{ result_header(result, favicons) }}
{{ result_sub_header(result) }}
-<p class="result-content">{{ icon('transfer') }} {{ _('Seeder') }} <span class="badge">{{ result.seed }}</span> &bull; {{ _('Leecher') }} <span class="badge">{{ result.leech }}</span>
+{% if result.seed is defined %}<p class="result-content">{{ icon('transfer') }} {{ _('Seeder') }} <span class="badge">{{ result.seed }}</span> &bull; {{ _('Leecher') }} <span class="badge">{{ result.leech }}</span>{% endif %}
{% if result.filesize %}<br />{{ icon('floppy-disk') }} {{ _('Filesize') }}
<span class="badge">
{% if result.filesize < 1024 %}{{ result.filesize }} {{ _('Bytes') }}
diff --git a/searx/templates/oscar/result_templates/videos.html b/searx/templates/oscar/result_templates/videos.html
index 36fb26240..3c1913d9d 100644
--- a/searx/templates/oscar/result_templates/videos.html
+++ b/searx/templates/oscar/result_templates/videos.html
@@ -1,27 +1,27 @@
-{% from 'oscar/macros.html' import result_header, result_sub_header, result_footer, result_footer_rtl, icon %}
-
-{{ result_header(result, favicons) }}
-{{ result_sub_header(result) }}
-
-{% if result.embedded %}
- <small> &bull; <a class="text-info btn-collapse collapsed cursor-pointer media-loader disabled_if_nojs" data-toggle="collapse" data-target="#result-video-{{ index }}" data-btn-text-collapsed="{{ _('show video') }}" data-btn-text-not-collapsed="{{ _('hide video') }}">{{ icon('film') }} {{ _('show video') }}</a></small>
-{% endif %}
-
-{% if result.embedded %}
-<div id="result-video-{{ index }}" class="collapse">
- {{ result.embedded|safe }}
-</div>
-{% endif %}
-
-<div class="container-fluid">
- <div class="row">
- <a href="{{ result.url }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %}><img class="thumbnail col-xs-6 col-sm-4 col-md-4 result-content" src="{{ image_proxify(result.thumbnail) }}" alt="{{ result.title|striptags }} {{ result.engine }}" /></a>
- {% if result.content %}<p class="col-xs-12 col-sm-8 col-md-8 result-content">{{ result.content|safe }}</p>{% endif %}
- </div>
-</div>
-
-{% if rtl %}
-{{ result_footer_rtl(result) }}
-{% else %}
-{{ result_footer(result) }}
-{% endif %}
+{% from 'oscar/macros.html' import result_header, result_sub_header, result_footer, result_footer_rtl, icon %}
+
+{{ result_header(result, favicons) }}
+{{ result_sub_header(result) }}
+
+{% if result.embedded %}
+ <small> &bull; <a class="text-info btn-collapse collapsed cursor-pointer media-loader disabled_if_nojs" data-toggle="collapse" data-target="#result-video-{{ index }}" data-btn-text-collapsed="{{ _('show video') }}" data-btn-text-not-collapsed="{{ _('hide video') }}">{{ icon('film') }} {{ _('show video') }}</a></small>
+{% endif %}
+
+{% if result.embedded %}
+<div id="result-video-{{ index }}" class="collapse">
+ {{ result.embedded|safe }}
+</div>
+{% endif %}
+
+<div class="container-fluid">
+ <div class="row">
+ <a href="{{ result.url }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %}><img class="thumbnail col-xs-6 col-sm-4 col-md-4 result-content" src="{{ image_proxify(result.thumbnail) }}" alt="{{ result.title|striptags }} {{ result.engine }}" /></a>
+ {% if result.content %}<p class="col-xs-12 col-sm-8 col-md-8 result-content">{{ result.content|safe }}</p>{% endif %}
+ </div>
+</div>
+
+{% if rtl %}
+{{ result_footer_rtl(result) }}
+{% else %}
+{{ result_footer(result) }}
+{% endif %}
diff --git a/searx/templates/oscar/results.html b/searx/templates/oscar/results.html
index ee1052dba..9cf942695 100644
--- a/searx/templates/oscar/results.html
+++ b/searx/templates/oscar/results.html
@@ -1,155 +1,156 @@
-{% extends "oscar/base.html" %}
-{% macro search_form_attrs(pageno) -%}
- {% for category in selected_categories %}<input type="hidden" name="category_{{ category }}" value="1"/>{% endfor %}
- <input type="hidden" name="q" value="{{ q|e }}" />
- <input type="hidden" name="pageno" value="{{ pageno }}" />
- <input type="hidden" name="time_range" value="{{ time_range }}" />
- <input type="hidden" name="language" value="{{ current_language }}" />
-{%- endmacro %}
-{%- macro search_url() %}{{ base_url }}?q={{ q|urlencode }}{% if selected_categories %}&amp;categories={{ selected_categories|join(",") | replace(' ','+') }}{% endif %}{% if pageno > 1 %}&amp;pageno={{ pageno }}{% endif %}{% if time_range %}&amp;time_range={{ time_range }}{% endif %}{% if current_language != 'all' %}&amp;language={{ current_language }}{% endif %}{% endmacro -%}
-
-{% block title %}{{ q|e }} - {% endblock %}
-{% block meta %}<link rel="alternate" type="application/rss+xml" title="Searx search: {{ q|e }}" href="{{ search_url() }}&amp;format=rss">{% endblock %}
-{% block content %}
- {% include 'oscar/search.html' %}
- <div class="row">
- <div class="col-sm-8" id="main_results">
- <h1 class="sr-only">{{ _('Search results') }}</h1>
-
- {% if corrections %}
- <div class="result">
- <span class="result_header text-muted form-inline pull-left suggestion_item">{{ _('Try searching for:') }}</span>
- {% for correction in corrections %}
- <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" role="navigation" class="form-inline pull-left suggestion_item">
- <input type="hidden" name="q" value="{{ correction }}">
- <button type="submit" class="btn btn-default btn-xs">{{ correction }}</button>
- </form>
- {% endfor %}
- </div>
- {% endif %}
-
- {% if answers %}
- {% for answer in answers %}
- <div class="result well">
- <span>{{ answer }}</span>
- </div>
- {% endfor %}
- {% endif %}
-
- {% for result in results %}
- <div class="result {% if result['template'] %}result-{{ result.template|replace('.html', '') }}{% else %}result-default{% endif %}">
- {% set index = loop.index %}
- {% if result.template %}
- {% include get_result_template('oscar', result['template']) %}
- {% else %}
- {% include 'oscar/result_templates/default.html' %}
- {% endif %}
- </div>
- {% endfor %}
-
- {% if not results and not answers %}
- {% include 'oscar/messages/no_results.html' %}
- {% endif %}
-
- <div class="clearfix"></div>
-
- {% if paging %}
- {% if rtl %}
- <div id="pagination">
- <div class="pull-left">
- <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" class="pull-left">
- {{ search_form_attrs(pageno+1) }}
- <button type="submit" class="btn btn-default"><span class="glyphicon glyphicon-backward"></span> {{ _('next page') }}</button>
- </form>
- </div>
- <div class="pull-right">
- <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" class="pull-left">
- {{ search_form_attrs(pageno-1) }}
- <button type="submit" class="btn btn-default" {% if pageno == 1 %}disabled{% endif %}><span class="glyphicon glyphicon-forward"></span> {{ _('previous page') }}</button>
- </form>
- </div>
- </div><!-- /#pagination -->
- <div class="clearfix"></div>
- {% else %}
- <div id="pagination">
- <div class="pull-left">
- <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" class="pull-left">
- {{ search_form_attrs(pageno-1) }}
- <button type="submit" class="btn btn-default" {% if pageno == 1 %}disabled{% endif %}><span class="glyphicon glyphicon-backward"></span> {{ _('previous page') }}</button>
- </form>
- </div>
- <div class="pull-right">
- <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" class="pull-left">
- {{ search_form_attrs(pageno+1) }}
- <button type="submit" class="btn btn-default"><span class="glyphicon glyphicon-forward"></span> {{ _('next page') }}</button>
- </form>
- </div>
- </div><!-- /#pagination -->
- <div class="clearfix"></div>
- {% endif %}
- {% endif %}
- </div><!-- /#main_results -->
-
- <div class="col-sm-4" id="sidebar_results">
- {% if number_of_results != '0' %}
- <p><small>{{ _('Number of results') }}: {{ number_of_results }}</small></p>
- {% endif %}
-
- {% if unresponsive_engines and results|length >= 1 %}
- <div class="alert alert-danger fade in" role="alert">
- <p>{{ _('Engines cannot retrieve results') }}:</p>
- {% for engine_name, error_type in unresponsive_engines %}
- {{ engine_name }} ({{ error_type }}){% if not loop.last %}, {% endif %}
- {% endfor %}
- </div>
- {% endif %}
-
- {% if infoboxes %}
- {% for infobox in infoboxes %}
- {% include 'oscar/infobox.html' %}
- {% endfor %}
- {% endif %}
-
- {% if suggestions %}
- <div class="panel panel-default">
- <div class="panel-heading">
- <h4 class="panel-title">{{ _('Suggestions') }}</h4>
- </div>
- <div class="panel-body">
- {% for suggestion in suggestions %}
- <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" role="navigation" class="form-inline pull-{% if rtl %}right{% else %}left{% endif %} suggestion_item">
- <input type="hidden" name="q" value="{{ suggestion }}">
- <button type="submit" class="btn btn-default btn-xs">{{ suggestion }}</button>
- </form>
- {% endfor %}
- </div>
- </div>
- {% endif %}
-
- <div class="panel panel-default">
- <div class="panel-heading">
- <h4 class="panel-title">{{ _('Links') }}</h4>
- </div>
- <div class="panel-body">
- <form role="form">
- <div class="form-group">
- <label for="search_url">{{ _('Search URL') }}</label>
- <input id="search_url" type="url" class="form-control select-all-on-click cursor-text" name="search_url" value="{{ search_url() }}" readonly>
- </div>
- </form>
-
- <label>{{ _('Download results') }}</label>
- <div class="clearfix"></div>
- {% for output_type in ('csv', 'json', 'rss') %}
- <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" class="form-inline pull-{% if rtl %}right{% else %}left{% endif %} result_download">
- {{ search_form_attrs(pageno) }}
- <input type="hidden" name="format" value="{{ output_type }}">
- <button type="submit" class="btn btn-default">{{ output_type }}</button>
- </form>
- {% endfor %}
- <div class="clearfix"></div>
- </div>
- </div>
- </div><!-- /#sidebar_results -->
- </div>
-{% endblock %}
+{% extends "oscar/base.html" %}
+{% macro search_form_attrs(pageno) -%}
+ {%- for category in selected_categories -%}<input type="hidden" name="category_{{ category }}" value="1"/>{%- endfor -%}
+ <input type="hidden" name="q" value="{{ q|e }}" />{{- "" -}}
+ <input type="hidden" name="pageno" value="{{ pageno }}" />{{- "" -}}
+ <input type="hidden" name="time_range" value="{{ time_range }}" />{{- "" -}}
+ <input type="hidden" name="language" value="{{ current_language }}" />{{- "" -}}
+ {% if timeout_limit %}<input type="hidden" name="timeout_limit" value="{{ timeout_limit|e }}" />{% endif -%}
+{%- endmacro %}
+{%- macro search_url() %}{{ base_url }}?q={{ q|urlencode }}{% if selected_categories %}&amp;categories={{ selected_categories|join(",") | replace(' ','+') }}{% endif %}{% if pageno > 1 %}&amp;pageno={{ pageno }}{% endif %}{% if time_range %}&amp;time_range={{ time_range }}{% endif %}{% if current_language != 'all' %}&amp;language={{ current_language }}{% endif %}{% endmacro -%}
+
+{% block title %}{{ q|e }} - {% endblock %}
+{% block meta %}{{" "}}<link rel="alternate" type="application/rss+xml" title="Searx search: {{ q|e }}" href="{{ search_url() }}&amp;format=rss">{% endblock %}
+{% block content %}
+ {% include 'oscar/search.html' %}
+
+ <div class="row">
+ <div class="col-sm-8" id="main_results">
+ <h1 class="sr-only">{{ _('Search results') }}</h1>
+
+ {% if corrections -%}
+ <div class="result">
+ <span class="result_header text-muted form-inline pull-left suggestion_item">{{ _('Try searching for:') }}</span>
+ {% for correction in corrections -%}
+ <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" role="navigation" class="form-inline pull-left suggestion_item">{{- "" -}}
+ <input type="hidden" name="q" value="{{ correction.url }}">{{- "" -}}
+ <button type="submit" class="btn btn-default btn-xs">{{ correction.title }}</button>{{- "" -}}
+ </form>
+ {% endfor %}
+ </div>
+ {%- endif %}
+
+ {% if answers -%}
+ {%- for answer in answers %}
+ <div class="result well">
+ <span>{{ answer }}</span>
+ </div>
+ {%- endfor %}
+ {%- endif %}
+
+ {% for result in results -%}
+ <div class="result {% if result['template'] %}result-{{ result.template|replace('.html', '') }}{% else %}result-default{% endif %}">
+ {%- set index = loop.index -%}
+ {%- if result.template -%}
+ {% include get_result_template('oscar', result['template']) %}
+ {%- else -%}
+ {% include 'oscar/result_templates/default.html' %}
+ {%- endif -%}
+ </div>
+ {% endfor %}
+
+ {% if not results and not answers -%}
+ {% include 'oscar/messages/no_results.html' %}
+ {% endif %}
+
+ <div class="clearfix"></div>
+
+ {% if paging -%}
+ {% if rtl %}
+ <div id="pagination">
+ <div class="pull-left">{{- "" -}}
+ <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" class="pull-left">
+ {{- search_form_attrs(pageno+1) -}}
+ <button type="submit" class="btn btn-default"><span class="glyphicon glyphicon-backward"></span> {{ _('next page') }}</button>{{- "" -}}
+ </form>{{- "" -}}
+ </div>
+ <div class="pull-right">{{- "" -}}
+ <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" class="pull-left">
+ {{- search_form_attrs(pageno-1) -}}
+ <button type="submit" class="btn btn-default" {% if pageno == 1 %}disabled{% endif %}><span class="glyphicon glyphicon-forward"></span> {{ _('previous page') }}</button>{{- "" -}}
+ </form>{{- "" -}}
+ </div>
+ </div><!-- /#pagination -->
+ <div class="clearfix"></div>
+ {% else %}
+ <div id="pagination">
+ <div class="pull-left">{{- "" -}}
+ <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" class="pull-left">
+ {{- search_form_attrs(pageno-1) -}}
+ <button type="submit" class="btn btn-default" {% if pageno == 1 %}disabled{% endif %}><span class="glyphicon glyphicon-backward"></span> {{ _('previous page') }}</button>{{- "" -}}
+ </form>{{- "" -}}
+ </div>
+ <div class="pull-right">{{- "" -}}
+ <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" class="pull-left">
+ {{- search_form_attrs(pageno+1) -}}
+ <button type="submit" class="btn btn-default"><span class="glyphicon glyphicon-forward"></span> {{ _('next page') }}</button>{{- "" -}}
+ </form>{{- "" -}}
+ </div>
+ </div><!-- /#pagination -->
+ <div class="clearfix"></div>
+ {% endif %}
+ {% endif %}
+ </div><!-- /#main_results -->
+
+ <div class="col-sm-4" id="sidebar_results">
+ {% if number_of_results != '0' -%}
+ <p><small>{{ _('Number of results') }}: {{ number_of_results }}</small></p>
+ {%- endif %}
+
+ {% if unresponsive_engines and results|length >= 1 -%}
+ <div class="alert alert-danger fade in" role="alert">
+ <p>{{ _('Engines cannot retrieve results') }}:</p>
+ {%- for engine_name, error_type in unresponsive_engines -%}
+ {{- engine_name }} ({{ error_type }}){% if not loop.last %}, {% endif %}{{- "" -}}
+ {%- endfor -%}
+ </div>
+ {%- endif %}
+
+ {% if infoboxes -%}
+ {% for infobox in infoboxes %}
+ {% include 'oscar/infobox.html' %}{{- "\n\n" -}}
+ {% endfor %}
+ {%- endif %}
+
+ {% if suggestions %}
+ <div class="panel panel-default">
+ <div class="panel-heading">
+ <h4 class="panel-title">{{ _('Suggestions') }}</h4>
+ </div>
+ <div class="panel-body">
+ {% for suggestion in suggestions %}
+ <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" role="navigation" class="form-inline pull-{% if rtl %}right{% else %}left{% endif %} suggestion_item">
+ <input type="hidden" name="q" value="{{ suggestion.url }}">
+ <button type="submit" class="btn btn-default btn-xs">{{ suggestion.title }}</button>
+ </form>
+ {% endfor %}
+ </div>
+ </div>
+ {%- endif %}
+
+ <div class="panel panel-default">
+ <div class="panel-heading">{{- "" -}}
+ <h4 class="panel-title">{{ _('Links') }}</h4>{{- "" -}}
+ </div>
+ <div class="panel-body">
+ <form role="form">{{- "" -}}
+ <div class="form-group">{{- "" -}}
+ <label for="search_url">{{ _('Search URL') }}</label>{{- "" -}}
+ <input id="search_url" type="url" class="form-control select-all-on-click cursor-text" name="search_url" value="{{ search_url() }}" readonly>{{- "" -}}
+ </div>{{- "" -}}
+ </form>
+ <label>{{ _('Download results') }}</label>
+ <div class="clearfix"></div>
+ {% for output_type in ('csv', 'json', 'rss') %}
+ <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" class="form-inline pull-{% if rtl %}right{% else %}left{% endif %} result_download">
+ {{- search_form_attrs(pageno) -}}
+ <input type="hidden" name="format" value="{{ output_type }}">{{- "" -}}
+ <button type="submit" class="btn btn-default">{{ output_type }}</button>{{- "" -}}
+ </form>
+ {% endfor %}
+ <div class="clearfix"></div>
+ </div>
+ </div>
+ </div><!-- /#sidebar_results -->
+ </div>
+{% endblock %}
diff --git a/searx/templates/oscar/search.html b/searx/templates/oscar/search.html
index 59ee4688d..cad9eca89 100644
--- a/searx/templates/oscar/search.html
+++ b/searx/templates/oscar/search.html
@@ -1,24 +1,24 @@
-{% from 'oscar/macros.html' import icon %}
-<form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" id="search_form" role="search">
- <div class="row">
- <div class="col-xs-12 col-md-8">
- <div class="input-group search-margin">
- <input type="search" name="q" class="form-control" id="q" placeholder="{{ _('Search for...') }}" autocomplete="off" value="{{ q }}">
- <span class="input-group-btn">
- <button type="submit" class="btn btn-default"><span class="hide_if_nojs">{{ icon('search') }}</span><span class="hidden active_if_nojs">{{ _('Start search') }}</span></button>
- </span>
- </div>
- </div>
- <div class="col-xs-6 col-md-2 search-margin">
- {% include 'oscar/time-range.html' %}
- </div>
- <div class="col-xs-6 col-md-2 search-margin">
- {% include 'oscar/languages.html' %}
- </div>
- </div>
- <div class="row">
- <div class="col-sm-12">
- {% include 'oscar/categories.html' %}
- </div>
- </div>
-</form><!-- / #search_form_full -->
+{% from 'oscar/macros.html' import icon %}
+<form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" id="search_form" role="search">
+ <div class="row">
+ <div class="col-xs-12 col-md-8">
+ <div class="input-group search-margin">
+ <input type="search" name="q" class="form-control" id="q" placeholder="{{ _('Search for...') }}" aria-label="{{ _('Search for...') }}" autocomplete="off" value="{{ q }}" accesskey="s">
+ <span class="input-group-btn">
+ <button type="submit" class="btn btn-default" aria-label="{{ _('Start search') }}"><span class="hide_if_nojs">{{ icon('search') }}</span><span class="hidden active_if_nojs">{{ _('Start search') }}</span></button>
+ </span>
+ </div>
+ </div>
+ <div class="col-xs-6 col-md-2 search-margin">
+ {%- include 'oscar/time-range.html' -%}
+ </div>
+ <div class="col-xs-6 col-md-2 search-margin">
+ {%- include 'oscar/languages.html' -%}
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-sm-12">
+ {%- include 'oscar/categories.html' -%}
+ </div>
+ </div>
+</form><!-- / #search_form_full -->
diff --git a/searx/templates/oscar/search_full.html b/searx/templates/oscar/search_full.html
index 6fdae4028..656463178 100644
--- a/searx/templates/oscar/search_full.html
+++ b/searx/templates/oscar/search_full.html
@@ -1,18 +1,18 @@
-{% from 'oscar/macros.html' import icon %}
-
-<form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" id="search_form" role="search">
- {% if rtl %}
- <div class="input-group">
- {% else %}
- <div class="input-group col-md-8 col-md-offset-2">
- {% endif %}
- <input type="search" name="q" class="form-control input-lg autofocus" id="q" placeholder="{{ _('Search for...') }}" autocomplete="off" value="{{ q }}">
- <span class="input-group-btn">
- <button type="submit" class="btn btn-default input-lg"><span class="hide_if_nojs">{{ icon('search') }}</span><span class="hidden active_if_nojs">{{ _('Start search') }}</span></button>
- </span>
- </div>
- <div class="col-md-8 col-md-offset-2 advanced">
- {% include 'oscar/advanced.html' %}
- </div>
-
-</form><!-- / #search_form_full -->
+{% from 'oscar/macros.html' import icon %}
+
+<form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" id="search_form" role="search">
+ {% if rtl %}
+ <div class="input-group">
+ {% else %}
+ <div class="input-group col-md-8 col-md-offset-2">
+ {% endif %}
+ <input type="search" name="q" class="form-control input-lg autofocus" id="q" placeholder="{{ _('Search for...') }}" aria-label="{{ _('Search for...') }}" autocomplete="off" value="{{ q }}" accesskey="s">
+ <span class="input-group-btn">
+ <button type="submit" class="btn btn-default input-lg" aria-label="{{ _('Start search') }}"><span class="hide_if_nojs">{{ icon('search') }}</span><span class="hidden active_if_nojs">{{ _('Start search') }}</span></button>
+ </span>
+ </div>
+ <div class="col-md-8 col-md-offset-2 advanced">
+ {% include 'oscar/advanced.html' %}
+ </div>
+
+</form><!-- / #search_form_full -->
diff --git a/searx/templates/oscar/time-range.html b/searx/templates/oscar/time-range.html
index d5efe9182..fb1c0754b 100644
--- a/searx/templates/oscar/time-range.html
+++ b/searx/templates/oscar/time-range.html
@@ -1,17 +1,17 @@
-<select name="time_range" id="time-range" class="custom-select form-control">
+<select name="time_range" id="time-range" class="custom-select form-control" accesskey="t">{{- "" -}}
<option id="time-range-anytime" value="" {{ "selected" if time_range=="" or not time_range else ""}}>
- {{ _('Anytime') }}
- </option>
+ {{- _('Anytime') -}}
+ </option>{{- "" -}}
<option id="time-range-day" value="day" {{ "selected" if time_range=="day" else ""}}>
- {{ _('Last day') }}
- </option>
+ {{- _('Last day') -}}
+ </option>{{- "" -}}
<option id="time-range-week" value="week" {{ "selected" if time_range=="week" else ""}}>
- {{ _('Last week') }}
- </option>
+ {{- _('Last week') -}}
+ </option>{{- "" -}}
<option id="time-range-month" value="month" {{ "selected" if time_range=="month" else ""}}>
- {{ _('Last month') }}
- </option>
+ {{- _('Last month') -}}
+ </option>{{- "" -}}
<option id="time-range-year" value="year" {{ "selected" if time_range=="year" else ""}}>
- {{ _('Last year') }}
- </option>
+ {{- _('Last year') -}}
+ </option>{{- "" -}}
</select>
diff --git a/searx/templates/pix-art/preferences.html b/searx/templates/pix-art/preferences.html
index 0b2bb6709..05876dedf 100644
--- a/searx/templates/pix-art/preferences.html
+++ b/searx/templates/pix-art/preferences.html
@@ -9,6 +9,7 @@
<legend>{{ _('Search language') }}</legend>
<p>
<select name='language'>
+ <option value="all" {% if current_language == 'all' %}selected="selected"{% endif %}>{{ _('Default language') }}</option>
{% for lang_id,lang_name,country_name,english_name in language_codes | sort(attribute=1) %}
<option value="{{ lang_id }}" {% if lang_id == current_language %}selected="selected"{% endif %}>{{ lang_name }} {% if country_name %}({{ country_name }}) {% endif %}- {{ lang_id }}</option>
{% endfor %}
diff --git a/searx/templates/simple/base.html b/searx/templates/simple/base.html
index f0dea57bb..92597b654 100644
--- a/searx/templates/simple/base.html
+++ b/searx/templates/simple/base.html
@@ -10,30 +10,27 @@
<meta name="viewport" content="width=device-width, maximum-scale=1.0, user-scalable=1">
<meta name="HandheldFriendly" content="True">
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
- <title>{% block title %}{% endblock %}searx</title>
+ <title>{% block title %}{% endblock %}{{ instance_name }}</title>
+ {% block meta %}{% endblock %}
{% if rtl %}
<link rel="stylesheet" href="{{ url_for('static', filename='css/searx-rtl.min.css') }}" type="text/css" media="screen" />
{% else %}
<link rel="stylesheet" href="{{ url_for('static', filename='css/searx.min.css') }}" type="text/css" media="screen" />
{% endif %}
{% block styles %}{% endblock %}
- {% block meta %}{% endblock %}
+ <!--[if gte IE 9]>-->
+ <script src="{{ url_for('static', filename='js/searx.head.min.js') }}"
+ data-method="{{ method or 'POST' }}"
+ data-autocompleter="{% if autocomplete %}true{% else %}false{% endif %}"
+ data-search-on-category-select="{{ 'true' if 'plugins/js/search_on_category_select.js' in scripts else 'false'}}"
+ data-infinite-scroll="{{ 'true' if 'plugins/js/infinite_scroll.js' in scripts else 'false' }}"
+ data-static-path="{{ url_for('static', filename='themes/simple') }}/"
+ data-no-item-found="{{ _('No item found') }}"></script>
+ <!--<![endif]-->
{% block head %}
<link title="{{ instance_name }}" type="application/opensearchdescription+xml" rel="search" href="{{ url_for('opensearch') }}"/>
{% endblock %}
<link rel="shortcut icon" href="{{ url_for('static', filename='img/favicon.png') }}" />
- <script type="text/javascript">
- var searx = {
- autocompleter: {% if autocomplete %}true{% else %}false{% endif %},
- method: "{{ method or 'POST' }}",
- touch: (("ontouchstart" in window) || window.DocumentTouch && document instanceof DocumentTouch) || false,
- staticPath: "{{ url_for('static', filename='themes/simple') }}/",
- noItemFound: "{{ _('No item found') }}",
- search_on_category_select: {{ 'true' if 'plugins/js/search_on_category_select.js' in scripts else 'false'}},
- infinite_scroll: {{ 'true' if 'plugins/js/infinite_scroll.js' in scripts else 'false' }}
- };
- document.getElementsByTagName("html")[0].className = (searx.touch)?"js touch":"js";
- </script>
</head>
<body>
<main id="main_{{ self._TemplateReference__context.name|replace("simple/", "")|replace(".html", "") }}">
@@ -60,7 +57,7 @@
</p>
</footer>
<!--[if gte IE 9]>-->
- <script src="{{ url_for('static', filename='js/searx.min.js') }}" ></script>
+ <script src="{{ url_for('static', filename='js/searx.min.js') }}"></script>
<!--<![endif]-->
</body>
</html>
diff --git a/searx/templates/simple/infobox.html b/searx/templates/simple/infobox.html
index d99806ac4..50b568919 100644
--- a/searx/templates/simple/infobox.html
+++ b/searx/templates/simple/infobox.html
@@ -36,6 +36,11 @@
{% for suggestion in topic.suggestions %}
<form method="{{ method or 'POST' }}" action="{{ url_for('index') }}">
<input type="hidden" name="q" value="{{ suggestion }}">
+ <input type="hidden" name="time_range" value="{{ time_range }}">
+ <input type="hidden" name="language" value="{{ current_language }}">
+ <input type="hidden" name="safesearch" value="{{ safesearch }}">
+ <input type="hidden" name="theme" value="{{ theme }}">
+ {% if timeout_limit %}<input type="hidden" name="timeout_limit" value="{{ timeout_limit|e }}" >{% endif %}
<input type="submit" value="{{ suggestion }}" />
</form>
{% endfor %}
diff --git a/searx/templates/simple/preferences.html b/searx/templates/simple/preferences.html
index 049af5e33..7437ed422 100644
--- a/searx/templates/simple/preferences.html
+++ b/searx/templates/simple/preferences.html
@@ -68,7 +68,7 @@
<option value="0" {% if safesearch == '0' %}selected="selected"{% endif %}>{{ _('None') }}</option>
</select>
</p>
- <div class="description">{{ _('Filter content') }}</p>
+ <p class="description">{{ _('Filter content') }}</p>
</fieldset>
{{ plugin_preferences('general') }}
<fieldset>
@@ -122,7 +122,7 @@
{% endif %}
{% endfor %}
</table>
- <div>
+ </div>
{{ tab_footer() }}
{% endfor %}
{{ tabs_close() }}
@@ -171,7 +171,7 @@
{{ _('With that list, you can assess searx transparency.') }}<br />
</p>
- {% if cookies %}
+ {% if cookies %}
<table class="cookies">
<tr>
<th>{{ _('Cookie name') }}</th>
@@ -186,14 +186,14 @@
</table>
{% else %}
{% include 'oscar/messages/no_cookies.html' %}
- {% endif %}
+ {% endif %}
<h4>{{ _('Search URL of the currently saved preferences') }} :</h4>
<div class="selectable_url">
<pre>{{ url_for('index', _external=True) }}?preferences={{ preferences_url_params|e }}{% raw %}&amp;q=%s{% endraw %}</pre>
</div>
<p class="small_font">{{ _('Note: specifying custom settings in the search URL can reduce privacy by leaking data to the clicked result sites.') }}</p>
-
+
{{ tab_footer() }}
{{ tab_header('maintab', 'privacy', _('Privacy')) }}
@@ -218,7 +218,7 @@
<div class="description">{{ _('Proxying image results through searx') }}</div>
</fieldset>
{{ plugin_preferences('privacy') }}
-
+
{{ tab_footer() }}
{{ tabs_close() }}
@@ -226,7 +226,7 @@
<p class="small_font">{{ _('These settings are stored in your cookies, this allows us not to store this data about you.') }}
<br />
{{ _("These cookies serve your sole convenience, we don't use these cookies to track you.") }}
- </p>
+ </p>
<input type="submit" value="{{ _('save') }}" />
<div class="{% if rtl %}left{% else %}right{% endif %} preferences_back"><a href="{{ url_for('clear_cookies') }}">{{ _('Reset defaults') }}</a></div>
diff --git a/searx/templates/simple/result_templates/key-value.html b/searx/templates/simple/result_templates/key-value.html
new file mode 100644
index 000000000..eebaa2c85
--- /dev/null
+++ b/searx/templates/simple/result_templates/key-value.html
@@ -0,0 +1,11 @@
+<table>
+ {% for key, value in result.items() %}
+ {% if key in ['engine', 'engines', 'template', 'score', 'category', 'positions'] %}
+ {% continue %}
+ {% endif %}
+ <tr>
+ <td><b>{{ key|upper }}</b>: {{ value }}</td>
+ </tr>
+ {% endfor %}
+</table>
+<div class="engines">{% for engine in result.engines %}<span>{{ engine }}</span>{% endfor %}</div>{{- '' -}}
diff --git a/searx/templates/simple/result_templates/torrent.html b/searx/templates/simple/result_templates/torrent.html
index 3c7fd15e8..71c775bc9 100644
--- a/searx/templates/simple/result_templates/torrent.html
+++ b/searx/templates/simple/result_templates/torrent.html
@@ -6,7 +6,7 @@
{% if result.magnetlink %}<p class="altlink"> &bull; {{ result_link(result.magnetlink, icon('magnet') + _('magnet link'), "magnetlink") }}</p>{% endif %}
{% if result.torrentfile %}<p class="altlink"> &bull; {{ result_link(result.torrentfile, icon('download-alt') + _('torrent file'), "torrentfile") }}</p>{% endif %}
-{% if result.seed %}<p class="stat"> &bull; {{ icon('arrow-swap') }} {{ _('Seeder') }} <span class="badge">{{ result.seed }}</span> &bull; {{ _('Leecher') }} <span class="badge">{{ result.leech }}</span></p>{% endif %}
+{% if result.seed is defined %}<p class="stat"> &bull; {{ icon('arrow-swap') }} {{ _('Seeder') }} <span class="badge">{{ result.seed }}</span> &bull; {{ _('Leecher') }} <span class="badge">{{ result.leech }}</span></p>{% endif %}
{%- if result.filesize %}<p class="stat">{{ icon('floppy-disk') }} {{ _('Filesize') }}<span class="badge">
{%- if result.filesize < 1024 %}{{ result.filesize }} {{ _('Bytes') }}
diff --git a/searx/templates/simple/results.html b/searx/templates/simple/results.html
index 195c478db..8885abc30 100644
--- a/searx/templates/simple/results.html
+++ b/searx/templates/simple/results.html
@@ -50,11 +50,13 @@
<div class="wrapper">
{% for suggestion in suggestions %}
<form method="{{ method or 'POST' }}" action="{{ url_for('index') }}">
- <input type="hidden" name="q" value="{{ suggestion }}">
+ <input type="hidden" name="q" value="{{ suggestion.url }}">
+ <input type="hidden" name="time_range" value="{{ time_range }}">
<input type="hidden" name="language" value="{{ current_language }}">
<input type="hidden" name="safesearch" value="{{ safesearch }}">
<input type="hidden" name="theme" value="{{ theme }}">
- <input type="submit" class="suggestion" value="&bull; {{ suggestion }}">
+ {% if timeout_limit %}<input type="hidden" name="timeout_limit" value="{{ timeout_limit|e }}" >{% endif %}
+ <input type="submit" class="suggestion" value="&bull; {{ suggestion.title }}">
</form>
{% endfor %}
</div>
@@ -63,7 +65,7 @@
<div id="search_url">
<h4 class="title">{{ _('Search URL') }} :</h4>
- <div class="selectable_url"><pre>{{ base_url }}?q={{ q|urlencode }}&amp;language={{ current_language }}&amp;time_range={{ time_range }}&amp;safesearch={{ safesearch }}{% if pageno > 1 %}&amp;pageno={{ pageno }}{% endif %}{% if selected_categories %}&amp;categories={{ selected_categories|join(",") | replace(' ','+') }}{% endif %}</pre></div>
+ <div class="selectable_url"><pre>{{ base_url }}?q={{ q|urlencode }}&amp;language={{ current_language }}&amp;time_range={{ time_range }}&amp;safesearch={{ safesearch }}{% if pageno > 1 %}&amp;pageno={{ pageno }}{% endif %}{% if selected_categories %}&amp;categories={{ selected_categories|join(",") | replace(' ','+') }}{% endif %}{% if timeout_limit %}&amp;timeout_limit={{ timeout_limit|urlencode }}{% endif %}</pre></div>
</div>
<div id="apis">
<h4 class="title">{{ _('Download results') }}</h4>
@@ -79,6 +81,7 @@
<input type="hidden" name="language" value="{{ current_language }}">
<input type="hidden" name="safesearch" value="{{ safesearch }}">
<input type="hidden" name="format" value="{{ output_type }}">
+ {% if timeout_limit %}<input type="hidden" name="timeout_limit" value="{{ timeout_limit|e }}" >{% endif %}
<input type="submit" value="{{ output_type }}">
</form>
</div>
@@ -92,12 +95,13 @@
{% for correction in corrections %}
<div class="left">
<form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" role="navigation">
- <input type="hidden" name="q" value="{{ correction }}">
+ <input type="hidden" name="q" value="{{ correction.url }}">
<input type="hidden" name="time_range" value="{{ time_range }}">
<input type="hidden" name="language" value="{{ current_language }}">
<input type="hidden" name="safesearch" value="{{ safesearch }}">
<input type="hidden" name="theme" value="{{ theme }}">
- <input type="submit" value="{{ correction }}">
+ {% if timeout_limit %}<input type="hidden" name="timeout_limit" value="{{ timeout_limit }}" >{% endif %}
+ <input type="submit" value="{{ correction.title }}">
</form>
</div>
{% endfor %}
@@ -134,7 +138,8 @@
<input type="hidden" name="language" value="{{ current_language }}" >
<input type="hidden" name="safesearch" value="{{ safesearch }}" >
<input type="hidden" name="theme" value="{{ theme }}" >
- <button type="submit">{{ icon_small('chevron-left') }} {{ _('previous page') }}</button>
+ {% if timeout_limit %}<input type="hidden" name="timeout_limit" value="{{ timeout_limit|e }}" >{% endif %}
+ <button type="submit">{{ icon_small('chevron-left') }} {{ _('previous page') }}</button>
</div>
</form>
{% endif %}
@@ -149,7 +154,8 @@
<input type="hidden" name="language" value="{{ current_language }}" >
<input type="hidden" name="safesearch" value="{{ safesearch }}" >
<input type="hidden" name="theme" value="{{ theme }}" >
- <button type="submit">{{ _('next page') }} {{ icon_small('chevron-right') }}</button>
+ {% if timeout_limit %}<input type="hidden" name="timeout_limit" value="{{ timeout_limit|e }}" >{% endif %}
+ <button type="submit">{{ _('next page') }} {{ icon_small('chevron-right') }}</button>
</div>
</form>
</nav>
diff --git a/searx/templates/simple/search.html b/searx/templates/simple/search.html
index 9c4a99b68..e9023b420 100644
--- a/searx/templates/simple/search.html
+++ b/searx/templates/simple/search.html
@@ -14,4 +14,5 @@
{% include 'simple/categories.html' %}
<input type="hidden" name="safesearch" value="{{ safesearch }}" >
<input type="hidden" name="theme" value="{{ theme }}" >
+ {% if timeout_limit %}<input type="hidden" name="timeout_limit" value="{{ timeout_limit|e }}" >{% endif %}
</form>
diff --git a/searx/testing.py b/searx/testing.py
index 0d17b2a08..a3616dc12 100644
--- a/searx/testing.py
+++ b/searx/testing.py
@@ -6,7 +6,6 @@ import os
import subprocess
import traceback
-
from os.path import dirname, join, abspath
from splinter import Browser
@@ -49,6 +48,7 @@ class SearxRobotLayer():
exe = 'python'
# set robot settings path
+ os.environ['SEARX_DEBUG'] = '1'
os.environ['SEARX_SETTINGS_PATH'] = abspath(
dirname(__file__) + '/settings_robot.yml')
@@ -58,6 +58,8 @@ class SearxRobotLayer():
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT
)
+ if hasattr(self.server.stdout, 'read1'):
+ print(self.server.stdout.read1(1024).decode('utf-8'))
def tearDown(self):
os.kill(self.server.pid, 9)
@@ -69,7 +71,7 @@ class SearxRobotLayer():
def run_robot_tests(tests):
print('Running {0} tests'.format(len(tests)))
for test in tests:
- with Browser() as browser:
+ with Browser('firefox', headless=True) as browser:
test(browser)
@@ -78,6 +80,18 @@ class SearxTestCase(TestCase):
layer = SearxTestLayer
+ def setattr4test(self, obj, attr, value):
+ """
+ setattr(obj, attr, value)
+ but reset to the previous value in the cleanup.
+ """
+ previous_value = getattr(obj, attr)
+
+ def cleanup_patch():
+ setattr(obj, attr, previous_value)
+ self.addCleanup(cleanup_patch)
+ setattr(obj, attr, value)
+
if __name__ == '__main__':
import sys
diff --git a/searx/translations/ar/LC_MESSAGES/messages.mo b/searx/translations/ar/LC_MESSAGES/messages.mo
index b3579a1a7..052e5b522 100644
--- a/searx/translations/ar/LC_MESSAGES/messages.mo
+++ b/searx/translations/ar/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/ar/LC_MESSAGES/messages.po b/searx/translations/ar/LC_MESSAGES/messages.po
index 4d7e55fe4..645ca0ed6 100644
--- a/searx/translations/ar/LC_MESSAGES/messages.po
+++ b/searx/translations/ar/LC_MESSAGES/messages.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PROJECT project.
#
# Translators:
-# ButterflyOfFire <ButterflyOfFire@protonmail.com>, 2017-2018
+# ButterflyOfFire ButterflyOfFire, 2018
+# ButterflyOfFire, 2017-2018
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2017-11-01 21:31+0100\n"
-"PO-Revision-Date: 2018-01-23 17:54+0000\n"
-"Last-Translator: ButterflyOfFire <ButterflyOfFire@protonmail.com>\n"
+"PO-Revision-Date: 2018-09-08 08:23+0000\n"
+"Last-Translator: ButterflyOfFire ButterflyOfFire\n"
"Language-Team: Arabic (http://www.transifex.com/asciimoo/searx/language/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -29,7 +30,7 @@ msgstr ""
#: searx/search.py:151
msgid "unexpected crash"
-msgstr ""
+msgstr "خلل غير مُتوقّع"
#: searx/webapp.py:136
msgid "files"
@@ -73,7 +74,7 @@ msgstr "علوم"
#: searx/webapp.py:399 searx/webapp.py:658
msgid "Invalid settings, please edit your preferences"
-msgstr ""
+msgstr "إنّ الإعدادات خاطئة، يرجى تعديل خياراتك"
#: searx/webapp.py:415
msgid "Invalid settings"
@@ -97,7 +98,7 @@ msgstr "مولّد قيمة عشوائية"
#: searx/answerers/random/answerer.py:54
msgid "Generate different random values"
-msgstr ""
+msgstr "توليد قِيم عشوائية مختلفة"
#: searx/answerers/statistics/answerer.py:53
msgid "Statistics functions"
@@ -288,7 +289,7 @@ msgstr "اللغة الإفتراضية"
#: searx/templates/pix-art/preferences.html:20
#: searx/templates/simple/preferences.html:120
msgid "Interface language"
-msgstr "لغة العرض"
+msgstr "لغة الواجهة"
#: searx/templates/courgette/preferences.html:34
#: searx/templates/legacy/preferences.html:35
@@ -371,7 +372,7 @@ msgstr "اللون"
#: searx/templates/courgette/preferences.html:86
msgid "Blue (default)"
-msgstr "أزرق )إفتراضي("
+msgstr "أزرق (إفتراضي)"
#: searx/templates/courgette/preferences.html:87
msgid "Violet"
@@ -581,13 +582,13 @@ msgstr "عرض نتائج البحث في ألسنة جديدة"
#: searx/templates/oscar/preferences.html:117
#: searx/templates/simple/preferences.html:145
msgid "On"
-msgstr ""
+msgstr "يشتغل"
#: searx/templates/legacy/preferences.html:88
#: searx/templates/oscar/preferences.html:118
#: searx/templates/simple/preferences.html:146
msgid "Off"
-msgstr ""
+msgstr "مُعطَّل"
#: searx/templates/legacy/result_templates/code.html:3
#: searx/templates/legacy/result_templates/default.html:3
@@ -626,7 +627,7 @@ msgstr "محرك بحث يحمي الخصوصية و قابل للتهكير"
#: searx/templates/oscar/macros.html:36 searx/templates/oscar/macros.html:50
#: searx/templates/simple/macros.html:43
msgid "proxied"
-msgstr "يمر عبر البروكسي"
+msgstr "النفاذ عبر البروكسي"
#: searx/templates/oscar/macros.html:92
msgid "supported"
@@ -661,7 +662,7 @@ msgstr "المجيبون"
#: searx/templates/oscar/preferences.html:17
#: searx/templates/oscar/preferences.html:272
msgid "Cookies"
-msgstr "الكوكيز"
+msgstr "كعكات الكوكيز"
#: searx/templates/oscar/preferences.html:42
#: searx/templates/simple/preferences.html:48
@@ -676,12 +677,12 @@ msgstr "يقوم بتغيير لغة واجهة البحث"
#: searx/templates/oscar/preferences.html:58
#: searx/templates/simple/preferences.html:60
msgid "Find stuff as you type"
-msgstr ""
+msgstr "العثور على نتائج أثناء الكتابة"
#: searx/templates/oscar/preferences.html:69
#: searx/templates/simple/preferences.html:173
msgid "Proxying image results through searx"
-msgstr ""
+msgstr "تمرير نتائج البحث عن الصور عبر بروكسي Searx"
#: searx/templates/oscar/preferences.html:78
msgid ""
@@ -865,7 +866,7 @@ msgstr "معلومة !"
#: searx/templates/oscar/messages/no_cookies.html:4
msgid "currently, there are no cookies defined."
-msgstr ""
+msgstr "حاليا لم تقم بتحديد أي مِن كعكات الكوكيز."
#: searx/templates/oscar/messages/no_data_available.html:4
msgid "There is currently no data available. "
diff --git a/searx/translations/bg/LC_MESSAGES/messages.mo b/searx/translations/bg/LC_MESSAGES/messages.mo
index 63b303a42..f80e5afcc 100644
--- a/searx/translations/bg/LC_MESSAGES/messages.mo
+++ b/searx/translations/bg/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/ca/LC_MESSAGES/messages.mo b/searx/translations/ca/LC_MESSAGES/messages.mo
new file mode 100644
index 000000000..2ec3e0503
--- /dev/null
+++ b/searx/translations/ca/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/ca/LC_MESSAGES/messages.po b/searx/translations/ca/LC_MESSAGES/messages.po
new file mode 100644
index 000000000..460091cd7
--- /dev/null
+++ b/searx/translations/ca/LC_MESSAGES/messages.po
@@ -0,0 +1,1014 @@
+# Translations template for PROJECT.
+# Copyright (C) 2017 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+#
+# Translators:
+# Calbasi <joan@calbasi.net>, 2018
+# jmontane, 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: searx\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2017-11-01 21:31+0100\n"
+"PO-Revision-Date: 2018-12-15 15:10+0000\n"
+"Last-Translator: jmontane\n"
+"Language-Team: Catalan (http://www.transifex.com/asciimoo/searx/language/ca/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.3.4\n"
+"Language: ca\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: searx/search.py:137 searx/search.py:182
+msgid "timeout"
+msgstr "s'ha esgotat el temps d'espera"
+
+#: searx/search.py:144
+msgid "request exception"
+msgstr "Excepció en la petició"
+
+#: searx/search.py:151
+msgid "unexpected crash"
+msgstr "Fallada no esperada"
+
+#: searx/webapp.py:136
+msgid "files"
+msgstr "fitxers"
+
+#: searx/webapp.py:137
+msgid "general"
+msgstr "general"
+
+#: searx/webapp.py:138
+msgid "music"
+msgstr "música"
+
+#: searx/webapp.py:139
+msgid "social media"
+msgstr "xarxes socials"
+
+#: searx/webapp.py:140
+msgid "images"
+msgstr "imatges"
+
+#: searx/webapp.py:141
+msgid "videos"
+msgstr "vídeos"
+
+#: searx/webapp.py:142
+msgid "it"
+msgstr "informàtica"
+
+#: searx/webapp.py:143
+msgid "news"
+msgstr "notícies"
+
+#: searx/webapp.py:144
+msgid "map"
+msgstr "mapa"
+
+#: searx/webapp.py:145
+msgid "science"
+msgstr "ciència"
+
+#: searx/webapp.py:399 searx/webapp.py:658
+msgid "Invalid settings, please edit your preferences"
+msgstr "La configuració no és vàlida, editeu-la"
+
+#: searx/webapp.py:415
+msgid "Invalid settings"
+msgstr "La configuració no és vàlida"
+
+#: searx/webapp.py:449 searx/webapp.py:493
+msgid "search error"
+msgstr "error en la cerca"
+
+#: searx/webapp.py:530
+msgid "{minutes} minute(s) ago"
+msgstr "fa {minutes} minuts"
+
+#: searx/webapp.py:532
+msgid "{hours} hour(s), {minutes} minute(s) ago"
+msgstr "fa {hours} hores i {minutes} minuts"
+
+#: searx/answerers/random/answerer.py:53
+msgid "Random value generator"
+msgstr "Generador de valor aleatori"
+
+#: searx/answerers/random/answerer.py:54
+msgid "Generate different random values"
+msgstr "Genera valors aleatoris diferents"
+
+#: searx/answerers/statistics/answerer.py:53
+msgid "Statistics functions"
+msgstr "Funcions estadístiques"
+
+#: searx/answerers/statistics/answerer.py:54
+msgid "Compute {functions} of the arguments"
+msgstr "Calcula {functions} dels arguments"
+
+#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201
+msgid "Engine time (sec)"
+msgstr "Temps del motor (segons)"
+
+#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205
+msgid "Page loads (sec)"
+msgstr "Càrrega de la pàgina (segons)"
+
+#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209
+#: searx/templates/oscar/results.html:95
+#: searx/templates/simple/results.html:20
+msgid "Number of results"
+msgstr "Nombre de resultats"
+
+#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213
+msgid "Scores"
+msgstr "Valoració"
+
+#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217
+msgid "Scores per result"
+msgstr "Valoració segons el resultat"
+
+#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221
+msgid "Errors"
+msgstr "Errors"
+
+#: searx/engines/pdbe.py:87
+msgid "{title}&nbsp;(OBSOLETE)"
+msgstr "{title}&nbsp;(OBSOLET)"
+
+#: searx/engines/pdbe.py:91
+msgid "This entry has been superseded by"
+msgstr "Aquesta entrada ha estat substituïda per"
+
+#: searx/engines/pubmed.py:74
+msgid "No abstract is available for this publication."
+msgstr "No hi ha resum disponible per a aquesta publicació."
+
+#: searx/plugins/https_rewrite.py:32
+msgid "Rewrite HTTP links to HTTPS if possible"
+msgstr "Reescriu els enllaços HTTP cap a HTTPS si és possible"
+
+#: searx/plugins/infinite_scroll.py:3
+msgid "Infinite scroll"
+msgstr "Desplaçament infinit"
+
+#: searx/plugins/infinite_scroll.py:4
+msgid "Automatically load next page when scrolling to bottom of current page"
+msgstr "Carrega automàticament la pàgina següent en desplaçar-se al final de la pàgina actual"
+
+#: searx/plugins/oa_doi_rewrite.py:9
+msgid "Open Access DOI rewrite"
+msgstr "Reescriu l'Open Access DOI"
+
+#: searx/plugins/oa_doi_rewrite.py:10
+msgid ""
+"Avoid paywalls by redirecting to open-access versions of publications when "
+"available"
+msgstr "Evita els llocs de pagaments redirigint a versions d'accés obert de les publicacions si és possible"
+
+#: searx/plugins/open_results_on_new_tab.py:18
+#: searx/templates/oscar/preferences.html:114
+#: searx/templates/simple/preferences.html:149
+msgid "Open result links on new browser tabs"
+msgstr "Obre els enllaços de resultats en una pestanya nova"
+
+#: searx/plugins/open_results_on_new_tab.py:19
+msgid ""
+"Results are opened in the same window by default. This plugin overwrites the"
+" default behaviour to open links on new tabs/windows. (JavaScript required)"
+msgstr "De forma predeterminada, els resultats s'obren en la mateixa finestra. Aquest connector canvia el comportament predeterminat i obre els enllaços en una finestra o pestanya nova. (Cal JavaScript)"
+
+#: searx/plugins/search_on_category_select.py:18
+msgid "Search on category select"
+msgstr "Cerca en la selecció de categories"
+
+#: searx/plugins/search_on_category_select.py:19
+msgid ""
+"Perform search immediately if a category selected. Disable to select "
+"multiple categories. (JavaScript required)"
+msgstr "Executa la cerca immediatament si hi ha seleccionada una categoria. Desactiveu-ho per a seleccionar més d'una categoria. (Cal JavaScript)"
+
+#: searx/plugins/self_info.py:20
+msgid ""
+"Displays your IP if the query is \"ip\" and your user agent if the query "
+"contains \"user agent\"."
+msgstr "Mostra la vostra IP si la consulta és «ip» i el valor «user agent» del navegador si la consulta conté «user agent»."
+
+#: searx/plugins/tracker_url_remover.py:26
+msgid "Tracker URL remover"
+msgstr "Suprimeix l'URL de rastreig"
+
+#: searx/plugins/tracker_url_remover.py:27
+msgid "Remove trackers arguments from the returned URL"
+msgstr "Suprimeix els arguments de rastreig de les URL retornades"
+
+#: searx/plugins/vim_hotkeys.py:3
+msgid "Vim-like hotkeys"
+msgstr "Dreceres de teclat del Vim"
+
+#: searx/plugins/vim_hotkeys.py:4
+msgid ""
+"Navigate search results with Vim-like hotkeys (JavaScript required). Press "
+"\"h\" key on main or result page to get help."
+msgstr "Navegació pels resultats de la cerca amb les dreceres a l'estil Vim (cal JavaScript). Pitgeu la tecla «h» en la pàgina principal o de resultats per a obtenir ajuda."
+
+#: searx/templates/courgette/404.html:4 searx/templates/legacy/404.html:4
+#: searx/templates/oscar/404.html:4 searx/templates/pix-art/404.html:4
+#: searx/templates/simple/404.html:4
+msgid "Page not found"
+msgstr "No s'ha trobat la pàgina"
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+#, python-format
+msgid "Go to %(search_page)s."
+msgstr "Vés a %(search_page)s."
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+msgid "search page"
+msgstr "pàgina de cerca"
+
+#: searx/templates/courgette/index.html:9
+#: searx/templates/courgette/index.html:13
+#: searx/templates/courgette/results.html:5
+#: searx/templates/legacy/index.html:8 searx/templates/legacy/index.html:12
+#: searx/templates/oscar/navbar.html:7
+#: searx/templates/oscar/preferences.html:3
+#: searx/templates/pix-art/index.html:8
+msgid "preferences"
+msgstr "preferències"
+
+#: searx/templates/courgette/index.html:11
+#: searx/templates/legacy/index.html:10 searx/templates/oscar/about.html:2
+#: searx/templates/oscar/navbar.html:6 searx/templates/pix-art/index.html:7
+msgid "about"
+msgstr "quant a"
+
+#: searx/templates/courgette/preferences.html:5
+#: searx/templates/legacy/preferences.html:5
+#: searx/templates/oscar/preferences.html:8
+#: searx/templates/pix-art/preferences.html:5
+#: searx/templates/simple/preferences.html:26
+msgid "Preferences"
+msgstr "Preferències"
+
+#: searx/templates/courgette/preferences.html:9
+#: searx/templates/legacy/preferences.html:9
+#: searx/templates/oscar/preferences.html:33
+#: searx/templates/oscar/preferences.html:35
+#: searx/templates/simple/preferences.html:34
+msgid "Default categories"
+msgstr "Categories predeterminades"
+
+#: searx/templates/courgette/preferences.html:13
+#: searx/templates/legacy/preferences.html:14
+#: searx/templates/oscar/preferences.html:41
+#: searx/templates/pix-art/preferences.html:9
+#: searx/templates/simple/preferences.html:39
+#: searx/templates/simple/preferences.html:163
+msgid "Search language"
+msgstr "Llengua de cerca"
+
+#: searx/templates/courgette/preferences.html:16
+#: searx/templates/legacy/preferences.html:17
+#: searx/templates/oscar/languages.html:6
+#: searx/templates/pix-art/preferences.html:12
+#: searx/templates/simple/languages.html:2
+#: searx/templates/simple/preferences.html:42
+msgid "Default language"
+msgstr "Llengua predeterminada"
+
+#: searx/templates/courgette/preferences.html:24
+#: searx/templates/legacy/preferences.html:25
+#: searx/templates/oscar/preferences.html:47
+#: searx/templates/pix-art/preferences.html:20
+#: searx/templates/simple/preferences.html:120
+msgid "Interface language"
+msgstr "Llengua de la interfície"
+
+#: searx/templates/courgette/preferences.html:34
+#: searx/templates/legacy/preferences.html:35
+#: searx/templates/oscar/preferences.html:57
+#: searx/templates/simple/preferences.html:51
+msgid "Autocomplete"
+msgstr "Compleció automàtica"
+
+#: searx/templates/courgette/preferences.html:45
+#: searx/templates/legacy/preferences.html:46
+#: searx/templates/oscar/preferences.html:68
+#: searx/templates/simple/preferences.html:166
+msgid "Image proxy"
+msgstr "Servidor intermediari d'imatges"
+
+#: searx/templates/courgette/preferences.html:48
+#: searx/templates/legacy/preferences.html:49
+#: searx/templates/oscar/preferences.html:72
+#: searx/templates/simple/preferences.html:169
+msgid "Enabled"
+msgstr "Activat"
+
+#: searx/templates/courgette/preferences.html:49
+#: searx/templates/legacy/preferences.html:50
+#: searx/templates/oscar/preferences.html:73
+#: searx/templates/simple/preferences.html:170
+msgid "Disabled"
+msgstr "Desactivat"
+
+#: searx/templates/courgette/preferences.html:54
+#: searx/templates/legacy/preferences.html:55
+#: searx/templates/oscar/preferences.html:77
+#: searx/templates/pix-art/preferences.html:30
+#: searx/templates/simple/preferences.html:156
+msgid "Method"
+msgstr "Mètode"
+
+#: searx/templates/courgette/preferences.html:63
+#: searx/templates/legacy/preferences.html:64
+#: searx/templates/oscar/preferences.html:86
+#: searx/templates/oscar/preferences.html:165
+#: searx/templates/oscar/preferences.html:173
+#: searx/templates/simple/preferences.html:63
+#: searx/templates/simple/preferences.html:90
+msgid "SafeSearch"
+msgstr "Cerca segura"
+
+#: searx/templates/courgette/preferences.html:66
+#: searx/templates/legacy/preferences.html:67
+#: searx/templates/oscar/preferences.html:90
+#: searx/templates/simple/preferences.html:66
+msgid "Strict"
+msgstr "Estricta"
+
+#: searx/templates/courgette/preferences.html:67
+#: searx/templates/legacy/preferences.html:68
+#: searx/templates/oscar/preferences.html:91
+#: searx/templates/simple/preferences.html:67
+msgid "Moderate"
+msgstr "Moderada"
+
+#: searx/templates/courgette/preferences.html:68
+#: searx/templates/legacy/preferences.html:69
+#: searx/templates/oscar/preferences.html:92
+#: searx/templates/simple/preferences.html:68
+msgid "None"
+msgstr "Cap"
+
+#: searx/templates/courgette/preferences.html:73
+#: searx/templates/legacy/preferences.html:74
+#: searx/templates/oscar/preferences.html:96
+#: searx/templates/pix-art/preferences.html:39
+#: searx/templates/simple/preferences.html:131
+msgid "Themes"
+msgstr "Temes"
+
+#: searx/templates/courgette/preferences.html:83
+msgid "Color"
+msgstr "Color"
+
+#: searx/templates/courgette/preferences.html:86
+msgid "Blue (default)"
+msgstr "Blau (predeterminat)"
+
+#: searx/templates/courgette/preferences.html:87
+msgid "Violet"
+msgstr "Violat"
+
+#: searx/templates/courgette/preferences.html:88
+msgid "Green"
+msgstr "Verd"
+
+#: searx/templates/courgette/preferences.html:89
+msgid "Cyan"
+msgstr "Cian"
+
+#: searx/templates/courgette/preferences.html:90
+msgid "Orange"
+msgstr "Taronja"
+
+#: searx/templates/courgette/preferences.html:91
+msgid "Red"
+msgstr "Vermell"
+
+#: searx/templates/courgette/preferences.html:96
+#: searx/templates/legacy/preferences.html:93
+#: searx/templates/pix-art/preferences.html:49
+#: searx/templates/simple/preferences.html:77
+msgid "Currently used search engines"
+msgstr "Motors de cerca usats actualment"
+
+#: searx/templates/courgette/preferences.html:100
+#: searx/templates/legacy/preferences.html:97
+#: searx/templates/oscar/preferences.html:162
+#: searx/templates/oscar/preferences.html:176
+#: searx/templates/pix-art/preferences.html:53
+#: searx/templates/simple/preferences.html:87
+msgid "Engine name"
+msgstr "Nom del motor"
+
+#: searx/templates/courgette/preferences.html:101
+#: searx/templates/legacy/preferences.html:98
+msgid "Category"
+msgstr "Categoria"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:113
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:110
+#: searx/templates/oscar/preferences.html:161
+#: searx/templates/oscar/preferences.html:177
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:64
+#: searx/templates/simple/preferences.html:86
+msgid "Allow"
+msgstr "Permet"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:114
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:111
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:65
+msgid "Block"
+msgstr "Bloca"
+
+#: searx/templates/courgette/preferences.html:122
+#: searx/templates/legacy/preferences.html:119
+#: searx/templates/oscar/preferences.html:297
+#: searx/templates/pix-art/preferences.html:73
+#: searx/templates/simple/preferences.html:180
+msgid ""
+"These settings are stored in your cookies, this allows us not to store this "
+"data about you."
+msgstr "Aquesta configuració es desa en les galetes. Això ens permet no emmagatzemar les vostres dades."
+
+#: searx/templates/courgette/preferences.html:124
+#: searx/templates/legacy/preferences.html:121
+#: searx/templates/oscar/preferences.html:299
+#: searx/templates/pix-art/preferences.html:75
+#: searx/templates/simple/preferences.html:182
+msgid ""
+"These cookies serve your sole convenience, we don't use these cookies to "
+"track you."
+msgstr "Aquestes galetes només són per a la vostra conveniència. No les usem per a rastrejar-vos."
+
+#: searx/templates/courgette/preferences.html:127
+#: searx/templates/legacy/preferences.html:124
+#: searx/templates/oscar/preferences.html:305
+#: searx/templates/pix-art/preferences.html:78
+#: searx/templates/simple/preferences.html:185
+msgid "save"
+msgstr "desa"
+
+#: searx/templates/courgette/preferences.html:128
+#: searx/templates/legacy/preferences.html:125
+#: searx/templates/oscar/preferences.html:307
+#: searx/templates/simple/preferences.html:186
+msgid "Reset defaults"
+msgstr "Restaura els valors predeterminats"
+
+#: searx/templates/courgette/preferences.html:129
+#: searx/templates/legacy/preferences.html:126
+#: searx/templates/oscar/preferences.html:306
+#: searx/templates/pix-art/preferences.html:79
+#: searx/templates/simple/preferences.html:187
+msgid "back"
+msgstr "enrere"
+
+#: searx/templates/courgette/results.html:12
+#: searx/templates/legacy/results.html:13
+#: searx/templates/oscar/results.html:136
+#: searx/templates/simple/results.html:58
+msgid "Search URL"
+msgstr "URL de cerca"
+
+#: searx/templates/courgette/results.html:16
+#: searx/templates/legacy/results.html:17
+#: searx/templates/oscar/results.html:141
+#: searx/templates/simple/results.html:62
+msgid "Download results"
+msgstr "Baixa els resultats"
+
+#: searx/templates/courgette/results.html:34
+#: searx/templates/legacy/results.html:35
+#: searx/templates/simple/results.html:10
+msgid "Answers"
+msgstr "Respostes"
+
+#: searx/templates/courgette/results.html:42
+#: searx/templates/legacy/results.html:43
+#: searx/templates/oscar/results.html:116
+#: searx/templates/simple/results.html:42
+msgid "Suggestions"
+msgstr "Suggeriments"
+
+#: searx/templates/courgette/results.html:70
+#: searx/templates/legacy/results.html:81
+#: searx/templates/oscar/results.html:68 searx/templates/oscar/results.html:78
+#: searx/templates/simple/results.html:130
+msgid "previous page"
+msgstr "pàgina anterior"
+
+#: searx/templates/courgette/results.html:81
+#: searx/templates/legacy/results.html:92
+#: searx/templates/oscar/results.html:62 searx/templates/oscar/results.html:84
+#: searx/templates/simple/results.html:145
+msgid "next page"
+msgstr "pàgina següent"
+
+#: searx/templates/courgette/search.html:3
+#: searx/templates/legacy/search.html:3 searx/templates/oscar/search.html:6
+#: searx/templates/oscar/search_full.html:9
+#: searx/templates/pix-art/search.html:3 searx/templates/simple/search.html:4
+msgid "Search for..."
+msgstr "Cerca..."
+
+#: searx/templates/courgette/stats.html:4 searx/templates/legacy/stats.html:4
+#: searx/templates/oscar/stats.html:5 searx/templates/pix-art/stats.html:4
+#: searx/templates/simple/stats.html:7
+msgid "Engine stats"
+msgstr "Estadístiques del motor"
+
+#: searx/templates/courgette/result_templates/images.html:4
+#: searx/templates/legacy/result_templates/images.html:4
+#: searx/templates/pix-art/result_templates/images.html:4
+msgid "original context"
+msgstr "context original"
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Seeder"
+msgstr "Font"
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Leecher"
+msgstr "Descarregador"
+
+#: searx/templates/courgette/result_templates/torrent.html:9
+#: searx/templates/legacy/result_templates/torrent.html:9
+#: searx/templates/oscar/macros.html:23
+#: searx/templates/simple/result_templates/torrent.html:6
+msgid "magnet link"
+msgstr "enllaç magnet"
+
+#: searx/templates/courgette/result_templates/torrent.html:10
+#: searx/templates/legacy/result_templates/torrent.html:10
+#: searx/templates/oscar/macros.html:24
+#: searx/templates/simple/result_templates/torrent.html:7
+msgid "torrent file"
+msgstr "fitxer torrent"
+
+#: searx/templates/legacy/categories.html:8
+#: searx/templates/simple/categories.html:6
+msgid "Click on the magnifier to perform search"
+msgstr "Feu clic en la lupa per a executar la cerca"
+
+#: searx/templates/legacy/preferences.html:84
+#: searx/templates/oscar/preferences.html:113
+#: searx/templates/simple/preferences.html:142
+msgid "Results on new tabs"
+msgstr "Resultats en pestanyes noves"
+
+#: searx/templates/legacy/preferences.html:87
+#: searx/templates/oscar/preferences.html:117
+#: searx/templates/simple/preferences.html:145
+msgid "On"
+msgstr "Activat"
+
+#: searx/templates/legacy/preferences.html:88
+#: searx/templates/oscar/preferences.html:118
+#: searx/templates/simple/preferences.html:146
+msgid "Off"
+msgstr "Desactivat"
+
+#: searx/templates/legacy/result_templates/code.html:3
+#: searx/templates/legacy/result_templates/default.html:3
+#: searx/templates/legacy/result_templates/map.html:9
+#: searx/templates/oscar/macros.html:34 searx/templates/oscar/macros.html:48
+#: searx/templates/simple/macros.html:43
+msgid "cached"
+msgstr "en memòria cau"
+
+#: searx/templates/oscar/advanced.html:4
+msgid "Advanced settings"
+msgstr "Configuració avançada"
+
+#: searx/templates/oscar/base.html:62
+#: searx/templates/oscar/messages/first_time.html:4
+#: searx/templates/oscar/messages/save_settings_successfull.html:5
+#: searx/templates/oscar/messages/unknow_error.html:5
+msgid "Close"
+msgstr "Tanca"
+
+#: searx/templates/oscar/base.html:64
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+#: searx/templates/simple/results.html:25
+msgid "Error!"
+msgstr "Error!"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "Powered by"
+msgstr "Funciona amb"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "a privacy-respecting, hackable metasearch engine"
+msgstr "un meta motor de cerca personalitzable i respectuós amb la privadesa"
+
+#: searx/templates/oscar/macros.html:36 searx/templates/oscar/macros.html:50
+#: searx/templates/simple/macros.html:43
+msgid "proxied"
+msgstr "en servidor intermediari"
+
+#: searx/templates/oscar/macros.html:92
+msgid "supported"
+msgstr "suportat"
+
+#: searx/templates/oscar/macros.html:96
+msgid "not supported"
+msgstr "no suportat"
+
+#: searx/templates/oscar/preferences.html:13
+#: searx/templates/oscar/preferences.html:22
+#: searx/templates/simple/preferences.html:32
+msgid "General"
+msgstr "General"
+
+#: searx/templates/oscar/preferences.html:14
+#: searx/templates/oscar/preferences.html:146
+#: searx/templates/simple/preferences.html:76
+msgid "Engines"
+msgstr "Motorrs"
+
+#: searx/templates/oscar/preferences.html:15
+#: searx/templates/oscar/preferences.html:219
+msgid "Plugins"
+msgstr "Connectat"
+
+#: searx/templates/oscar/preferences.html:16
+#: searx/templates/oscar/preferences.html:245
+msgid "Answerers"
+msgstr "Resposter"
+
+#: searx/templates/oscar/preferences.html:17
+#: searx/templates/oscar/preferences.html:272
+msgid "Cookies"
+msgstr "Galetes"
+
+#: searx/templates/oscar/preferences.html:42
+#: searx/templates/simple/preferences.html:48
+msgid "What language do you prefer for search?"
+msgstr "En quina llengua preferiu cercar?"
+
+#: searx/templates/oscar/preferences.html:48
+#: searx/templates/simple/preferences.html:128
+msgid "Change the language of the layout"
+msgstr "Canvia la llengua de la disposició"
+
+#: searx/templates/oscar/preferences.html:58
+#: searx/templates/simple/preferences.html:60
+msgid "Find stuff as you type"
+msgstr "Troba coses tal com escriu"
+
+#: searx/templates/oscar/preferences.html:69
+#: searx/templates/simple/preferences.html:173
+msgid "Proxying image results through searx"
+msgstr "Envia els resultats d'imatges via el servidor intermediari del searx"
+
+#: searx/templates/oscar/preferences.html:78
+msgid ""
+"Change how forms are submited, <a "
+"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
+" rel=\"external\">learn more about request methods</a>"
+msgstr "Canvia com es trameten els formularis, <a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">més informació sobre els mètodes de petició</a>"
+
+#: searx/templates/oscar/preferences.html:87
+#: searx/templates/simple/preferences.html:71
+msgid "Filter content"
+msgstr "Filtra el contingut"
+
+#: searx/templates/oscar/preferences.html:97
+#: searx/templates/simple/preferences.html:139
+msgid "Change searx layout"
+msgstr "Canvia la disposició del searx"
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Choose style for this theme"
+msgstr "Trieu un estil per a aquest tema"
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Style"
+msgstr "Estil"
+
+#: searx/templates/oscar/preferences.html:122
+msgid "Open Access DOI resolver"
+msgstr "Solucionador de l'Open Access DOI"
+
+#: searx/templates/oscar/preferences.html:123
+msgid ""
+"Redirect to open-access versions of publications when available (plugin "
+"required)"
+msgstr "Redirigeix cap a versions d'accés obert de les publicacions si són disponibles (cal un connector)"
+
+#: searx/templates/oscar/preferences.html:163
+#: searx/templates/oscar/preferences.html:175
+#: searx/templates/simple/preferences.html:88
+msgid "Shortcut"
+msgstr "Drecera"
+
+#: searx/templates/oscar/preferences.html:164
+#: searx/templates/oscar/preferences.html:174
+msgid "Selected language"
+msgstr "Llengua seleccionada"
+
+#: searx/templates/oscar/preferences.html:166
+#: searx/templates/oscar/preferences.html:172
+#: searx/templates/simple/preferences.html:91
+msgid "Time range"
+msgstr "Interval de temps"
+
+#: searx/templates/oscar/preferences.html:167
+#: searx/templates/oscar/preferences.html:171
+#: searx/templates/simple/preferences.html:92
+msgid "Avg. time"
+msgstr "Temps amitjanat"
+
+#: searx/templates/oscar/preferences.html:168
+#: searx/templates/oscar/preferences.html:170
+#: searx/templates/simple/preferences.html:93
+msgid "Max time"
+msgstr "Temps màxim"
+
+#: searx/templates/oscar/preferences.html:248
+msgid "This is the list of searx's instant answering modules."
+msgstr "Aquest és el llistat dels mòduls de resposta ràpida del searx."
+
+#: searx/templates/oscar/preferences.html:252
+msgid "Name"
+msgstr "Nom"
+
+#: searx/templates/oscar/preferences.html:253
+msgid "Keywords"
+msgstr "Paraules clau"
+
+#: searx/templates/oscar/preferences.html:254
+msgid "Description"
+msgstr "Descripció"
+
+#: searx/templates/oscar/preferences.html:255
+msgid "Examples"
+msgstr "Exemples"
+
+#: searx/templates/oscar/preferences.html:275
+msgid ""
+"This is the list of cookies and their values searx is storing on your "
+"computer."
+msgstr "Aquest és el llistat de les galetes, i els seu valor, que el searx té desats en el vostre equip."
+
+#: searx/templates/oscar/preferences.html:276
+msgid "With that list, you can assess searx transparency."
+msgstr "Amb aquest llistat, podeu avaluar la transparència del searx."
+
+#: searx/templates/oscar/preferences.html:281
+msgid "Cookie name"
+msgstr "Nom de la galeta"
+
+#: searx/templates/oscar/preferences.html:282
+msgid "Value"
+msgstr "Valor"
+
+#: searx/templates/oscar/preferences.html:301
+msgid "Search URL of the currently saved preferences"
+msgstr "URL de cerca de les preferències desades actualment"
+
+#: searx/templates/oscar/preferences.html:301
+msgid ""
+"Note: specifying custom settings in the search URL can reduce privacy by "
+"leaking data to the clicked result sites."
+msgstr "Nota: si indiqueu configuracions personalitzades en la URL de cerca podeu reduir la privadesa, amb filtració de dades, en fer clic als llocs dels resultats."
+
+#: searx/templates/oscar/results.html:17
+msgid "Search results"
+msgstr "Resultats de la cerca"
+
+#: searx/templates/oscar/results.html:21
+#: searx/templates/simple/results.html:84
+msgid "Try searching for:"
+msgstr "Proveu a cercar:"
+
+#: searx/templates/oscar/results.html:100
+#: searx/templates/simple/results.html:25
+msgid "Engines cannot retrieve results"
+msgstr "Els motors no poden obtenir cap resultat"
+
+#: searx/templates/oscar/results.html:131
+msgid "Links"
+msgstr "Enllaços"
+
+#: searx/templates/oscar/search.html:8
+#: searx/templates/oscar/search_full.html:11
+#: searx/templates/simple/search.html:5
+msgid "Start search"
+msgstr "Comença la cerca"
+
+#: searx/templates/oscar/stats.html:2
+msgid "stats"
+msgstr "estadístiques"
+
+#: searx/templates/oscar/time-range.html:3
+#: searx/templates/simple/time-range.html:3
+msgid "Anytime"
+msgstr "En qualsevol moment"
+
+#: searx/templates/oscar/time-range.html:6
+#: searx/templates/simple/time-range.html:6
+msgid "Last day"
+msgstr "Les darreres 24 hores"
+
+#: searx/templates/oscar/time-range.html:9
+#: searx/templates/simple/time-range.html:9
+msgid "Last week"
+msgstr "La setmana passada"
+
+#: searx/templates/oscar/time-range.html:12
+#: searx/templates/simple/time-range.html:12
+msgid "Last month"
+msgstr "El darrer mes"
+
+#: searx/templates/oscar/time-range.html:15
+#: searx/templates/simple/time-range.html:15
+msgid "Last year"
+msgstr "El darrer any"
+
+#: searx/templates/oscar/messages/first_time.html:6
+#: searx/templates/oscar/messages/no_data_available.html:3
+msgid "Heads up!"
+msgstr "Atenció!"
+
+#: searx/templates/oscar/messages/first_time.html:7
+msgid "It look like you are using searx first time."
+msgstr "Sembla que esteu usant searx per primer cop."
+
+#: searx/templates/oscar/messages/no_cookies.html:3
+msgid "Information!"
+msgstr "Informació!"
+
+#: searx/templates/oscar/messages/no_cookies.html:4
+msgid "currently, there are no cookies defined."
+msgstr "actualment, no hi ha definida cap galeta."
+
+#: searx/templates/oscar/messages/no_data_available.html:4
+msgid "There is currently no data available. "
+msgstr "Actualment, no hi ha dades disponibles."
+
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+msgid "Engines cannot retrieve results."
+msgstr "Els motors no poden obtenir cap resultat"
+
+#: searx/templates/oscar/messages/no_results.html:10
+#: searx/templates/simple/messages/no_results.html:10
+msgid "Please, try again later or find another searx instance."
+msgstr "Torneu-ho a intentar més tard o useu una altra instància del searx."
+
+#: searx/templates/oscar/messages/no_results.html:14
+#: searx/templates/simple/messages/no_results.html:14
+msgid "Sorry!"
+msgstr "Disculpeu!"
+
+#: searx/templates/oscar/messages/no_results.html:15
+#: searx/templates/simple/messages/no_results.html:15
+msgid ""
+"we didn't find any results. Please use another query or search in more "
+"categories."
+msgstr "no hem trobat cap resultat. Feu una consulta diferent o cerqueu en més categories."
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:7
+msgid "Well done!"
+msgstr "Ben fet!"
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:8
+msgid "Settings saved successfully."
+msgstr "La configuració s'ha desat correctament."
+
+#: searx/templates/oscar/messages/unknow_error.html:7
+msgid "Oh snap!"
+msgstr "Cagundena!"
+
+#: searx/templates/oscar/messages/unknow_error.html:8
+msgid "Something went wrong."
+msgstr "Alguna cosa ha anat malament."
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "show media"
+msgstr "mostra el contingut multimèdia"
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "hide media"
+msgstr "amaga el contingut multimèdia"
+
+#: searx/templates/oscar/result_templates/images.html:30
+msgid "Get image"
+msgstr "Obtén la imatge"
+
+#: searx/templates/oscar/result_templates/images.html:33
+msgid "View source"
+msgstr "Mostra el codi font"
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "show map"
+msgstr "mostra el mapa"
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "hide map"
+msgstr "amaga el mapa"
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "show details"
+msgstr "mostra els detalls"
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "hide details"
+msgstr "amaga els detalls"
+
+#: searx/templates/oscar/result_templates/torrent.html:7
+#: searx/templates/simple/result_templates/torrent.html:11
+msgid "Filesize"
+msgstr "Mida del fitxer"
+
+#: searx/templates/oscar/result_templates/torrent.html:9
+#: searx/templates/simple/result_templates/torrent.html:12
+msgid "Bytes"
+msgstr "Bytes"
+
+#: searx/templates/oscar/result_templates/torrent.html:10
+#: searx/templates/simple/result_templates/torrent.html:13
+msgid "kiB"
+msgstr "kiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:11
+#: searx/templates/simple/result_templates/torrent.html:14
+msgid "MiB"
+msgstr "MiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:12
+#: searx/templates/simple/result_templates/torrent.html:15
+msgid "GiB"
+msgstr "GiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:13
+#: searx/templates/simple/result_templates/torrent.html:16
+msgid "TiB"
+msgstr "TiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:15
+#: searx/templates/simple/result_templates/torrent.html:20
+msgid "Number of Files"
+msgstr "Nombre de fiters"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "show video"
+msgstr "mostra el vídeo"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "hide video"
+msgstr "amaga el vídeo"
+
+#: searx/templates/pix-art/results.html:28
+msgid "Load more..."
+msgstr "Carrega'n més..."
+
+#: searx/templates/simple/base.html:31
+msgid "No item found"
+msgstr "No s'ha trobat cap element"
+
+#: searx/templates/simple/preferences.html:89
+msgid "Supports selected language"
+msgstr "Suporta la llengua seleccionada"
+
+#: searx/templates/simple/preferences.html:118
+msgid "User interface"
+msgstr "Interfície d'usuari"
+
+#: searx/templates/simple/preferences.html:154
+msgid "Privacy"
+msgstr "Privadesa"
diff --git a/searx/translations/cs/LC_MESSAGES/messages.mo b/searx/translations/cs/LC_MESSAGES/messages.mo
index 3e638afa3..eded7150a 100644
--- a/searx/translations/cs/LC_MESSAGES/messages.mo
+++ b/searx/translations/cs/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/cs/LC_MESSAGES/messages.po b/searx/translations/cs/LC_MESSAGES/messages.po
index ef96271fc..8d3ce3c3e 100644
--- a/searx/translations/cs/LC_MESSAGES/messages.po
+++ b/searx/translations/cs/LC_MESSAGES/messages.po
@@ -4,24 +4,25 @@
#
# Translators:
# Clon <fillip1@seznam.cz>, 2017
+# Václav Zouzalík <Vaclav.Zouzalik@seznam.cz>, 2018
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2017-11-01 21:31+0100\n"
-"PO-Revision-Date: 2017-11-01 20:31+0000\n"
-"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n"
+"PO-Revision-Date: 2018-12-18 12:03+0000\n"
+"Last-Translator: Václav Zouzalík <Vaclav.Zouzalik@seznam.cz>\n"
"Language-Team: Czech (http://www.transifex.com/asciimoo/searx/language/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.3.4\n"
"Language: cs\n"
-"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
#: searx/search.py:137 searx/search.py:182
msgid "timeout"
-msgstr ""
+msgstr "timeout"
#: searx/search.py:144
msgid "request exception"
@@ -77,7 +78,7 @@ msgstr "Neplatné nastavení, upravte svoje předvolby"
#: searx/webapp.py:415
msgid "Invalid settings"
-msgstr ""
+msgstr "Neplatné nastavení"
#: searx/webapp.py:449 searx/webapp.py:493
msgid "search error"
@@ -131,7 +132,7 @@ msgstr ""
#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221
msgid "Errors"
-msgstr "Chyb"
+msgstr "Chyby"
#: searx/engines/pdbe.py:87
msgid "{title}&nbsp;(OBSOLETE)"
@@ -187,13 +188,13 @@ msgstr "Hledat ve vybrané kategorii"
msgid ""
"Perform search immediately if a category selected. Disable to select "
"multiple categories. (JavaScript required)"
-msgstr ""
+msgstr "Vyhledávejte okamžitě, pokud je vybrána kategorie. Vypněte, pokud potřebujete zvolit vícero kategorií. (vyžaduje JavaScript)"
#: searx/plugins/self_info.py:20
msgid ""
"Displays your IP if the query is \"ip\" and your user agent if the query "
"contains \"user agent\"."
-msgstr ""
+msgstr "Ukáže vaši IP adresu, pokud dotaz je \"ip\", a váš user agent, pokud dotatz obsahuje \"user agent\"."
#: searx/plugins/tracker_url_remover.py:26
msgid "Tracker URL remover"
@@ -375,7 +376,7 @@ msgstr "Modrá (základní)"
#: searx/templates/courgette/preferences.html:87
msgid "Violet"
-msgstr ""
+msgstr "Fialová"
#: searx/templates/courgette/preferences.html:88
msgid "Green"
@@ -383,7 +384,7 @@ msgstr "Zelená"
#: searx/templates/courgette/preferences.html:89
msgid "Cyan"
-msgstr ""
+msgstr "Modrozelená"
#: searx/templates/courgette/preferences.html:90
msgid "Orange"
@@ -543,14 +544,14 @@ msgstr "původní kontext"
#: searx/templates/oscar/result_templates/torrent.html:6
#: searx/templates/simple/result_templates/torrent.html:9
msgid "Seeder"
-msgstr ""
+msgstr "Seeder"
#: searx/templates/courgette/result_templates/torrent.html:7
#: searx/templates/legacy/result_templates/torrent.html:11
#: searx/templates/oscar/result_templates/torrent.html:6
#: searx/templates/simple/result_templates/torrent.html:9
msgid "Leecher"
-msgstr ""
+msgstr "Leecher"
#: searx/templates/courgette/result_templates/torrent.html:9
#: searx/templates/legacy/result_templates/torrent.html:9
@@ -676,7 +677,7 @@ msgstr "Změnít jazyk prostředí"
#: searx/templates/oscar/preferences.html:58
#: searx/templates/simple/preferences.html:60
msgid "Find stuff as you type"
-msgstr ""
+msgstr "Vyhledávat během psaní"
#: searx/templates/oscar/preferences.html:69
#: searx/templates/simple/preferences.html:173
@@ -729,7 +730,7 @@ msgstr "Zkratka"
#: searx/templates/oscar/preferences.html:164
#: searx/templates/oscar/preferences.html:174
msgid "Selected language"
-msgstr ""
+msgstr "Zvolený jazyk"
#: searx/templates/oscar/preferences.html:166
#: searx/templates/oscar/preferences.html:172
@@ -853,7 +854,7 @@ msgstr "Rok"
#: searx/templates/oscar/messages/first_time.html:6
#: searx/templates/oscar/messages/no_data_available.html:3
msgid "Heads up!"
-msgstr "Hlavy vzhůru!"
+msgstr "Hlavu vzhůru!"
#: searx/templates/oscar/messages/first_time.html:7
msgid "It look like you are using searx first time."
@@ -879,7 +880,7 @@ msgstr ""
#: searx/templates/oscar/messages/no_results.html:10
#: searx/templates/simple/messages/no_results.html:10
msgid "Please, try again later or find another searx instance."
-msgstr ""
+msgstr "Zkuste prosím později, nebo na jiné instanci searxu."
#: searx/templates/oscar/messages/no_results.html:14
#: searx/templates/simple/messages/no_results.html:14
@@ -891,7 +892,7 @@ msgstr "Pardón!"
msgid ""
"we didn't find any results. Please use another query or search in more "
"categories."
-msgstr "nenašly jsme žádné výsledky. Prosím použíjte jiný dotaz nebo hledejte ve více kategoriích."
+msgstr "Nenašli jsme žádné výsledky. Použijte prosím jiný dotaz nebo hledejte ve více kategoriích."
#: searx/templates/oscar/messages/save_settings_successfull.html:7
msgid "Well done!"
@@ -1010,4 +1011,4 @@ msgstr ""
#: searx/templates/simple/preferences.html:154
msgid "Privacy"
-msgstr ""
+msgstr "Soukromí"
diff --git a/searx/translations/cy/LC_MESSAGES/messages.mo b/searx/translations/cy/LC_MESSAGES/messages.mo
new file mode 100644
index 000000000..066d268e0
--- /dev/null
+++ b/searx/translations/cy/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/cy/LC_MESSAGES/messages.po b/searx/translations/cy/LC_MESSAGES/messages.po
new file mode 100644
index 000000000..3344c6d1d
--- /dev/null
+++ b/searx/translations/cy/LC_MESSAGES/messages.po
@@ -0,0 +1,1013 @@
+# Translations template for PROJECT.
+# Copyright (C) 2017 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+#
+# Translators:
+# Aled Powell <aled@aledpowell.cymru>, 2019
+msgid ""
+msgstr ""
+"Project-Id-Version: searx\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2017-11-01 21:31+0100\n"
+"PO-Revision-Date: 2019-01-05 13:50+0000\n"
+"Last-Translator: Aled Powell <aled@aledpowell.cymru>\n"
+"Language-Team: Welsh (http://www.transifex.com/asciimoo/searx/language/cy/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.3.4\n"
+"Language: cy\n"
+"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n"
+
+#: searx/search.py:137 searx/search.py:182
+msgid "timeout"
+msgstr ""
+
+#: searx/search.py:144
+msgid "request exception"
+msgstr ""
+
+#: searx/search.py:151
+msgid "unexpected crash"
+msgstr ""
+
+#: searx/webapp.py:136
+msgid "files"
+msgstr "ffeiliau"
+
+#: searx/webapp.py:137
+msgid "general"
+msgstr "cyffredinol"
+
+#: searx/webapp.py:138
+msgid "music"
+msgstr "cerddoriaeth"
+
+#: searx/webapp.py:139
+msgid "social media"
+msgstr "cyfryngau cymdeithasol"
+
+#: searx/webapp.py:140
+msgid "images"
+msgstr "delweddau"
+
+#: searx/webapp.py:141
+msgid "videos"
+msgstr "fideos"
+
+#: searx/webapp.py:142
+msgid "it"
+msgstr "Technoleg"
+
+#: searx/webapp.py:143
+msgid "news"
+msgstr "newyddion"
+
+#: searx/webapp.py:144
+msgid "map"
+msgstr "map"
+
+#: searx/webapp.py:145
+msgid "science"
+msgstr "gwyddoniaeth"
+
+#: searx/webapp.py:399 searx/webapp.py:658
+msgid "Invalid settings, please edit your preferences"
+msgstr "Gosodiadau annilys. Addasa dy ddewisiadau."
+
+#: searx/webapp.py:415
+msgid "Invalid settings"
+msgstr "Gosodiadau annilys"
+
+#: searx/webapp.py:449 searx/webapp.py:493
+msgid "search error"
+msgstr "gwall chwilio"
+
+#: searx/webapp.py:530
+msgid "{minutes} minute(s) ago"
+msgstr "{minutes} munud yn ôl"
+
+#: searx/webapp.py:532
+msgid "{hours} hour(s), {minutes} minute(s) ago"
+msgstr "{hours} awr, {minutes} munud yn ôl"
+
+#: searx/answerers/random/answerer.py:53
+msgid "Random value generator"
+msgstr ""
+
+#: searx/answerers/random/answerer.py:54
+msgid "Generate different random values"
+msgstr ""
+
+#: searx/answerers/statistics/answerer.py:53
+msgid "Statistics functions"
+msgstr ""
+
+#: searx/answerers/statistics/answerer.py:54
+msgid "Compute {functions} of the arguments"
+msgstr ""
+
+#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201
+msgid "Engine time (sec)"
+msgstr ""
+
+#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205
+msgid "Page loads (sec)"
+msgstr ""
+
+#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209
+#: searx/templates/oscar/results.html:95
+#: searx/templates/simple/results.html:20
+msgid "Number of results"
+msgstr "Nifer o ganlyniadau"
+
+#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213
+msgid "Scores"
+msgstr "Sgoriau"
+
+#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217
+msgid "Scores per result"
+msgstr ""
+
+#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221
+msgid "Errors"
+msgstr "Gwallau"
+
+#: searx/engines/pdbe.py:87
+msgid "{title}&nbsp;(OBSOLETE)"
+msgstr ""
+
+#: searx/engines/pdbe.py:91
+msgid "This entry has been superseded by"
+msgstr ""
+
+#: searx/engines/pubmed.py:74
+msgid "No abstract is available for this publication."
+msgstr ""
+
+#: searx/plugins/https_rewrite.py:32
+msgid "Rewrite HTTP links to HTTPS if possible"
+msgstr ""
+
+#: searx/plugins/infinite_scroll.py:3
+msgid "Infinite scroll"
+msgstr ""
+
+#: searx/plugins/infinite_scroll.py:4
+msgid "Automatically load next page when scrolling to bottom of current page"
+msgstr ""
+
+#: searx/plugins/oa_doi_rewrite.py:9
+msgid "Open Access DOI rewrite"
+msgstr ""
+
+#: searx/plugins/oa_doi_rewrite.py:10
+msgid ""
+"Avoid paywalls by redirecting to open-access versions of publications when "
+"available"
+msgstr ""
+
+#: searx/plugins/open_results_on_new_tab.py:18
+#: searx/templates/oscar/preferences.html:114
+#: searx/templates/simple/preferences.html:149
+msgid "Open result links on new browser tabs"
+msgstr "Agor dolenni canlyniadau mewn tabiau newydd yn y porwr"
+
+#: searx/plugins/open_results_on_new_tab.py:19
+msgid ""
+"Results are opened in the same window by default. This plugin overwrites the"
+" default behaviour to open links on new tabs/windows. (JavaScript required)"
+msgstr "Mae canlyniadau fel arfer yn cael eu hagor yn yr un ffenestr. Mae'r ategolyn hwn yn newid hyn fel bod dolenni yn cael eu hagor mewn tabiau/ffenestri newydd. (Angen JavaScript)"
+
+#: searx/plugins/search_on_category_select.py:18
+msgid "Search on category select"
+msgstr ""
+
+#: searx/plugins/search_on_category_select.py:19
+msgid ""
+"Perform search immediately if a category selected. Disable to select "
+"multiple categories. (JavaScript required)"
+msgstr ""
+
+#: searx/plugins/self_info.py:20
+msgid ""
+"Displays your IP if the query is \"ip\" and your user agent if the query "
+"contains \"user agent\"."
+msgstr ""
+
+#: searx/plugins/tracker_url_remover.py:26
+msgid "Tracker URL remover"
+msgstr ""
+
+#: searx/plugins/tracker_url_remover.py:27
+msgid "Remove trackers arguments from the returned URL"
+msgstr ""
+
+#: searx/plugins/vim_hotkeys.py:3
+msgid "Vim-like hotkeys"
+msgstr ""
+
+#: searx/plugins/vim_hotkeys.py:4
+msgid ""
+"Navigate search results with Vim-like hotkeys (JavaScript required). Press "
+"\"h\" key on main or result page to get help."
+msgstr ""
+
+#: searx/templates/courgette/404.html:4 searx/templates/legacy/404.html:4
+#: searx/templates/oscar/404.html:4 searx/templates/pix-art/404.html:4
+#: searx/templates/simple/404.html:4
+msgid "Page not found"
+msgstr ""
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+#, python-format
+msgid "Go to %(search_page)s."
+msgstr "Mynd i %(search_page)s."
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+msgid "search page"
+msgstr "tudalen chwilio"
+
+#: searx/templates/courgette/index.html:9
+#: searx/templates/courgette/index.html:13
+#: searx/templates/courgette/results.html:5
+#: searx/templates/legacy/index.html:8 searx/templates/legacy/index.html:12
+#: searx/templates/oscar/navbar.html:7
+#: searx/templates/oscar/preferences.html:3
+#: searx/templates/pix-art/index.html:8
+msgid "preferences"
+msgstr "dewisiadau"
+
+#: searx/templates/courgette/index.html:11
+#: searx/templates/legacy/index.html:10 searx/templates/oscar/about.html:2
+#: searx/templates/oscar/navbar.html:6 searx/templates/pix-art/index.html:7
+msgid "about"
+msgstr "ynghylch"
+
+#: searx/templates/courgette/preferences.html:5
+#: searx/templates/legacy/preferences.html:5
+#: searx/templates/oscar/preferences.html:8
+#: searx/templates/pix-art/preferences.html:5
+#: searx/templates/simple/preferences.html:26
+msgid "Preferences"
+msgstr "Dewisiadau"
+
+#: searx/templates/courgette/preferences.html:9
+#: searx/templates/legacy/preferences.html:9
+#: searx/templates/oscar/preferences.html:33
+#: searx/templates/oscar/preferences.html:35
+#: searx/templates/simple/preferences.html:34
+msgid "Default categories"
+msgstr "Categorïau arferol"
+
+#: searx/templates/courgette/preferences.html:13
+#: searx/templates/legacy/preferences.html:14
+#: searx/templates/oscar/preferences.html:41
+#: searx/templates/pix-art/preferences.html:9
+#: searx/templates/simple/preferences.html:39
+#: searx/templates/simple/preferences.html:163
+msgid "Search language"
+msgstr "Iaith chwilio"
+
+#: searx/templates/courgette/preferences.html:16
+#: searx/templates/legacy/preferences.html:17
+#: searx/templates/oscar/languages.html:6
+#: searx/templates/pix-art/preferences.html:12
+#: searx/templates/simple/languages.html:2
+#: searx/templates/simple/preferences.html:42
+msgid "Default language"
+msgstr "Iaith arferol"
+
+#: searx/templates/courgette/preferences.html:24
+#: searx/templates/legacy/preferences.html:25
+#: searx/templates/oscar/preferences.html:47
+#: searx/templates/pix-art/preferences.html:20
+#: searx/templates/simple/preferences.html:120
+msgid "Interface language"
+msgstr "Iaith y rhyngwyneb"
+
+#: searx/templates/courgette/preferences.html:34
+#: searx/templates/legacy/preferences.html:35
+#: searx/templates/oscar/preferences.html:57
+#: searx/templates/simple/preferences.html:51
+msgid "Autocomplete"
+msgstr "Awto-gwblhau"
+
+#: searx/templates/courgette/preferences.html:45
+#: searx/templates/legacy/preferences.html:46
+#: searx/templates/oscar/preferences.html:68
+#: searx/templates/simple/preferences.html:166
+msgid "Image proxy"
+msgstr ""
+
+#: searx/templates/courgette/preferences.html:48
+#: searx/templates/legacy/preferences.html:49
+#: searx/templates/oscar/preferences.html:72
+#: searx/templates/simple/preferences.html:169
+msgid "Enabled"
+msgstr "Galluogwyd"
+
+#: searx/templates/courgette/preferences.html:49
+#: searx/templates/legacy/preferences.html:50
+#: searx/templates/oscar/preferences.html:73
+#: searx/templates/simple/preferences.html:170
+msgid "Disabled"
+msgstr "Analluogwyd"
+
+#: searx/templates/courgette/preferences.html:54
+#: searx/templates/legacy/preferences.html:55
+#: searx/templates/oscar/preferences.html:77
+#: searx/templates/pix-art/preferences.html:30
+#: searx/templates/simple/preferences.html:156
+msgid "Method"
+msgstr "Dull"
+
+#: searx/templates/courgette/preferences.html:63
+#: searx/templates/legacy/preferences.html:64
+#: searx/templates/oscar/preferences.html:86
+#: searx/templates/oscar/preferences.html:165
+#: searx/templates/oscar/preferences.html:173
+#: searx/templates/simple/preferences.html:63
+#: searx/templates/simple/preferences.html:90
+msgid "SafeSearch"
+msgstr ""
+
+#: searx/templates/courgette/preferences.html:66
+#: searx/templates/legacy/preferences.html:67
+#: searx/templates/oscar/preferences.html:90
+#: searx/templates/simple/preferences.html:66
+msgid "Strict"
+msgstr "Caeth"
+
+#: searx/templates/courgette/preferences.html:67
+#: searx/templates/legacy/preferences.html:68
+#: searx/templates/oscar/preferences.html:91
+#: searx/templates/simple/preferences.html:67
+msgid "Moderate"
+msgstr "Cymhedrol"
+
+#: searx/templates/courgette/preferences.html:68
+#: searx/templates/legacy/preferences.html:69
+#: searx/templates/oscar/preferences.html:92
+#: searx/templates/simple/preferences.html:68
+msgid "None"
+msgstr "Dim"
+
+#: searx/templates/courgette/preferences.html:73
+#: searx/templates/legacy/preferences.html:74
+#: searx/templates/oscar/preferences.html:96
+#: searx/templates/pix-art/preferences.html:39
+#: searx/templates/simple/preferences.html:131
+msgid "Themes"
+msgstr "Themâu"
+
+#: searx/templates/courgette/preferences.html:83
+msgid "Color"
+msgstr "Lliw"
+
+#: searx/templates/courgette/preferences.html:86
+msgid "Blue (default)"
+msgstr "Glas (arferol)"
+
+#: searx/templates/courgette/preferences.html:87
+msgid "Violet"
+msgstr "Fioled"
+
+#: searx/templates/courgette/preferences.html:88
+msgid "Green"
+msgstr "Gwyrdd"
+
+#: searx/templates/courgette/preferences.html:89
+msgid "Cyan"
+msgstr "Gwyrddlas"
+
+#: searx/templates/courgette/preferences.html:90
+msgid "Orange"
+msgstr "Oren"
+
+#: searx/templates/courgette/preferences.html:91
+msgid "Red"
+msgstr "Coch"
+
+#: searx/templates/courgette/preferences.html:96
+#: searx/templates/legacy/preferences.html:93
+#: searx/templates/pix-art/preferences.html:49
+#: searx/templates/simple/preferences.html:77
+msgid "Currently used search engines"
+msgstr ""
+
+#: searx/templates/courgette/preferences.html:100
+#: searx/templates/legacy/preferences.html:97
+#: searx/templates/oscar/preferences.html:162
+#: searx/templates/oscar/preferences.html:176
+#: searx/templates/pix-art/preferences.html:53
+#: searx/templates/simple/preferences.html:87
+msgid "Engine name"
+msgstr ""
+
+#: searx/templates/courgette/preferences.html:101
+#: searx/templates/legacy/preferences.html:98
+msgid "Category"
+msgstr "Categori"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:113
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:110
+#: searx/templates/oscar/preferences.html:161
+#: searx/templates/oscar/preferences.html:177
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:64
+#: searx/templates/simple/preferences.html:86
+msgid "Allow"
+msgstr "Caniatáu"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:114
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:111
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:65
+msgid "Block"
+msgstr "Rhwystro"
+
+#: searx/templates/courgette/preferences.html:122
+#: searx/templates/legacy/preferences.html:119
+#: searx/templates/oscar/preferences.html:297
+#: searx/templates/pix-art/preferences.html:73
+#: searx/templates/simple/preferences.html:180
+msgid ""
+"These settings are stored in your cookies, this allows us not to store this "
+"data about you."
+msgstr ""
+
+#: searx/templates/courgette/preferences.html:124
+#: searx/templates/legacy/preferences.html:121
+#: searx/templates/oscar/preferences.html:299
+#: searx/templates/pix-art/preferences.html:75
+#: searx/templates/simple/preferences.html:182
+msgid ""
+"These cookies serve your sole convenience, we don't use these cookies to "
+"track you."
+msgstr ""
+
+#: searx/templates/courgette/preferences.html:127
+#: searx/templates/legacy/preferences.html:124
+#: searx/templates/oscar/preferences.html:305
+#: searx/templates/pix-art/preferences.html:78
+#: searx/templates/simple/preferences.html:185
+msgid "save"
+msgstr "cadw"
+
+#: searx/templates/courgette/preferences.html:128
+#: searx/templates/legacy/preferences.html:125
+#: searx/templates/oscar/preferences.html:307
+#: searx/templates/simple/preferences.html:186
+msgid "Reset defaults"
+msgstr "Ailosod rhagosodiadau"
+
+#: searx/templates/courgette/preferences.html:129
+#: searx/templates/legacy/preferences.html:126
+#: searx/templates/oscar/preferences.html:306
+#: searx/templates/pix-art/preferences.html:79
+#: searx/templates/simple/preferences.html:187
+msgid "back"
+msgstr "nôl"
+
+#: searx/templates/courgette/results.html:12
+#: searx/templates/legacy/results.html:13
+#: searx/templates/oscar/results.html:136
+#: searx/templates/simple/results.html:58
+msgid "Search URL"
+msgstr ""
+
+#: searx/templates/courgette/results.html:16
+#: searx/templates/legacy/results.html:17
+#: searx/templates/oscar/results.html:141
+#: searx/templates/simple/results.html:62
+msgid "Download results"
+msgstr "Lawrlwytho'r canlyniadau"
+
+#: searx/templates/courgette/results.html:34
+#: searx/templates/legacy/results.html:35
+#: searx/templates/simple/results.html:10
+msgid "Answers"
+msgstr "Atebion"
+
+#: searx/templates/courgette/results.html:42
+#: searx/templates/legacy/results.html:43
+#: searx/templates/oscar/results.html:116
+#: searx/templates/simple/results.html:42
+msgid "Suggestions"
+msgstr "Awgrymiadau"
+
+#: searx/templates/courgette/results.html:70
+#: searx/templates/legacy/results.html:81
+#: searx/templates/oscar/results.html:68 searx/templates/oscar/results.html:78
+#: searx/templates/simple/results.html:130
+msgid "previous page"
+msgstr "tudalen ddiwethaf"
+
+#: searx/templates/courgette/results.html:81
+#: searx/templates/legacy/results.html:92
+#: searx/templates/oscar/results.html:62 searx/templates/oscar/results.html:84
+#: searx/templates/simple/results.html:145
+msgid "next page"
+msgstr "tudalen nesaf"
+
+#: searx/templates/courgette/search.html:3
+#: searx/templates/legacy/search.html:3 searx/templates/oscar/search.html:6
+#: searx/templates/oscar/search_full.html:9
+#: searx/templates/pix-art/search.html:3 searx/templates/simple/search.html:4
+msgid "Search for..."
+msgstr "Chwilio am..."
+
+#: searx/templates/courgette/stats.html:4 searx/templates/legacy/stats.html:4
+#: searx/templates/oscar/stats.html:5 searx/templates/pix-art/stats.html:4
+#: searx/templates/simple/stats.html:7
+msgid "Engine stats"
+msgstr ""
+
+#: searx/templates/courgette/result_templates/images.html:4
+#: searx/templates/legacy/result_templates/images.html:4
+#: searx/templates/pix-art/result_templates/images.html:4
+msgid "original context"
+msgstr "cyd-destun gwreiddiol"
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Seeder"
+msgstr "Hadau"
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Leecher"
+msgstr "Lawrlwythwyr"
+
+#: searx/templates/courgette/result_templates/torrent.html:9
+#: searx/templates/legacy/result_templates/torrent.html:9
+#: searx/templates/oscar/macros.html:23
+#: searx/templates/simple/result_templates/torrent.html:6
+msgid "magnet link"
+msgstr "dolen magnet"
+
+#: searx/templates/courgette/result_templates/torrent.html:10
+#: searx/templates/legacy/result_templates/torrent.html:10
+#: searx/templates/oscar/macros.html:24
+#: searx/templates/simple/result_templates/torrent.html:7
+msgid "torrent file"
+msgstr "ffeil torrent"
+
+#: searx/templates/legacy/categories.html:8
+#: searx/templates/simple/categories.html:6
+msgid "Click on the magnifier to perform search"
+msgstr "Cliciwch ar y chwyddwydr i berfformio chwiliad"
+
+#: searx/templates/legacy/preferences.html:84
+#: searx/templates/oscar/preferences.html:113
+#: searx/templates/simple/preferences.html:142
+msgid "Results on new tabs"
+msgstr "Canlyniadau mewn tabiau newydd"
+
+#: searx/templates/legacy/preferences.html:87
+#: searx/templates/oscar/preferences.html:117
+#: searx/templates/simple/preferences.html:145
+msgid "On"
+msgstr "Ymlaen"
+
+#: searx/templates/legacy/preferences.html:88
+#: searx/templates/oscar/preferences.html:118
+#: searx/templates/simple/preferences.html:146
+msgid "Off"
+msgstr "I ffwrdd"
+
+#: searx/templates/legacy/result_templates/code.html:3
+#: searx/templates/legacy/result_templates/default.html:3
+#: searx/templates/legacy/result_templates/map.html:9
+#: searx/templates/oscar/macros.html:34 searx/templates/oscar/macros.html:48
+#: searx/templates/simple/macros.html:43
+msgid "cached"
+msgstr ""
+
+#: searx/templates/oscar/advanced.html:4
+msgid "Advanced settings"
+msgstr "Gosodiadau uwch"
+
+#: searx/templates/oscar/base.html:62
+#: searx/templates/oscar/messages/first_time.html:4
+#: searx/templates/oscar/messages/save_settings_successfull.html:5
+#: searx/templates/oscar/messages/unknow_error.html:5
+msgid "Close"
+msgstr "Cau"
+
+#: searx/templates/oscar/base.html:64
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+#: searx/templates/simple/results.html:25
+msgid "Error!"
+msgstr "Gwall!"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "Powered by"
+msgstr "Pwerwyd gan"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "a privacy-respecting, hackable metasearch engine"
+msgstr ""
+
+#: searx/templates/oscar/macros.html:36 searx/templates/oscar/macros.html:50
+#: searx/templates/simple/macros.html:43
+msgid "proxied"
+msgstr ""
+
+#: searx/templates/oscar/macros.html:92
+msgid "supported"
+msgstr "cefnogir"
+
+#: searx/templates/oscar/macros.html:96
+msgid "not supported"
+msgstr "ni chefnogir"
+
+#: searx/templates/oscar/preferences.html:13
+#: searx/templates/oscar/preferences.html:22
+#: searx/templates/simple/preferences.html:32
+msgid "General"
+msgstr "Cyffredin"
+
+#: searx/templates/oscar/preferences.html:14
+#: searx/templates/oscar/preferences.html:146
+#: searx/templates/simple/preferences.html:76
+msgid "Engines"
+msgstr "Peiriannau"
+
+#: searx/templates/oscar/preferences.html:15
+#: searx/templates/oscar/preferences.html:219
+msgid "Plugins"
+msgstr "Ategolion"
+
+#: searx/templates/oscar/preferences.html:16
+#: searx/templates/oscar/preferences.html:245
+msgid "Answerers"
+msgstr "Atebwyr"
+
+#: searx/templates/oscar/preferences.html:17
+#: searx/templates/oscar/preferences.html:272
+msgid "Cookies"
+msgstr "Cwcis"
+
+#: searx/templates/oscar/preferences.html:42
+#: searx/templates/simple/preferences.html:48
+msgid "What language do you prefer for search?"
+msgstr "Ym mha iaith wyt ti'n ffafrio chwilio?"
+
+#: searx/templates/oscar/preferences.html:48
+#: searx/templates/simple/preferences.html:128
+msgid "Change the language of the layout"
+msgstr "Newid iaith rhyngwyneb searX"
+
+#: searx/templates/oscar/preferences.html:58
+#: searx/templates/simple/preferences.html:60
+msgid "Find stuff as you type"
+msgstr "Darganfod pethau wrth i chi deipio"
+
+#: searx/templates/oscar/preferences.html:69
+#: searx/templates/simple/preferences.html:173
+msgid "Proxying image results through searx"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:78
+msgid ""
+"Change how forms are submited, <a "
+"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
+" rel=\"external\">learn more about request methods</a>"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:87
+#: searx/templates/simple/preferences.html:71
+msgid "Filter content"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:97
+#: searx/templates/simple/preferences.html:139
+msgid "Change searx layout"
+msgstr "Newid cynllun searX"
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Choose style for this theme"
+msgstr "Dewis arddull ar gyfer y thema hon"
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Style"
+msgstr "Arddull"
+
+#: searx/templates/oscar/preferences.html:122
+msgid "Open Access DOI resolver"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:123
+msgid ""
+"Redirect to open-access versions of publications when available (plugin "
+"required)"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:163
+#: searx/templates/oscar/preferences.html:175
+#: searx/templates/simple/preferences.html:88
+msgid "Shortcut"
+msgstr "Llwybr Byr"
+
+#: searx/templates/oscar/preferences.html:164
+#: searx/templates/oscar/preferences.html:174
+msgid "Selected language"
+msgstr "Iaith a ddewiswyd"
+
+#: searx/templates/oscar/preferences.html:166
+#: searx/templates/oscar/preferences.html:172
+#: searx/templates/simple/preferences.html:91
+msgid "Time range"
+msgstr "Cyfnod amser"
+
+#: searx/templates/oscar/preferences.html:167
+#: searx/templates/oscar/preferences.html:171
+#: searx/templates/simple/preferences.html:92
+msgid "Avg. time"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:168
+#: searx/templates/oscar/preferences.html:170
+#: searx/templates/simple/preferences.html:93
+msgid "Max time"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:248
+msgid "This is the list of searx's instant answering modules."
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:252
+msgid "Name"
+msgstr "Enw"
+
+#: searx/templates/oscar/preferences.html:253
+msgid "Keywords"
+msgstr "Allweddeiriau"
+
+#: searx/templates/oscar/preferences.html:254
+msgid "Description"
+msgstr "Disgrifiad"
+
+#: searx/templates/oscar/preferences.html:255
+msgid "Examples"
+msgstr "Enghreifftiau"
+
+#: searx/templates/oscar/preferences.html:275
+msgid ""
+"This is the list of cookies and their values searx is storing on your "
+"computer."
+msgstr "Dyma restr y cwcis, a'u gwerthoedd, mae searX yn eu cadw ar eich dyfais."
+
+#: searx/templates/oscar/preferences.html:276
+msgid "With that list, you can assess searx transparency."
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:281
+msgid "Cookie name"
+msgstr "Enw cwci"
+
+#: searx/templates/oscar/preferences.html:282
+msgid "Value"
+msgstr "Gwerth"
+
+#: searx/templates/oscar/preferences.html:301
+msgid "Search URL of the currently saved preferences"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:301
+msgid ""
+"Note: specifying custom settings in the search URL can reduce privacy by "
+"leaking data to the clicked result sites."
+msgstr ""
+
+#: searx/templates/oscar/results.html:17
+msgid "Search results"
+msgstr "Canlyniadau chwilio"
+
+#: searx/templates/oscar/results.html:21
+#: searx/templates/simple/results.html:84
+msgid "Try searching for:"
+msgstr "Rho gynnig ar chwilio am:"
+
+#: searx/templates/oscar/results.html:100
+#: searx/templates/simple/results.html:25
+msgid "Engines cannot retrieve results"
+msgstr "Ni all y peiriannau cael canlyniadau"
+
+#: searx/templates/oscar/results.html:131
+msgid "Links"
+msgstr "Dolenni"
+
+#: searx/templates/oscar/search.html:8
+#: searx/templates/oscar/search_full.html:11
+#: searx/templates/simple/search.html:5
+msgid "Start search"
+msgstr "Dechrau chwilio"
+
+#: searx/templates/oscar/stats.html:2
+msgid "stats"
+msgstr "ystadegau"
+
+#: searx/templates/oscar/time-range.html:3
+#: searx/templates/simple/time-range.html:3
+msgid "Anytime"
+msgstr "Unrhyw amser"
+
+#: searx/templates/oscar/time-range.html:6
+#: searx/templates/simple/time-range.html:6
+msgid "Last day"
+msgstr "Y diwrnod diwethaf"
+
+#: searx/templates/oscar/time-range.html:9
+#: searx/templates/simple/time-range.html:9
+msgid "Last week"
+msgstr "Yr wythnos diwethaf"
+
+#: searx/templates/oscar/time-range.html:12
+#: searx/templates/simple/time-range.html:12
+msgid "Last month"
+msgstr "Y mis diwethaf"
+
+#: searx/templates/oscar/time-range.html:15
+#: searx/templates/simple/time-range.html:15
+msgid "Last year"
+msgstr "Y flwyddyn ddiwethaf"
+
+#: searx/templates/oscar/messages/first_time.html:6
+#: searx/templates/oscar/messages/no_data_available.html:3
+msgid "Heads up!"
+msgstr ""
+
+#: searx/templates/oscar/messages/first_time.html:7
+msgid "It look like you are using searx first time."
+msgstr "Mae'n ymddangos eich bod yn defnyddio searx am y tro cyntaf."
+
+#: searx/templates/oscar/messages/no_cookies.html:3
+msgid "Information!"
+msgstr "Gwybodaeth!"
+
+#: searx/templates/oscar/messages/no_cookies.html:4
+msgid "currently, there are no cookies defined."
+msgstr ""
+
+#: searx/templates/oscar/messages/no_data_available.html:4
+msgid "There is currently no data available. "
+msgstr "Does dim data ar gael ar hyn o bryd."
+
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+msgid "Engines cannot retrieve results."
+msgstr "Ni all y peiriannau cael canlyniadau."
+
+#: searx/templates/oscar/messages/no_results.html:10
+#: searx/templates/simple/messages/no_results.html:10
+msgid "Please, try again later or find another searx instance."
+msgstr ""
+
+#: searx/templates/oscar/messages/no_results.html:14
+#: searx/templates/simple/messages/no_results.html:14
+msgid "Sorry!"
+msgstr "Sori!"
+
+#: searx/templates/oscar/messages/no_results.html:15
+#: searx/templates/simple/messages/no_results.html:15
+msgid ""
+"we didn't find any results. Please use another query or search in more "
+"categories."
+msgstr "Ni ddaethpwyd o hyd i unrhyw ganlyniadau. Defnyddiwch derm(au) chwilio gwahanol neu ehangu'r chwilio i ragor o gategorïau."
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:7
+msgid "Well done!"
+msgstr "Da iawn!"
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:8
+msgid "Settings saved successfully."
+msgstr "Cadwyd y gosodiadau yn iawn!"
+
+#: searx/templates/oscar/messages/unknow_error.html:7
+msgid "Oh snap!"
+msgstr ""
+
+#: searx/templates/oscar/messages/unknow_error.html:8
+msgid "Something went wrong."
+msgstr "Aeth rhywbeth o'i le."
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "show media"
+msgstr "dangos cyfryngau"
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "hide media"
+msgstr "cuddio cyfryngau"
+
+#: searx/templates/oscar/result_templates/images.html:30
+msgid "Get image"
+msgstr "Cael y ddelwedd"
+
+#: searx/templates/oscar/result_templates/images.html:33
+msgid "View source"
+msgstr "Gweld y ffynhonnell"
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "show map"
+msgstr "dangos map"
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "hide map"
+msgstr "cuddio map"
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "show details"
+msgstr "dangos manylion"
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "hide details"
+msgstr "cuddio manylion"
+
+#: searx/templates/oscar/result_templates/torrent.html:7
+#: searx/templates/simple/result_templates/torrent.html:11
+msgid "Filesize"
+msgstr "Maint ffeil"
+
+#: searx/templates/oscar/result_templates/torrent.html:9
+#: searx/templates/simple/result_templates/torrent.html:12
+msgid "Bytes"
+msgstr "Beitiau"
+
+#: searx/templates/oscar/result_templates/torrent.html:10
+#: searx/templates/simple/result_templates/torrent.html:13
+msgid "kiB"
+msgstr "kiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:11
+#: searx/templates/simple/result_templates/torrent.html:14
+msgid "MiB"
+msgstr "MiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:12
+#: searx/templates/simple/result_templates/torrent.html:15
+msgid "GiB"
+msgstr "GiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:13
+#: searx/templates/simple/result_templates/torrent.html:16
+msgid "TiB"
+msgstr "TiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:15
+#: searx/templates/simple/result_templates/torrent.html:20
+msgid "Number of Files"
+msgstr "Nifer o Ffeiliau"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "show video"
+msgstr "dangos fideo"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "hide video"
+msgstr "cuddio fideo"
+
+#: searx/templates/pix-art/results.html:28
+msgid "Load more..."
+msgstr "Dysgu mwy..."
+
+#: searx/templates/simple/base.html:31
+msgid "No item found"
+msgstr "Ni chanfuwyd eitem"
+
+#: searx/templates/simple/preferences.html:89
+msgid "Supports selected language"
+msgstr "Cefnogir yr iaith a ddewiswyd"
+
+#: searx/templates/simple/preferences.html:118
+msgid "User interface"
+msgstr "Rhyngwyneb defnyddiwr"
+
+#: searx/templates/simple/preferences.html:154
+msgid "Privacy"
+msgstr "Preifatrwydd"
diff --git a/searx/translations/da/LC_MESSAGES/messages.mo b/searx/translations/da/LC_MESSAGES/messages.mo
index 21cea9ef7..8813c0779 100644
--- a/searx/translations/da/LC_MESSAGES/messages.mo
+++ b/searx/translations/da/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/de/LC_MESSAGES/messages.mo b/searx/translations/de/LC_MESSAGES/messages.mo
index d6458785d..a525fbf1e 100644
--- a/searx/translations/de/LC_MESSAGES/messages.mo
+++ b/searx/translations/de/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/de/LC_MESSAGES/messages.po b/searx/translations/de/LC_MESSAGES/messages.po
index 2bf22911e..64f253ebd 100644
--- a/searx/translations/de/LC_MESSAGES/messages.po
+++ b/searx/translations/de/LC_MESSAGES/messages.po
@@ -12,6 +12,7 @@
# Max <theshirinzu@gmail.com>, 2015
# pointhi, 2014
# rike, 2014
+# S R <acc-transifex@rie.hm>, 2018
# stf <stefan.marsiske@gmail.com>, 2014
# stf <stefan.marsiske@gmail.com>, 2014
# Thomas Pointhuber, 2016-2017
@@ -21,8 +22,8 @@ msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2017-11-01 21:31+0100\n"
-"PO-Revision-Date: 2017-12-09 13:14+0000\n"
-"Last-Translator: Mario Siegmann <mario_siegmann@web.de>\n"
+"PO-Revision-Date: 2018-12-28 11:02+0000\n"
+"Last-Translator: S R <acc-transifex@rie.hm>\n"
"Language-Team: German (http://www.transifex.com/asciimoo/searx/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -159,25 +160,25 @@ msgstr "Keine Zusammenfassung für die Veröffentlichung verfügbar."
#: searx/plugins/https_rewrite.py:32
msgid "Rewrite HTTP links to HTTPS if possible"
-msgstr "Wandelt wenn möglich HTTP Links in HTTPS Links um"
+msgstr "Wandelt wenn möglich HTTP-Links in HTTPS-Links um"
#: searx/plugins/infinite_scroll.py:3
msgid "Infinite scroll"
-msgstr "Undendliches Scrollen"
+msgstr "Unendliches Scrollen"
#: searx/plugins/infinite_scroll.py:4
msgid "Automatically load next page when scrolling to bottom of current page"
-msgstr "Lädt automatisch die nächste Seite wenn das Ende der aktuellen Seite erreicht wurde"
+msgstr "Lädt automatisch die nächste Seite, wenn das Ende der aktuellen Seite erreicht wurde"
#: searx/plugins/oa_doi_rewrite.py:9
msgid "Open Access DOI rewrite"
-msgstr "Open Access DOI rewrite"
+msgstr "Open-Access-DOI umschreiben"
#: searx/plugins/oa_doi_rewrite.py:10
msgid ""
"Avoid paywalls by redirecting to open-access versions of publications when "
"available"
-msgstr "Bezahlbeschränkungen durch die Weiterleitung zu der verfügbaren Open-Access Version vermeiden"
+msgstr "Bezahlbeschränkungen durch die Weiterleitung zu der verfügbaren Open-Access-Version vermeiden"
#: searx/plugins/open_results_on_new_tab.py:18
#: searx/templates/oscar/preferences.html:114
@@ -223,7 +224,7 @@ msgstr "An Vim angelehnte Tastenkombinationen"
msgid ""
"Navigate search results with Vim-like hotkeys (JavaScript required). Press "
"\"h\" key on main or result page to get help."
-msgstr "Navigiere in der Ergebnisseite mit Vim ähnlichen Tastataurkombinationen (es wird JavaScript benötigt).\nDrücke \"h\" auf der Start bzw. Ergebnisseite um eine Hifefenster anzuzeigen"
+msgstr "Navigiere in der Ergebnisseite mit Vim ähnlichen Tastaturkombinationen (es wird JavaScript benötigt).\nDrücke \"h\" auf der Start- bzw. Ergebnisseite, um ein Hifefenster anzuzeigen"
#: searx/templates/courgette/404.html:4 searx/templates/legacy/404.html:4
#: searx/templates/oscar/404.html:4 searx/templates/pix-art/404.html:4
diff --git a/searx/translations/el_GR/LC_MESSAGES/messages.mo b/searx/translations/el_GR/LC_MESSAGES/messages.mo
index c9798d318..2bc6a57a3 100644
--- a/searx/translations/el_GR/LC_MESSAGES/messages.mo
+++ b/searx/translations/el_GR/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/en/LC_MESSAGES/messages.mo b/searx/translations/en/LC_MESSAGES/messages.mo
index 9632e6ca5..0c270c06d 100644
--- a/searx/translations/en/LC_MESSAGES/messages.mo
+++ b/searx/translations/en/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/eo/LC_MESSAGES/messages.mo b/searx/translations/eo/LC_MESSAGES/messages.mo
index cb0bc5570..cfad4d49e 100644
--- a/searx/translations/eo/LC_MESSAGES/messages.mo
+++ b/searx/translations/eo/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/eo/LC_MESSAGES/messages.po b/searx/translations/eo/LC_MESSAGES/messages.po
index de31c9a4b..cd7ffe80e 100644
--- a/searx/translations/eo/LC_MESSAGES/messages.po
+++ b/searx/translations/eo/LC_MESSAGES/messages.po
@@ -6,13 +6,14 @@
# Jack Stehn <jaxadeo@gmail.com>, 2017
# juanda097 <juanda097@protonmail.ch>, 2015-2016
# pizzaiolo, 2016
+# Václav Zouzalík <Vaclav.Zouzalik@seznam.cz>, 2018
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2017-11-01 21:31+0100\n"
-"PO-Revision-Date: 2017-11-01 20:31+0000\n"
-"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n"
+"PO-Revision-Date: 2018-11-22 08:33+0000\n"
+"Last-Translator: Václav Zouzalík <Vaclav.Zouzalik@seznam.cz>\n"
"Language-Team: Esperanto (http://www.transifex.com/asciimoo/searx/language/eo/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -23,15 +24,15 @@ msgstr ""
#: searx/search.py:137 searx/search.py:182
msgid "timeout"
-msgstr ""
+msgstr "tempolimo"
#: searx/search.py:144
msgid "request exception"
-msgstr ""
+msgstr "escepto de peto"
#: searx/search.py:151
msgid "unexpected crash"
-msgstr ""
+msgstr "neatendita paneo"
#: searx/webapp.py:136
msgid "files"
@@ -47,7 +48,7 @@ msgstr "muziko"
#: searx/webapp.py:139
msgid "social media"
-msgstr "sociaj retservoj"
+msgstr "sociaj retoj"
#: searx/webapp.py:140
msgid "images"
@@ -75,11 +76,11 @@ msgstr "scienco"
#: searx/webapp.py:399 searx/webapp.py:658
msgid "Invalid settings, please edit your preferences"
-msgstr ""
+msgstr "Nevalidaj agordoj, bonvolu redakti viajn agordojn"
#: searx/webapp.py:415
msgid "Invalid settings"
-msgstr ""
+msgstr "Nevalidaj agordoj"
#: searx/webapp.py:449 searx/webapp.py:493
msgid "search error"
@@ -95,23 +96,23 @@ msgstr "antaŭ {hours} horo(j), {minutes} minuto(j)"
#: searx/answerers/random/answerer.py:53
msgid "Random value generator"
-msgstr ""
+msgstr "Hazardvalora generilo"
#: searx/answerers/random/answerer.py:54
msgid "Generate different random values"
-msgstr ""
+msgstr "Ĝi generas diversajn hazardajn valorojn"
#: searx/answerers/statistics/answerer.py:53
msgid "Statistics functions"
-msgstr ""
+msgstr "Statistikaj funkcioj"
#: searx/answerers/statistics/answerer.py:54
msgid "Compute {functions} of the arguments"
-msgstr ""
+msgstr "Kalkulas {functions} el la argumentoj"
#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201
msgid "Engine time (sec)"
-msgstr ""
+msgstr "Motora tempo (s)"
#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205
msgid "Page loads (sec)"
@@ -137,19 +138,19 @@ msgstr "Eraroj"
#: searx/engines/pdbe.py:87
msgid "{title}&nbsp;(OBSOLETE)"
-msgstr ""
+msgstr "{title}&nbsp;(MALNOVA)"
#: searx/engines/pdbe.py:91
msgid "This entry has been superseded by"
-msgstr ""
+msgstr "Tiu ĉi enigo estis anstataŭigita per"
#: searx/engines/pubmed.py:74
msgid "No abstract is available for this publication."
-msgstr ""
+msgstr "Neniu resumo atingeblas por tiu ĉi eldonaĵo."
#: searx/plugins/https_rewrite.py:32
msgid "Rewrite HTTP links to HTTPS if possible"
-msgstr "Reverki HTTP ligiloj HTTP se eble"
+msgstr "Ŝanĝi HTTP-ligilojn al HTTPS, se eblas"
#: searx/plugins/infinite_scroll.py:3
msgid "Infinite scroll"
@@ -157,17 +158,17 @@ msgstr "Senfina rulumado"
#: searx/plugins/infinite_scroll.py:4
msgid "Automatically load next page when scrolling to bottom of current page"
-msgstr "Aŭtomate ŝarĝi la sekvan paĝon kiam rulumante al la subo de la nuna paĝo"
+msgstr "Aŭtomate ŝarĝi sekvan paĝon rulumante al la subo de la nuna paĝo"
#: searx/plugins/oa_doi_rewrite.py:9
msgid "Open Access DOI rewrite"
-msgstr ""
+msgstr "Malfermalira COI-ŝanĝo"
#: searx/plugins/oa_doi_rewrite.py:10
msgid ""
"Avoid paywalls by redirecting to open-access versions of publications when "
"available"
-msgstr "Eviti pagomurojn alidirektante al liberaj versioj de eldonaĵoj kiam eblas"
+msgstr "Eviti pagomurojn per direkto al malfermaliraj versioj de eldonaĵoj, se eblas"
#: searx/plugins/open_results_on_new_tab.py:18
#: searx/templates/oscar/preferences.html:114
@@ -179,7 +180,7 @@ msgstr "Malfermi rezultligilojn en novaj retumilaj langetoj"
msgid ""
"Results are opened in the same window by default. This plugin overwrites the"
" default behaviour to open links on new tabs/windows. (JavaScript required)"
-msgstr "Oni malfermas rezultojn en la sama langeto defaŭlte. Ĉi tiu aldonaĵo ŝanĝas la kutima agmaniero por malfermi ligilojn en novaj langetoj/fenestroj. (ĜavaSkripto bezonata)"
+msgstr "Oni malfermas rezultojn en la sama langeto defaŭlte. Ĉi tiu aldonaĵo ŝanĝas la kutiman agmanieron por malfermi ligilojn en novaj langetoj/fenestroj. (ĜavoSkripto bezonata)"
#: searx/plugins/search_on_category_select.py:18
msgid "Search on category select"
@@ -189,7 +190,7 @@ msgstr "Serĉi en elektita kategorio"
msgid ""
"Perform search immediately if a category selected. Disable to select "
"multiple categories. (JavaScript required)"
-msgstr "Serĉi tuj se oni elektas kategorion. Malŝaltu ĝin por elekti plurajn kategoriojn (ĜavaSkripto bezonata)"
+msgstr "Serĉi tuj se oni elektas kategorion. Malŝaltu ĝin por elekti plurajn kategoriojn (ĜavoSkripto bezonata)"
#: searx/plugins/self_info.py:20
msgid ""
@@ -203,7 +204,7 @@ msgstr "Forigilo de URL-spuriloj"
#: searx/plugins/tracker_url_remover.py:27
msgid "Remove trackers arguments from the returned URL"
-msgstr "Forviŝi spuraj esprimoj de la URL"
+msgstr "Forviŝi spurajn argumentojn el la ricevita URL"
#: searx/plugins/vim_hotkeys.py:3
msgid "Vim-like hotkeys"
@@ -213,7 +214,7 @@ msgstr "Vim-ŝajnaj klavkomandoj"
msgid ""
"Navigate search results with Vim-like hotkeys (JavaScript required). Press "
"\"h\" key on main or result page to get help."
-msgstr "Tranavigi serĉrezultojn per Vim-ŝajnaj klavkomandoj (ĜavaSkripto bezonata). Premu \"h\" por helptekstaro en rezultpaĝo."
+msgstr "Tranavigi serĉrezultojn per Vim-ŝajnaj klavkomandoj (ĜavoSkripto bezonata). Premu \"h\" por helptekstaro en ĉef- aŭ rezultpaĝo."
#: searx/templates/courgette/404.html:4 searx/templates/legacy/404.html:4
#: searx/templates/oscar/404.html:4 searx/templates/pix-art/404.html:4
@@ -242,7 +243,7 @@ msgstr "Serĉopaĝo"
#: searx/templates/oscar/preferences.html:3
#: searx/templates/pix-art/index.html:8
msgid "preferences"
-msgstr "preferoj"
+msgstr "agordoj"
#: searx/templates/courgette/index.html:11
#: searx/templates/legacy/index.html:10 searx/templates/oscar/about.html:2
@@ -256,7 +257,7 @@ msgstr "pri"
#: searx/templates/pix-art/preferences.html:5
#: searx/templates/simple/preferences.html:26
msgid "Preferences"
-msgstr "Preferoj"
+msgstr "Agordoj"
#: searx/templates/courgette/preferences.html:9
#: searx/templates/legacy/preferences.html:9
@@ -282,7 +283,7 @@ msgstr "Serĉolingvo"
#: searx/templates/simple/languages.html:2
#: searx/templates/simple/preferences.html:42
msgid "Default language"
-msgstr ""
+msgstr "Defaŭlta lingvo"
#: searx/templates/courgette/preferences.html:24
#: searx/templates/legacy/preferences.html:25
@@ -400,7 +401,7 @@ msgstr "Ruĝa"
#: searx/templates/pix-art/preferences.html:49
#: searx/templates/simple/preferences.html:77
msgid "Currently used search engines"
-msgstr " Aktuale uzitajn serĉilojn"
+msgstr " Aktuale uzataj serĉiloj"
#: searx/templates/courgette/preferences.html:100
#: searx/templates/legacy/preferences.html:97
@@ -445,7 +446,7 @@ msgstr "Bloki"
msgid ""
"These settings are stored in your cookies, this allows us not to store this "
"data about you."
-msgstr "Tiuj agordoj estas konservitaj en viaj kuketoj kaj tio eblas, ke ni ne konservu tiujn datumojn pri vi."
+msgstr "Tiuj ĉi agordoj estas konservitaj en viaj kuketoj, kio ebligas al ni ne konservi tiujn datumojn pri vi en nia servilo."
#: searx/templates/courgette/preferences.html:124
#: searx/templates/legacy/preferences.html:121
@@ -478,7 +479,7 @@ msgstr "Reagordi al defaŭlto"
#: searx/templates/pix-art/preferences.html:79
#: searx/templates/simple/preferences.html:187
msgid "back"
-msgstr "antaŭe"
+msgstr "antaŭen"
#: searx/templates/courgette/results.html:12
#: searx/templates/legacy/results.html:13
@@ -492,7 +493,7 @@ msgstr "Serĉi URL"
#: searx/templates/oscar/results.html:141
#: searx/templates/simple/results.html:62
msgid "Download results"
-msgstr "Alŝutaj rezultoj"
+msgstr "Elŝuti rezultojn"
#: searx/templates/courgette/results.html:34
#: searx/templates/legacy/results.html:35
@@ -519,7 +520,7 @@ msgstr " antaŭa paĝo"
#: searx/templates/oscar/results.html:62 searx/templates/oscar/results.html:84
#: searx/templates/simple/results.html:145
msgid "next page"
-msgstr " sekvanta paĝo"
+msgstr " sekva paĝo"
#: searx/templates/courgette/search.html:3
#: searx/templates/legacy/search.html:3 searx/templates/oscar/search.html:6
@@ -615,11 +616,11 @@ msgstr "Fermi"
#: searx/templates/simple/messages/no_results.html:4
#: searx/templates/simple/results.html:25
msgid "Error!"
-msgstr ""
+msgstr "Eraro!"
#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
msgid "Powered by"
-msgstr "Funkciigita de"
+msgstr "Funkciigita per"
#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
msgid "a privacy-respecting, hackable metasearch engine"
@@ -628,15 +629,15 @@ msgstr "kodumebla metaserĉilo kiu respektas vian privatecon"
#: searx/templates/oscar/macros.html:36 searx/templates/oscar/macros.html:50
#: searx/templates/simple/macros.html:43
msgid "proxied"
-msgstr ""
+msgstr "prokurata"
#: searx/templates/oscar/macros.html:92
msgid "supported"
-msgstr ""
+msgstr "subtenata"
#: searx/templates/oscar/macros.html:96
msgid "not supported"
-msgstr ""
+msgstr "nesubtenata"
#: searx/templates/oscar/preferences.html:13
#: searx/templates/oscar/preferences.html:22
@@ -658,7 +659,7 @@ msgstr "Aldonaĵoj"
#: searx/templates/oscar/preferences.html:16
#: searx/templates/oscar/preferences.html:245
msgid "Answerers"
-msgstr ""
+msgstr "Respondiloj"
#: searx/templates/oscar/preferences.html:17
#: searx/templates/oscar/preferences.html:272
@@ -673,7 +674,7 @@ msgstr "Kiun lingvon vi pli ŝatas por serĉi?"
#: searx/templates/oscar/preferences.html:48
#: searx/templates/simple/preferences.html:128
msgid "Change the language of the layout"
-msgstr "Ŝanĝi la fasonadan lingvon"
+msgstr "Ŝanĝi lingvon de la fasono"
#: searx/templates/oscar/preferences.html:58
#: searx/templates/simple/preferences.html:60
@@ -690,7 +691,7 @@ msgid ""
"Change how forms are submited, <a "
"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
" rel=\"external\">learn more about request methods</a>"
-msgstr " Ŝanĝi kiel formoj estas senditaj, < href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\"> Lerni pli pri peto-metodoj</> "
+msgstr "Ŝanĝi kiel formoj estas sendataj, <a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">sciu pli pri peto-metodoj</a> "
#: searx/templates/oscar/preferences.html:87
#: searx/templates/simple/preferences.html:71
@@ -700,7 +701,7 @@ msgstr "Filtri enhavon"
#: searx/templates/oscar/preferences.html:97
#: searx/templates/simple/preferences.html:139
msgid "Change searx layout"
-msgstr "Ŝanĝi searx-fasonadon"
+msgstr "Ŝanĝi fasonon de Searx"
#: searx/templates/oscar/preferences.html:106
#: searx/templates/oscar/preferences.html:111
@@ -714,13 +715,13 @@ msgstr "Stilo"
#: searx/templates/oscar/preferences.html:122
msgid "Open Access DOI resolver"
-msgstr ""
+msgstr "Malfermalira COI-solvilo"
#: searx/templates/oscar/preferences.html:123
msgid ""
"Redirect to open-access versions of publications when available (plugin "
"required)"
-msgstr ""
+msgstr "Direkti al malfermaliraj versioj de eldonaĵoj, se eblas (aldonaĵo necesas)"
#: searx/templates/oscar/preferences.html:163
#: searx/templates/oscar/preferences.html:175
@@ -731,13 +732,13 @@ msgstr "Fulmoklavo"
#: searx/templates/oscar/preferences.html:164
#: searx/templates/oscar/preferences.html:174
msgid "Selected language"
-msgstr ""
+msgstr "Elekti lingvon"
#: searx/templates/oscar/preferences.html:166
#: searx/templates/oscar/preferences.html:172
#: searx/templates/simple/preferences.html:91
msgid "Time range"
-msgstr ""
+msgstr "Tempa intervalo"
#: searx/templates/oscar/preferences.html:167
#: searx/templates/oscar/preferences.html:171
@@ -753,29 +754,29 @@ msgstr "Maksimuma tempo"
#: searx/templates/oscar/preferences.html:248
msgid "This is the list of searx's instant answering modules."
-msgstr ""
+msgstr "Tio ĉi estas listo de tuje respondantaj moduloj de Searx."
#: searx/templates/oscar/preferences.html:252
msgid "Name"
-msgstr ""
+msgstr "Nomo"
#: searx/templates/oscar/preferences.html:253
msgid "Keywords"
-msgstr ""
+msgstr "Ŝlosilvortoj"
#: searx/templates/oscar/preferences.html:254
msgid "Description"
-msgstr ""
+msgstr "Priskribo"
#: searx/templates/oscar/preferences.html:255
msgid "Examples"
-msgstr ""
+msgstr "Ekzemploj"
#: searx/templates/oscar/preferences.html:275
msgid ""
"This is the list of cookies and their values searx is storing on your "
"computer."
-msgstr "Ĉi tiu estas la listo de kuketoj kaj siaj valoroj, kiujn searx konservas en via komputilo."
+msgstr "Ĉi tio estas listo de kuketoj kaj iliaj valoroj, kiujn searx konservas en via komputilo."
#: searx/templates/oscar/preferences.html:276
msgid "With that list, you can assess searx transparency."
@@ -791,13 +792,13 @@ msgstr "Valoro"
#: searx/templates/oscar/preferences.html:301
msgid "Search URL of the currently saved preferences"
-msgstr ""
+msgstr "Serĉo-URL kun aktuale konservitaj agordoj"
#: searx/templates/oscar/preferences.html:301
msgid ""
"Note: specifying custom settings in the search URL can reduce privacy by "
"leaking data to the clicked result sites."
-msgstr ""
+msgstr "Rimarko: Precizigo de propraj agordoj en la serĉo-URL povas malaltigi privatecon per nevola diskonigo de la datumoj al alklikantaj retejoj."
#: searx/templates/oscar/results.html:17
msgid "Search results"
@@ -806,12 +807,12 @@ msgstr "Serĉrezultoj"
#: searx/templates/oscar/results.html:21
#: searx/templates/simple/results.html:84
msgid "Try searching for:"
-msgstr ""
+msgstr "Provu serĉi:"
#: searx/templates/oscar/results.html:100
#: searx/templates/simple/results.html:25
msgid "Engines cannot retrieve results"
-msgstr ""
+msgstr "Motoroj ne povas trovi rezultojn"
#: searx/templates/oscar/results.html:131
msgid "Links"
@@ -830,7 +831,7 @@ msgstr "statistikoj"
#: searx/templates/oscar/time-range.html:3
#: searx/templates/simple/time-range.html:3
msgid "Anytime"
-msgstr "Ie"
+msgstr "Iam ajn"
#: searx/templates/oscar/time-range.html:6
#: searx/templates/simple/time-range.html:6
@@ -850,7 +851,7 @@ msgstr "Pasinta monato"
#: searx/templates/oscar/time-range.html:15
#: searx/templates/simple/time-range.html:15
msgid "Last year"
-msgstr ""
+msgstr "Pasinta jaro"
#: searx/templates/oscar/messages/first_time.html:6
#: searx/templates/oscar/messages/no_data_available.html:3
@@ -859,7 +860,7 @@ msgstr "Atentu!"
#: searx/templates/oscar/messages/first_time.html:7
msgid "It look like you are using searx first time."
-msgstr "Ŝajnas, ke ĉi tiu estas via unua fojo uzante searx"
+msgstr "Ŝajnas, ke ĉi tio estas via unua fojo, kiam vi uzas searx."
#: searx/templates/oscar/messages/no_cookies.html:3
msgid "Information!"
@@ -867,7 +868,7 @@ msgstr "Informoj!"
#: searx/templates/oscar/messages/no_cookies.html:4
msgid "currently, there are no cookies defined."
-msgstr "ĉi-momente, ne estas kuketoj difinitaj."
+msgstr "nun ne estas ajnaj kuketoj difinitaj."
#: searx/templates/oscar/messages/no_data_available.html:4
msgid "There is currently no data available. "
@@ -876,17 +877,17 @@ msgstr "Nun ne estas datumoj disponeblaj."
#: searx/templates/oscar/messages/no_results.html:4
#: searx/templates/simple/messages/no_results.html:4
msgid "Engines cannot retrieve results."
-msgstr ""
+msgstr "Motoroj ne povas trovi rezultojn."
#: searx/templates/oscar/messages/no_results.html:10
#: searx/templates/simple/messages/no_results.html:10
msgid "Please, try again later or find another searx instance."
-msgstr ""
+msgstr "Bonvolu provi ĝin poste aŭ trovi aliajn searx-instancon."
#: searx/templates/oscar/messages/no_results.html:14
#: searx/templates/simple/messages/no_results.html:14
msgid "Sorry!"
-msgstr "Mizera!"
+msgstr "Pardonu!"
#: searx/templates/oscar/messages/no_results.html:15
#: searx/templates/simple/messages/no_results.html:15
@@ -952,7 +953,7 @@ msgstr "kaŝi detalojn"
#: searx/templates/oscar/result_templates/torrent.html:7
#: searx/templates/simple/result_templates/torrent.html:11
msgid "Filesize"
-msgstr "Dosiergrando"
+msgstr "Dosiergrandeco"
#: searx/templates/oscar/result_templates/torrent.html:9
#: searx/templates/simple/result_templates/torrent.html:12
@@ -1000,16 +1001,16 @@ msgstr "Ŝarĝi pli..."
#: searx/templates/simple/base.html:31
msgid "No item found"
-msgstr ""
+msgstr "Nenio trovita"
#: searx/templates/simple/preferences.html:89
msgid "Supports selected language"
-msgstr ""
+msgstr "Subtenas elektitan lingvon"
#: searx/templates/simple/preferences.html:118
msgid "User interface"
-msgstr ""
+msgstr "Fasado"
#: searx/templates/simple/preferences.html:154
msgid "Privacy"
-msgstr ""
+msgstr "Privateco"
diff --git a/searx/translations/es/LC_MESSAGES/messages.mo b/searx/translations/es/LC_MESSAGES/messages.mo
index c8c08316e..358cce8cb 100644
--- a/searx/translations/es/LC_MESSAGES/messages.mo
+++ b/searx/translations/es/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/eu/LC_MESSAGES/messages.mo b/searx/translations/eu/LC_MESSAGES/messages.mo
new file mode 100644
index 000000000..db58fdc84
--- /dev/null
+++ b/searx/translations/eu/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/eu/LC_MESSAGES/messages.po b/searx/translations/eu/LC_MESSAGES/messages.po
new file mode 100644
index 000000000..b6fa194e1
--- /dev/null
+++ b/searx/translations/eu/LC_MESSAGES/messages.po
@@ -0,0 +1,1015 @@
+# Translations template for PROJECT.
+# Copyright (C) 2017 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+#
+# Translators:
+# beriain <beriain@bitmessage.ch>, 2018
+# beriain <beriain@bitmessage.ch>, 2018
+# Txopi <txopi@ikusimakusi.eus>, 2016
+msgid ""
+msgstr ""
+"Project-Id-Version: searx\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2017-11-01 21:31+0100\n"
+"PO-Revision-Date: 2018-11-06 16:39+0000\n"
+"Last-Translator: beriain <beriain@bitmessage.ch>\n"
+"Language-Team: Basque (http://www.transifex.com/asciimoo/searx/language/eu/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.3.4\n"
+"Language: eu\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: searx/search.py:137 searx/search.py:182
+msgid "timeout"
+msgstr "denbora agortzea"
+
+#: searx/search.py:144
+msgid "request exception"
+msgstr "salbuespena eskaeran"
+
+#: searx/search.py:151
+msgid "unexpected crash"
+msgstr "ustekabeko gelditzea"
+
+#: searx/webapp.py:136
+msgid "files"
+msgstr "fitxategiak"
+
+#: searx/webapp.py:137
+msgid "general"
+msgstr "orokorra"
+
+#: searx/webapp.py:138
+msgid "music"
+msgstr "musika"
+
+#: searx/webapp.py:139
+msgid "social media"
+msgstr "multimedia soziala"
+
+#: searx/webapp.py:140
+msgid "images"
+msgstr "irudiak"
+
+#: searx/webapp.py:141
+msgid "videos"
+msgstr "bideoak"
+
+#: searx/webapp.py:142
+msgid "it"
+msgstr "it"
+
+#: searx/webapp.py:143
+msgid "news"
+msgstr "berriak"
+
+#: searx/webapp.py:144
+msgid "map"
+msgstr "mapa"
+
+#: searx/webapp.py:145
+msgid "science"
+msgstr "zientzia"
+
+#: searx/webapp.py:399 searx/webapp.py:658
+msgid "Invalid settings, please edit your preferences"
+msgstr "Ezarpen ez baliodunak, mesedez editatu zure hobespenak"
+
+#: searx/webapp.py:415
+msgid "Invalid settings"
+msgstr "Ezarpen ez baliodunak"
+
+#: searx/webapp.py:449 searx/webapp.py:493
+msgid "search error"
+msgstr "bilaketa akatsa"
+
+#: searx/webapp.py:530
+msgid "{minutes} minute(s) ago"
+msgstr "duela {minutes} minutu"
+
+#: searx/webapp.py:532
+msgid "{hours} hour(s), {minutes} minute(s) ago"
+msgstr "duela {hours} ordu eta {minutes} minutu"
+
+#: searx/answerers/random/answerer.py:53
+msgid "Random value generator"
+msgstr "Ausazko balio sortzailea"
+
+#: searx/answerers/random/answerer.py:54
+msgid "Generate different random values"
+msgstr "Ausazko balio ezberdinak sortu"
+
+#: searx/answerers/statistics/answerer.py:53
+msgid "Statistics functions"
+msgstr "Funtzio estatistikoak"
+
+#: searx/answerers/statistics/answerer.py:54
+msgid "Compute {functions} of the arguments"
+msgstr "Parametroen {functions} zenbatu"
+
+#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201
+msgid "Engine time (sec)"
+msgstr "Bilatzailearen denbora (seg)"
+
+#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205
+msgid "Page loads (sec)"
+msgstr "Orri kargak (seg)"
+
+#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209
+#: searx/templates/oscar/results.html:95
+#: searx/templates/simple/results.html:20
+msgid "Number of results"
+msgstr "Emaitza kopurua"
+
+#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213
+msgid "Scores"
+msgstr "Balorazioak"
+
+#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217
+msgid "Scores per result"
+msgstr "Balorazioak emaitza bakoitzeko"
+
+#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221
+msgid "Errors"
+msgstr "Erroreak"
+
+#: searx/engines/pdbe.py:87
+msgid "{title}&nbsp;(OBSOLETE)"
+msgstr "{title}&nbsp;(ZAHARKITUA)"
+
+#: searx/engines/pdbe.py:91
+msgid "This entry has been superseded by"
+msgstr "Sarrera hau hurrengoarekin ordezkatu da"
+
+#: searx/engines/pubmed.py:74
+msgid "No abstract is available for this publication."
+msgstr "Ez dago abstrakturik eskuragarri argitalpen honetarako."
+
+#: searx/plugins/https_rewrite.py:32
+msgid "Rewrite HTTP links to HTTPS if possible"
+msgstr "HTTP loturak HTTPS bihurtu ahal denean"
+
+#: searx/plugins/infinite_scroll.py:3
+msgid "Infinite scroll"
+msgstr "Korritze amaigabea"
+
+#: searx/plugins/infinite_scroll.py:4
+msgid "Automatically load next page when scrolling to bottom of current page"
+msgstr "Hurrengo orria automatikoki kargatu uneko orriaren behekaldera mugitzerakoan"
+
+#: searx/plugins/oa_doi_rewrite.py:9
+msgid "Open Access DOI rewrite"
+msgstr "Berridatzi Open Access DOI"
+
+#: searx/plugins/oa_doi_rewrite.py:10
+msgid ""
+"Avoid paywalls by redirecting to open-access versions of publications when "
+"available"
+msgstr "Ordainketa hormak sahiestu argitalpenen sartze-askeko bertsioetara berbidaliz ahal denean"
+
+#: searx/plugins/open_results_on_new_tab.py:18
+#: searx/templates/oscar/preferences.html:114
+#: searx/templates/simple/preferences.html:149
+msgid "Open result links on new browser tabs"
+msgstr "Emaitzen estekak nabigatzailearen fitxa berrietan ireki"
+
+#: searx/plugins/open_results_on_new_tab.py:19
+msgid ""
+"Results are opened in the same window by default. This plugin overwrites the"
+" default behaviour to open links on new tabs/windows. (JavaScript required)"
+msgstr "Emaitzak leiho berdinean irekitzen dira lehenetsi bezala. Plugin honek lehenetsitako jokabidea aldatzen du estekak fitxa/leiho berrietan irekitzeko. (JavaScript behar du)"
+
+#: searx/plugins/search_on_category_select.py:18
+msgid "Search on category select"
+msgstr "Bilatu kategoria hautatzerakoan"
+
+#: searx/plugins/search_on_category_select.py:19
+msgid ""
+"Perform search immediately if a category selected. Disable to select "
+"multiple categories. (JavaScript required)"
+msgstr "Bilaketa egin kategoria hautatu bezain laster. Ezgaitu ezazu hainbat kategoria hautatu ahal izateko. (JavaScript behar du)"
+
+#: searx/plugins/self_info.py:20
+msgid ""
+"Displays your IP if the query is \"ip\" and your user agent if the query "
+"contains \"user agent\"."
+msgstr "Zure IPa erakutsi bilatutakoa \"ip\" bada eta zure user agenta bilatutakoa \"user agent\" bada."
+
+#: searx/plugins/tracker_url_remover.py:26
+msgid "Tracker URL remover"
+msgstr "URL aztarnariak kendu"
+
+#: searx/plugins/tracker_url_remover.py:27
+msgid "Remove trackers arguments from the returned URL"
+msgstr "Aztarnarien argumentuak kendu itzulitako URLtik"
+
+#: searx/plugins/vim_hotkeys.py:3
+msgid "Vim-like hotkeys"
+msgstr "Vim antzeko laster-teklak"
+
+#: searx/plugins/vim_hotkeys.py:4
+msgid ""
+"Navigate search results with Vim-like hotkeys (JavaScript required). Press "
+"\"h\" key on main or result page to get help."
+msgstr "Emaitzetan zehar Vim bezalako tekla azkarrekin nabigatu (JavaScript behar du). Sakatu \"h\" tekla orri nagusian edo emaitzen orrian laguntza ikusteko."
+
+#: searx/templates/courgette/404.html:4 searx/templates/legacy/404.html:4
+#: searx/templates/oscar/404.html:4 searx/templates/pix-art/404.html:4
+#: searx/templates/simple/404.html:4
+msgid "Page not found"
+msgstr "Orria ez da aurkitu"
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+#, python-format
+msgid "Go to %(search_page)s."
+msgstr "%(search_page)s(e)ra joan."
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+msgid "search page"
+msgstr "bilaketa orria"
+
+#: searx/templates/courgette/index.html:9
+#: searx/templates/courgette/index.html:13
+#: searx/templates/courgette/results.html:5
+#: searx/templates/legacy/index.html:8 searx/templates/legacy/index.html:12
+#: searx/templates/oscar/navbar.html:7
+#: searx/templates/oscar/preferences.html:3
+#: searx/templates/pix-art/index.html:8
+msgid "preferences"
+msgstr "hobespenak"
+
+#: searx/templates/courgette/index.html:11
+#: searx/templates/legacy/index.html:10 searx/templates/oscar/about.html:2
+#: searx/templates/oscar/navbar.html:6 searx/templates/pix-art/index.html:7
+msgid "about"
+msgstr "honi buruz"
+
+#: searx/templates/courgette/preferences.html:5
+#: searx/templates/legacy/preferences.html:5
+#: searx/templates/oscar/preferences.html:8
+#: searx/templates/pix-art/preferences.html:5
+#: searx/templates/simple/preferences.html:26
+msgid "Preferences"
+msgstr "Hobespenak"
+
+#: searx/templates/courgette/preferences.html:9
+#: searx/templates/legacy/preferences.html:9
+#: searx/templates/oscar/preferences.html:33
+#: searx/templates/oscar/preferences.html:35
+#: searx/templates/simple/preferences.html:34
+msgid "Default categories"
+msgstr "Lehenetsitako kategoriak"
+
+#: searx/templates/courgette/preferences.html:13
+#: searx/templates/legacy/preferences.html:14
+#: searx/templates/oscar/preferences.html:41
+#: searx/templates/pix-art/preferences.html:9
+#: searx/templates/simple/preferences.html:39
+#: searx/templates/simple/preferences.html:163
+msgid "Search language"
+msgstr "Bilaketaren hizkuntza"
+
+#: searx/templates/courgette/preferences.html:16
+#: searx/templates/legacy/preferences.html:17
+#: searx/templates/oscar/languages.html:6
+#: searx/templates/pix-art/preferences.html:12
+#: searx/templates/simple/languages.html:2
+#: searx/templates/simple/preferences.html:42
+msgid "Default language"
+msgstr "Lehenetsitako hizkuntza"
+
+#: searx/templates/courgette/preferences.html:24
+#: searx/templates/legacy/preferences.html:25
+#: searx/templates/oscar/preferences.html:47
+#: searx/templates/pix-art/preferences.html:20
+#: searx/templates/simple/preferences.html:120
+msgid "Interface language"
+msgstr "Interfazearen hizkuntza"
+
+#: searx/templates/courgette/preferences.html:34
+#: searx/templates/legacy/preferences.html:35
+#: searx/templates/oscar/preferences.html:57
+#: searx/templates/simple/preferences.html:51
+msgid "Autocomplete"
+msgstr "Osatze automatikoa"
+
+#: searx/templates/courgette/preferences.html:45
+#: searx/templates/legacy/preferences.html:46
+#: searx/templates/oscar/preferences.html:68
+#: searx/templates/simple/preferences.html:166
+msgid "Image proxy"
+msgstr "Irudietarako proxya"
+
+#: searx/templates/courgette/preferences.html:48
+#: searx/templates/legacy/preferences.html:49
+#: searx/templates/oscar/preferences.html:72
+#: searx/templates/simple/preferences.html:169
+msgid "Enabled"
+msgstr "Gaituta"
+
+#: searx/templates/courgette/preferences.html:49
+#: searx/templates/legacy/preferences.html:50
+#: searx/templates/oscar/preferences.html:73
+#: searx/templates/simple/preferences.html:170
+msgid "Disabled"
+msgstr "Desgaituta"
+
+#: searx/templates/courgette/preferences.html:54
+#: searx/templates/legacy/preferences.html:55
+#: searx/templates/oscar/preferences.html:77
+#: searx/templates/pix-art/preferences.html:30
+#: searx/templates/simple/preferences.html:156
+msgid "Method"
+msgstr "Metodoa"
+
+#: searx/templates/courgette/preferences.html:63
+#: searx/templates/legacy/preferences.html:64
+#: searx/templates/oscar/preferences.html:86
+#: searx/templates/oscar/preferences.html:165
+#: searx/templates/oscar/preferences.html:173
+#: searx/templates/simple/preferences.html:63
+#: searx/templates/simple/preferences.html:90
+msgid "SafeSearch"
+msgstr "Bilaketa segurua"
+
+#: searx/templates/courgette/preferences.html:66
+#: searx/templates/legacy/preferences.html:67
+#: searx/templates/oscar/preferences.html:90
+#: searx/templates/simple/preferences.html:66
+msgid "Strict"
+msgstr "Zorrotza"
+
+#: searx/templates/courgette/preferences.html:67
+#: searx/templates/legacy/preferences.html:68
+#: searx/templates/oscar/preferences.html:91
+#: searx/templates/simple/preferences.html:67
+msgid "Moderate"
+msgstr "Moderatua"
+
+#: searx/templates/courgette/preferences.html:68
+#: searx/templates/legacy/preferences.html:69
+#: searx/templates/oscar/preferences.html:92
+#: searx/templates/simple/preferences.html:68
+msgid "None"
+msgstr "Bat ere ez"
+
+#: searx/templates/courgette/preferences.html:73
+#: searx/templates/legacy/preferences.html:74
+#: searx/templates/oscar/preferences.html:96
+#: searx/templates/pix-art/preferences.html:39
+#: searx/templates/simple/preferences.html:131
+msgid "Themes"
+msgstr "Itxurak"
+
+#: searx/templates/courgette/preferences.html:83
+msgid "Color"
+msgstr "Kolorea"
+
+#: searx/templates/courgette/preferences.html:86
+msgid "Blue (default)"
+msgstr "Urdina (lehenetsia)"
+
+#: searx/templates/courgette/preferences.html:87
+msgid "Violet"
+msgstr "Bioleta"
+
+#: searx/templates/courgette/preferences.html:88
+msgid "Green"
+msgstr "Berdea"
+
+#: searx/templates/courgette/preferences.html:89
+msgid "Cyan"
+msgstr "Zian"
+
+#: searx/templates/courgette/preferences.html:90
+msgid "Orange"
+msgstr "Laranja"
+
+#: searx/templates/courgette/preferences.html:91
+msgid "Red"
+msgstr "Gorria"
+
+#: searx/templates/courgette/preferences.html:96
+#: searx/templates/legacy/preferences.html:93
+#: searx/templates/pix-art/preferences.html:49
+#: searx/templates/simple/preferences.html:77
+msgid "Currently used search engines"
+msgstr "Erabiliak izaten ari diren bilatzaileak"
+
+#: searx/templates/courgette/preferences.html:100
+#: searx/templates/legacy/preferences.html:97
+#: searx/templates/oscar/preferences.html:162
+#: searx/templates/oscar/preferences.html:176
+#: searx/templates/pix-art/preferences.html:53
+#: searx/templates/simple/preferences.html:87
+msgid "Engine name"
+msgstr "Bilatzailearen izena"
+
+#: searx/templates/courgette/preferences.html:101
+#: searx/templates/legacy/preferences.html:98
+msgid "Category"
+msgstr "Kategoria"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:113
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:110
+#: searx/templates/oscar/preferences.html:161
+#: searx/templates/oscar/preferences.html:177
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:64
+#: searx/templates/simple/preferences.html:86
+msgid "Allow"
+msgstr "Baimendu"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:114
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:111
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:65
+msgid "Block"
+msgstr "Blokeatu"
+
+#: searx/templates/courgette/preferences.html:122
+#: searx/templates/legacy/preferences.html:119
+#: searx/templates/oscar/preferences.html:297
+#: searx/templates/pix-art/preferences.html:73
+#: searx/templates/simple/preferences.html:180
+msgid ""
+"These settings are stored in your cookies, this allows us not to store this "
+"data about you."
+msgstr "Ezarpen hauek zure cookietan gurdetzen dira, honek zuri buruzko informaziorik ez gordetzea baimentzen digu."
+
+#: searx/templates/courgette/preferences.html:124
+#: searx/templates/legacy/preferences.html:121
+#: searx/templates/oscar/preferences.html:299
+#: searx/templates/pix-art/preferences.html:75
+#: searx/templates/simple/preferences.html:182
+msgid ""
+"These cookies serve your sole convenience, we don't use these cookies to "
+"track you."
+msgstr "Cookie hauek zure onurarako besterik ez dira, ez ditugu zure jarraipenik egiteko erabiltzen."
+
+#: searx/templates/courgette/preferences.html:127
+#: searx/templates/legacy/preferences.html:124
+#: searx/templates/oscar/preferences.html:305
+#: searx/templates/pix-art/preferences.html:78
+#: searx/templates/simple/preferences.html:185
+msgid "save"
+msgstr "gorde"
+
+#: searx/templates/courgette/preferences.html:128
+#: searx/templates/legacy/preferences.html:125
+#: searx/templates/oscar/preferences.html:307
+#: searx/templates/simple/preferences.html:186
+msgid "Reset defaults"
+msgstr "Berrezarri lehenetsiak"
+
+#: searx/templates/courgette/preferences.html:129
+#: searx/templates/legacy/preferences.html:126
+#: searx/templates/oscar/preferences.html:306
+#: searx/templates/pix-art/preferences.html:79
+#: searx/templates/simple/preferences.html:187
+msgid "back"
+msgstr "atzera"
+
+#: searx/templates/courgette/results.html:12
+#: searx/templates/legacy/results.html:13
+#: searx/templates/oscar/results.html:136
+#: searx/templates/simple/results.html:58
+msgid "Search URL"
+msgstr "Bilaketa URLa"
+
+#: searx/templates/courgette/results.html:16
+#: searx/templates/legacy/results.html:17
+#: searx/templates/oscar/results.html:141
+#: searx/templates/simple/results.html:62
+msgid "Download results"
+msgstr "Emaitzak deskargatu"
+
+#: searx/templates/courgette/results.html:34
+#: searx/templates/legacy/results.html:35
+#: searx/templates/simple/results.html:10
+msgid "Answers"
+msgstr "Erantzunak"
+
+#: searx/templates/courgette/results.html:42
+#: searx/templates/legacy/results.html:43
+#: searx/templates/oscar/results.html:116
+#: searx/templates/simple/results.html:42
+msgid "Suggestions"
+msgstr "Iradokizunak"
+
+#: searx/templates/courgette/results.html:70
+#: searx/templates/legacy/results.html:81
+#: searx/templates/oscar/results.html:68 searx/templates/oscar/results.html:78
+#: searx/templates/simple/results.html:130
+msgid "previous page"
+msgstr "aurreko orrialdea"
+
+#: searx/templates/courgette/results.html:81
+#: searx/templates/legacy/results.html:92
+#: searx/templates/oscar/results.html:62 searx/templates/oscar/results.html:84
+#: searx/templates/simple/results.html:145
+msgid "next page"
+msgstr "hurrengo orrialdea"
+
+#: searx/templates/courgette/search.html:3
+#: searx/templates/legacy/search.html:3 searx/templates/oscar/search.html:6
+#: searx/templates/oscar/search_full.html:9
+#: searx/templates/pix-art/search.html:3 searx/templates/simple/search.html:4
+msgid "Search for..."
+msgstr "Bilatu..."
+
+#: searx/templates/courgette/stats.html:4 searx/templates/legacy/stats.html:4
+#: searx/templates/oscar/stats.html:5 searx/templates/pix-art/stats.html:4
+#: searx/templates/simple/stats.html:7
+msgid "Engine stats"
+msgstr "Bilatzaileen estatistikak"
+
+#: searx/templates/courgette/result_templates/images.html:4
+#: searx/templates/legacy/result_templates/images.html:4
+#: searx/templates/pix-art/result_templates/images.html:4
+msgid "original context"
+msgstr "jatorrizko testuingurua"
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Seeder"
+msgstr "Ereilea"
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Leecher"
+msgstr "Izaina"
+
+#: searx/templates/courgette/result_templates/torrent.html:9
+#: searx/templates/legacy/result_templates/torrent.html:9
+#: searx/templates/oscar/macros.html:23
+#: searx/templates/simple/result_templates/torrent.html:6
+msgid "magnet link"
+msgstr "magnet lotura"
+
+#: searx/templates/courgette/result_templates/torrent.html:10
+#: searx/templates/legacy/result_templates/torrent.html:10
+#: searx/templates/oscar/macros.html:24
+#: searx/templates/simple/result_templates/torrent.html:7
+msgid "torrent file"
+msgstr "torrent fitxategia"
+
+#: searx/templates/legacy/categories.html:8
+#: searx/templates/simple/categories.html:6
+msgid "Click on the magnifier to perform search"
+msgstr "Lupan sakatu bilaketa egiteko"
+
+#: searx/templates/legacy/preferences.html:84
+#: searx/templates/oscar/preferences.html:113
+#: searx/templates/simple/preferences.html:142
+msgid "Results on new tabs"
+msgstr "Emaitzak fitxa berrietan"
+
+#: searx/templates/legacy/preferences.html:87
+#: searx/templates/oscar/preferences.html:117
+#: searx/templates/simple/preferences.html:145
+msgid "On"
+msgstr "Piztuta"
+
+#: searx/templates/legacy/preferences.html:88
+#: searx/templates/oscar/preferences.html:118
+#: searx/templates/simple/preferences.html:146
+msgid "Off"
+msgstr "Itzalita"
+
+#: searx/templates/legacy/result_templates/code.html:3
+#: searx/templates/legacy/result_templates/default.html:3
+#: searx/templates/legacy/result_templates/map.html:9
+#: searx/templates/oscar/macros.html:34 searx/templates/oscar/macros.html:48
+#: searx/templates/simple/macros.html:43
+msgid "cached"
+msgstr "cacheatuta"
+
+#: searx/templates/oscar/advanced.html:4
+msgid "Advanced settings"
+msgstr "Ezarpen aurreratuak"
+
+#: searx/templates/oscar/base.html:62
+#: searx/templates/oscar/messages/first_time.html:4
+#: searx/templates/oscar/messages/save_settings_successfull.html:5
+#: searx/templates/oscar/messages/unknow_error.html:5
+msgid "Close"
+msgstr "Itxi"
+
+#: searx/templates/oscar/base.html:64
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+#: searx/templates/simple/results.html:25
+msgid "Error!"
+msgstr "Errorea!"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "Powered by"
+msgstr "Honek bultzatua"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "a privacy-respecting, hackable metasearch engine"
+msgstr "pribatutasun-errespetatzaile, metabilaketa motor hackeagarri bat"
+
+#: searx/templates/oscar/macros.html:36 searx/templates/oscar/macros.html:50
+#: searx/templates/simple/macros.html:43
+msgid "proxied"
+msgstr "proxyatuta"
+
+#: searx/templates/oscar/macros.html:92
+msgid "supported"
+msgstr "onartua"
+
+#: searx/templates/oscar/macros.html:96
+msgid "not supported"
+msgstr "ez onartua"
+
+#: searx/templates/oscar/preferences.html:13
+#: searx/templates/oscar/preferences.html:22
+#: searx/templates/simple/preferences.html:32
+msgid "General"
+msgstr "Orokorra"
+
+#: searx/templates/oscar/preferences.html:14
+#: searx/templates/oscar/preferences.html:146
+#: searx/templates/simple/preferences.html:76
+msgid "Engines"
+msgstr "Bilatzaileak"
+
+#: searx/templates/oscar/preferences.html:15
+#: searx/templates/oscar/preferences.html:219
+msgid "Plugins"
+msgstr "Pluginak"
+
+#: searx/templates/oscar/preferences.html:16
+#: searx/templates/oscar/preferences.html:245
+msgid "Answerers"
+msgstr "Erantzun emaileak"
+
+#: searx/templates/oscar/preferences.html:17
+#: searx/templates/oscar/preferences.html:272
+msgid "Cookies"
+msgstr "Cookieak"
+
+#: searx/templates/oscar/preferences.html:42
+#: searx/templates/simple/preferences.html:48
+msgid "What language do you prefer for search?"
+msgstr "Zein hizkuntzan egin nahi duzu bilaketa?"
+
+#: searx/templates/oscar/preferences.html:48
+#: searx/templates/simple/preferences.html:128
+msgid "Change the language of the layout"
+msgstr "Interfazearen hizkuntza aldatu"
+
+#: searx/templates/oscar/preferences.html:58
+#: searx/templates/simple/preferences.html:60
+msgid "Find stuff as you type"
+msgstr "Gauzak aurkitu idatzi bitartean"
+
+#: searx/templates/oscar/preferences.html:69
+#: searx/templates/simple/preferences.html:173
+msgid "Proxying image results through searx"
+msgstr "Irudien emaitzak searx bitartez proxyatu"
+
+#: searx/templates/oscar/preferences.html:78
+msgid ""
+"Change how forms are submited, <a "
+"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
+" rel=\"external\">learn more about request methods</a>"
+msgstr "Aldatu inprimakiak nola bidaltzen diren, <a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">ikasi gehiago eskaera metodoen inguruan</a>"
+
+#: searx/templates/oscar/preferences.html:87
+#: searx/templates/simple/preferences.html:71
+msgid "Filter content"
+msgstr "Edukia iragazi"
+
+#: searx/templates/oscar/preferences.html:97
+#: searx/templates/simple/preferences.html:139
+msgid "Change searx layout"
+msgstr "Searxen diseinua aldatu"
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Choose style for this theme"
+msgstr "Gai honetarako estiloa hautatu"
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Style"
+msgstr "Estiloa"
+
+#: searx/templates/oscar/preferences.html:122
+msgid "Open Access DOI resolver"
+msgstr "Open Access DOI ebatzi"
+
+#: searx/templates/oscar/preferences.html:123
+msgid ""
+"Redirect to open-access versions of publications when available (plugin "
+"required)"
+msgstr "Argitalpenen sartze-askeko bertsioetara berbidali ahal denean (plugina behar du)"
+
+#: searx/templates/oscar/preferences.html:163
+#: searx/templates/oscar/preferences.html:175
+#: searx/templates/simple/preferences.html:88
+msgid "Shortcut"
+msgstr "Lasterbidea"
+
+#: searx/templates/oscar/preferences.html:164
+#: searx/templates/oscar/preferences.html:174
+msgid "Selected language"
+msgstr "Hautatutako hizkuntza"
+
+#: searx/templates/oscar/preferences.html:166
+#: searx/templates/oscar/preferences.html:172
+#: searx/templates/simple/preferences.html:91
+msgid "Time range"
+msgstr "Denbora tartea"
+
+#: searx/templates/oscar/preferences.html:167
+#: searx/templates/oscar/preferences.html:171
+#: searx/templates/simple/preferences.html:92
+msgid "Avg. time"
+msgstr " Batezbesteko denbora"
+
+#: searx/templates/oscar/preferences.html:168
+#: searx/templates/oscar/preferences.html:170
+#: searx/templates/simple/preferences.html:93
+msgid "Max time"
+msgstr "Gehienezko denbora"
+
+#: searx/templates/oscar/preferences.html:248
+msgid "This is the list of searx's instant answering modules."
+msgstr "Hau da searxen berehalako erantzunen moduluen zerrenda."
+
+#: searx/templates/oscar/preferences.html:252
+msgid "Name"
+msgstr "Izena"
+
+#: searx/templates/oscar/preferences.html:253
+msgid "Keywords"
+msgstr "Gako-hitzak"
+
+#: searx/templates/oscar/preferences.html:254
+msgid "Description"
+msgstr "Deskripzioa"
+
+#: searx/templates/oscar/preferences.html:255
+msgid "Examples"
+msgstr "Adibideak"
+
+#: searx/templates/oscar/preferences.html:275
+msgid ""
+"This is the list of cookies and their values searx is storing on your "
+"computer."
+msgstr "Hau searxek zure ordenagailuan gordetzen ari den cookien eta haien balioen zerrenda bat da."
+
+#: searx/templates/oscar/preferences.html:276
+msgid "With that list, you can assess searx transparency."
+msgstr "Zerrenda horrekin, searxen gardentasuna balioztatu dezakezu."
+
+#: searx/templates/oscar/preferences.html:281
+msgid "Cookie name"
+msgstr "Cookiearen izena"
+
+#: searx/templates/oscar/preferences.html:282
+msgid "Value"
+msgstr "Balioa"
+
+#: searx/templates/oscar/preferences.html:301
+msgid "Search URL of the currently saved preferences"
+msgstr "Une honetan gordetako hobespenen bilaketa URLa"
+
+#: searx/templates/oscar/preferences.html:301
+msgid ""
+"Note: specifying custom settings in the search URL can reduce privacy by "
+"leaking data to the clicked result sites."
+msgstr "Oharra: bilaketa URLan ezarpen pertsonalizatuak zehazteak pribatutasuna txikiagotu dezake klikatutako erantzun guneetara datuak emanez"
+
+#: searx/templates/oscar/results.html:17
+msgid "Search results"
+msgstr "Bilaketaren emaitzak"
+
+#: searx/templates/oscar/results.html:21
+#: searx/templates/simple/results.html:84
+msgid "Try searching for:"
+msgstr "Saiatu hau bilatzen:"
+
+#: searx/templates/oscar/results.html:100
+#: searx/templates/simple/results.html:25
+msgid "Engines cannot retrieve results"
+msgstr "Bilatzaileek ezin dute emaitzik lortu"
+
+#: searx/templates/oscar/results.html:131
+msgid "Links"
+msgstr "Estekak"
+
+#: searx/templates/oscar/search.html:8
+#: searx/templates/oscar/search_full.html:11
+#: searx/templates/simple/search.html:5
+msgid "Start search"
+msgstr "Bilaketa hasi"
+
+#: searx/templates/oscar/stats.html:2
+msgid "stats"
+msgstr "estatistikak"
+
+#: searx/templates/oscar/time-range.html:3
+#: searx/templates/simple/time-range.html:3
+msgid "Anytime"
+msgstr "Edonoiz"
+
+#: searx/templates/oscar/time-range.html:6
+#: searx/templates/simple/time-range.html:6
+msgid "Last day"
+msgstr "Azken eguna"
+
+#: searx/templates/oscar/time-range.html:9
+#: searx/templates/simple/time-range.html:9
+msgid "Last week"
+msgstr "Azken astea"
+
+#: searx/templates/oscar/time-range.html:12
+#: searx/templates/simple/time-range.html:12
+msgid "Last month"
+msgstr "Azken hilabetea"
+
+#: searx/templates/oscar/time-range.html:15
+#: searx/templates/simple/time-range.html:15
+msgid "Last year"
+msgstr "Azken urtea"
+
+#: searx/templates/oscar/messages/first_time.html:6
+#: searx/templates/oscar/messages/no_data_available.html:3
+msgid "Heads up!"
+msgstr "Kasu!"
+
+#: searx/templates/oscar/messages/first_time.html:7
+msgid "It look like you are using searx first time."
+msgstr "Searx lehen aldiz erabiltzen ari zarela ematen du."
+
+#: searx/templates/oscar/messages/no_cookies.html:3
+msgid "Information!"
+msgstr "Informazioa!"
+
+#: searx/templates/oscar/messages/no_cookies.html:4
+msgid "currently, there are no cookies defined."
+msgstr "une honetan, ez dago cookierik definitutik."
+
+#: searx/templates/oscar/messages/no_data_available.html:4
+msgid "There is currently no data available. "
+msgstr "Une honetan ez dago daturik eskuragarri."
+
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+msgid "Engines cannot retrieve results."
+msgstr "Bilatzaileek ezin dute emaitzik lortu."
+
+#: searx/templates/oscar/messages/no_results.html:10
+#: searx/templates/simple/messages/no_results.html:10
+msgid "Please, try again later or find another searx instance."
+msgstr "Mesedez, saiatu berriz beranduago edo bila ezazu beste searx instantzia bat."
+
+#: searx/templates/oscar/messages/no_results.html:14
+#: searx/templates/simple/messages/no_results.html:14
+msgid "Sorry!"
+msgstr "Barkatu!"
+
+#: searx/templates/oscar/messages/no_results.html:15
+#: searx/templates/simple/messages/no_results.html:15
+msgid ""
+"we didn't find any results. Please use another query or search in more "
+"categories."
+msgstr "ez dugu emaitzik aurkitu. Mesedez beste kontsulta bat egin edo bilatu kategoria gehiagotan."
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:7
+msgid "Well done!"
+msgstr "Ondo egina!"
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:8
+msgid "Settings saved successfully."
+msgstr "Ezarpenak ongi gorde dira."
+
+#: searx/templates/oscar/messages/unknow_error.html:7
+msgid "Oh snap!"
+msgstr "Hara!"
+
+#: searx/templates/oscar/messages/unknow_error.html:8
+msgid "Something went wrong."
+msgstr "Zerbait gaizki joan da."
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "show media"
+msgstr "media erakutsi"
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "hide media"
+msgstr "media ezkutatu"
+
+#: searx/templates/oscar/result_templates/images.html:30
+msgid "Get image"
+msgstr "Irudia eskuratu"
+
+#: searx/templates/oscar/result_templates/images.html:33
+msgid "View source"
+msgstr "Iturria ikusi"
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "show map"
+msgstr "mapa erakutsi"
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "hide map"
+msgstr "mapa ezkutatu"
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "show details"
+msgstr "xehetasunak erakutsi"
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "hide details"
+msgstr "xehetasunak ezkutatu"
+
+#: searx/templates/oscar/result_templates/torrent.html:7
+#: searx/templates/simple/result_templates/torrent.html:11
+msgid "Filesize"
+msgstr "Fitxategi neurria"
+
+#: searx/templates/oscar/result_templates/torrent.html:9
+#: searx/templates/simple/result_templates/torrent.html:12
+msgid "Bytes"
+msgstr "Byteak"
+
+#: searx/templates/oscar/result_templates/torrent.html:10
+#: searx/templates/simple/result_templates/torrent.html:13
+msgid "kiB"
+msgstr "kiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:11
+#: searx/templates/simple/result_templates/torrent.html:14
+msgid "MiB"
+msgstr "MiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:12
+#: searx/templates/simple/result_templates/torrent.html:15
+msgid "GiB"
+msgstr "GiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:13
+#: searx/templates/simple/result_templates/torrent.html:16
+msgid "TiB"
+msgstr "TiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:15
+#: searx/templates/simple/result_templates/torrent.html:20
+msgid "Number of Files"
+msgstr "Fitxategi kopurua"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "show video"
+msgstr "erakutsi bideoa"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "hide video"
+msgstr "ezkutatu bideoa"
+
+#: searx/templates/pix-art/results.html:28
+msgid "Load more..."
+msgstr "Kargatu gehiago..."
+
+#: searx/templates/simple/base.html:31
+msgid "No item found"
+msgstr "Ez da elementurik aurkitu"
+
+#: searx/templates/simple/preferences.html:89
+msgid "Supports selected language"
+msgstr "Hautatutako hizkuntza onartzen du"
+
+#: searx/templates/simple/preferences.html:118
+msgid "User interface"
+msgstr "Erabiltzailearen interfazea"
+
+#: searx/templates/simple/preferences.html:154
+msgid "Privacy"
+msgstr "Pribatutasuna"
diff --git a/searx/translations/fa_IR/LC_MESSAGES/messages.mo b/searx/translations/fa_IR/LC_MESSAGES/messages.mo
new file mode 100644
index 000000000..4ef71416b
--- /dev/null
+++ b/searx/translations/fa_IR/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/fa_IR/LC_MESSAGES/messages.po b/searx/translations/fa_IR/LC_MESSAGES/messages.po
new file mode 100644
index 000000000..0e568e1db
--- /dev/null
+++ b/searx/translations/fa_IR/LC_MESSAGES/messages.po
@@ -0,0 +1,1015 @@
+# Translations template for PROJECT.
+# Copyright (C) 2017 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+#
+# Translators:
+# Aurora, 2018
+# Jim <inactive+Jim11@transifex.com>, 2017
+# Mostafa Ahangarha <ahangarha@gmail.com>, 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: searx\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2017-11-01 21:31+0100\n"
+"PO-Revision-Date: 2018-04-16 16:41+0000\n"
+"Last-Translator: Aurora\n"
+"Language-Team: Persian (Iran) (http://www.transifex.com/asciimoo/searx/language/fa_IR/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.3.4\n"
+"Language: fa_IR\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: searx/search.py:137 searx/search.py:182
+msgid "timeout"
+msgstr "پایان زمان<br>"
+
+#: searx/search.py:144
+msgid "request exception"
+msgstr "خطا در درخواست"
+
+#: searx/search.py:151
+msgid "unexpected crash"
+msgstr "ایست ناگهانی"
+
+#: searx/webapp.py:136
+msgid "files"
+msgstr "فایل ها<br>"
+
+#: searx/webapp.py:137
+msgid "general"
+msgstr "فراگیر"
+
+#: searx/webapp.py:138
+msgid "music"
+msgstr "موسیقی"
+
+#: searx/webapp.py:139
+msgid "social media"
+msgstr "رسانه اجتماعی"
+
+#: searx/webapp.py:140
+msgid "images"
+msgstr "تصاویر<br>"
+
+#: searx/webapp.py:141
+msgid "videos"
+msgstr "ویدیو ها<br>"
+
+#: searx/webapp.py:142
+msgid "it"
+msgstr "فناوری اطلاعات"
+
+#: searx/webapp.py:143
+msgid "news"
+msgstr "اخبار"
+
+#: searx/webapp.py:144
+msgid "map"
+msgstr "نقشه"
+
+#: searx/webapp.py:145
+msgid "science"
+msgstr "دانش<br>"
+
+#: searx/webapp.py:399 searx/webapp.py:658
+msgid "Invalid settings, please edit your preferences"
+msgstr "تنظیمات نادرست است، لطفا اولویت‌های جستجو را تغییر دهید"
+
+#: searx/webapp.py:415
+msgid "Invalid settings"
+msgstr "تنظیمات اشتباه"
+
+#: searx/webapp.py:449 searx/webapp.py:493
+msgid "search error"
+msgstr "خطای جستجو"
+
+#: searx/webapp.py:530
+msgid "{minutes} minute(s) ago"
+msgstr "{minutes} دقیقه پیش"
+
+#: searx/webapp.py:532
+msgid "{hours} hour(s), {minutes} minute(s) ago"
+msgstr "{hours} ساعت و {minutes} دقیقه پیش"
+
+#: searx/answerers/random/answerer.py:53
+msgid "Random value generator"
+msgstr "ایجاد کننده ی مقدار تصادفی"
+
+#: searx/answerers/random/answerer.py:54
+msgid "Generate different random values"
+msgstr "ایجاد مقادیر تصادفی متفاوت"
+
+#: searx/answerers/statistics/answerer.py:53
+msgid "Statistics functions"
+msgstr "توابع آماری"
+
+#: searx/answerers/statistics/answerer.py:54
+msgid "Compute {functions} of the arguments"
+msgstr "پردازش {عملکرد های} نشانوند ها<br>"
+
+#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201
+msgid "Engine time (sec)"
+msgstr "زمان موتور(ثانیه)<br>"
+
+#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205
+msgid "Page loads (sec)"
+msgstr "زمان بارگذاری صفحه (ثانیه)"
+
+#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209
+#: searx/templates/oscar/results.html:95
+#: searx/templates/simple/results.html:20
+msgid "Number of results"
+msgstr "تعداد نتایج"
+
+#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213
+msgid "Scores"
+msgstr "امتیازات<br>"
+
+#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217
+msgid "Scores per result"
+msgstr "امتیازات بر نتیجه<br>"
+
+#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221
+msgid "Errors"
+msgstr "خطاها"
+
+#: searx/engines/pdbe.py:87
+msgid "{title}&nbsp;(OBSOLETE)"
+msgstr "{title}&nbsp;(OBSOLETE)"
+
+#: searx/engines/pdbe.py:91
+msgid "This entry has been superseded by"
+msgstr "این ورودی معلق شده است توسط"
+
+#: searx/engines/pubmed.py:74
+msgid "No abstract is available for this publication."
+msgstr "هیچ چکید ای برای این نشریه در دسترس نیست.<br>"
+
+#: searx/plugins/https_rewrite.py:32
+msgid "Rewrite HTTP links to HTTPS if possible"
+msgstr "تغییر پیوند های HTTP به HTTPS در صورت امکان"
+
+#: searx/plugins/infinite_scroll.py:3
+msgid "Infinite scroll"
+msgstr "پایین رفتن بی‌پایان"
+
+#: searx/plugins/infinite_scroll.py:4
+msgid "Automatically load next page when scrolling to bottom of current page"
+msgstr "بارگذاری خودکار صفحه بعد در صورت پیمایش تا پایین صفحه کنونی"
+
+#: searx/plugins/oa_doi_rewrite.py:9
+msgid "Open Access DOI rewrite"
+msgstr "بازنویسی Open Access DOI<br>"
+
+#: searx/plugins/oa_doi_rewrite.py:10
+msgid ""
+"Avoid paywalls by redirecting to open-access versions of publications when "
+"available"
+msgstr "امتناع از منابع غیر رایگان با تغییر مسیر به نسخه ی رایگان نشریات اگر در دسترس باشد<br>"
+
+#: searx/plugins/open_results_on_new_tab.py:18
+#: searx/templates/oscar/preferences.html:114
+#: searx/templates/simple/preferences.html:149
+msgid "Open result links on new browser tabs"
+msgstr "باز کردن لینک های نتیجه در برگه‌ی جدید مرورگر"
+
+#: searx/plugins/open_results_on_new_tab.py:19
+msgid ""
+"Results are opened in the same window by default. This plugin overwrites the"
+" default behaviour to open links on new tabs/windows. (JavaScript required)"
+msgstr "به طور پیش‌فرض، نتایج در پنجره ی کنونی باز می‌شوند. این افزونه، رفتار پیش‌فرض را برای بازشدن پیوند در پنجره/برگه جدید تغییر می‌دهد. (نیازمند جاوااسکریپت)"
+
+#: searx/plugins/search_on_category_select.py:18
+msgid "Search on category select"
+msgstr "جستجو به محض انتخاب یک دسته<br>"
+
+#: searx/plugins/search_on_category_select.py:19
+msgid ""
+"Perform search immediately if a category selected. Disable to select "
+"multiple categories. (JavaScript required)"
+msgstr "جستجو به محض انتخاب یک دسته. برای انتخاب چند دسته این گزینه را غیرفعال کنید. (نیازمند جاواسکریپت)<br>"
+
+#: searx/plugins/self_info.py:20
+msgid ""
+"Displays your IP if the query is \"ip\" and your user agent if the query "
+"contains \"user agent\"."
+msgstr "اگر آی پی شما در صورت جستجو برای 'ip' و نشان دادن عامل کاربر در صورت جستجو برای 'user agent'.<br>"
+
+#: searx/plugins/tracker_url_remover.py:26
+msgid "Tracker URL remover"
+msgstr "از بین برنده ی آدرس ردیاب ها<br>"
+
+#: searx/plugins/tracker_url_remover.py:27
+msgid "Remove trackers arguments from the returned URL"
+msgstr "حذف نشانوند های ردیاب ها از آدرس برگشتی"
+
+#: searx/plugins/vim_hotkeys.py:3
+msgid "Vim-like hotkeys"
+msgstr "کلیدهای میانبر شبیه Vim<br>"
+
+#: searx/plugins/vim_hotkeys.py:4
+msgid ""
+"Navigate search results with Vim-like hotkeys (JavaScript required). Press "
+"\"h\" key on main or result page to get help."
+msgstr "جابجایی در نتایج با کلیدهای میان‌بر مشابه Vim (نیازمند جاوااسکریپت). در صفحه اصلی و یا صفحه نتیجه، دکمه h را برای نمایش راهنما بفشارید."
+
+#: searx/templates/courgette/404.html:4 searx/templates/legacy/404.html:4
+#: searx/templates/oscar/404.html:4 searx/templates/pix-art/404.html:4
+#: searx/templates/simple/404.html:4
+msgid "Page not found"
+msgstr "صفحه پیدا نشد"
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+#, python-format
+msgid "Go to %(search_page)s."
+msgstr "برو به%(search_page)s."
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+msgid "search page"
+msgstr "صفحه جستجو<br>"
+
+#: searx/templates/courgette/index.html:9
+#: searx/templates/courgette/index.html:13
+#: searx/templates/courgette/results.html:5
+#: searx/templates/legacy/index.html:8 searx/templates/legacy/index.html:12
+#: searx/templates/oscar/navbar.html:7
+#: searx/templates/oscar/preferences.html:3
+#: searx/templates/pix-art/index.html:8
+msgid "preferences"
+msgstr "تنظیمات<br>"
+
+#: searx/templates/courgette/index.html:11
+#: searx/templates/legacy/index.html:10 searx/templates/oscar/about.html:2
+#: searx/templates/oscar/navbar.html:6 searx/templates/pix-art/index.html:7
+msgid "about"
+msgstr "درباره<br>"
+
+#: searx/templates/courgette/preferences.html:5
+#: searx/templates/legacy/preferences.html:5
+#: searx/templates/oscar/preferences.html:8
+#: searx/templates/pix-art/preferences.html:5
+#: searx/templates/simple/preferences.html:26
+msgid "Preferences"
+msgstr "تنظیمات<br>"
+
+#: searx/templates/courgette/preferences.html:9
+#: searx/templates/legacy/preferences.html:9
+#: searx/templates/oscar/preferences.html:33
+#: searx/templates/oscar/preferences.html:35
+#: searx/templates/simple/preferences.html:34
+msgid "Default categories"
+msgstr "دسته‌بندی های پیش‌فرض"
+
+#: searx/templates/courgette/preferences.html:13
+#: searx/templates/legacy/preferences.html:14
+#: searx/templates/oscar/preferences.html:41
+#: searx/templates/pix-art/preferences.html:9
+#: searx/templates/simple/preferences.html:39
+#: searx/templates/simple/preferences.html:163
+msgid "Search language"
+msgstr "زبان جستجو"
+
+#: searx/templates/courgette/preferences.html:16
+#: searx/templates/legacy/preferences.html:17
+#: searx/templates/oscar/languages.html:6
+#: searx/templates/pix-art/preferences.html:12
+#: searx/templates/simple/languages.html:2
+#: searx/templates/simple/preferences.html:42
+msgid "Default language"
+msgstr "زبان پیش‌فرض"
+
+#: searx/templates/courgette/preferences.html:24
+#: searx/templates/legacy/preferences.html:25
+#: searx/templates/oscar/preferences.html:47
+#: searx/templates/pix-art/preferences.html:20
+#: searx/templates/simple/preferences.html:120
+msgid "Interface language"
+msgstr "زبان رابط کاربری"
+
+#: searx/templates/courgette/preferences.html:34
+#: searx/templates/legacy/preferences.html:35
+#: searx/templates/oscar/preferences.html:57
+#: searx/templates/simple/preferences.html:51
+msgid "Autocomplete"
+msgstr "تکمیل خودکار<br>"
+
+#: searx/templates/courgette/preferences.html:45
+#: searx/templates/legacy/preferences.html:46
+#: searx/templates/oscar/preferences.html:68
+#: searx/templates/simple/preferences.html:166
+msgid "Image proxy"
+msgstr "پراکسی تصویر<br>"
+
+#: searx/templates/courgette/preferences.html:48
+#: searx/templates/legacy/preferences.html:49
+#: searx/templates/oscar/preferences.html:72
+#: searx/templates/simple/preferences.html:169
+msgid "Enabled"
+msgstr "فعال<br>"
+
+#: searx/templates/courgette/preferences.html:49
+#: searx/templates/legacy/preferences.html:50
+#: searx/templates/oscar/preferences.html:73
+#: searx/templates/simple/preferences.html:170
+msgid "Disabled"
+msgstr "غیرفعال"
+
+#: searx/templates/courgette/preferences.html:54
+#: searx/templates/legacy/preferences.html:55
+#: searx/templates/oscar/preferences.html:77
+#: searx/templates/pix-art/preferences.html:30
+#: searx/templates/simple/preferences.html:156
+msgid "Method"
+msgstr "روش<br>"
+
+#: searx/templates/courgette/preferences.html:63
+#: searx/templates/legacy/preferences.html:64
+#: searx/templates/oscar/preferences.html:86
+#: searx/templates/oscar/preferences.html:165
+#: searx/templates/oscar/preferences.html:173
+#: searx/templates/simple/preferences.html:63
+#: searx/templates/simple/preferences.html:90
+msgid "SafeSearch"
+msgstr "جستجوی امن"
+
+#: searx/templates/courgette/preferences.html:66
+#: searx/templates/legacy/preferences.html:67
+#: searx/templates/oscar/preferences.html:90
+#: searx/templates/simple/preferences.html:66
+msgid "Strict"
+msgstr "سخت گیر<br>"
+
+#: searx/templates/courgette/preferences.html:67
+#: searx/templates/legacy/preferences.html:68
+#: searx/templates/oscar/preferences.html:91
+#: searx/templates/simple/preferences.html:67
+msgid "Moderate"
+msgstr "متوسط<br>"
+
+#: searx/templates/courgette/preferences.html:68
+#: searx/templates/legacy/preferences.html:69
+#: searx/templates/oscar/preferences.html:92
+#: searx/templates/simple/preferences.html:68
+msgid "None"
+msgstr "هیچ<br>"
+
+#: searx/templates/courgette/preferences.html:73
+#: searx/templates/legacy/preferences.html:74
+#: searx/templates/oscar/preferences.html:96
+#: searx/templates/pix-art/preferences.html:39
+#: searx/templates/simple/preferences.html:131
+msgid "Themes"
+msgstr "تم ها<br>"
+
+#: searx/templates/courgette/preferences.html:83
+msgid "Color"
+msgstr "رنگ"
+
+#: searx/templates/courgette/preferences.html:86
+msgid "Blue (default)"
+msgstr "آبی (پیش‌فرض)"
+
+#: searx/templates/courgette/preferences.html:87
+msgid "Violet"
+msgstr "بنفش"
+
+#: searx/templates/courgette/preferences.html:88
+msgid "Green"
+msgstr "سبز<br>"
+
+#: searx/templates/courgette/preferences.html:89
+msgid "Cyan"
+msgstr "فیروزه‌ای"
+
+#: searx/templates/courgette/preferences.html:90
+msgid "Orange"
+msgstr "نارنجی"
+
+#: searx/templates/courgette/preferences.html:91
+msgid "Red"
+msgstr "قرمز"
+
+#: searx/templates/courgette/preferences.html:96
+#: searx/templates/legacy/preferences.html:93
+#: searx/templates/pix-art/preferences.html:49
+#: searx/templates/simple/preferences.html:77
+msgid "Currently used search engines"
+msgstr "موتورهای جستجوی در حال استفاده"
+
+#: searx/templates/courgette/preferences.html:100
+#: searx/templates/legacy/preferences.html:97
+#: searx/templates/oscar/preferences.html:162
+#: searx/templates/oscar/preferences.html:176
+#: searx/templates/pix-art/preferences.html:53
+#: searx/templates/simple/preferences.html:87
+msgid "Engine name"
+msgstr "نام موتور"
+
+#: searx/templates/courgette/preferences.html:101
+#: searx/templates/legacy/preferences.html:98
+msgid "Category"
+msgstr "دسته"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:113
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:110
+#: searx/templates/oscar/preferences.html:161
+#: searx/templates/oscar/preferences.html:177
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:64
+#: searx/templates/simple/preferences.html:86
+msgid "Allow"
+msgstr "اجازه"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:114
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:111
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:65
+msgid "Block"
+msgstr "انسداد<br>"
+
+#: searx/templates/courgette/preferences.html:122
+#: searx/templates/legacy/preferences.html:119
+#: searx/templates/oscar/preferences.html:297
+#: searx/templates/pix-art/preferences.html:73
+#: searx/templates/simple/preferences.html:180
+msgid ""
+"These settings are stored in your cookies, this allows us not to store this "
+"data about you."
+msgstr "این تنظیمات در کوکی های شما ذخیره شده اند، این به ما اجازه می دهد این اطلاعات را درباره شما ذخیره نکنیم.<br>"
+
+#: searx/templates/courgette/preferences.html:124
+#: searx/templates/legacy/preferences.html:121
+#: searx/templates/oscar/preferences.html:299
+#: searx/templates/pix-art/preferences.html:75
+#: searx/templates/simple/preferences.html:182
+msgid ""
+"These cookies serve your sole convenience, we don't use these cookies to "
+"track you."
+msgstr "این کوکی ها برای راحتی شماست، ما از این کوکی برای ردیابی شما استفاده نمیکنیم.<br>"
+
+#: searx/templates/courgette/preferences.html:127
+#: searx/templates/legacy/preferences.html:124
+#: searx/templates/oscar/preferences.html:305
+#: searx/templates/pix-art/preferences.html:78
+#: searx/templates/simple/preferences.html:185
+msgid "save"
+msgstr "ذخیره"
+
+#: searx/templates/courgette/preferences.html:128
+#: searx/templates/legacy/preferences.html:125
+#: searx/templates/oscar/preferences.html:307
+#: searx/templates/simple/preferences.html:186
+msgid "Reset defaults"
+msgstr "بازنشانی پیشفرض ها<br>"
+
+#: searx/templates/courgette/preferences.html:129
+#: searx/templates/legacy/preferences.html:126
+#: searx/templates/oscar/preferences.html:306
+#: searx/templates/pix-art/preferences.html:79
+#: searx/templates/simple/preferences.html:187
+msgid "back"
+msgstr "عقب<br>"
+
+#: searx/templates/courgette/results.html:12
+#: searx/templates/legacy/results.html:13
+#: searx/templates/oscar/results.html:136
+#: searx/templates/simple/results.html:58
+msgid "Search URL"
+msgstr "آدرس جستجو<br>"
+
+#: searx/templates/courgette/results.html:16
+#: searx/templates/legacy/results.html:17
+#: searx/templates/oscar/results.html:141
+#: searx/templates/simple/results.html:62
+msgid "Download results"
+msgstr "نتایج دانلود<br>"
+
+#: searx/templates/courgette/results.html:34
+#: searx/templates/legacy/results.html:35
+#: searx/templates/simple/results.html:10
+msgid "Answers"
+msgstr "پاسخ ها<br>"
+
+#: searx/templates/courgette/results.html:42
+#: searx/templates/legacy/results.html:43
+#: searx/templates/oscar/results.html:116
+#: searx/templates/simple/results.html:42
+msgid "Suggestions"
+msgstr "پیشنهادات"
+
+#: searx/templates/courgette/results.html:70
+#: searx/templates/legacy/results.html:81
+#: searx/templates/oscar/results.html:68 searx/templates/oscar/results.html:78
+#: searx/templates/simple/results.html:130
+msgid "previous page"
+msgstr "صفحه پیش"
+
+#: searx/templates/courgette/results.html:81
+#: searx/templates/legacy/results.html:92
+#: searx/templates/oscar/results.html:62 searx/templates/oscar/results.html:84
+#: searx/templates/simple/results.html:145
+msgid "next page"
+msgstr "صفحه بعد"
+
+#: searx/templates/courgette/search.html:3
+#: searx/templates/legacy/search.html:3 searx/templates/oscar/search.html:6
+#: searx/templates/oscar/search_full.html:9
+#: searx/templates/pix-art/search.html:3 searx/templates/simple/search.html:4
+msgid "Search for..."
+msgstr "جستجو برای …"
+
+#: searx/templates/courgette/stats.html:4 searx/templates/legacy/stats.html:4
+#: searx/templates/oscar/stats.html:5 searx/templates/pix-art/stats.html:4
+#: searx/templates/simple/stats.html:7
+msgid "Engine stats"
+msgstr "آمار موتور<br>"
+
+#: searx/templates/courgette/result_templates/images.html:4
+#: searx/templates/legacy/result_templates/images.html:4
+#: searx/templates/pix-art/result_templates/images.html:4
+msgid "original context"
+msgstr "متن اصلی<br>"
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Seeder"
+msgstr "سیدر<br>"
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Leecher"
+msgstr "لیچر<br>"
+
+#: searx/templates/courgette/result_templates/torrent.html:9
+#: searx/templates/legacy/result_templates/torrent.html:9
+#: searx/templates/oscar/macros.html:23
+#: searx/templates/simple/result_templates/torrent.html:6
+msgid "magnet link"
+msgstr "لینک مگنت<br>"
+
+#: searx/templates/courgette/result_templates/torrent.html:10
+#: searx/templates/legacy/result_templates/torrent.html:10
+#: searx/templates/oscar/macros.html:24
+#: searx/templates/simple/result_templates/torrent.html:7
+msgid "torrent file"
+msgstr "فایل تورنت<br>"
+
+#: searx/templates/legacy/categories.html:8
+#: searx/templates/simple/categories.html:6
+msgid "Click on the magnifier to perform search"
+msgstr "برای اجرای جستجو روی ذره بین کلیک کنید<br>"
+
+#: searx/templates/legacy/preferences.html:84
+#: searx/templates/oscar/preferences.html:113
+#: searx/templates/simple/preferences.html:142
+msgid "Results on new tabs"
+msgstr "نتایج در برگه جدید"
+
+#: searx/templates/legacy/preferences.html:87
+#: searx/templates/oscar/preferences.html:117
+#: searx/templates/simple/preferences.html:145
+msgid "On"
+msgstr "روشن<br>"
+
+#: searx/templates/legacy/preferences.html:88
+#: searx/templates/oscar/preferences.html:118
+#: searx/templates/simple/preferences.html:146
+msgid "Off"
+msgstr "خاموش<br>"
+
+#: searx/templates/legacy/result_templates/code.html:3
+#: searx/templates/legacy/result_templates/default.html:3
+#: searx/templates/legacy/result_templates/map.html:9
+#: searx/templates/oscar/macros.html:34 searx/templates/oscar/macros.html:48
+#: searx/templates/simple/macros.html:43
+msgid "cached"
+msgstr "ذخیره شده<br>"
+
+#: searx/templates/oscar/advanced.html:4
+msgid "Advanced settings"
+msgstr "تنظیمات پیشرفته<br>"
+
+#: searx/templates/oscar/base.html:62
+#: searx/templates/oscar/messages/first_time.html:4
+#: searx/templates/oscar/messages/save_settings_successfull.html:5
+#: searx/templates/oscar/messages/unknow_error.html:5
+msgid "Close"
+msgstr "بستن<br>"
+
+#: searx/templates/oscar/base.html:64
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+#: searx/templates/simple/results.html:25
+msgid "Error!"
+msgstr "خطا!<br>"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "Powered by"
+msgstr "قدرت گرفته از<br>"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "a privacy-respecting, hackable metasearch engine"
+msgstr "یک ابر موتور جستجوی حافظ حریم شخصی"
+
+#: searx/templates/oscar/macros.html:36 searx/templates/oscar/macros.html:50
+#: searx/templates/simple/macros.html:43
+msgid "proxied"
+msgstr "پراکسی شده<br>"
+
+#: searx/templates/oscar/macros.html:92
+msgid "supported"
+msgstr "پشتیبانی شده<br>"
+
+#: searx/templates/oscar/macros.html:96
+msgid "not supported"
+msgstr "پشتیبانی نشده<br>"
+
+#: searx/templates/oscar/preferences.html:13
+#: searx/templates/oscar/preferences.html:22
+#: searx/templates/simple/preferences.html:32
+msgid "General"
+msgstr "کلی<br>"
+
+#: searx/templates/oscar/preferences.html:14
+#: searx/templates/oscar/preferences.html:146
+#: searx/templates/simple/preferences.html:76
+msgid "Engines"
+msgstr "موتور ها<br>"
+
+#: searx/templates/oscar/preferences.html:15
+#: searx/templates/oscar/preferences.html:219
+msgid "Plugins"
+msgstr "افزونه ها"
+
+#: searx/templates/oscar/preferences.html:16
+#: searx/templates/oscar/preferences.html:245
+msgid "Answerers"
+msgstr "پاسخگو ها<br>"
+
+#: searx/templates/oscar/preferences.html:17
+#: searx/templates/oscar/preferences.html:272
+msgid "Cookies"
+msgstr "کوکی ها<br>"
+
+#: searx/templates/oscar/preferences.html:42
+#: searx/templates/simple/preferences.html:48
+msgid "What language do you prefer for search?"
+msgstr "چه زبانی را برای جستجو ترجیح می‌دهید؟"
+
+#: searx/templates/oscar/preferences.html:48
+#: searx/templates/simple/preferences.html:128
+msgid "Change the language of the layout"
+msgstr "تغییر زبان رابط کاربری"
+
+#: searx/templates/oscar/preferences.html:58
+#: searx/templates/simple/preferences.html:60
+msgid "Find stuff as you type"
+msgstr "یافتن مطالب حین نوشتن"
+
+#: searx/templates/oscar/preferences.html:69
+#: searx/templates/simple/preferences.html:173
+msgid "Proxying image results through searx"
+msgstr "پراکسی کردن نتایج تصویری از طریق searx<br>"
+
+#: searx/templates/oscar/preferences.html:78
+msgid ""
+"Change how forms are submited, <a "
+"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
+" rel=\"external\">learn more about request methods</a>"
+msgstr "چگونگی ثبت فرم ها را تغییر دهید، درباره ی متود های درخواست بیشتر بدانید"
+
+#: searx/templates/oscar/preferences.html:87
+#: searx/templates/simple/preferences.html:71
+msgid "Filter content"
+msgstr "فیلتر کردن محتوا"
+
+#: searx/templates/oscar/preferences.html:97
+#: searx/templates/simple/preferences.html:139
+msgid "Change searx layout"
+msgstr "رابط کاربری searx را تغییر دهید<br>"
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Choose style for this theme"
+msgstr "سبک این پوسته را انتخاب کنید"
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Style"
+msgstr "سبک"
+
+#: searx/templates/oscar/preferences.html:122
+msgid "Open Access DOI resolver"
+msgstr "حل کننده ی Open Access DOI<br>"
+
+#: searx/templates/oscar/preferences.html:123
+msgid ""
+"Redirect to open-access versions of publications when available (plugin "
+"required)"
+msgstr "هدایت به نسخه رایگان نشریات اگر در دسترس باشد(نیازمند به افزونه)<br>"
+
+#: searx/templates/oscar/preferences.html:163
+#: searx/templates/oscar/preferences.html:175
+#: searx/templates/simple/preferences.html:88
+msgid "Shortcut"
+msgstr "میانبر<br>"
+
+#: searx/templates/oscar/preferences.html:164
+#: searx/templates/oscar/preferences.html:174
+msgid "Selected language"
+msgstr "زبان انتخابی<br>"
+
+#: searx/templates/oscar/preferences.html:166
+#: searx/templates/oscar/preferences.html:172
+#: searx/templates/simple/preferences.html:91
+msgid "Time range"
+msgstr "بازه ی زمانی<br>"
+
+#: searx/templates/oscar/preferences.html:167
+#: searx/templates/oscar/preferences.html:171
+#: searx/templates/simple/preferences.html:92
+msgid "Avg. time"
+msgstr "زمان میانگین"
+
+#: searx/templates/oscar/preferences.html:168
+#: searx/templates/oscar/preferences.html:170
+#: searx/templates/simple/preferences.html:93
+msgid "Max time"
+msgstr "حداکثر زمان"
+
+#: searx/templates/oscar/preferences.html:248
+msgid "This is the list of searx's instant answering modules."
+msgstr "این، فهرست ماژول‌های پاسخ بلادرنگ searx است."
+
+#: searx/templates/oscar/preferences.html:252
+msgid "Name"
+msgstr "نام"
+
+#: searx/templates/oscar/preferences.html:253
+msgid "Keywords"
+msgstr "کلیدواژه ها<br>"
+
+#: searx/templates/oscar/preferences.html:254
+msgid "Description"
+msgstr "شرح<br>"
+
+#: searx/templates/oscar/preferences.html:255
+msgid "Examples"
+msgstr "مثال ها<br>"
+
+#: searx/templates/oscar/preferences.html:275
+msgid ""
+"This is the list of cookies and their values searx is storing on your "
+"computer."
+msgstr "این، لیست کوکی‌ها و مقادیری است که searx روی دستگاه شما ذخیره می‌کند."
+
+#: searx/templates/oscar/preferences.html:276
+msgid "With that list, you can assess searx transparency."
+msgstr "با آن لیست، می‌توانید شفافیت searx را ارزیابی کنید."
+
+#: searx/templates/oscar/preferences.html:281
+msgid "Cookie name"
+msgstr "نام کوکی<br>"
+
+#: searx/templates/oscar/preferences.html:282
+msgid "Value"
+msgstr "مقدار<br>"
+
+#: searx/templates/oscar/preferences.html:301
+msgid "Search URL of the currently saved preferences"
+msgstr "آدرس جستجو بر اساس تنظیمات ذخیره شده<br>"
+
+#: searx/templates/oscar/preferences.html:301
+msgid ""
+"Note: specifying custom settings in the search URL can reduce privacy by "
+"leaking data to the clicked result sites."
+msgstr "هشدار: تعیین تنظیمات شخصی در آدرس جستجو میتواند حریم شخصی شما را به خطر بیاندازد با درز کردن اطلاعات به سایت های نتایج انتخاب شده.<br>"
+
+#: searx/templates/oscar/results.html:17
+msgid "Search results"
+msgstr "نتایج جستجو<br>"
+
+#: searx/templates/oscar/results.html:21
+#: searx/templates/simple/results.html:84
+msgid "Try searching for:"
+msgstr "تلاش کنید برای جستجوی:"
+
+#: searx/templates/oscar/results.html:100
+#: searx/templates/simple/results.html:25
+msgid "Engines cannot retrieve results"
+msgstr "موتور ها قادر به دریافت نتایج نیستند<br>"
+
+#: searx/templates/oscar/results.html:131
+msgid "Links"
+msgstr "لینک ها<br>"
+
+#: searx/templates/oscar/search.html:8
+#: searx/templates/oscar/search_full.html:11
+#: searx/templates/simple/search.html:5
+msgid "Start search"
+msgstr "شروع جستجو<br>"
+
+#: searx/templates/oscar/stats.html:2
+msgid "stats"
+msgstr "آمار<br>"
+
+#: searx/templates/oscar/time-range.html:3
+#: searx/templates/simple/time-range.html:3
+msgid "Anytime"
+msgstr "هر زمانی<br>"
+
+#: searx/templates/oscar/time-range.html:6
+#: searx/templates/simple/time-range.html:6
+msgid "Last day"
+msgstr "روز گذشته"
+
+#: searx/templates/oscar/time-range.html:9
+#: searx/templates/simple/time-range.html:9
+msgid "Last week"
+msgstr "هفته گذشته"
+
+#: searx/templates/oscar/time-range.html:12
+#: searx/templates/simple/time-range.html:12
+msgid "Last month"
+msgstr "ماه گذشته"
+
+#: searx/templates/oscar/time-range.html:15
+#: searx/templates/simple/time-range.html:15
+msgid "Last year"
+msgstr "سال گذشته"
+
+#: searx/templates/oscar/messages/first_time.html:6
+#: searx/templates/oscar/messages/no_data_available.html:3
+msgid "Heads up!"
+msgstr "بالاخره!<br>"
+
+#: searx/templates/oscar/messages/first_time.html:7
+msgid "It look like you are using searx first time."
+msgstr "به نظر می‌رسد اولین باری است که از searx استفاده می‌کنید."
+
+#: searx/templates/oscar/messages/no_cookies.html:3
+msgid "Information!"
+msgstr "اطلاعات!"
+
+#: searx/templates/oscar/messages/no_cookies.html:4
+msgid "currently, there are no cookies defined."
+msgstr "در حال حاضر کوکی‌ای تعریف نشده است."
+
+#: searx/templates/oscar/messages/no_data_available.html:4
+msgid "There is currently no data available. "
+msgstr "در حال حاضر هیچ داده‌ای در دسترس نیست."
+
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+msgid "Engines cannot retrieve results."
+msgstr "موتورها قادر به دریافت نتایج نیستند."
+
+#: searx/templates/oscar/messages/no_results.html:10
+#: searx/templates/simple/messages/no_results.html:10
+msgid "Please, try again later or find another searx instance."
+msgstr "لطفا بعدا دوباره تلاش کنید و یا به دنبال نمونه‌ای دیگری از searx بگردید."
+
+#: searx/templates/oscar/messages/no_results.html:14
+#: searx/templates/simple/messages/no_results.html:14
+msgid "Sorry!"
+msgstr "ببخشید!"
+
+#: searx/templates/oscar/messages/no_results.html:15
+#: searx/templates/simple/messages/no_results.html:15
+msgid ""
+"we didn't find any results. Please use another query or search in more "
+"categories."
+msgstr "چیزی پیدا نشد. لطفا جستار دیگری را امتحان و یا در دسته‌ های بیشتری جستجو کنید."
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:7
+msgid "Well done!"
+msgstr "آفرین!<br>"
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:8
+msgid "Settings saved successfully."
+msgstr "تنظیمات با موفقیت ذخیره شد!<br>"
+
+#: searx/templates/oscar/messages/unknow_error.html:7
+msgid "Oh snap!"
+msgstr "ای وای! خراب شد!<br>"
+
+#: searx/templates/oscar/messages/unknow_error.html:8
+msgid "Something went wrong."
+msgstr "مشکلی رخ داد."
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "show media"
+msgstr "نمایش رسانه<br>"
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "hide media"
+msgstr "پنهان سازی رسانه<br>"
+
+#: searx/templates/oscar/result_templates/images.html:30
+msgid "Get image"
+msgstr "دریافت تصویر"
+
+#: searx/templates/oscar/result_templates/images.html:33
+msgid "View source"
+msgstr "نمایش منبع"
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "show map"
+msgstr "نمایش نقشه"
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "hide map"
+msgstr "پنهان‌سازی نقشه"
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "show details"
+msgstr "نمایش جزئیات"
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "hide details"
+msgstr "پنهان‌سازی جزئیات"
+
+#: searx/templates/oscar/result_templates/torrent.html:7
+#: searx/templates/simple/result_templates/torrent.html:11
+msgid "Filesize"
+msgstr "اندازه فایل<br>"
+
+#: searx/templates/oscar/result_templates/torrent.html:9
+#: searx/templates/simple/result_templates/torrent.html:12
+msgid "Bytes"
+msgstr "بایت"
+
+#: searx/templates/oscar/result_templates/torrent.html:10
+#: searx/templates/simple/result_templates/torrent.html:13
+msgid "kiB"
+msgstr "کیلوبایت"
+
+#: searx/templates/oscar/result_templates/torrent.html:11
+#: searx/templates/simple/result_templates/torrent.html:14
+msgid "MiB"
+msgstr "مگابایت"
+
+#: searx/templates/oscar/result_templates/torrent.html:12
+#: searx/templates/simple/result_templates/torrent.html:15
+msgid "GiB"
+msgstr "گیگابایت"
+
+#: searx/templates/oscar/result_templates/torrent.html:13
+#: searx/templates/simple/result_templates/torrent.html:16
+msgid "TiB"
+msgstr "ترابایت"
+
+#: searx/templates/oscar/result_templates/torrent.html:15
+#: searx/templates/simple/result_templates/torrent.html:20
+msgid "Number of Files"
+msgstr "تعداد فایل ها"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "show video"
+msgstr "نمایش ویدئو"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "hide video"
+msgstr "پنهان‌سازی ویدئو"
+
+#: searx/templates/pix-art/results.html:28
+msgid "Load more..."
+msgstr "بیشتر…<br>"
+
+#: searx/templates/simple/base.html:31
+msgid "No item found"
+msgstr "چیزی پیدا نشد"
+
+#: searx/templates/simple/preferences.html:89
+msgid "Supports selected language"
+msgstr "زبان انتخاب شده را پشتیبانی می‌کند"
+
+#: searx/templates/simple/preferences.html:118
+msgid "User interface"
+msgstr "رابط کاربری"
+
+#: searx/templates/simple/preferences.html:154
+msgid "Privacy"
+msgstr "حریم خصوصی"
diff --git a/searx/translations/fi/LC_MESSAGES/messages.mo b/searx/translations/fi/LC_MESSAGES/messages.mo
index c6aa15235..b3905ca2f 100644
--- a/searx/translations/fi/LC_MESSAGES/messages.mo
+++ b/searx/translations/fi/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/fil/LC_MESSAGES/messages.mo b/searx/translations/fil/LC_MESSAGES/messages.mo
index df14318fb..f1b4e75c7 100644
--- a/searx/translations/fil/LC_MESSAGES/messages.mo
+++ b/searx/translations/fil/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/fr/LC_MESSAGES/messages.mo b/searx/translations/fr/LC_MESSAGES/messages.mo
index f9a72717a..7fd3ee891 100644
--- a/searx/translations/fr/LC_MESSAGES/messages.mo
+++ b/searx/translations/fr/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/fr/LC_MESSAGES/messages.po b/searx/translations/fr/LC_MESSAGES/messages.po
index 60c803805..4c076ddbf 100644
--- a/searx/translations/fr/LC_MESSAGES/messages.po
+++ b/searx/translations/fr/LC_MESSAGES/messages.po
@@ -3,7 +3,7 @@
# This file is distributed under the same license as the PROJECT project.
#
# Translators:
-# Alexandre Flament <alex@al-f.net>, 2017
+# Alexandre Flament <alex@al-f.net>, 2017-2018
# Benjamin Sonntag <benjamin@sonntag.fr>, 2014
# Cqoicebordel <david.barouh@wanadoo.fr>, 2014
# Cqoicebordel <david.barouh@wanadoo.fr>, 2014-2017
@@ -16,8 +16,8 @@ msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2017-11-01 21:31+0100\n"
-"PO-Revision-Date: 2017-11-03 12:00+0000\n"
-"Last-Translator: Cqoicebordel <david.barouh@wanadoo.fr>\n"
+"PO-Revision-Date: 2018-04-03 08:18+0000\n"
+"Last-Translator: Alexandre Flament <alex@al-f.net>\n"
"Language-Team: French (http://www.transifex.com/asciimoo/searx/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -84,7 +84,7 @@ msgstr "Paramètres non valides, veuillez éditer vos préférences"
#: searx/webapp.py:415
msgid "Invalid settings"
-msgstr "Réglages non valides"
+msgstr "Paramètres non valides"
#: searx/webapp.py:449 searx/webapp.py:493
msgid "search error"
@@ -100,7 +100,7 @@ msgstr "il y a {hours} heure(s), {minutes} minute(s)"
#: searx/answerers/random/answerer.py:53
msgid "Random value generator"
-msgstr "Générateur aléatoire"
+msgstr "Générateur de valeur aléatoire"
#: searx/answerers/random/answerer.py:54
msgid "Generate different random values"
@@ -138,7 +138,7 @@ msgstr "Score par résultat"
#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221
msgid "Errors"
-msgstr "Erreurs"
+msgstr "Erreur"
#: searx/engines/pdbe.py:87
msgid "{title}&nbsp;(OBSOLETE)"
@@ -663,7 +663,7 @@ msgstr "Plugins"
#: searx/templates/oscar/preferences.html:16
#: searx/templates/oscar/preferences.html:245
msgid "Answerers"
-msgstr "Répondants"
+msgstr "Réponses instantanées"
#: searx/templates/oscar/preferences.html:17
#: searx/templates/oscar/preferences.html:272
diff --git a/searx/translations/gl/LC_MESSAGES/messages.mo b/searx/translations/gl/LC_MESSAGES/messages.mo
new file mode 100644
index 000000000..30d7b0dd6
--- /dev/null
+++ b/searx/translations/gl/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/gl/LC_MESSAGES/messages.po b/searx/translations/gl/LC_MESSAGES/messages.po
new file mode 100644
index 000000000..3e1e2230f
--- /dev/null
+++ b/searx/translations/gl/LC_MESSAGES/messages.po
@@ -0,0 +1,1013 @@
+# Translations template for PROJECT.
+# Copyright (C) 2017 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+#
+# Translators:
+# Xosé M. Lamas <correo@xmgz.eu>, 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: searx\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2017-11-01 21:31+0100\n"
+"PO-Revision-Date: 2018-04-20 11:00+0000\n"
+"Last-Translator: Xosé M. Lamas <correo@xmgz.eu>\n"
+"Language-Team: Galician (http://www.transifex.com/asciimoo/searx/language/gl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.3.4\n"
+"Language: gl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: searx/search.py:137 searx/search.py:182
+msgid "timeout"
+msgstr "caducidade"
+
+#: searx/search.py:144
+msgid "request exception"
+msgstr "excepción na petición"
+
+#: searx/search.py:151
+msgid "unexpected crash"
+msgstr "fallo non agardado"
+
+#: searx/webapp.py:136
+msgid "files"
+msgstr "ficheiros"
+
+#: searx/webapp.py:137
+msgid "general"
+msgstr "xeral"
+
+#: searx/webapp.py:138
+msgid "music"
+msgstr "música"
+
+#: searx/webapp.py:139
+msgid "social media"
+msgstr "Medios sociais"
+
+#: searx/webapp.py:140
+msgid "images"
+msgstr "imaxes"
+
+#: searx/webapp.py:141
+msgid "videos"
+msgstr "vídeos"
+
+#: searx/webapp.py:142
+msgid "it"
+msgstr "TIC"
+
+#: searx/webapp.py:143
+msgid "news"
+msgstr "novas"
+
+#: searx/webapp.py:144
+msgid "map"
+msgstr "mapa"
+
+#: searx/webapp.py:145
+msgid "science"
+msgstr "ciencia"
+
+#: searx/webapp.py:399 searx/webapp.py:658
+msgid "Invalid settings, please edit your preferences"
+msgstr "Axustes non válidos, por favor edite a configuración"
+
+#: searx/webapp.py:415
+msgid "Invalid settings"
+msgstr "Axustes non válidos"
+
+#: searx/webapp.py:449 searx/webapp.py:493
+msgid "search error"
+msgstr "fallo na busca"
+
+#: searx/webapp.py:530
+msgid "{minutes} minute(s) ago"
+msgstr "hai {minutes} minuto(s)"
+
+#: searx/webapp.py:532
+msgid "{hours} hour(s), {minutes} minute(s) ago"
+msgstr "hai {hours} hora(s), {minutes} minuto(s)"
+
+#: searx/answerers/random/answerer.py:53
+msgid "Random value generator"
+msgstr "Xerador de valor aleatorio"
+
+#: searx/answerers/random/answerer.py:54
+msgid "Generate different random values"
+msgstr "Xerar diferentes valores aleatorios"
+
+#: searx/answerers/statistics/answerer.py:53
+msgid "Statistics functions"
+msgstr "Funcións de estatística"
+
+#: searx/answerers/statistics/answerer.py:54
+msgid "Compute {functions} of the arguments"
+msgstr "Calcule {functions} dos argumentos"
+
+#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201
+msgid "Engine time (sec)"
+msgstr "Tempo de busca (sec)"
+
+#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205
+msgid "Page loads (sec)"
+msgstr "Cargou en (seg)"
+
+#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209
+#: searx/templates/oscar/results.html:95
+#: searx/templates/simple/results.html:20
+msgid "Number of results"
+msgstr "Número de resultados"
+
+#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213
+msgid "Scores"
+msgstr "Puntuacións"
+
+#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217
+msgid "Scores per result"
+msgstr "Puntuacións por resultado"
+
+#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221
+msgid "Errors"
+msgstr "Fallos"
+
+#: searx/engines/pdbe.py:87
+msgid "{title}&nbsp;(OBSOLETE)"
+msgstr "{title}&nbsp;(OBSOLETO)"
+
+#: searx/engines/pdbe.py:91
+msgid "This entry has been superseded by"
+msgstr "Esta entrada foi proporcionada por"
+
+#: searx/engines/pubmed.py:74
+msgid "No abstract is available for this publication."
+msgstr "Non hai dispoñible un extracto para esta publicación."
+
+#: searx/plugins/https_rewrite.py:32
+msgid "Rewrite HTTP links to HTTPS if possible"
+msgstr "Reescribir ligazóns HTTP a HTTPS si fose posible"
+
+#: searx/plugins/infinite_scroll.py:3
+msgid "Infinite scroll"
+msgstr "Desplazamento infinito"
+
+#: searx/plugins/infinite_scroll.py:4
+msgid "Automatically load next page when scrolling to bottom of current page"
+msgstr "Cargar automáticamente a seguinte páxina ao desplazarse ao fondo da páxina actual"
+
+#: searx/plugins/oa_doi_rewrite.py:9
+msgid "Open Access DOI rewrite"
+msgstr "Reescritura Open Access DOI"
+
+#: searx/plugins/oa_doi_rewrite.py:10
+msgid ""
+"Avoid paywalls by redirecting to open-access versions of publications when "
+"available"
+msgstr "Evitar muros de pago redirecciionando a versións públicas das publicacións cando estén dispoñibles"
+
+#: searx/plugins/open_results_on_new_tab.py:18
+#: searx/templates/oscar/preferences.html:114
+#: searx/templates/simple/preferences.html:149
+msgid "Open result links on new browser tabs"
+msgstr "Abrir ligazóns de resultados en novas lapelas do navegador"
+
+#: searx/plugins/open_results_on_new_tab.py:19
+msgid ""
+"Results are opened in the same window by default. This plugin overwrites the"
+" default behaviour to open links on new tabs/windows. (JavaScript required)"
+msgstr "Por omisión, os resultados ábrense na mesma lapela. Este engadido sobreescribe o comportamento por omisión para abrir as ligazóns en novas lapelas/ventás. (Require JavaScript)"
+
+#: searx/plugins/search_on_category_select.py:18
+msgid "Search on category select"
+msgstr "Busca en categoría seleccionada"
+
+#: searx/plugins/search_on_category_select.py:19
+msgid ""
+"Perform search immediately if a category selected. Disable to select "
+"multiple categories. (JavaScript required)"
+msgstr "Busca ao momento si hai unha categoría seleccionada. Desactivar para seleccionar múltiples categorías. (Require JavaScript)"
+
+#: searx/plugins/self_info.py:20
+msgid ""
+"Displays your IP if the query is \"ip\" and your user agent if the query "
+"contains \"user agent\"."
+msgstr "Mostra o seu IP si a consulta é \"ip\" e o seu Use Agent si a consulta contén \"user agent\"."
+
+#: searx/plugins/tracker_url_remover.py:26
+msgid "Tracker URL remover"
+msgstr "Eliminador de rastrexadores na URL"
+
+#: searx/plugins/tracker_url_remover.py:27
+msgid "Remove trackers arguments from the returned URL"
+msgstr "Elimina os argumentos de rastrexo da URL devolta"
+
+#: searx/plugins/vim_hotkeys.py:3
+msgid "Vim-like hotkeys"
+msgstr "Atallos como os de Vim"
+
+#: searx/plugins/vim_hotkeys.py:4
+msgid ""
+"Navigate search results with Vim-like hotkeys (JavaScript required). Press "
+"\"h\" key on main or result page to get help."
+msgstr "Navegar nos resultados da busca con atallos como os de Vim (require JavaScript). Pulse \"h\" na pantalla principal ou de resultados para obter axuda."
+
+#: searx/templates/courgette/404.html:4 searx/templates/legacy/404.html:4
+#: searx/templates/oscar/404.html:4 searx/templates/pix-art/404.html:4
+#: searx/templates/simple/404.html:4
+msgid "Page not found"
+msgstr "Páxina non atopada"
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+#, python-format
+msgid "Go to %(search_page)s."
+msgstr "Ir a %(search_page)s"
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+msgid "search page"
+msgstr "páxina de busca"
+
+#: searx/templates/courgette/index.html:9
+#: searx/templates/courgette/index.html:13
+#: searx/templates/courgette/results.html:5
+#: searx/templates/legacy/index.html:8 searx/templates/legacy/index.html:12
+#: searx/templates/oscar/navbar.html:7
+#: searx/templates/oscar/preferences.html:3
+#: searx/templates/pix-art/index.html:8
+msgid "preferences"
+msgstr "axustes"
+
+#: searx/templates/courgette/index.html:11
+#: searx/templates/legacy/index.html:10 searx/templates/oscar/about.html:2
+#: searx/templates/oscar/navbar.html:6 searx/templates/pix-art/index.html:7
+msgid "about"
+msgstr "Sobre"
+
+#: searx/templates/courgette/preferences.html:5
+#: searx/templates/legacy/preferences.html:5
+#: searx/templates/oscar/preferences.html:8
+#: searx/templates/pix-art/preferences.html:5
+#: searx/templates/simple/preferences.html:26
+msgid "Preferences"
+msgstr "Axustes"
+
+#: searx/templates/courgette/preferences.html:9
+#: searx/templates/legacy/preferences.html:9
+#: searx/templates/oscar/preferences.html:33
+#: searx/templates/oscar/preferences.html:35
+#: searx/templates/simple/preferences.html:34
+msgid "Default categories"
+msgstr "Categorías por omisión"
+
+#: searx/templates/courgette/preferences.html:13
+#: searx/templates/legacy/preferences.html:14
+#: searx/templates/oscar/preferences.html:41
+#: searx/templates/pix-art/preferences.html:9
+#: searx/templates/simple/preferences.html:39
+#: searx/templates/simple/preferences.html:163
+msgid "Search language"
+msgstr "Idioma de busca"
+
+#: searx/templates/courgette/preferences.html:16
+#: searx/templates/legacy/preferences.html:17
+#: searx/templates/oscar/languages.html:6
+#: searx/templates/pix-art/preferences.html:12
+#: searx/templates/simple/languages.html:2
+#: searx/templates/simple/preferences.html:42
+msgid "Default language"
+msgstr "Idioma por omisión"
+
+#: searx/templates/courgette/preferences.html:24
+#: searx/templates/legacy/preferences.html:25
+#: searx/templates/oscar/preferences.html:47
+#: searx/templates/pix-art/preferences.html:20
+#: searx/templates/simple/preferences.html:120
+msgid "Interface language"
+msgstr "Idioma da interface"
+
+#: searx/templates/courgette/preferences.html:34
+#: searx/templates/legacy/preferences.html:35
+#: searx/templates/oscar/preferences.html:57
+#: searx/templates/simple/preferences.html:51
+msgid "Autocomplete"
+msgstr "Autocompletar"
+
+#: searx/templates/courgette/preferences.html:45
+#: searx/templates/legacy/preferences.html:46
+#: searx/templates/oscar/preferences.html:68
+#: searx/templates/simple/preferences.html:166
+msgid "Image proxy"
+msgstr "Proxy de imaxes"
+
+#: searx/templates/courgette/preferences.html:48
+#: searx/templates/legacy/preferences.html:49
+#: searx/templates/oscar/preferences.html:72
+#: searx/templates/simple/preferences.html:169
+msgid "Enabled"
+msgstr "Activado"
+
+#: searx/templates/courgette/preferences.html:49
+#: searx/templates/legacy/preferences.html:50
+#: searx/templates/oscar/preferences.html:73
+#: searx/templates/simple/preferences.html:170
+msgid "Disabled"
+msgstr "Desactivado"
+
+#: searx/templates/courgette/preferences.html:54
+#: searx/templates/legacy/preferences.html:55
+#: searx/templates/oscar/preferences.html:77
+#: searx/templates/pix-art/preferences.html:30
+#: searx/templates/simple/preferences.html:156
+msgid "Method"
+msgstr "Método"
+
+#: searx/templates/courgette/preferences.html:63
+#: searx/templates/legacy/preferences.html:64
+#: searx/templates/oscar/preferences.html:86
+#: searx/templates/oscar/preferences.html:165
+#: searx/templates/oscar/preferences.html:173
+#: searx/templates/simple/preferences.html:63
+#: searx/templates/simple/preferences.html:90
+msgid "SafeSearch"
+msgstr "Busca segura"
+
+#: searx/templates/courgette/preferences.html:66
+#: searx/templates/legacy/preferences.html:67
+#: searx/templates/oscar/preferences.html:90
+#: searx/templates/simple/preferences.html:66
+msgid "Strict"
+msgstr "Stricta"
+
+#: searx/templates/courgette/preferences.html:67
+#: searx/templates/legacy/preferences.html:68
+#: searx/templates/oscar/preferences.html:91
+#: searx/templates/simple/preferences.html:67
+msgid "Moderate"
+msgstr "Moderada"
+
+#: searx/templates/courgette/preferences.html:68
+#: searx/templates/legacy/preferences.html:69
+#: searx/templates/oscar/preferences.html:92
+#: searx/templates/simple/preferences.html:68
+msgid "None"
+msgstr "Ningunha"
+
+#: searx/templates/courgette/preferences.html:73
+#: searx/templates/legacy/preferences.html:74
+#: searx/templates/oscar/preferences.html:96
+#: searx/templates/pix-art/preferences.html:39
+#: searx/templates/simple/preferences.html:131
+msgid "Themes"
+msgstr "Decorado"
+
+#: searx/templates/courgette/preferences.html:83
+msgid "Color"
+msgstr "Cor"
+
+#: searx/templates/courgette/preferences.html:86
+msgid "Blue (default)"
+msgstr "Azul (por omisión)"
+
+#: searx/templates/courgette/preferences.html:87
+msgid "Violet"
+msgstr "Violeta"
+
+#: searx/templates/courgette/preferences.html:88
+msgid "Green"
+msgstr "Verde"
+
+#: searx/templates/courgette/preferences.html:89
+msgid "Cyan"
+msgstr "Cian"
+
+#: searx/templates/courgette/preferences.html:90
+msgid "Orange"
+msgstr "Laranxa"
+
+#: searx/templates/courgette/preferences.html:91
+msgid "Red"
+msgstr "Vermello"
+
+#: searx/templates/courgette/preferences.html:96
+#: searx/templates/legacy/preferences.html:93
+#: searx/templates/pix-art/preferences.html:49
+#: searx/templates/simple/preferences.html:77
+msgid "Currently used search engines"
+msgstr "Motores de busca utilizados actualmente"
+
+#: searx/templates/courgette/preferences.html:100
+#: searx/templates/legacy/preferences.html:97
+#: searx/templates/oscar/preferences.html:162
+#: searx/templates/oscar/preferences.html:176
+#: searx/templates/pix-art/preferences.html:53
+#: searx/templates/simple/preferences.html:87
+msgid "Engine name"
+msgstr "Nome do motor"
+
+#: searx/templates/courgette/preferences.html:101
+#: searx/templates/legacy/preferences.html:98
+msgid "Category"
+msgstr "Categoría"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:113
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:110
+#: searx/templates/oscar/preferences.html:161
+#: searx/templates/oscar/preferences.html:177
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:64
+#: searx/templates/simple/preferences.html:86
+msgid "Allow"
+msgstr "Permitir"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:114
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:111
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:65
+msgid "Block"
+msgstr "Bloquear"
+
+#: searx/templates/courgette/preferences.html:122
+#: searx/templates/legacy/preferences.html:119
+#: searx/templates/oscar/preferences.html:297
+#: searx/templates/pix-art/preferences.html:73
+#: searx/templates/simple/preferences.html:180
+msgid ""
+"These settings are stored in your cookies, this allows us not to store this "
+"data about you."
+msgstr "Estos axustes gárdanse en testemuños, esto permítenos non ter que gardar ningún datos sobre vostede."
+
+#: searx/templates/courgette/preferences.html:124
+#: searx/templates/legacy/preferences.html:121
+#: searx/templates/oscar/preferences.html:299
+#: searx/templates/pix-art/preferences.html:75
+#: searx/templates/simple/preferences.html:182
+msgid ""
+"These cookies serve your sole convenience, we don't use these cookies to "
+"track you."
+msgstr "Estos testemuños son para a súa conveniencia, non utilizamos estos testemuños para rastrexala."
+
+#: searx/templates/courgette/preferences.html:127
+#: searx/templates/legacy/preferences.html:124
+#: searx/templates/oscar/preferences.html:305
+#: searx/templates/pix-art/preferences.html:78
+#: searx/templates/simple/preferences.html:185
+msgid "save"
+msgstr "gardar"
+
+#: searx/templates/courgette/preferences.html:128
+#: searx/templates/legacy/preferences.html:125
+#: searx/templates/oscar/preferences.html:307
+#: searx/templates/simple/preferences.html:186
+msgid "Reset defaults"
+msgstr "Restablecer"
+
+#: searx/templates/courgette/preferences.html:129
+#: searx/templates/legacy/preferences.html:126
+#: searx/templates/oscar/preferences.html:306
+#: searx/templates/pix-art/preferences.html:79
+#: searx/templates/simple/preferences.html:187
+msgid "back"
+msgstr "atrás"
+
+#: searx/templates/courgette/results.html:12
+#: searx/templates/legacy/results.html:13
+#: searx/templates/oscar/results.html:136
+#: searx/templates/simple/results.html:58
+msgid "Search URL"
+msgstr "Busca URL"
+
+#: searx/templates/courgette/results.html:16
+#: searx/templates/legacy/results.html:17
+#: searx/templates/oscar/results.html:141
+#: searx/templates/simple/results.html:62
+msgid "Download results"
+msgstr "Descargar resultados"
+
+#: searx/templates/courgette/results.html:34
+#: searx/templates/legacy/results.html:35
+#: searx/templates/simple/results.html:10
+msgid "Answers"
+msgstr "Respostas"
+
+#: searx/templates/courgette/results.html:42
+#: searx/templates/legacy/results.html:43
+#: searx/templates/oscar/results.html:116
+#: searx/templates/simple/results.html:42
+msgid "Suggestions"
+msgstr "Suxestións"
+
+#: searx/templates/courgette/results.html:70
+#: searx/templates/legacy/results.html:81
+#: searx/templates/oscar/results.html:68 searx/templates/oscar/results.html:78
+#: searx/templates/simple/results.html:130
+msgid "previous page"
+msgstr "páxina anterior"
+
+#: searx/templates/courgette/results.html:81
+#: searx/templates/legacy/results.html:92
+#: searx/templates/oscar/results.html:62 searx/templates/oscar/results.html:84
+#: searx/templates/simple/results.html:145
+msgid "next page"
+msgstr "páxina seguinte"
+
+#: searx/templates/courgette/search.html:3
+#: searx/templates/legacy/search.html:3 searx/templates/oscar/search.html:6
+#: searx/templates/oscar/search_full.html:9
+#: searx/templates/pix-art/search.html:3 searx/templates/simple/search.html:4
+msgid "Search for..."
+msgstr "Buscar por..."
+
+#: searx/templates/courgette/stats.html:4 searx/templates/legacy/stats.html:4
+#: searx/templates/oscar/stats.html:5 searx/templates/pix-art/stats.html:4
+#: searx/templates/simple/stats.html:7
+msgid "Engine stats"
+msgstr "Estatísticas do buscador"
+
+#: searx/templates/courgette/result_templates/images.html:4
+#: searx/templates/legacy/result_templates/images.html:4
+#: searx/templates/pix-art/result_templates/images.html:4
+msgid "original context"
+msgstr "contexto orixinal"
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Seeder"
+msgstr "Sementadora"
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Leecher"
+msgstr "Cliente"
+
+#: searx/templates/courgette/result_templates/torrent.html:9
+#: searx/templates/legacy/result_templates/torrent.html:9
+#: searx/templates/oscar/macros.html:23
+#: searx/templates/simple/result_templates/torrent.html:6
+msgid "magnet link"
+msgstr "ligazón magnet"
+
+#: searx/templates/courgette/result_templates/torrent.html:10
+#: searx/templates/legacy/result_templates/torrent.html:10
+#: searx/templates/oscar/macros.html:24
+#: searx/templates/simple/result_templates/torrent.html:7
+msgid "torrent file"
+msgstr "ficheiro torrent"
+
+#: searx/templates/legacy/categories.html:8
+#: searx/templates/simple/categories.html:6
+msgid "Click on the magnifier to perform search"
+msgstr "Pulse na lupa para realizar a busca"
+
+#: searx/templates/legacy/preferences.html:84
+#: searx/templates/oscar/preferences.html:113
+#: searx/templates/simple/preferences.html:142
+msgid "Results on new tabs"
+msgstr "Resultados en novas lapelas"
+
+#: searx/templates/legacy/preferences.html:87
+#: searx/templates/oscar/preferences.html:117
+#: searx/templates/simple/preferences.html:145
+msgid "On"
+msgstr "On"
+
+#: searx/templates/legacy/preferences.html:88
+#: searx/templates/oscar/preferences.html:118
+#: searx/templates/simple/preferences.html:146
+msgid "Off"
+msgstr "Off"
+
+#: searx/templates/legacy/result_templates/code.html:3
+#: searx/templates/legacy/result_templates/default.html:3
+#: searx/templates/legacy/result_templates/map.html:9
+#: searx/templates/oscar/macros.html:34 searx/templates/oscar/macros.html:48
+#: searx/templates/simple/macros.html:43
+msgid "cached"
+msgstr "en memoria"
+
+#: searx/templates/oscar/advanced.html:4
+msgid "Advanced settings"
+msgstr "Axustes avanzados"
+
+#: searx/templates/oscar/base.html:62
+#: searx/templates/oscar/messages/first_time.html:4
+#: searx/templates/oscar/messages/save_settings_successfull.html:5
+#: searx/templates/oscar/messages/unknow_error.html:5
+msgid "Close"
+msgstr "Pechar"
+
+#: searx/templates/oscar/base.html:64
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+#: searx/templates/simple/results.html:25
+msgid "Error!"
+msgstr "Fallo!"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "Powered by"
+msgstr "Proporcionado por"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "a privacy-respecting, hackable metasearch engine"
+msgstr "un metabuscador configurable e respetuoso coa intimidade"
+
+#: searx/templates/oscar/macros.html:36 searx/templates/oscar/macros.html:50
+#: searx/templates/simple/macros.html:43
+msgid "proxied"
+msgstr "a través de proxy"
+
+#: searx/templates/oscar/macros.html:92
+msgid "supported"
+msgstr "soportado"
+
+#: searx/templates/oscar/macros.html:96
+msgid "not supported"
+msgstr "non soportado"
+
+#: searx/templates/oscar/preferences.html:13
+#: searx/templates/oscar/preferences.html:22
+#: searx/templates/simple/preferences.html:32
+msgid "General"
+msgstr "Xeral"
+
+#: searx/templates/oscar/preferences.html:14
+#: searx/templates/oscar/preferences.html:146
+#: searx/templates/simple/preferences.html:76
+msgid "Engines"
+msgstr "Motores"
+
+#: searx/templates/oscar/preferences.html:15
+#: searx/templates/oscar/preferences.html:219
+msgid "Plugins"
+msgstr "Engadidos"
+
+#: searx/templates/oscar/preferences.html:16
+#: searx/templates/oscar/preferences.html:245
+msgid "Answerers"
+msgstr "Respostas"
+
+#: searx/templates/oscar/preferences.html:17
+#: searx/templates/oscar/preferences.html:272
+msgid "Cookies"
+msgstr "Testemuños"
+
+#: searx/templates/oscar/preferences.html:42
+#: searx/templates/simple/preferences.html:48
+msgid "What language do you prefer for search?"
+msgstr "Qué idioma prefire para buscar?"
+
+#: searx/templates/oscar/preferences.html:48
+#: searx/templates/simple/preferences.html:128
+msgid "Change the language of the layout"
+msgstr "Cambiar o idioma da disposición"
+
+#: searx/templates/oscar/preferences.html:58
+#: searx/templates/simple/preferences.html:60
+msgid "Find stuff as you type"
+msgstr "Buscar nas cousas metras escribe"
+
+#: searx/templates/oscar/preferences.html:69
+#: searx/templates/simple/preferences.html:173
+msgid "Proxying image results through searx"
+msgstr "Utilizar o proxy de searx para as imaxes dos resultados"
+
+#: searx/templates/oscar/preferences.html:78
+msgid ""
+"Change how forms are submited, <a "
+"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
+" rel=\"external\">learn more about request methods</a>"
+msgstr "Cambiar cómo se envían os formularios, <a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">coñeza máis sobre os métodos de consulta</a>"
+
+#: searx/templates/oscar/preferences.html:87
+#: searx/templates/simple/preferences.html:71
+msgid "Filter content"
+msgstr "Filtro de contido"
+
+#: searx/templates/oscar/preferences.html:97
+#: searx/templates/simple/preferences.html:139
+msgid "Change searx layout"
+msgstr "Cambiar a disposición de searx"
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Choose style for this theme"
+msgstr "Escolla o estilo para este decorado"
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Style"
+msgstr "Estilo"
+
+#: searx/templates/oscar/preferences.html:122
+msgid "Open Access DOI resolver"
+msgstr "Resolutor Open Access DOI"
+
+#: searx/templates/oscar/preferences.html:123
+msgid ""
+"Redirect to open-access versions of publications when available (plugin "
+"required)"
+msgstr "Redireccionar a versións abertas das publicacións cando estén dispoñibles (require o engadido)"
+
+#: searx/templates/oscar/preferences.html:163
+#: searx/templates/oscar/preferences.html:175
+#: searx/templates/simple/preferences.html:88
+msgid "Shortcut"
+msgstr "Atallo"
+
+#: searx/templates/oscar/preferences.html:164
+#: searx/templates/oscar/preferences.html:174
+msgid "Selected language"
+msgstr "Idioma seleccionado"
+
+#: searx/templates/oscar/preferences.html:166
+#: searx/templates/oscar/preferences.html:172
+#: searx/templates/simple/preferences.html:91
+msgid "Time range"
+msgstr "Rango temporal"
+
+#: searx/templates/oscar/preferences.html:167
+#: searx/templates/oscar/preferences.html:171
+#: searx/templates/simple/preferences.html:92
+msgid "Avg. time"
+msgstr "Tempo medio"
+
+#: searx/templates/oscar/preferences.html:168
+#: searx/templates/oscar/preferences.html:170
+#: searx/templates/simple/preferences.html:93
+msgid "Max time"
+msgstr "Tempo máx."
+
+#: searx/templates/oscar/preferences.html:248
+msgid "This is the list of searx's instant answering modules."
+msgstr "Este é o listado dos módulos de respostas instantáneas de searx"
+
+#: searx/templates/oscar/preferences.html:252
+msgid "Name"
+msgstr "Nome"
+
+#: searx/templates/oscar/preferences.html:253
+msgid "Keywords"
+msgstr "Palabras chave"
+
+#: searx/templates/oscar/preferences.html:254
+msgid "Description"
+msgstr "Descrición"
+
+#: searx/templates/oscar/preferences.html:255
+msgid "Examples"
+msgstr "Exemplos"
+
+#: searx/templates/oscar/preferences.html:275
+msgid ""
+"This is the list of cookies and their values searx is storing on your "
+"computer."
+msgstr "Este é o listados dos testemuños e os seus valores que searx almacena na súa computadora."
+
+#: searx/templates/oscar/preferences.html:276
+msgid "With that list, you can assess searx transparency."
+msgstr "Con esta lista vostede pode comprobar a transparencia de searx."
+
+#: searx/templates/oscar/preferences.html:281
+msgid "Cookie name"
+msgstr "Nome do testemuño"
+
+#: searx/templates/oscar/preferences.html:282
+msgid "Value"
+msgstr "Valor"
+
+#: searx/templates/oscar/preferences.html:301
+msgid "Search URL of the currently saved preferences"
+msgstr "URL de busca dos axustes gardados actualmente."
+
+#: searx/templates/oscar/preferences.html:301
+msgid ""
+"Note: specifying custom settings in the search URL can reduce privacy by "
+"leaking data to the clicked result sites."
+msgstr "Nota: indicando axustes personalizados na URL de busca pode reducir a súa intimidade ao filtrar datos aos sitios web dos resultados."
+
+#: searx/templates/oscar/results.html:17
+msgid "Search results"
+msgstr "Resultados da busca"
+
+#: searx/templates/oscar/results.html:21
+#: searx/templates/simple/results.html:84
+msgid "Try searching for:"
+msgstr "Intente buscar:"
+
+#: searx/templates/oscar/results.html:100
+#: searx/templates/simple/results.html:25
+msgid "Engines cannot retrieve results"
+msgstr "Os buscadores non obtiveron resultados"
+
+#: searx/templates/oscar/results.html:131
+msgid "Links"
+msgstr "Ligazóns"
+
+#: searx/templates/oscar/search.html:8
+#: searx/templates/oscar/search_full.html:11
+#: searx/templates/simple/search.html:5
+msgid "Start search"
+msgstr "Iniciar busca"
+
+#: searx/templates/oscar/stats.html:2
+msgid "stats"
+msgstr "estatísticas"
+
+#: searx/templates/oscar/time-range.html:3
+#: searx/templates/simple/time-range.html:3
+msgid "Anytime"
+msgstr "Calquer momento"
+
+#: searx/templates/oscar/time-range.html:6
+#: searx/templates/simple/time-range.html:6
+msgid "Last day"
+msgstr "Último día"
+
+#: searx/templates/oscar/time-range.html:9
+#: searx/templates/simple/time-range.html:9
+msgid "Last week"
+msgstr "Última semana"
+
+#: searx/templates/oscar/time-range.html:12
+#: searx/templates/simple/time-range.html:12
+msgid "Last month"
+msgstr "Último mes"
+
+#: searx/templates/oscar/time-range.html:15
+#: searx/templates/simple/time-range.html:15
+msgid "Last year"
+msgstr "Último ano"
+
+#: searx/templates/oscar/messages/first_time.html:6
+#: searx/templates/oscar/messages/no_data_available.html:3
+msgid "Heads up!"
+msgstr "Heads up!"
+
+#: searx/templates/oscar/messages/first_time.html:7
+msgid "It look like you are using searx first time."
+msgstr "Semella que é a primeira vez que utiliza searx."
+
+#: searx/templates/oscar/messages/no_cookies.html:3
+msgid "Information!"
+msgstr "Información!"
+
+#: searx/templates/oscar/messages/no_cookies.html:4
+msgid "currently, there are no cookies defined."
+msgstr "actualmente non hai testemuños establecidos."
+
+#: searx/templates/oscar/messages/no_data_available.html:4
+msgid "There is currently no data available. "
+msgstr "Non hai datos dispoñibles."
+
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+msgid "Engines cannot retrieve results."
+msgstr "Os buscadores non poden obter resultados."
+
+#: searx/templates/oscar/messages/no_results.html:10
+#: searx/templates/simple/messages/no_results.html:10
+msgid "Please, try again later or find another searx instance."
+msgstr "Por favor, inténteo de novo máis tarde ou busque outra instancia de searx."
+
+#: searx/templates/oscar/messages/no_results.html:14
+#: searx/templates/simple/messages/no_results.html:14
+msgid "Sorry!"
+msgstr "Sentímolo!"
+
+#: searx/templates/oscar/messages/no_results.html:15
+#: searx/templates/simple/messages/no_results.html:15
+msgid ""
+"we didn't find any results. Please use another query or search in more "
+"categories."
+msgstr "non atopamos ningún resultado. Por favor, utilice outra consulta ou busque en máis categorías."
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:7
+msgid "Well done!"
+msgstr "Ben feito!"
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:8
+msgid "Settings saved successfully."
+msgstr "Gardáronse correctamente os Axustes."
+
+#: searx/templates/oscar/messages/unknow_error.html:7
+msgid "Oh snap!"
+msgstr "Vaia!"
+
+#: searx/templates/oscar/messages/unknow_error.html:8
+msgid "Something went wrong."
+msgstr "Algo fallou."
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "show media"
+msgstr "mostrar medios"
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "hide media"
+msgstr "agochar medios"
+
+#: searx/templates/oscar/result_templates/images.html:30
+msgid "Get image"
+msgstr "Obter imaxe"
+
+#: searx/templates/oscar/result_templates/images.html:33
+msgid "View source"
+msgstr "Ver fonte"
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "show map"
+msgstr "mostrar mapa"
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "hide map"
+msgstr "agochar mapa"
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "show details"
+msgstr "mostrar detalles"
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "hide details"
+msgstr "agochar detalles"
+
+#: searx/templates/oscar/result_templates/torrent.html:7
+#: searx/templates/simple/result_templates/torrent.html:11
+msgid "Filesize"
+msgstr "Tamaño do ficheiro"
+
+#: searx/templates/oscar/result_templates/torrent.html:9
+#: searx/templates/simple/result_templates/torrent.html:12
+msgid "Bytes"
+msgstr "Bytes"
+
+#: searx/templates/oscar/result_templates/torrent.html:10
+#: searx/templates/simple/result_templates/torrent.html:13
+msgid "kiB"
+msgstr "kiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:11
+#: searx/templates/simple/result_templates/torrent.html:14
+msgid "MiB"
+msgstr "MiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:12
+#: searx/templates/simple/result_templates/torrent.html:15
+msgid "GiB"
+msgstr "GiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:13
+#: searx/templates/simple/result_templates/torrent.html:16
+msgid "TiB"
+msgstr "TiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:15
+#: searx/templates/simple/result_templates/torrent.html:20
+msgid "Number of Files"
+msgstr "Número de ficheiros"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "show video"
+msgstr "mostrar vídeo"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "hide video"
+msgstr "agochar vídeo"
+
+#: searx/templates/pix-art/results.html:28
+msgid "Load more..."
+msgstr "Cargar máis..."
+
+#: searx/templates/simple/base.html:31
+msgid "No item found"
+msgstr "Non se atoparon elementos"
+
+#: searx/templates/simple/preferences.html:89
+msgid "Supports selected language"
+msgstr "Soporta o idioma seleccionado"
+
+#: searx/templates/simple/preferences.html:118
+msgid "User interface"
+msgstr "Interface de usuaria"
+
+#: searx/templates/simple/preferences.html:154
+msgid "Privacy"
+msgstr "Intimidade"
diff --git a/searx/translations/he/LC_MESSAGES/messages.mo b/searx/translations/he/LC_MESSAGES/messages.mo
index 10bb25c50..c03402500 100644
--- a/searx/translations/he/LC_MESSAGES/messages.mo
+++ b/searx/translations/he/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/hr/LC_MESSAGES/messages.mo b/searx/translations/hr/LC_MESSAGES/messages.mo
index ee986d5c9..9e232a151 100644
--- a/searx/translations/hr/LC_MESSAGES/messages.mo
+++ b/searx/translations/hr/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/hu/LC_MESSAGES/messages.mo b/searx/translations/hu/LC_MESSAGES/messages.mo
index 4e06f2fd3..392dc99df 100644
--- a/searx/translations/hu/LC_MESSAGES/messages.mo
+++ b/searx/translations/hu/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/ia/LC_MESSAGES/messages.mo b/searx/translations/ia/LC_MESSAGES/messages.mo
new file mode 100644
index 000000000..3536ca651
--- /dev/null
+++ b/searx/translations/ia/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/ia/LC_MESSAGES/messages.po b/searx/translations/ia/LC_MESSAGES/messages.po
new file mode 100644
index 000000000..d2acbb626
--- /dev/null
+++ b/searx/translations/ia/LC_MESSAGES/messages.po
@@ -0,0 +1,998 @@
+# Translations template for PROJECT.
+# Copyright (C) 2017 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+#
+# Translators:
+# Guimarães Mello <maeslor@cryptolab.net>, 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: searx\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2017-10-07 19:18+0200\n"
+"PO-Revision-Date: 2019-02-23 17:39+0000\n"
+"Last-Translator: Guimarães Mello <maeslor@cryptolab.net>\n"
+"Language-Team: Interlingua (http://www.transifex.com/asciimoo/searx/language/ia/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.3.4\n"
+"Language: ia\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: searx/search.py:137 searx/search.py:182
+msgid "timeout"
+msgstr ""
+
+#: searx/search.py:144
+msgid "request exception"
+msgstr ""
+
+#: searx/search.py:151
+msgid "unexpected crash"
+msgstr ""
+
+#: searx/webapp.py:135
+msgid "files"
+msgstr "files"
+
+#: searx/webapp.py:136
+msgid "general"
+msgstr "general"
+
+#: searx/webapp.py:137
+msgid "music"
+msgstr "musica"
+
+#: searx/webapp.py:138
+msgid "social media"
+msgstr "medios social"
+
+#: searx/webapp.py:139
+msgid "images"
+msgstr "imagines"
+
+#: searx/webapp.py:140
+msgid "videos"
+msgstr "videos"
+
+#: searx/webapp.py:141
+msgid "it"
+msgstr "software"
+
+#: searx/webapp.py:142
+msgid "news"
+msgstr "novas"
+
+#: searx/webapp.py:143
+msgid "map"
+msgstr "mappa"
+
+#: searx/webapp.py:144
+msgid "science"
+msgstr "scientia"
+
+#: searx/webapp.py:398 searx/webapp.py:653
+msgid "Invalid settings, please edit your preferences"
+msgstr "Configurationes non valide, per favor, modifica tu preferentias."
+
+#: searx/webapp.py:410
+msgid "Invalid settings"
+msgstr ""
+
+#: searx/webapp.py:444 searx/webapp.py:488
+msgid "search error"
+msgstr "error in recerca"
+
+#: searx/webapp.py:525
+msgid "{minutes} minute(s) ago"
+msgstr "{minutes} minuta(s) retro"
+
+#: searx/webapp.py:527
+msgid "{hours} hour(s), {minutes} minute(s) ago"
+msgstr "{hours} hora(s), {minutes} minuta(s) retro"
+
+#: searx/answerers/random/answerer.py:53
+msgid "Random value generator"
+msgstr "Generator de valores aleatori"
+
+#: searx/answerers/random/answerer.py:54
+msgid "Generate different random values"
+msgstr "Generar differente valores aleatori"
+
+#: searx/answerers/statistics/answerer.py:53
+msgid "Statistics functions"
+msgstr "Functiones statistic"
+
+#: searx/answerers/statistics/answerer.py:54
+msgid "Compute {functions} of the arguments"
+msgstr "Computa {functions} del argumentos"
+
+#: searx/engines/__init__.py:194
+msgid "Engine time (sec)"
+msgstr "Tempore de motor (secundas)"
+
+#: searx/engines/__init__.py:198
+msgid "Page loads (sec)"
+msgstr "Cargas de pagina (secundas)"
+
+#: searx/engines/__init__.py:202 searx/templates/oscar/results.html:95
+#: searx/templates/simple/results.html:20
+msgid "Number of results"
+msgstr "Numero de resultatos"
+
+#: searx/engines/__init__.py:206
+msgid "Scores"
+msgstr "Punctos"
+
+#: searx/engines/__init__.py:210
+msgid "Scores per result"
+msgstr "Punctos per resultato"
+
+#: searx/engines/__init__.py:214
+msgid "Errors"
+msgstr "Errores"
+
+#: searx/engines/pdbe.py:87
+msgid "{title}&nbsp;(OBSOLETE)"
+msgstr "{title}&nbsp;(OBSOLETE)"
+
+#: searx/engines/pdbe.py:91
+msgid "This entry has been superseded by"
+msgstr "Iste entrata esseva substituite per"
+
+#: searx/plugins/doai_rewrite.py:7
+msgid "DOAI rewrite"
+msgstr "rescriber DOAI "
+
+#: searx/plugins/doai_rewrite.py:8
+msgid ""
+"Avoid paywalls by redirecting to open-access versions of publications when "
+"available"
+msgstr "Evita paywalls per redirectionar a versiones de publicationes in accesso aperte, quando disponibile"
+
+#: searx/plugins/https_rewrite.py:32
+msgid "Rewrite HTTP links to HTTPS if possible"
+msgstr "Rescriber ligamines HTTP a HTTPS si possibile"
+
+#: searx/plugins/infinite_scroll.py:3
+msgid "Infinite scroll"
+msgstr "Rolamento infinite"
+
+#: searx/plugins/infinite_scroll.py:4
+msgid "Automatically load next page when scrolling to bottom of current page"
+msgstr "Automaticamente cargar le proxime pagina quando arrivar al fundo del pagina actual"
+
+#: searx/plugins/open_results_on_new_tab.py:18
+#: searx/templates/oscar/preferences.html:114
+#: searx/templates/simple/preferences.html:149
+msgid "Open result links on new browser tabs"
+msgstr "Aperir le resultatos sur nove schedas del navigator"
+
+#: searx/plugins/open_results_on_new_tab.py:19
+msgid ""
+"Results are opened in the same window by default. This plugin overwrites the"
+" default behaviour to open links on new tabs/windows. (JavaScript required)"
+msgstr "Resultatos es aperite in le mesme fenestra per predefinition. Iste extension superscribe le comportamento predefinite pro aperir ligamines in nove schedas/fenestras. (JavaScript es necessari)"
+
+#: searx/plugins/search_on_category_select.py:18
+msgid "Search on category select"
+msgstr "Recercar in le categoria selectionate"
+
+#: searx/plugins/search_on_category_select.py:19
+msgid ""
+"Perform search immediately if a category selected. Disable to select "
+"multiple categories. (JavaScript required)"
+msgstr "Exequer le recerca immediatemente si un categoria es selectionate. Disactiva lo pro selectionar multiple categorias. (JavaScript es necessari)"
+
+#: searx/plugins/self_info.py:20
+msgid ""
+"Displays your IP if the query is \"ip\" and your user agent if the query "
+"contains \"user agent\"."
+msgstr "Monstra tu IP si le consulta es \"ip\"; e monstra tu agente de usator si le consulta contine \"user agent\"."
+
+#: searx/plugins/tracker_url_remover.py:26
+msgid "Tracker URL remover"
+msgstr "Remover tracker del URL"
+
+#: searx/plugins/tracker_url_remover.py:27
+msgid "Remove trackers arguments from the returned URL"
+msgstr "Remover argumentos del tracker ab le URL retornate"
+
+#: searx/plugins/vim_hotkeys.py:3
+msgid "Vim-like hotkeys"
+msgstr "Vias breve de claviero tal como in Vim"
+
+#: searx/plugins/vim_hotkeys.py:4
+msgid ""
+"Navigate search results with Vim-like hotkeys (JavaScript required). Press "
+"\"h\" key on main or result page to get help."
+msgstr "Navigar in le resultatos de recerca per vias breve de claviero à la Vim (JavaScript es necessari). Pulsa le clave \"h\" super le pagina del resultato pro obtener adjuta."
+
+#: searx/templates/courgette/404.html:4 searx/templates/legacy/404.html:4
+#: searx/templates/oscar/404.html:4 searx/templates/pix-art/404.html:4
+#: searx/templates/simple/404.html:4
+msgid "Page not found"
+msgstr "Pagina non trovate"
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+#, python-format
+msgid "Go to %(search_page)s."
+msgstr "Ir al %(search_page)s."
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+msgid "search page"
+msgstr "pagina de recerca"
+
+#: searx/templates/courgette/index.html:9
+#: searx/templates/courgette/index.html:13
+#: searx/templates/courgette/results.html:5
+#: searx/templates/legacy/index.html:8 searx/templates/legacy/index.html:12
+#: searx/templates/oscar/navbar.html:7
+#: searx/templates/oscar/preferences.html:3
+#: searx/templates/pix-art/index.html:8
+msgid "preferences"
+msgstr "preferentias"
+
+#: searx/templates/courgette/index.html:11
+#: searx/templates/legacy/index.html:10 searx/templates/oscar/about.html:2
+#: searx/templates/oscar/navbar.html:6 searx/templates/pix-art/index.html:7
+msgid "about"
+msgstr "a proposito"
+
+#: searx/templates/courgette/preferences.html:5
+#: searx/templates/legacy/preferences.html:5
+#: searx/templates/oscar/preferences.html:8
+#: searx/templates/pix-art/preferences.html:5
+#: searx/templates/simple/preferences.html:26
+msgid "Preferences"
+msgstr "Preferentias"
+
+#: searx/templates/courgette/preferences.html:9
+#: searx/templates/legacy/preferences.html:9
+#: searx/templates/oscar/preferences.html:33
+#: searx/templates/oscar/preferences.html:35
+#: searx/templates/simple/preferences.html:34
+msgid "Default categories"
+msgstr "categorias predefinite"
+
+#: searx/templates/courgette/preferences.html:13
+#: searx/templates/legacy/preferences.html:14
+#: searx/templates/oscar/preferences.html:41
+#: searx/templates/pix-art/preferences.html:9
+#: searx/templates/simple/preferences.html:39
+#: searx/templates/simple/preferences.html:163
+msgid "Search language"
+msgstr "Lingua pro le recerca"
+
+#: searx/templates/courgette/preferences.html:16
+#: searx/templates/legacy/preferences.html:17
+#: searx/templates/oscar/languages.html:6
+#: searx/templates/pix-art/preferences.html:12
+#: searx/templates/simple/languages.html:2
+#: searx/templates/simple/preferences.html:42
+msgid "Default language"
+msgstr "Lingua predefinite"
+
+#: searx/templates/courgette/preferences.html:24
+#: searx/templates/legacy/preferences.html:25
+#: searx/templates/oscar/preferences.html:47
+#: searx/templates/pix-art/preferences.html:20
+#: searx/templates/simple/preferences.html:120
+msgid "Interface language"
+msgstr "Lingua del interfacie"
+
+#: searx/templates/courgette/preferences.html:34
+#: searx/templates/legacy/preferences.html:35
+#: searx/templates/oscar/preferences.html:57
+#: searx/templates/simple/preferences.html:51
+msgid "Autocomplete"
+msgstr "Autocompletar"
+
+#: searx/templates/courgette/preferences.html:45
+#: searx/templates/legacy/preferences.html:46
+#: searx/templates/oscar/preferences.html:68
+#: searx/templates/simple/preferences.html:166
+msgid "Image proxy"
+msgstr "Proxy pro imagines"
+
+#: searx/templates/courgette/preferences.html:48
+#: searx/templates/legacy/preferences.html:49
+#: searx/templates/oscar/preferences.html:72
+#: searx/templates/simple/preferences.html:169
+msgid "Enabled"
+msgstr "Activate"
+
+#: searx/templates/courgette/preferences.html:49
+#: searx/templates/legacy/preferences.html:50
+#: searx/templates/oscar/preferences.html:73
+#: searx/templates/simple/preferences.html:170
+msgid "Disabled"
+msgstr "Disactivate"
+
+#: searx/templates/courgette/preferences.html:54
+#: searx/templates/legacy/preferences.html:55
+#: searx/templates/oscar/preferences.html:77
+#: searx/templates/pix-art/preferences.html:30
+#: searx/templates/simple/preferences.html:156
+msgid "Method"
+msgstr "Methodo"
+
+#: searx/templates/courgette/preferences.html:63
+#: searx/templates/legacy/preferences.html:64
+#: searx/templates/oscar/preferences.html:86
+#: searx/templates/oscar/preferences.html:153
+#: searx/templates/oscar/preferences.html:161
+#: searx/templates/simple/preferences.html:63
+#: searx/templates/simple/preferences.html:90
+msgid "SafeSearch"
+msgstr "Filtro de contento potentialmente offensive"
+
+#: searx/templates/courgette/preferences.html:66
+#: searx/templates/legacy/preferences.html:67
+#: searx/templates/oscar/preferences.html:90
+#: searx/templates/simple/preferences.html:66
+msgid "Strict"
+msgstr "Rigorose"
+
+#: searx/templates/courgette/preferences.html:67
+#: searx/templates/legacy/preferences.html:68
+#: searx/templates/oscar/preferences.html:91
+#: searx/templates/simple/preferences.html:67
+msgid "Moderate"
+msgstr "Moderate"
+
+#: searx/templates/courgette/preferences.html:68
+#: searx/templates/legacy/preferences.html:69
+#: searx/templates/oscar/preferences.html:92
+#: searx/templates/simple/preferences.html:68
+msgid "None"
+msgstr "Nulle"
+
+#: searx/templates/courgette/preferences.html:73
+#: searx/templates/legacy/preferences.html:74
+#: searx/templates/oscar/preferences.html:96
+#: searx/templates/pix-art/preferences.html:39
+#: searx/templates/simple/preferences.html:131
+msgid "Themes"
+msgstr "Themas"
+
+#: searx/templates/courgette/preferences.html:83
+msgid "Color"
+msgstr "Color"
+
+#: searx/templates/courgette/preferences.html:86
+msgid "Blue (default)"
+msgstr "Blau (standard)"
+
+#: searx/templates/courgette/preferences.html:87
+msgid "Violet"
+msgstr "Violette"
+
+#: searx/templates/courgette/preferences.html:88
+msgid "Green"
+msgstr "Verde"
+
+#: searx/templates/courgette/preferences.html:89
+msgid "Cyan"
+msgstr "Cyano"
+
+#: searx/templates/courgette/preferences.html:90
+msgid "Orange"
+msgstr "Orange"
+
+#: searx/templates/courgette/preferences.html:91
+msgid "Red"
+msgstr "Rubie"
+
+#: searx/templates/courgette/preferences.html:96
+#: searx/templates/legacy/preferences.html:93
+#: searx/templates/pix-art/preferences.html:49
+#: searx/templates/simple/preferences.html:77
+msgid "Currently used search engines"
+msgstr "Motores de recerca actualmente usate"
+
+#: searx/templates/courgette/preferences.html:100
+#: searx/templates/legacy/preferences.html:97
+#: searx/templates/oscar/preferences.html:150
+#: searx/templates/oscar/preferences.html:164
+#: searx/templates/pix-art/preferences.html:53
+#: searx/templates/simple/preferences.html:87
+msgid "Engine name"
+msgstr "Nomine del motor"
+
+#: searx/templates/courgette/preferences.html:101
+#: searx/templates/legacy/preferences.html:98
+msgid "Category"
+msgstr "Categoria"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:113
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:110
+#: searx/templates/oscar/preferences.html:149
+#: searx/templates/oscar/preferences.html:165
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:64
+#: searx/templates/simple/preferences.html:86
+msgid "Allow"
+msgstr "Permitter"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:114
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:111
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:65
+msgid "Block"
+msgstr "Blocar"
+
+#: searx/templates/courgette/preferences.html:122
+#: searx/templates/legacy/preferences.html:119
+#: searx/templates/oscar/preferences.html:285
+#: searx/templates/pix-art/preferences.html:73
+#: searx/templates/simple/preferences.html:180
+msgid ""
+"These settings are stored in your cookies, this allows us not to store this "
+"data about you."
+msgstr "Iste preferentias es salvate in tu cookies, le qual permitte nos non salvar iste datos super vos."
+
+#: searx/templates/courgette/preferences.html:124
+#: searx/templates/legacy/preferences.html:121
+#: searx/templates/oscar/preferences.html:287
+#: searx/templates/pix-art/preferences.html:75
+#: searx/templates/simple/preferences.html:182
+msgid ""
+"These cookies serve your sole convenience, we don't use these cookies to "
+"track you."
+msgstr "Iste cookies servi solmente a tu convenientia, nos non usa iste cookies pro traciar te."
+
+#: searx/templates/courgette/preferences.html:127
+#: searx/templates/legacy/preferences.html:124
+#: searx/templates/oscar/preferences.html:293
+#: searx/templates/pix-art/preferences.html:78
+#: searx/templates/simple/preferences.html:185
+msgid "save"
+msgstr "salveguardar"
+
+#: searx/templates/courgette/preferences.html:128
+#: searx/templates/legacy/preferences.html:125
+#: searx/templates/oscar/preferences.html:295
+#: searx/templates/simple/preferences.html:186
+msgid "Reset defaults"
+msgstr "Restablir configurationes"
+
+#: searx/templates/courgette/preferences.html:129
+#: searx/templates/legacy/preferences.html:126
+#: searx/templates/oscar/preferences.html:294
+#: searx/templates/pix-art/preferences.html:79
+#: searx/templates/simple/preferences.html:187
+msgid "back"
+msgstr "retroceder"
+
+#: searx/templates/courgette/results.html:12
+#: searx/templates/legacy/results.html:13
+#: searx/templates/oscar/results.html:136
+#: searx/templates/simple/results.html:58
+msgid "Search URL"
+msgstr "Recercar URL"
+
+#: searx/templates/courgette/results.html:16
+#: searx/templates/legacy/results.html:17
+#: searx/templates/oscar/results.html:141
+#: searx/templates/simple/results.html:62
+msgid "Download results"
+msgstr "Discargar resultatos"
+
+#: searx/templates/courgette/results.html:34
+#: searx/templates/legacy/results.html:35
+#: searx/templates/simple/results.html:10
+msgid "Answers"
+msgstr "Replicas"
+
+#: searx/templates/courgette/results.html:42
+#: searx/templates/legacy/results.html:43
+#: searx/templates/oscar/results.html:116
+#: searx/templates/simple/results.html:42
+msgid "Suggestions"
+msgstr "Suggestiones"
+
+#: searx/templates/courgette/results.html:70
+#: searx/templates/legacy/results.html:81
+#: searx/templates/oscar/results.html:68 searx/templates/oscar/results.html:78
+#: searx/templates/simple/results.html:130
+msgid "previous page"
+msgstr "pagina previe"
+
+#: searx/templates/courgette/results.html:81
+#: searx/templates/legacy/results.html:92
+#: searx/templates/oscar/results.html:62 searx/templates/oscar/results.html:84
+#: searx/templates/simple/results.html:145
+msgid "next page"
+msgstr "pagina sequente"
+
+#: searx/templates/courgette/search.html:3
+#: searx/templates/legacy/search.html:3 searx/templates/oscar/search.html:6
+#: searx/templates/oscar/search_full.html:9
+#: searx/templates/pix-art/search.html:3 searx/templates/simple/search.html:4
+msgid "Search for..."
+msgstr "Recercar re..."
+
+#: searx/templates/courgette/stats.html:4 searx/templates/legacy/stats.html:4
+#: searx/templates/oscar/stats.html:5 searx/templates/pix-art/stats.html:4
+#: searx/templates/simple/stats.html:7
+msgid "Engine stats"
+msgstr "Statisticas de motores"
+
+#: searx/templates/courgette/result_templates/images.html:4
+#: searx/templates/legacy/result_templates/images.html:4
+#: searx/templates/pix-art/result_templates/images.html:4
+msgid "original context"
+msgstr "contexto original"
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Seeder"
+msgstr "Seeder"
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Leecher"
+msgstr "Leecher"
+
+#: searx/templates/courgette/result_templates/torrent.html:9
+#: searx/templates/legacy/result_templates/torrent.html:9
+#: searx/templates/oscar/macros.html:23
+#: searx/templates/simple/result_templates/torrent.html:6
+msgid "magnet link"
+msgstr "ligamine magnetic"
+
+#: searx/templates/courgette/result_templates/torrent.html:10
+#: searx/templates/legacy/result_templates/torrent.html:10
+#: searx/templates/oscar/macros.html:24
+#: searx/templates/simple/result_templates/torrent.html:7
+msgid "torrent file"
+msgstr "file torrente"
+
+#: searx/templates/legacy/categories.html:8
+#: searx/templates/simple/categories.html:6
+msgid "Click on the magnifier to perform search"
+msgstr "Clicca sur le lupa pro exequer le recerca"
+
+#: searx/templates/legacy/preferences.html:84
+#: searx/templates/oscar/preferences.html:113
+#: searx/templates/simple/preferences.html:142
+msgid "Results on new tabs"
+msgstr "Resultatos sur nove schedas"
+
+#: searx/templates/legacy/preferences.html:87
+#: searx/templates/oscar/preferences.html:117
+#: searx/templates/simple/preferences.html:145
+msgid "On"
+msgstr "Activate"
+
+#: searx/templates/legacy/preferences.html:88
+#: searx/templates/oscar/preferences.html:118
+#: searx/templates/simple/preferences.html:146
+msgid "Off"
+msgstr "Disactivate"
+
+#: searx/templates/legacy/result_templates/code.html:3
+#: searx/templates/legacy/result_templates/default.html:3
+#: searx/templates/legacy/result_templates/map.html:9
+#: searx/templates/oscar/macros.html:34 searx/templates/oscar/macros.html:48
+#: searx/templates/simple/macros.html:43
+msgid "cached"
+msgstr "in cache"
+
+#: searx/templates/oscar/advanced.html:4
+msgid "Advanced settings"
+msgstr "Configurationes avantiate"
+
+#: searx/templates/oscar/base.html:62
+#: searx/templates/oscar/messages/first_time.html:4
+#: searx/templates/oscar/messages/save_settings_successfull.html:5
+#: searx/templates/oscar/messages/unknow_error.html:5
+msgid "Close"
+msgstr "Clauder"
+
+#: searx/templates/oscar/base.html:64
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+#: searx/templates/simple/results.html:25
+msgid "Error!"
+msgstr "Error!"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "Powered by"
+msgstr "Actionate per"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "a privacy-respecting, hackable metasearch engine"
+msgstr "un motor de meta-recerca, capabile de reprogrammation e respectuose al confidentialitate"
+
+#: searx/templates/oscar/macros.html:36 searx/templates/oscar/macros.html:50
+#: searx/templates/simple/macros.html:43
+msgid "proxied"
+msgstr "per proxy"
+
+#: searx/templates/oscar/macros.html:92
+msgid "supported"
+msgstr ""
+
+#: searx/templates/oscar/macros.html:96
+msgid "not supported"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:13
+#: searx/templates/oscar/preferences.html:22
+#: searx/templates/simple/preferences.html:32
+msgid "General"
+msgstr "General"
+
+#: searx/templates/oscar/preferences.html:14
+#: searx/templates/oscar/preferences.html:134
+#: searx/templates/simple/preferences.html:76
+msgid "Engines"
+msgstr "Motores"
+
+#: searx/templates/oscar/preferences.html:15
+#: searx/templates/oscar/preferences.html:207
+msgid "Plugins"
+msgstr "Extensiones"
+
+#: searx/templates/oscar/preferences.html:16
+#: searx/templates/oscar/preferences.html:233
+msgid "Answerers"
+msgstr "Modulos de Responsa"
+
+#: searx/templates/oscar/preferences.html:17
+#: searx/templates/oscar/preferences.html:260
+msgid "Cookies"
+msgstr "Cookies"
+
+#: searx/templates/oscar/preferences.html:42
+#: searx/templates/simple/preferences.html:48
+msgid "What language do you prefer for search?"
+msgstr "Qual lingua tu prefere pro recercar? "
+
+#: searx/templates/oscar/preferences.html:48
+#: searx/templates/simple/preferences.html:128
+msgid "Change the language of the layout"
+msgstr "Cambia le lingua del interfacie"
+
+#: searx/templates/oscar/preferences.html:58
+#: searx/templates/simple/preferences.html:60
+msgid "Find stuff as you type"
+msgstr "Trova cosas durante que tu scribe"
+
+#: searx/templates/oscar/preferences.html:69
+#: searx/templates/simple/preferences.html:173
+msgid "Proxying image results through searx"
+msgstr "Usar proxy pro obtener resultatos de imagines per searx"
+
+#: searx/templates/oscar/preferences.html:78
+msgid ""
+"Change how forms are submited, <a "
+"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
+" rel=\"external\">learn more about request methods</a>"
+msgstr "Cambiar como le formularios es submittite. <a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\"> apprende plus re methodos de requesta </a>"
+
+#: searx/templates/oscar/preferences.html:87
+#: searx/templates/simple/preferences.html:71
+msgid "Filter content"
+msgstr "Filtrar contento"
+
+#: searx/templates/oscar/preferences.html:97
+#: searx/templates/simple/preferences.html:139
+msgid "Change searx layout"
+msgstr "Cambiar le interfacie de searx"
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Choose style for this theme"
+msgstr "Selectiona un stilo pro iste thema"
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Style"
+msgstr "Stilo"
+
+#: searx/templates/oscar/preferences.html:151
+#: searx/templates/oscar/preferences.html:163
+#: searx/templates/simple/preferences.html:88
+msgid "Shortcut"
+msgstr "Via breve"
+
+#: searx/templates/oscar/preferences.html:152
+#: searx/templates/oscar/preferences.html:162
+msgid "Selected language"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:154
+#: searx/templates/oscar/preferences.html:160
+#: searx/templates/simple/preferences.html:91
+msgid "Time range"
+msgstr "Intervallo de tempore"
+
+#: searx/templates/oscar/preferences.html:155
+#: searx/templates/oscar/preferences.html:159
+#: searx/templates/simple/preferences.html:92
+msgid "Avg. time"
+msgstr "Tempore medie"
+
+#: searx/templates/oscar/preferences.html:156
+#: searx/templates/oscar/preferences.html:158
+#: searx/templates/simple/preferences.html:93
+msgid "Max time"
+msgstr "Tempore maxime"
+
+#: searx/templates/oscar/preferences.html:236
+msgid "This is the list of searx's instant answering modules."
+msgstr "Isto es le lista del modulos de responsa instantanee de searx."
+
+#: searx/templates/oscar/preferences.html:240
+msgid "Name"
+msgstr "Nomine"
+
+#: searx/templates/oscar/preferences.html:241
+msgid "Keywords"
+msgstr "Parolas clave"
+
+#: searx/templates/oscar/preferences.html:242
+msgid "Description"
+msgstr "Description"
+
+#: searx/templates/oscar/preferences.html:243
+msgid "Examples"
+msgstr "Exemplos"
+
+#: searx/templates/oscar/preferences.html:263
+msgid ""
+"This is the list of cookies and their values searx is storing on your "
+"computer."
+msgstr "Isto es le lista de cookies e lor valores que searx salva in tu computator."
+
+#: searx/templates/oscar/preferences.html:264
+msgid "With that list, you can assess searx transparency."
+msgstr "Per iste lista, tu pote evalutar le transparentia de searx."
+
+#: searx/templates/oscar/preferences.html:269
+msgid "Cookie name"
+msgstr "Nomine de cookie"
+
+#: searx/templates/oscar/preferences.html:270
+msgid "Value"
+msgstr "Valor"
+
+#: searx/templates/oscar/preferences.html:289
+msgid "Search URL of the currently saved preferences"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:289
+msgid ""
+"Note: specifying custom settings in the search URL can reduce privacy by "
+"leaking data to the clicked result sites."
+msgstr ""
+
+#: searx/templates/oscar/results.html:17
+msgid "Search results"
+msgstr "Resultatos de recerca"
+
+#: searx/templates/oscar/results.html:21
+#: searx/templates/simple/results.html:84
+msgid "Try searching for:"
+msgstr ""
+
+#: searx/templates/oscar/results.html:100
+#: searx/templates/simple/results.html:25
+msgid "Engines cannot retrieve results"
+msgstr ""
+
+#: searx/templates/oscar/results.html:131
+msgid "Links"
+msgstr "Ligamines"
+
+#: searx/templates/oscar/search.html:8
+#: searx/templates/oscar/search_full.html:11
+#: searx/templates/simple/search.html:5
+msgid "Start search"
+msgstr "Initiar recerca"
+
+#: searx/templates/oscar/stats.html:2
+msgid "stats"
+msgstr "statisticas"
+
+#: searx/templates/oscar/time-range.html:3
+#: searx/templates/simple/time-range.html:3
+msgid "Anytime"
+msgstr "Aliquando"
+
+#: searx/templates/oscar/time-range.html:6
+#: searx/templates/simple/time-range.html:6
+msgid "Last day"
+msgstr "Le die passate"
+
+#: searx/templates/oscar/time-range.html:9
+#: searx/templates/simple/time-range.html:9
+msgid "Last week"
+msgstr "Le septimana passate"
+
+#: searx/templates/oscar/time-range.html:12
+#: searx/templates/simple/time-range.html:12
+msgid "Last month"
+msgstr "Le mense passate"
+
+#: searx/templates/oscar/time-range.html:15
+#: searx/templates/simple/time-range.html:15
+msgid "Last year"
+msgstr "Le anno passate"
+
+#: searx/templates/oscar/messages/first_time.html:6
+#: searx/templates/oscar/messages/no_data_available.html:3
+msgid "Heads up!"
+msgstr "Attention!"
+
+#: searx/templates/oscar/messages/first_time.html:7
+msgid "It look like you are using searx first time."
+msgstr "Il pare que tu usa searx pro le prime vice."
+
+#: searx/templates/oscar/messages/no_cookies.html:3
+msgid "Information!"
+msgstr "Information!"
+
+#: searx/templates/oscar/messages/no_cookies.html:4
+msgid "currently, there are no cookies defined."
+msgstr "actualmente, il non ha cookies definite."
+
+#: searx/templates/oscar/messages/no_data_available.html:4
+msgid "There is currently no data available. "
+msgstr "Actualmente, il non ha datos disponibile."
+
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+msgid "Engines cannot retrieve results."
+msgstr ""
+
+#: searx/templates/oscar/messages/no_results.html:10
+#: searx/templates/simple/messages/no_results.html:10
+msgid "Please, try again later or find another searx instance."
+msgstr ""
+
+#: searx/templates/oscar/messages/no_results.html:14
+#: searx/templates/simple/messages/no_results.html:14
+msgid "Sorry!"
+msgstr "Pardono!"
+
+#: searx/templates/oscar/messages/no_results.html:15
+#: searx/templates/simple/messages/no_results.html:15
+msgid ""
+"we didn't find any results. Please use another query or search in more "
+"categories."
+msgstr "Nos trovava nulle resultatos. Per favor, usa altere consulta o recerca in plus categorias."
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:7
+msgid "Well done!"
+msgstr "Bravo!"
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:8
+msgid "Settings saved successfully."
+msgstr "Le configurationes es salvate con successo."
+
+#: searx/templates/oscar/messages/unknow_error.html:7
+msgid "Oh snap!"
+msgstr "Oh no!"
+
+#: searx/templates/oscar/messages/unknow_error.html:8
+msgid "Something went wrong."
+msgstr "Alco occurreva mal."
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "show media"
+msgstr "monstrar multimedia"
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "hide media"
+msgstr "occultar multimedia"
+
+#: searx/templates/oscar/result_templates/images.html:30
+msgid "Get image"
+msgstr "Obtener imagine"
+
+#: searx/templates/oscar/result_templates/images.html:33
+msgid "View source"
+msgstr "Vider fonte"
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "show map"
+msgstr "monstrar mappa"
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "hide map"
+msgstr "occultar mappa"
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "show details"
+msgstr "monstrar detalios"
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "hide details"
+msgstr "occultar detalios"
+
+#: searx/templates/oscar/result_templates/torrent.html:7
+#: searx/templates/simple/result_templates/torrent.html:11
+msgid "Filesize"
+msgstr "Dimension del file"
+
+#: searx/templates/oscar/result_templates/torrent.html:9
+#: searx/templates/simple/result_templates/torrent.html:12
+msgid "Bytes"
+msgstr "Bytes"
+
+#: searx/templates/oscar/result_templates/torrent.html:10
+#: searx/templates/simple/result_templates/torrent.html:13
+msgid "kiB"
+msgstr "kiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:11
+#: searx/templates/simple/result_templates/torrent.html:14
+msgid "MiB"
+msgstr "MiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:12
+#: searx/templates/simple/result_templates/torrent.html:15
+msgid "GiB"
+msgstr "GiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:13
+#: searx/templates/simple/result_templates/torrent.html:16
+msgid "TiB"
+msgstr "TiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:15
+#: searx/templates/simple/result_templates/torrent.html:20
+msgid "Number of Files"
+msgstr "Numero de Files"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "show video"
+msgstr "monstrar video"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "hide video"
+msgstr "occultar video"
+
+#: searx/templates/pix-art/results.html:28
+msgid "Load more..."
+msgstr "Cargar plus..."
+
+#: searx/templates/simple/base.html:31
+msgid "No item found"
+msgstr ""
+
+#: searx/templates/simple/preferences.html:89
+msgid "Supports selected language"
+msgstr "Supporta le lingua selectionate"
+
+#: searx/templates/simple/preferences.html:118
+msgid "User interface"
+msgstr ""
+
+#: searx/templates/simple/preferences.html:154
+msgid "Privacy"
+msgstr ""
diff --git a/searx/translations/it/LC_MESSAGES/messages.mo b/searx/translations/it/LC_MESSAGES/messages.mo
index 49dabadcf..53eca9e67 100644
--- a/searx/translations/it/LC_MESSAGES/messages.mo
+++ b/searx/translations/it/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/it/LC_MESSAGES/messages.po b/searx/translations/it/LC_MESSAGES/messages.po
index b2db9b3f7..c2d5c8588 100644
--- a/searx/translations/it/LC_MESSAGES/messages.po
+++ b/searx/translations/it/LC_MESSAGES/messages.po
@@ -5,18 +5,20 @@
# Translators:
# Adam Tauber <asciimoo@gmail.com>, 2018
# caoswave, 2016
-# caoswave, 2016-2017
+# caoswave, 2016-2018
# dp <d.pitrolo@gmx.com>, 2014
# dp <d.pitrolo@gmx.com>, 2014,2017
+# Federico <fedett@gmail.com>, 2018
# Luca C <mybusiness@yopmail.com>, 2017
# Luc <luc.absil2@gmail.com>, 2015
+# Random_R, 2018
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2017-11-01 21:31+0100\n"
-"PO-Revision-Date: 2018-02-01 22:21+0000\n"
-"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n"
+"PO-Revision-Date: 2018-10-16 15:53+0000\n"
+"Last-Translator: caoswave\n"
"Language-Team: Italian (http://www.transifex.com/asciimoo/searx/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -31,7 +33,7 @@ msgstr "tempo scaduto"
#: searx/search.py:144
msgid "request exception"
-msgstr ""
+msgstr "eccezione della richiesta"
#: searx/search.py:151
msgid "unexpected crash"
@@ -149,7 +151,7 @@ msgstr "Questa voce è stata sostituita da"
#: searx/engines/pubmed.py:74
msgid "No abstract is available for this publication."
-msgstr ""
+msgstr "Nessun sommario disponibile per questa pubblicazione"
#: searx/plugins/https_rewrite.py:32
msgid "Rewrite HTTP links to HTTPS if possible"
@@ -199,7 +201,7 @@ msgstr "Esegui la ricerca immediatamente se una categoria è selezionata. Disabi
msgid ""
"Displays your IP if the query is \"ip\" and your user agent if the query "
"contains \"user agent\"."
-msgstr "Mostra il tuo IP se hai cercato \\\"ip\\\" ed il tuo user agent se hai cercato \\\"user agent\\\"."
+msgstr "Mostra il tuo IP se hai cercato \"ip\" ed il tuo user agent se hai cercato \"user agent\"."
#: searx/plugins/tracker_url_remover.py:26
msgid "Tracker URL remover"
@@ -217,7 +219,7 @@ msgstr "Scorciatoie in stile Vim"
msgid ""
"Navigate search results with Vim-like hotkeys (JavaScript required). Press "
"\"h\" key on main or result page to get help."
-msgstr "Usa comandi in stile Vim per navigare tra i risultati (JavaScript necessario). Premi il tasto \\\"h\\\" per visualizzare la finestra d'aiuto."
+msgstr "Usa comandi in stile Vim per navigare tra i risultati (JavaScript necessario). Premi il tasto \"h\" per visualizzare la finestra d'aiuto."
#: searx/templates/courgette/404.html:4 searx/templates/legacy/404.html:4
#: searx/templates/oscar/404.html:4 searx/templates/pix-art/404.html:4
@@ -718,13 +720,13 @@ msgstr "Stile"
#: searx/templates/oscar/preferences.html:122
msgid "Open Access DOI resolver"
-msgstr ""
+msgstr "Resolver Open Access DOI"
#: searx/templates/oscar/preferences.html:123
msgid ""
"Redirect to open-access versions of publications when available (plugin "
"required)"
-msgstr ""
+msgstr "Indirizza a versioni open-access delle pubblicazioni quando disponibili (plugin richiesto)"
#: searx/templates/oscar/preferences.html:163
#: searx/templates/oscar/preferences.html:175
@@ -795,13 +797,13 @@ msgstr "Valore"
#: searx/templates/oscar/preferences.html:301
msgid "Search URL of the currently saved preferences"
-msgstr ""
+msgstr "Cerca URL delle preferenze attualmente salvate"
#: searx/templates/oscar/preferences.html:301
msgid ""
"Note: specifying custom settings in the search URL can reduce privacy by "
"leaking data to the clicked result sites."
-msgstr ""
+msgstr "Nota: specificando impostazioni personalizzate nella ricerca URL può ridurre la privacy facendo traperlare dati ai siti cliccati"
#: searx/templates/oscar/results.html:17
msgid "Search results"
@@ -815,7 +817,7 @@ msgstr "Prova a cercare:"
#: searx/templates/oscar/results.html:100
#: searx/templates/simple/results.html:25
msgid "Engines cannot retrieve results"
-msgstr ""
+msgstr "I motori di ricerca non riescono a recuperare risultati"
#: searx/templates/oscar/results.html:131
msgid "Links"
@@ -880,7 +882,7 @@ msgstr "Non ci sono dati attualmente disponibili."
#: searx/templates/oscar/messages/no_results.html:4
#: searx/templates/simple/messages/no_results.html:4
msgid "Engines cannot retrieve results."
-msgstr ""
+msgstr "I motori di ricerca non riescono a recuperare risultati"
#: searx/templates/oscar/messages/no_results.html:10
#: searx/templates/simple/messages/no_results.html:10
diff --git a/searx/translations/ja/LC_MESSAGES/messages.mo b/searx/translations/ja/LC_MESSAGES/messages.mo
index 39ea698cb..eb1267287 100644
--- a/searx/translations/ja/LC_MESSAGES/messages.mo
+++ b/searx/translations/ja/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/ja/LC_MESSAGES/messages.po b/searx/translations/ja/LC_MESSAGES/messages.po
index 11a297ca2..24d2c359e 100644
--- a/searx/translations/ja/LC_MESSAGES/messages.po
+++ b/searx/translations/ja/LC_MESSAGES/messages.po
@@ -3,11 +3,12 @@
# This file is distributed under the same license as the PROJECT project.
#
# Translators:
-# Akio Nishimura <akionux@gmail.com>, 2016-2017
+# Akio Nishimura <akionux@gmail.com>, 2016-2018
# Thomas Pointhuber, 2014-2015
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014,2016
# Lucas Phillips <mail@lep.pw>, 2015
# Max <theshirinzu@gmail.com>, 2015
+# Nobuhiro Iwamatsu <iwamatsu@nigauri.org>, 2018
# pointhi, 2014
# Thomas Pointhuber, 2015-2016
msgid ""
@@ -15,8 +16,8 @@ msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2017-11-01 21:31+0100\n"
-"PO-Revision-Date: 2017-11-01 20:31+0000\n"
-"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n"
+"PO-Revision-Date: 2018-08-13 03:03+0000\n"
+"Last-Translator: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>\n"
"Language-Team: Japanese (http://www.transifex.com/asciimoo/searx/language/ja/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -27,15 +28,15 @@ msgstr ""
#: searx/search.py:137 searx/search.py:182
msgid "timeout"
-msgstr ""
+msgstr "タイムアウト"
#: searx/search.py:144
msgid "request exception"
-msgstr ""
+msgstr "例外要求"
#: searx/search.py:151
msgid "unexpected crash"
-msgstr ""
+msgstr "予期しないクラッシュ"
#: searx/webapp.py:136
msgid "files"
@@ -83,7 +84,7 @@ msgstr "不正な設定です。設定を編集してください。"
#: searx/webapp.py:415
msgid "Invalid settings"
-msgstr ""
+msgstr "不正な設定"
#: searx/webapp.py:449 searx/webapp.py:493
msgid "search error"
@@ -149,11 +150,11 @@ msgstr "このエントリーの優先"
#: searx/engines/pubmed.py:74
msgid "No abstract is available for this publication."
-msgstr ""
+msgstr "この出版物には要約がありません。"
#: searx/plugins/https_rewrite.py:32
msgid "Rewrite HTTP links to HTTPS if possible"
-msgstr "可能ならばHTTPリンクをHTTPSリンクに書き換える"
+msgstr "可能ならば HTTP リンクを HTTPS リンクに書き換える"
#: searx/plugins/infinite_scroll.py:3
msgid "Infinite scroll"
@@ -165,7 +166,7 @@ msgstr "現在のページの下端でスクロールすると自動的に次の
#: searx/plugins/oa_doi_rewrite.py:9
msgid "Open Access DOI rewrite"
-msgstr ""
+msgstr "オープンアクセス DOI リライト"
#: searx/plugins/oa_doi_rewrite.py:10
msgid ""
@@ -183,7 +184,7 @@ msgstr "検索結果のリンクを新しいタブで開く"
msgid ""
"Results are opened in the same window by default. This plugin overwrites the"
" default behaviour to open links on new tabs/windows. (JavaScript required)"
-msgstr "デフォルトでは結果は同じウィンドウで開きます。このプラグインはデフォルトの動作を書き換えて新しいタブ/ウィンドウで開くようにします。(JavaScriptが必要です)"
+msgstr "デフォルトでは結果は同じウィンドウで開きます。このプラグインはデフォルトの動作を書き換えて新しいタブ/ウィンドウで開くようにします。(JavaScript が必要です)"
#: searx/plugins/search_on_category_select.py:18
msgid "Search on category select"
@@ -193,37 +194,37 @@ msgstr "カテゴリ選択したら検索を実行"
msgid ""
"Perform search immediately if a category selected. Disable to select "
"multiple categories. (JavaScript required)"
-msgstr "カテゴリが選択されたときに検索を実行します。複数のカテゴリを選択する場合は無効にします。(JavaScriptが必要です)"
+msgstr "カテゴリが選択されたときに検索を実行します。複数のカテゴリを選択する場合は無効にします。(JavaScript が必要です)"
#: searx/plugins/self_info.py:20
msgid ""
"Displays your IP if the query is \"ip\" and your user agent if the query "
"contains \"user agent\"."
-msgstr "クエリが \"ip\" の場合にあなたのIPを、クエリに\"user agent\"が含まれる場合にあなたのユーザーエージェントを表示します。"
+msgstr "クエリが \"ip\" の場合にあなたのIPを、クエリに \"user agent\" が含まれる場合にあなたのユーザーエージェントを表示します。"
#: searx/plugins/tracker_url_remover.py:26
msgid "Tracker URL remover"
-msgstr "トラッカーURLリムーバー"
+msgstr "トラッカー URL リムーバー"
#: searx/plugins/tracker_url_remover.py:27
msgid "Remove trackers arguments from the returned URL"
-msgstr "返されたURLからトラッカー引数を消去します。"
+msgstr "返された URL からトラッカー引数を消去する"
#: searx/plugins/vim_hotkeys.py:3
msgid "Vim-like hotkeys"
-msgstr "Vim風のホットキー"
+msgstr "Vim 風のホットキー"
#: searx/plugins/vim_hotkeys.py:4
msgid ""
"Navigate search results with Vim-like hotkeys (JavaScript required). Press "
"\"h\" key on main or result page to get help."
-msgstr "検索結果をVim風のホットキーで操作します(JavaScriptが必要)。メインページまたは検索結果ページで\"h\"キーを押してヘルプを表示します。"
+msgstr "検索結果をVim 風のホットキーで操作します(JavaScript が必要)。メインページまたは検索結果ページで \"h\" キーを押してヘルプを表示します。"
#: searx/templates/courgette/404.html:4 searx/templates/legacy/404.html:4
#: searx/templates/oscar/404.html:4 searx/templates/pix-art/404.html:4
#: searx/templates/simple/404.html:4
msgid "Page not found"
-msgstr "ページが見付かりません"
+msgstr "ページが見つかりません"
#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
@@ -315,14 +316,14 @@ msgstr "画像プロキシ"
#: searx/templates/oscar/preferences.html:72
#: searx/templates/simple/preferences.html:169
msgid "Enabled"
-msgstr "有効にする"
+msgstr "有効"
#: searx/templates/courgette/preferences.html:49
#: searx/templates/legacy/preferences.html:50
#: searx/templates/oscar/preferences.html:73
#: searx/templates/simple/preferences.html:170
msgid "Disabled"
-msgstr "使用不可能にする"
+msgstr "無効"
#: searx/templates/courgette/preferences.html:54
#: searx/templates/legacy/preferences.html:55
@@ -489,7 +490,7 @@ msgstr "戻る"
#: searx/templates/oscar/results.html:136
#: searx/templates/simple/results.html:58
msgid "Search URL"
-msgstr "URLを検索する"
+msgstr "URL を検索する"
#: searx/templates/courgette/results.html:16
#: searx/templates/legacy/results.html:17
@@ -623,7 +624,7 @@ msgstr "エラー!"
#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
msgid "Powered by"
-msgstr "提供:"
+msgstr "Powered by"
#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
msgid "a privacy-respecting, hackable metasearch engine"
@@ -636,11 +637,11 @@ msgstr "プロキシされている"
#: searx/templates/oscar/macros.html:92
msgid "supported"
-msgstr ""
+msgstr "サポート"
#: searx/templates/oscar/macros.html:96
msgid "not supported"
-msgstr ""
+msgstr "未サポート"
#: searx/templates/oscar/preferences.html:13
#: searx/templates/oscar/preferences.html:22
@@ -672,12 +673,12 @@ msgstr "クッキー"
#: searx/templates/oscar/preferences.html:42
#: searx/templates/simple/preferences.html:48
msgid "What language do you prefer for search?"
-msgstr "検索に使う言語はどれが良いですか?"
+msgstr "検索に使う言語はどれが良いですか?"
#: searx/templates/oscar/preferences.html:48
#: searx/templates/simple/preferences.html:128
msgid "Change the language of the layout"
-msgstr "表示する言語を変更できます"
+msgstr "表示する言語を変更"
#: searx/templates/oscar/preferences.html:58
#: searx/templates/simple/preferences.html:60
@@ -687,7 +688,7 @@ msgstr "入力補助に使う検索エンジン"
#: searx/templates/oscar/preferences.html:69
#: searx/templates/simple/preferences.html:173
msgid "Proxying image results through searx"
-msgstr "画像検索結果をsearxでプロキシする"
+msgstr "画像検索結果を searx でプロキシする"
#: searx/templates/oscar/preferences.html:78
msgid ""
@@ -704,7 +705,7 @@ msgstr "コンテンツをフィルタリングする"
#: searx/templates/oscar/preferences.html:97
#: searx/templates/simple/preferences.html:139
msgid "Change searx layout"
-msgstr "searxのレイアウトの変更"
+msgstr "Searx のレイアウトの変更"
#: searx/templates/oscar/preferences.html:106
#: searx/templates/oscar/preferences.html:111
@@ -718,13 +719,13 @@ msgstr "スタイル"
#: searx/templates/oscar/preferences.html:122
msgid "Open Access DOI resolver"
-msgstr ""
+msgstr "オープンアクセス DOI リゾルバー"
#: searx/templates/oscar/preferences.html:123
msgid ""
"Redirect to open-access versions of publications when available (plugin "
"required)"
-msgstr ""
+msgstr "利用可能な場合(プラグインが必要)、オープンアクセス版の出版物にリダイレクトする"
#: searx/templates/oscar/preferences.html:163
#: searx/templates/oscar/preferences.html:175
@@ -735,7 +736,7 @@ msgstr "ショートカット"
#: searx/templates/oscar/preferences.html:164
#: searx/templates/oscar/preferences.html:174
msgid "Selected language"
-msgstr ""
+msgstr "選択された言語"
#: searx/templates/oscar/preferences.html:166
#: searx/templates/oscar/preferences.html:172
@@ -757,7 +758,7 @@ msgstr "最大時間"
#: searx/templates/oscar/preferences.html:248
msgid "This is the list of searx's instant answering modules."
-msgstr "これはsearxの即席回答モジュールのリストです。"
+msgstr "これは searx の即席回答モジュールのリストです。"
#: searx/templates/oscar/preferences.html:252
msgid "Name"
@@ -783,7 +784,7 @@ msgstr "これはクッキーのリストで、これらの値はあなたのコ
#: searx/templates/oscar/preferences.html:276
msgid "With that list, you can assess searx transparency."
-msgstr "このリストによって、あなたはsearxの透明性を評価できます。"
+msgstr "このリストによって、あなたは searx の透明性を評価できます。"
#: searx/templates/oscar/preferences.html:281
msgid "Cookie name"
@@ -795,13 +796,13 @@ msgstr "値"
#: searx/templates/oscar/preferences.html:301
msgid "Search URL of the currently saved preferences"
-msgstr ""
+msgstr "現在保存されている設定の検索 URL"
#: searx/templates/oscar/preferences.html:301
msgid ""
"Note: specifying custom settings in the search URL can reduce privacy by "
"leaking data to the clicked result sites."
-msgstr ""
+msgstr "注意: 検索 URL にカスタム設定を指定すると、クリックした結果サイトにデータが漏洩し、プライバシーが低下する恐れがあります。"
#: searx/templates/oscar/results.html:17
msgid "Search results"
@@ -810,12 +811,12 @@ msgstr "検索結果"
#: searx/templates/oscar/results.html:21
#: searx/templates/simple/results.html:84
msgid "Try searching for:"
-msgstr ""
+msgstr "検索:"
#: searx/templates/oscar/results.html:100
#: searx/templates/simple/results.html:25
msgid "Engines cannot retrieve results"
-msgstr ""
+msgstr "エンジンは結果を取得できません"
#: searx/templates/oscar/results.html:131
msgid "Links"
@@ -859,15 +860,15 @@ msgstr "去年"
#: searx/templates/oscar/messages/first_time.html:6
#: searx/templates/oscar/messages/no_data_available.html:3
msgid "Heads up!"
-msgstr "お知らせ"
+msgstr "気をつけて!"
#: searx/templates/oscar/messages/first_time.html:7
msgid "It look like you are using searx first time."
-msgstr "searxを使うのは初めてようですね。"
+msgstr "Searxを使うのは初めてようですね。"
#: searx/templates/oscar/messages/no_cookies.html:3
msgid "Information!"
-msgstr "お知らせ"
+msgstr "お知らせ!"
#: searx/templates/oscar/messages/no_cookies.html:4
msgid "currently, there are no cookies defined."
@@ -880,12 +881,12 @@ msgstr "現在データがありません。"
#: searx/templates/oscar/messages/no_results.html:4
#: searx/templates/simple/messages/no_results.html:4
msgid "Engines cannot retrieve results."
-msgstr ""
+msgstr "エンジンは結果を取得できません。"
#: searx/templates/oscar/messages/no_results.html:10
#: searx/templates/simple/messages/no_results.html:10
msgid "Please, try again later or find another searx instance."
-msgstr ""
+msgstr "後でやり直すか、別の searx インスタンスを探して下さい。"
#: searx/templates/oscar/messages/no_results.html:14
#: searx/templates/simple/messages/no_results.html:14
@@ -901,7 +902,7 @@ msgstr "検索結果はありませんでした。別カテゴリで、他のク
#: searx/templates/oscar/messages/save_settings_successfull.html:7
msgid "Well done!"
-msgstr "あっぱれ。"
+msgstr "あっぱれ!"
#: searx/templates/oscar/messages/save_settings_successfull.html:8
msgid "Settings saved successfully."
@@ -909,7 +910,7 @@ msgstr "設定の保存に成功しました。"
#: searx/templates/oscar/messages/unknow_error.html:7
msgid "Oh snap!"
-msgstr "ちぇっ"
+msgstr "ちぇっ!"
#: searx/templates/oscar/messages/unknow_error.html:8
msgid "Something went wrong."
@@ -956,7 +957,7 @@ msgstr "詳細を隠す"
#: searx/templates/oscar/result_templates/torrent.html:7
#: searx/templates/simple/result_templates/torrent.html:11
msgid "Filesize"
-msgstr "ファイル・サイズ"
+msgstr "ファイルサイズ"
#: searx/templates/oscar/result_templates/torrent.html:9
#: searx/templates/simple/result_templates/torrent.html:12
@@ -1004,16 +1005,16 @@ msgstr "もっと見る…"
#: searx/templates/simple/base.html:31
msgid "No item found"
-msgstr ""
+msgstr "アイテムが見つかりません"
#: searx/templates/simple/preferences.html:89
msgid "Supports selected language"
-msgstr "選択している言語のサポート"
+msgstr "選択された言語のサポート"
#: searx/templates/simple/preferences.html:118
msgid "User interface"
-msgstr ""
+msgstr "ユーザーインターフェース"
#: searx/templates/simple/preferences.html:154
msgid "Privacy"
-msgstr ""
+msgstr "プライバシー"
diff --git a/searx/translations/nl/LC_MESSAGES/messages.mo b/searx/translations/nl/LC_MESSAGES/messages.mo
index 15fcacbc4..057853be5 100644
--- a/searx/translations/nl/LC_MESSAGES/messages.mo
+++ b/searx/translations/nl/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/nl/LC_MESSAGES/messages.po b/searx/translations/nl/LC_MESSAGES/messages.po
index 1fc8700f9..b4e061402 100644
--- a/searx/translations/nl/LC_MESSAGES/messages.po
+++ b/searx/translations/nl/LC_MESSAGES/messages.po
@@ -3,7 +3,7 @@
# This file is distributed under the same license as the PROJECT project.
#
# Translators:
-# André Koot <meneer@tken.net>, 2014-2017
+# André Koot <meneer@tken.net>, 2014-2018
# Nathan Follens, 2015-2018
# Rejo Zenger <rejo@zenger.nl>, 2016-2017
msgid ""
@@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2017-11-01 21:31+0100\n"
-"PO-Revision-Date: 2018-02-15 22:43+0000\n"
-"Last-Translator: Nathan Follens\n"
+"PO-Revision-Date: 2018-09-22 06:46+0000\n"
+"Last-Translator: André Koot <meneer@tken.net>\n"
"Language-Team: Dutch (http://www.transifex.com/asciimoo/searx/language/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -835,7 +835,7 @@ msgstr "Altijd"
#: searx/templates/oscar/time-range.html:6
#: searx/templates/simple/time-range.html:6
msgid "Last day"
-msgstr "Voorbije dag"
+msgstr "Gisteren"
#: searx/templates/oscar/time-range.html:9
#: searx/templates/simple/time-range.html:9
@@ -881,7 +881,7 @@ msgstr "Zoekmachines konden geen resultaten ophalen."
#: searx/templates/oscar/messages/no_results.html:10
#: searx/templates/simple/messages/no_results.html:10
msgid "Please, try again later or find another searx instance."
-msgstr "Probeer het later opnieuw, of gebruik een andere instantie van searx."
+msgstr "Probeer het later opnieuw, of gebruik een andere searx server."
#: searx/templates/oscar/messages/no_results.html:14
#: searx/templates/simple/messages/no_results.html:14
diff --git a/searx/translations/nl_BE/LC_MESSAGES/messages.mo b/searx/translations/nl_BE/LC_MESSAGES/messages.mo
new file mode 100644
index 000000000..e233f5c89
--- /dev/null
+++ b/searx/translations/nl_BE/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/nl_BE/LC_MESSAGES/messages.po b/searx/translations/nl_BE/LC_MESSAGES/messages.po
new file mode 100644
index 000000000..c4ef0228a
--- /dev/null
+++ b/searx/translations/nl_BE/LC_MESSAGES/messages.po
@@ -0,0 +1,1013 @@
+# Translations template for PROJECT.
+# Copyright (C) 2017 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+#
+# Translators:
+# Nathan Follens, 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: searx\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2017-11-01 21:31+0100\n"
+"PO-Revision-Date: 2018-06-24 07:59+0000\n"
+"Last-Translator: Nathan Follens\n"
+"Language-Team: Dutch (Belgium) (http://www.transifex.com/asciimoo/searx/language/nl_BE/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.3.4\n"
+"Language: nl_BE\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: searx/search.py:137 searx/search.py:182
+msgid "timeout"
+msgstr "time-out"
+
+#: searx/search.py:144
+msgid "request exception"
+msgstr "aanvraaguitzondering"
+
+#: searx/search.py:151
+msgid "unexpected crash"
+msgstr "onverwachte crash"
+
+#: searx/webapp.py:136
+msgid "files"
+msgstr "bestanden"
+
+#: searx/webapp.py:137
+msgid "general"
+msgstr "algemeen"
+
+#: searx/webapp.py:138
+msgid "music"
+msgstr "muziek"
+
+#: searx/webapp.py:139
+msgid "social media"
+msgstr "sociale media"
+
+#: searx/webapp.py:140
+msgid "images"
+msgstr "afbeeldingen"
+
+#: searx/webapp.py:141
+msgid "videos"
+msgstr "video’s"
+
+#: searx/webapp.py:142
+msgid "it"
+msgstr "IT"
+
+#: searx/webapp.py:143
+msgid "news"
+msgstr "nieuws"
+
+#: searx/webapp.py:144
+msgid "map"
+msgstr "kaart"
+
+#: searx/webapp.py:145
+msgid "science"
+msgstr "wetenschap"
+
+#: searx/webapp.py:399 searx/webapp.py:658
+msgid "Invalid settings, please edit your preferences"
+msgstr "Ongeldige instellingen, werkt uw voorkeuren bij"
+
+#: searx/webapp.py:415
+msgid "Invalid settings"
+msgstr "Ongeldige instellingen"
+
+#: searx/webapp.py:449 searx/webapp.py:493
+msgid "search error"
+msgstr "zoekfout"
+
+#: searx/webapp.py:530
+msgid "{minutes} minute(s) ago"
+msgstr "{minutes} min geleden"
+
+#: searx/webapp.py:532
+msgid "{hours} hour(s), {minutes} minute(s) ago"
+msgstr "{hours} uur, {minutes} min geleden"
+
+#: searx/answerers/random/answerer.py:53
+msgid "Random value generator"
+msgstr "Willekeurigewaardegenerator"
+
+#: searx/answerers/random/answerer.py:54
+msgid "Generate different random values"
+msgstr "Genereert verschillende willekeurige waarden"
+
+#: searx/answerers/statistics/answerer.py:53
+msgid "Statistics functions"
+msgstr "Statistische functies"
+
+#: searx/answerers/statistics/answerer.py:54
+msgid "Compute {functions} of the arguments"
+msgstr "Berekent {functions} van de argumenten"
+
+#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201
+msgid "Engine time (sec)"
+msgstr "Snelheid zoekmachien (sec)"
+
+#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205
+msgid "Page loads (sec)"
+msgstr "Laden van pagina’s (sec)"
+
+#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209
+#: searx/templates/oscar/results.html:95
+#: searx/templates/simple/results.html:20
+msgid "Number of results"
+msgstr "Aantal zoekresultaten"
+
+#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213
+msgid "Scores"
+msgstr "Scores"
+
+#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217
+msgid "Scores per result"
+msgstr "Scores per zoekresultaat"
+
+#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221
+msgid "Errors"
+msgstr "Fouten"
+
+#: searx/engines/pdbe.py:87
+msgid "{title}&nbsp;(OBSOLETE)"
+msgstr "{title}&nbsp;(VEROUDERD)"
+
+#: searx/engines/pdbe.py:91
+msgid "This entry has been superseded by"
+msgstr "Dit object is vervangen door"
+
+#: searx/engines/pubmed.py:74
+msgid "No abstract is available for this publication."
+msgstr "Voor deze publicatie is geen abstract beschikbaar."
+
+#: searx/plugins/https_rewrite.py:32
+msgid "Rewrite HTTP links to HTTPS if possible"
+msgstr "Herschrijft HTTP-koppelingen naar HTTPS, indien mogelijk"
+
+#: searx/plugins/infinite_scroll.py:3
+msgid "Infinite scroll"
+msgstr "Oneindig scrollen"
+
+#: searx/plugins/infinite_scroll.py:4
+msgid "Automatically load next page when scrolling to bottom of current page"
+msgstr "Volgende pagina automatisch laden bij bereiken van den onderkant van de huidige pagina"
+
+#: searx/plugins/oa_doi_rewrite.py:9
+msgid "Open Access DOI rewrite"
+msgstr "Open Access DOI herschrijven"
+
+#: searx/plugins/oa_doi_rewrite.py:10
+msgid ""
+"Avoid paywalls by redirecting to open-access versions of publications when "
+"available"
+msgstr "Omzeilt betaalmuren met een doorverwijzing naar vrij toegankelijke versies van publicaties indien beschikbaar"
+
+#: searx/plugins/open_results_on_new_tab.py:18
+#: searx/templates/oscar/preferences.html:114
+#: searx/templates/simple/preferences.html:149
+msgid "Open result links on new browser tabs"
+msgstr "Koppelingen openen in nieuwe tabbladen"
+
+#: searx/plugins/open_results_on_new_tab.py:19
+msgid ""
+"Results are opened in the same window by default. This plugin overwrites the"
+" default behaviour to open links on new tabs/windows. (JavaScript required)"
+msgstr "Resultaten worden standaard in hetzelfde venster geopend. Deze plug-in overschrijft het standaardgedrag zodat koppelingen in nieuwe tabbladen/vensters worden geopend. (JavaScript vereist)"
+
+#: searx/plugins/search_on_category_select.py:18
+msgid "Search on category select"
+msgstr "Zoeken bij selecteren van categorie"
+
+#: searx/plugins/search_on_category_select.py:19
+msgid ""
+"Perform search immediately if a category selected. Disable to select "
+"multiple categories. (JavaScript required)"
+msgstr "Zoekopdracht onmiddellijk uitvoeren wanneer dat een categorie wordt geselecteerd. Zet dit uit voor meerdere categorieën te selecteren. (JavaScript vereist)"
+
+#: searx/plugins/self_info.py:20
+msgid ""
+"Displays your IP if the query is \"ip\" and your user agent if the query "
+"contains \"user agent\"."
+msgstr "Geeft uw IP-adres weer als de zoekopdracht ‘ip’ is, en uwe gebruikersagent als de zoekopdracht ‘user agent’ bevat."
+
+#: searx/plugins/tracker_url_remover.py:26
+msgid "Tracker URL remover"
+msgstr "Tracker-URL-verwijderaar"
+
+#: searx/plugins/tracker_url_remover.py:27
+msgid "Remove trackers arguments from the returned URL"
+msgstr "Verwijdert trackerargumenten van de gekregen URL"
+
+#: searx/plugins/vim_hotkeys.py:3
+msgid "Vim-like hotkeys"
+msgstr "Sneltoetsen gelijk in Vim"
+
+#: searx/plugins/vim_hotkeys.py:4
+msgid ""
+"Navigate search results with Vim-like hotkeys (JavaScript required). Press "
+"\"h\" key on main or result page to get help."
+msgstr "Bladert door zoekresultaten met sneltoetsen gelijk die in Vim (JavaScript vereist). Drukt op ‘h’ op de hoofdpagina of de pagina met resultaten voor hulp."
+
+#: searx/templates/courgette/404.html:4 searx/templates/legacy/404.html:4
+#: searx/templates/oscar/404.html:4 searx/templates/pix-art/404.html:4
+#: searx/templates/simple/404.html:4
+msgid "Page not found"
+msgstr "Pagina niet gevonden"
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+#, python-format
+msgid "Go to %(search_page)s."
+msgstr "Ga naar %(search_page)s."
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+msgid "search page"
+msgstr "zoekpagina"
+
+#: searx/templates/courgette/index.html:9
+#: searx/templates/courgette/index.html:13
+#: searx/templates/courgette/results.html:5
+#: searx/templates/legacy/index.html:8 searx/templates/legacy/index.html:12
+#: searx/templates/oscar/navbar.html:7
+#: searx/templates/oscar/preferences.html:3
+#: searx/templates/pix-art/index.html:8
+msgid "preferences"
+msgstr "voorkeuren"
+
+#: searx/templates/courgette/index.html:11
+#: searx/templates/legacy/index.html:10 searx/templates/oscar/about.html:2
+#: searx/templates/oscar/navbar.html:6 searx/templates/pix-art/index.html:7
+msgid "about"
+msgstr "over"
+
+#: searx/templates/courgette/preferences.html:5
+#: searx/templates/legacy/preferences.html:5
+#: searx/templates/oscar/preferences.html:8
+#: searx/templates/pix-art/preferences.html:5
+#: searx/templates/simple/preferences.html:26
+msgid "Preferences"
+msgstr "Voorkeuren"
+
+#: searx/templates/courgette/preferences.html:9
+#: searx/templates/legacy/preferences.html:9
+#: searx/templates/oscar/preferences.html:33
+#: searx/templates/oscar/preferences.html:35
+#: searx/templates/simple/preferences.html:34
+msgid "Default categories"
+msgstr "Standaardcategorieën"
+
+#: searx/templates/courgette/preferences.html:13
+#: searx/templates/legacy/preferences.html:14
+#: searx/templates/oscar/preferences.html:41
+#: searx/templates/pix-art/preferences.html:9
+#: searx/templates/simple/preferences.html:39
+#: searx/templates/simple/preferences.html:163
+msgid "Search language"
+msgstr "Zoektaal"
+
+#: searx/templates/courgette/preferences.html:16
+#: searx/templates/legacy/preferences.html:17
+#: searx/templates/oscar/languages.html:6
+#: searx/templates/pix-art/preferences.html:12
+#: searx/templates/simple/languages.html:2
+#: searx/templates/simple/preferences.html:42
+msgid "Default language"
+msgstr "Standaardtaal"
+
+#: searx/templates/courgette/preferences.html:24
+#: searx/templates/legacy/preferences.html:25
+#: searx/templates/oscar/preferences.html:47
+#: searx/templates/pix-art/preferences.html:20
+#: searx/templates/simple/preferences.html:120
+msgid "Interface language"
+msgstr "Interfacetaal"
+
+#: searx/templates/courgette/preferences.html:34
+#: searx/templates/legacy/preferences.html:35
+#: searx/templates/oscar/preferences.html:57
+#: searx/templates/simple/preferences.html:51
+msgid "Autocomplete"
+msgstr "Auto-aanvullen"
+
+#: searx/templates/courgette/preferences.html:45
+#: searx/templates/legacy/preferences.html:46
+#: searx/templates/oscar/preferences.html:68
+#: searx/templates/simple/preferences.html:166
+msgid "Image proxy"
+msgstr "Afbeeldingsproxy"
+
+#: searx/templates/courgette/preferences.html:48
+#: searx/templates/legacy/preferences.html:49
+#: searx/templates/oscar/preferences.html:72
+#: searx/templates/simple/preferences.html:169
+msgid "Enabled"
+msgstr "Ingeschakeld"
+
+#: searx/templates/courgette/preferences.html:49
+#: searx/templates/legacy/preferences.html:50
+#: searx/templates/oscar/preferences.html:73
+#: searx/templates/simple/preferences.html:170
+msgid "Disabled"
+msgstr "Uitgeschakeld"
+
+#: searx/templates/courgette/preferences.html:54
+#: searx/templates/legacy/preferences.html:55
+#: searx/templates/oscar/preferences.html:77
+#: searx/templates/pix-art/preferences.html:30
+#: searx/templates/simple/preferences.html:156
+msgid "Method"
+msgstr "Methode"
+
+#: searx/templates/courgette/preferences.html:63
+#: searx/templates/legacy/preferences.html:64
+#: searx/templates/oscar/preferences.html:86
+#: searx/templates/oscar/preferences.html:165
+#: searx/templates/oscar/preferences.html:173
+#: searx/templates/simple/preferences.html:63
+#: searx/templates/simple/preferences.html:90
+msgid "SafeSearch"
+msgstr "SafeSearch"
+
+#: searx/templates/courgette/preferences.html:66
+#: searx/templates/legacy/preferences.html:67
+#: searx/templates/oscar/preferences.html:90
+#: searx/templates/simple/preferences.html:66
+msgid "Strict"
+msgstr "Strikt"
+
+#: searx/templates/courgette/preferences.html:67
+#: searx/templates/legacy/preferences.html:68
+#: searx/templates/oscar/preferences.html:91
+#: searx/templates/simple/preferences.html:67
+msgid "Moderate"
+msgstr "Gemiddeld"
+
+#: searx/templates/courgette/preferences.html:68
+#: searx/templates/legacy/preferences.html:69
+#: searx/templates/oscar/preferences.html:92
+#: searx/templates/simple/preferences.html:68
+msgid "None"
+msgstr "Geen"
+
+#: searx/templates/courgette/preferences.html:73
+#: searx/templates/legacy/preferences.html:74
+#: searx/templates/oscar/preferences.html:96
+#: searx/templates/pix-art/preferences.html:39
+#: searx/templates/simple/preferences.html:131
+msgid "Themes"
+msgstr "Thema’s"
+
+#: searx/templates/courgette/preferences.html:83
+msgid "Color"
+msgstr "Kleur"
+
+#: searx/templates/courgette/preferences.html:86
+msgid "Blue (default)"
+msgstr "Blauw (standaard)"
+
+#: searx/templates/courgette/preferences.html:87
+msgid "Violet"
+msgstr "Paars"
+
+#: searx/templates/courgette/preferences.html:88
+msgid "Green"
+msgstr "Groen"
+
+#: searx/templates/courgette/preferences.html:89
+msgid "Cyan"
+msgstr "Appelblauwzeegroen"
+
+#: searx/templates/courgette/preferences.html:90
+msgid "Orange"
+msgstr "Oranje"
+
+#: searx/templates/courgette/preferences.html:91
+msgid "Red"
+msgstr "Rood"
+
+#: searx/templates/courgette/preferences.html:96
+#: searx/templates/legacy/preferences.html:93
+#: searx/templates/pix-art/preferences.html:49
+#: searx/templates/simple/preferences.html:77
+msgid "Currently used search engines"
+msgstr "Momenteel gebruikte zoekmachienen"
+
+#: searx/templates/courgette/preferences.html:100
+#: searx/templates/legacy/preferences.html:97
+#: searx/templates/oscar/preferences.html:162
+#: searx/templates/oscar/preferences.html:176
+#: searx/templates/pix-art/preferences.html:53
+#: searx/templates/simple/preferences.html:87
+msgid "Engine name"
+msgstr "Naam zoekmachien"
+
+#: searx/templates/courgette/preferences.html:101
+#: searx/templates/legacy/preferences.html:98
+msgid "Category"
+msgstr "Categorie"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:113
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:110
+#: searx/templates/oscar/preferences.html:161
+#: searx/templates/oscar/preferences.html:177
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:64
+#: searx/templates/simple/preferences.html:86
+msgid "Allow"
+msgstr "Toestaan"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:114
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:111
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:65
+msgid "Block"
+msgstr "Blokkeren"
+
+#: searx/templates/courgette/preferences.html:122
+#: searx/templates/legacy/preferences.html:119
+#: searx/templates/oscar/preferences.html:297
+#: searx/templates/pix-art/preferences.html:73
+#: searx/templates/simple/preferences.html:180
+msgid ""
+"These settings are stored in your cookies, this allows us not to store this "
+"data about you."
+msgstr "Deze instellingen worden bewaard in uw cookies. Hierdoor hoeven wij niks over u te bewaren."
+
+#: searx/templates/courgette/preferences.html:124
+#: searx/templates/legacy/preferences.html:121
+#: searx/templates/oscar/preferences.html:299
+#: searx/templates/pix-art/preferences.html:75
+#: searx/templates/simple/preferences.html:182
+msgid ""
+"These cookies serve your sole convenience, we don't use these cookies to "
+"track you."
+msgstr "Deze cookies zijn alleen voor uw eigen gemak, we gebruiken deze cookies niet voor u te volgen."
+
+#: searx/templates/courgette/preferences.html:127
+#: searx/templates/legacy/preferences.html:124
+#: searx/templates/oscar/preferences.html:305
+#: searx/templates/pix-art/preferences.html:78
+#: searx/templates/simple/preferences.html:185
+msgid "save"
+msgstr "opslaan"
+
+#: searx/templates/courgette/preferences.html:128
+#: searx/templates/legacy/preferences.html:125
+#: searx/templates/oscar/preferences.html:307
+#: searx/templates/simple/preferences.html:186
+msgid "Reset defaults"
+msgstr "Standaardinstellingen herstellen"
+
+#: searx/templates/courgette/preferences.html:129
+#: searx/templates/legacy/preferences.html:126
+#: searx/templates/oscar/preferences.html:306
+#: searx/templates/pix-art/preferences.html:79
+#: searx/templates/simple/preferences.html:187
+msgid "back"
+msgstr "terug"
+
+#: searx/templates/courgette/results.html:12
+#: searx/templates/legacy/results.html:13
+#: searx/templates/oscar/results.html:136
+#: searx/templates/simple/results.html:58
+msgid "Search URL"
+msgstr "Zoek-URL"
+
+#: searx/templates/courgette/results.html:16
+#: searx/templates/legacy/results.html:17
+#: searx/templates/oscar/results.html:141
+#: searx/templates/simple/results.html:62
+msgid "Download results"
+msgstr "Zoekresultaten downloaden"
+
+#: searx/templates/courgette/results.html:34
+#: searx/templates/legacy/results.html:35
+#: searx/templates/simple/results.html:10
+msgid "Answers"
+msgstr "Antwoorden"
+
+#: searx/templates/courgette/results.html:42
+#: searx/templates/legacy/results.html:43
+#: searx/templates/oscar/results.html:116
+#: searx/templates/simple/results.html:42
+msgid "Suggestions"
+msgstr "Suggesties"
+
+#: searx/templates/courgette/results.html:70
+#: searx/templates/legacy/results.html:81
+#: searx/templates/oscar/results.html:68 searx/templates/oscar/results.html:78
+#: searx/templates/simple/results.html:130
+msgid "previous page"
+msgstr "vorige pagina"
+
+#: searx/templates/courgette/results.html:81
+#: searx/templates/legacy/results.html:92
+#: searx/templates/oscar/results.html:62 searx/templates/oscar/results.html:84
+#: searx/templates/simple/results.html:145
+msgid "next page"
+msgstr "volgende pagina"
+
+#: searx/templates/courgette/search.html:3
+#: searx/templates/legacy/search.html:3 searx/templates/oscar/search.html:6
+#: searx/templates/oscar/search_full.html:9
+#: searx/templates/pix-art/search.html:3 searx/templates/simple/search.html:4
+msgid "Search for..."
+msgstr "Zoeken naar..."
+
+#: searx/templates/courgette/stats.html:4 searx/templates/legacy/stats.html:4
+#: searx/templates/oscar/stats.html:5 searx/templates/pix-art/stats.html:4
+#: searx/templates/simple/stats.html:7
+msgid "Engine stats"
+msgstr "Zoekmachienstatistieken"
+
+#: searx/templates/courgette/result_templates/images.html:4
+#: searx/templates/legacy/result_templates/images.html:4
+#: searx/templates/pix-art/result_templates/images.html:4
+msgid "original context"
+msgstr "oorspronkelijke context"
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Seeder"
+msgstr "Seeders"
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Leecher"
+msgstr "Leechers"
+
+#: searx/templates/courgette/result_templates/torrent.html:9
+#: searx/templates/legacy/result_templates/torrent.html:9
+#: searx/templates/oscar/macros.html:23
+#: searx/templates/simple/result_templates/torrent.html:6
+msgid "magnet link"
+msgstr "magneetkoppeling"
+
+#: searx/templates/courgette/result_templates/torrent.html:10
+#: searx/templates/legacy/result_templates/torrent.html:10
+#: searx/templates/oscar/macros.html:24
+#: searx/templates/simple/result_templates/torrent.html:7
+msgid "torrent file"
+msgstr "torrentbestand"
+
+#: searx/templates/legacy/categories.html:8
+#: searx/templates/simple/categories.html:6
+msgid "Click on the magnifier to perform search"
+msgstr "Klikt op het vergrootglas voor te zoeken"
+
+#: searx/templates/legacy/preferences.html:84
+#: searx/templates/oscar/preferences.html:113
+#: searx/templates/simple/preferences.html:142
+msgid "Results on new tabs"
+msgstr "Resultaten op nieuwe tabbladen"
+
+#: searx/templates/legacy/preferences.html:87
+#: searx/templates/oscar/preferences.html:117
+#: searx/templates/simple/preferences.html:145
+msgid "On"
+msgstr "Aan"
+
+#: searx/templates/legacy/preferences.html:88
+#: searx/templates/oscar/preferences.html:118
+#: searx/templates/simple/preferences.html:146
+msgid "Off"
+msgstr "Uit"
+
+#: searx/templates/legacy/result_templates/code.html:3
+#: searx/templates/legacy/result_templates/default.html:3
+#: searx/templates/legacy/result_templates/map.html:9
+#: searx/templates/oscar/macros.html:34 searx/templates/oscar/macros.html:48
+#: searx/templates/simple/macros.html:43
+msgid "cached"
+msgstr "gecachet"
+
+#: searx/templates/oscar/advanced.html:4
+msgid "Advanced settings"
+msgstr "Geavanceerde instellingen"
+
+#: searx/templates/oscar/base.html:62
+#: searx/templates/oscar/messages/first_time.html:4
+#: searx/templates/oscar/messages/save_settings_successfull.html:5
+#: searx/templates/oscar/messages/unknow_error.html:5
+msgid "Close"
+msgstr "Sluiten"
+
+#: searx/templates/oscar/base.html:64
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+#: searx/templates/simple/results.html:25
+msgid "Error!"
+msgstr "Fout!"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "Powered by"
+msgstr "Aangedreven door"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "a privacy-respecting, hackable metasearch engine"
+msgstr "een privacyrespecterend, aanpasbaar metazoekmachien"
+
+#: searx/templates/oscar/macros.html:36 searx/templates/oscar/macros.html:50
+#: searx/templates/simple/macros.html:43
+msgid "proxied"
+msgstr "geproxyt"
+
+#: searx/templates/oscar/macros.html:92
+msgid "supported"
+msgstr "ondersteund"
+
+#: searx/templates/oscar/macros.html:96
+msgid "not supported"
+msgstr "niet ondersteund"
+
+#: searx/templates/oscar/preferences.html:13
+#: searx/templates/oscar/preferences.html:22
+#: searx/templates/simple/preferences.html:32
+msgid "General"
+msgstr "Algemeen"
+
+#: searx/templates/oscar/preferences.html:14
+#: searx/templates/oscar/preferences.html:146
+#: searx/templates/simple/preferences.html:76
+msgid "Engines"
+msgstr "Zoekmachienen"
+
+#: searx/templates/oscar/preferences.html:15
+#: searx/templates/oscar/preferences.html:219
+msgid "Plugins"
+msgstr "Plug-ins"
+
+#: searx/templates/oscar/preferences.html:16
+#: searx/templates/oscar/preferences.html:245
+msgid "Answerers"
+msgstr "Beantwoorders"
+
+#: searx/templates/oscar/preferences.html:17
+#: searx/templates/oscar/preferences.html:272
+msgid "Cookies"
+msgstr "Cookies"
+
+#: searx/templates/oscar/preferences.html:42
+#: searx/templates/simple/preferences.html:48
+msgid "What language do you prefer for search?"
+msgstr "Welke taal wilt ge gebruiken voor het zoeken?"
+
+#: searx/templates/oscar/preferences.html:48
+#: searx/templates/simple/preferences.html:128
+msgid "Change the language of the layout"
+msgstr "Wijzigt de taal van den opmaak"
+
+#: searx/templates/oscar/preferences.html:58
+#: searx/templates/simple/preferences.html:60
+msgid "Find stuff as you type"
+msgstr "Zoekt tijdens het typen"
+
+#: searx/templates/oscar/preferences.html:69
+#: searx/templates/simple/preferences.html:173
+msgid "Proxying image results through searx"
+msgstr "Afbeeldingsresultaten via searx laden"
+
+#: searx/templates/oscar/preferences.html:78
+msgid ""
+"Change how forms are submited, <a "
+"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
+" rel=\"external\">learn more about request methods</a>"
+msgstr "Bepaalt hoe dat de formulieren worden ingestuurd, <a href=\"http://nl.wikipedia.org/wiki/Hypertext_Transfer_Protocol#HTTP-requests\" rel=\"external\">leest meer over opvraagmethodes</a>"
+
+#: searx/templates/oscar/preferences.html:87
+#: searx/templates/simple/preferences.html:71
+msgid "Filter content"
+msgstr "Filteren op inhoud"
+
+#: searx/templates/oscar/preferences.html:97
+#: searx/templates/simple/preferences.html:139
+msgid "Change searx layout"
+msgstr "Opmaak van searx aanpassen"
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Choose style for this theme"
+msgstr "Kiest ne stijl voor dit thema"
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Style"
+msgstr "Stijl"
+
+#: searx/templates/oscar/preferences.html:122
+msgid "Open Access DOI resolver"
+msgstr "Open Access DOI herschrijven"
+
+#: searx/templates/oscar/preferences.html:123
+msgid ""
+"Redirect to open-access versions of publications when available (plugin "
+"required)"
+msgstr "Doorverwijzen naar vrij toegankelijke versies van publicaties, indien beschikbaar (plug-in vereist)"
+
+#: searx/templates/oscar/preferences.html:163
+#: searx/templates/oscar/preferences.html:175
+#: searx/templates/simple/preferences.html:88
+msgid "Shortcut"
+msgstr "Snelkoppeling"
+
+#: searx/templates/oscar/preferences.html:164
+#: searx/templates/oscar/preferences.html:174
+msgid "Selected language"
+msgstr "Geselecteerde taal"
+
+#: searx/templates/oscar/preferences.html:166
+#: searx/templates/oscar/preferences.html:172
+#: searx/templates/simple/preferences.html:91
+msgid "Time range"
+msgstr "Tijdspanne"
+
+#: searx/templates/oscar/preferences.html:167
+#: searx/templates/oscar/preferences.html:171
+#: searx/templates/simple/preferences.html:92
+msgid "Avg. time"
+msgstr "Gem. duur"
+
+#: searx/templates/oscar/preferences.html:168
+#: searx/templates/oscar/preferences.html:170
+#: searx/templates/simple/preferences.html:93
+msgid "Max time"
+msgstr "Max. duur"
+
+#: searx/templates/oscar/preferences.html:248
+msgid "This is the list of searx's instant answering modules."
+msgstr "Dit is het overzicht van de instantantwoordmodules van searx."
+
+#: searx/templates/oscar/preferences.html:252
+msgid "Name"
+msgstr "Naam"
+
+#: searx/templates/oscar/preferences.html:253
+msgid "Keywords"
+msgstr "Kernwoorden"
+
+#: searx/templates/oscar/preferences.html:254
+msgid "Description"
+msgstr "Beschrijving"
+
+#: searx/templates/oscar/preferences.html:255
+msgid "Examples"
+msgstr "Voorbeelden"
+
+#: searx/templates/oscar/preferences.html:275
+msgid ""
+"This is the list of cookies and their values searx is storing on your "
+"computer."
+msgstr "Dit is de lijst van cookies en hun waarden die searx op uwe computer opslaat."
+
+#: searx/templates/oscar/preferences.html:276
+msgid "With that list, you can assess searx transparency."
+msgstr "Met deze lijst kunt ge de openheid van searx beoordelen."
+
+#: searx/templates/oscar/preferences.html:281
+msgid "Cookie name"
+msgstr "Cookienaam"
+
+#: searx/templates/oscar/preferences.html:282
+msgid "Value"
+msgstr "Waarde"
+
+#: searx/templates/oscar/preferences.html:301
+msgid "Search URL of the currently saved preferences"
+msgstr "Zoek-URL van de momenteel opgeslagen voorkeuren"
+
+#: searx/templates/oscar/preferences.html:301
+msgid ""
+"Note: specifying custom settings in the search URL can reduce privacy by "
+"leaking data to the clicked result sites."
+msgstr "Let op: aangepaste instellingen opgeven in de zoek-URL kan nadelig zijn voor uw privacy, omdat het gegevens lekt aan de aangeklikte resultaatwebsites."
+
+#: searx/templates/oscar/results.html:17
+msgid "Search results"
+msgstr "Zoekresultaten"
+
+#: searx/templates/oscar/results.html:21
+#: searx/templates/simple/results.html:84
+msgid "Try searching for:"
+msgstr "Probeert te zoeken naar:"
+
+#: searx/templates/oscar/results.html:100
+#: searx/templates/simple/results.html:25
+msgid "Engines cannot retrieve results"
+msgstr "Zoekmachienen konden geen resultaten ophalen"
+
+#: searx/templates/oscar/results.html:131
+msgid "Links"
+msgstr "Koppelingen"
+
+#: searx/templates/oscar/search.html:8
+#: searx/templates/oscar/search_full.html:11
+#: searx/templates/simple/search.html:5
+msgid "Start search"
+msgstr "Start zoeken"
+
+#: searx/templates/oscar/stats.html:2
+msgid "stats"
+msgstr "stats"
+
+#: searx/templates/oscar/time-range.html:3
+#: searx/templates/simple/time-range.html:3
+msgid "Anytime"
+msgstr "Altijd"
+
+#: searx/templates/oscar/time-range.html:6
+#: searx/templates/simple/time-range.html:6
+msgid "Last day"
+msgstr "Voorbijen dag"
+
+#: searx/templates/oscar/time-range.html:9
+#: searx/templates/simple/time-range.html:9
+msgid "Last week"
+msgstr "Voorbije week"
+
+#: searx/templates/oscar/time-range.html:12
+#: searx/templates/simple/time-range.html:12
+msgid "Last month"
+msgstr "Voorbije maand"
+
+#: searx/templates/oscar/time-range.html:15
+#: searx/templates/simple/time-range.html:15
+msgid "Last year"
+msgstr "Voorbije jaar"
+
+#: searx/templates/oscar/messages/first_time.html:6
+#: searx/templates/oscar/messages/no_data_available.html:3
+msgid "Heads up!"
+msgstr "Opgelet!"
+
+#: searx/templates/oscar/messages/first_time.html:7
+msgid "It look like you are using searx first time."
+msgstr "Het lijkt erop dat ge searx voor den eerste keer gebruikt."
+
+#: searx/templates/oscar/messages/no_cookies.html:3
+msgid "Information!"
+msgstr "Informatie!"
+
+#: searx/templates/oscar/messages/no_cookies.html:4
+msgid "currently, there are no cookies defined."
+msgstr "der zijn momenteel geen cookies gedefinieerd."
+
+#: searx/templates/oscar/messages/no_data_available.html:4
+msgid "There is currently no data available. "
+msgstr "Der zijn momenteel geen gegevens beschikbaar."
+
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+msgid "Engines cannot retrieve results."
+msgstr "Zoekmachinen konden geen resultaten ophalen."
+
+#: searx/templates/oscar/messages/no_results.html:10
+#: searx/templates/simple/messages/no_results.html:10
+msgid "Please, try again later or find another searx instance."
+msgstr "Probeert het later opnieuw, of gebruikt een andere instantie van searx."
+
+#: searx/templates/oscar/messages/no_results.html:14
+#: searx/templates/simple/messages/no_results.html:14
+msgid "Sorry!"
+msgstr "Sorry!"
+
+#: searx/templates/oscar/messages/no_results.html:15
+#: searx/templates/simple/messages/no_results.html:15
+msgid ""
+"we didn't find any results. Please use another query or search in more "
+"categories."
+msgstr "We konden geen resultaten vinden. Probeert nen andere zoekopdracht, of zoekt in meer categorieën."
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:7
+msgid "Well done!"
+msgstr "Goed gedaan!"
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:8
+msgid "Settings saved successfully."
+msgstr "Instellingen opgeslagen."
+
+#: searx/templates/oscar/messages/unknow_error.html:7
+msgid "Oh snap!"
+msgstr "Oeps!"
+
+#: searx/templates/oscar/messages/unknow_error.html:8
+msgid "Something went wrong."
+msgstr "Der is iets misgegaan."
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "show media"
+msgstr "media tonen"
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "hide media"
+msgstr "media verbergen"
+
+#: searx/templates/oscar/result_templates/images.html:30
+msgid "Get image"
+msgstr "Afbeelding tonen"
+
+#: searx/templates/oscar/result_templates/images.html:33
+msgid "View source"
+msgstr "Bron bekijken"
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "show map"
+msgstr "kaart tonen"
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "hide map"
+msgstr "kaart verbergen"
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "show details"
+msgstr "details tonen"
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "hide details"
+msgstr "details verbergen"
+
+#: searx/templates/oscar/result_templates/torrent.html:7
+#: searx/templates/simple/result_templates/torrent.html:11
+msgid "Filesize"
+msgstr "Bestandsgrootte"
+
+#: searx/templates/oscar/result_templates/torrent.html:9
+#: searx/templates/simple/result_templates/torrent.html:12
+msgid "Bytes"
+msgstr "Bytes"
+
+#: searx/templates/oscar/result_templates/torrent.html:10
+#: searx/templates/simple/result_templates/torrent.html:13
+msgid "kiB"
+msgstr "kiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:11
+#: searx/templates/simple/result_templates/torrent.html:14
+msgid "MiB"
+msgstr "MiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:12
+#: searx/templates/simple/result_templates/torrent.html:15
+msgid "GiB"
+msgstr "GiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:13
+#: searx/templates/simple/result_templates/torrent.html:16
+msgid "TiB"
+msgstr "TiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:15
+#: searx/templates/simple/result_templates/torrent.html:20
+msgid "Number of Files"
+msgstr "Aantal bestanden"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "show video"
+msgstr "video tonen"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "hide video"
+msgstr "video verbergen"
+
+#: searx/templates/pix-art/results.html:28
+msgid "Load more..."
+msgstr "Meer laden…"
+
+#: searx/templates/simple/base.html:31
+msgid "No item found"
+msgstr "Geen resultaat gevonden"
+
+#: searx/templates/simple/preferences.html:89
+msgid "Supports selected language"
+msgstr "Ondersteunt geselecteerde taal"
+
+#: searx/templates/simple/preferences.html:118
+msgid "User interface"
+msgstr "Gebruikersinterface"
+
+#: searx/templates/simple/preferences.html:154
+msgid "Privacy"
+msgstr "Privacy"
diff --git a/searx/translations/pl/LC_MESSAGES/messages.mo b/searx/translations/pl/LC_MESSAGES/messages.mo
index d5c5f55ef..e4a451013 100644
--- a/searx/translations/pl/LC_MESSAGES/messages.mo
+++ b/searx/translations/pl/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/pt/LC_MESSAGES/messages.mo b/searx/translations/pt/LC_MESSAGES/messages.mo
index bbf2fba0f..d88c449f1 100644
--- a/searx/translations/pt/LC_MESSAGES/messages.mo
+++ b/searx/translations/pt/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/pt/LC_MESSAGES/messages.po b/searx/translations/pt/LC_MESSAGES/messages.po
index 81ac6f5b9..d8446731a 100644
--- a/searx/translations/pt/LC_MESSAGES/messages.po
+++ b/searx/translations/pt/LC_MESSAGES/messages.po
@@ -4,13 +4,14 @@
#
# Translators:
# Dickprince, 2017
+# Chacal Exodius, 2018
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2017-11-01 21:31+0100\n"
-"PO-Revision-Date: 2017-11-01 20:31+0000\n"
-"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n"
+"PO-Revision-Date: 2018-12-26 22:43+0000\n"
+"Last-Translator: Chacal Exodius\n"
"Language-Team: Portuguese (http://www.transifex.com/asciimoo/searx/language/pt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,15 +22,15 @@ msgstr ""
#: searx/search.py:137 searx/search.py:182
msgid "timeout"
-msgstr ""
+msgstr "tempo esgotado"
#: searx/search.py:144
msgid "request exception"
-msgstr ""
+msgstr "solicitar exceção"
#: searx/search.py:151
msgid "unexpected crash"
-msgstr ""
+msgstr "acidente inesperado"
#: searx/webapp.py:136
msgid "files"
@@ -77,7 +78,7 @@ msgstr "Definições inválidas, por favor edite as suas preferências"
#: searx/webapp.py:415
msgid "Invalid settings"
-msgstr ""
+msgstr "Configurações inválidas"
#: searx/webapp.py:449 searx/webapp.py:493
msgid "search error"
@@ -143,7 +144,7 @@ msgstr "Esta entrada foi substituída por"
#: searx/engines/pubmed.py:74
msgid "No abstract is available for this publication."
-msgstr ""
+msgstr "Nenhum resumo está disponível para esta publicação."
#: searx/plugins/https_rewrite.py:32
msgid "Rewrite HTTP links to HTTPS if possible"
@@ -159,7 +160,7 @@ msgstr "Carregar automaticamente a próxima página assim que se desloque para o
#: searx/plugins/oa_doi_rewrite.py:9
msgid "Open Access DOI rewrite"
-msgstr ""
+msgstr "Reescrita DOI de acesso aberto"
#: searx/plugins/oa_doi_rewrite.py:10
msgid ""
@@ -461,7 +462,7 @@ msgstr "Estes cookies servem somente para sua conveniência, não os utilizamos
#: searx/templates/pix-art/preferences.html:78
#: searx/templates/simple/preferences.html:185
msgid "save"
-msgstr "guardar"
+msgstr "Guardar"
#: searx/templates/courgette/preferences.html:128
#: searx/templates/legacy/preferences.html:125
@@ -476,7 +477,7 @@ msgstr "Repor predefinições"
#: searx/templates/pix-art/preferences.html:79
#: searx/templates/simple/preferences.html:187
msgid "back"
-msgstr "atrás"
+msgstr "Atrás"
#: searx/templates/courgette/results.html:12
#: searx/templates/legacy/results.html:13
@@ -630,11 +631,11 @@ msgstr "via proxy"
#: searx/templates/oscar/macros.html:92
msgid "supported"
-msgstr ""
+msgstr "suportado"
#: searx/templates/oscar/macros.html:96
msgid "not supported"
-msgstr ""
+msgstr "não suportado"
#: searx/templates/oscar/preferences.html:13
#: searx/templates/oscar/preferences.html:22
@@ -712,13 +713,13 @@ msgstr "Estilo"
#: searx/templates/oscar/preferences.html:122
msgid "Open Access DOI resolver"
-msgstr ""
+msgstr "Resolvedor DOI de Acesso Aberto"
#: searx/templates/oscar/preferences.html:123
msgid ""
"Redirect to open-access versions of publications when available (plugin "
"required)"
-msgstr ""
+msgstr "Redirecionar para versões de acesso aberto de publicações quando disponíveis (requer plug-in)"
#: searx/templates/oscar/preferences.html:163
#: searx/templates/oscar/preferences.html:175
@@ -729,7 +730,7 @@ msgstr "Atalho"
#: searx/templates/oscar/preferences.html:164
#: searx/templates/oscar/preferences.html:174
msgid "Selected language"
-msgstr ""
+msgstr "Idioma selecionado"
#: searx/templates/oscar/preferences.html:166
#: searx/templates/oscar/preferences.html:172
@@ -789,13 +790,13 @@ msgstr "Valor"
#: searx/templates/oscar/preferences.html:301
msgid "Search URL of the currently saved preferences"
-msgstr ""
+msgstr "URL de pesquisa das preferências salvas atualmente"
#: searx/templates/oscar/preferences.html:301
msgid ""
"Note: specifying custom settings in the search URL can reduce privacy by "
"leaking data to the clicked result sites."
-msgstr ""
+msgstr "Nota: a especificação de configurações personalizadas no URL de pesquisa pode reduzir a privacidade ao vazar dados para os sites de resultados clicados."
#: searx/templates/oscar/results.html:17
msgid "Search results"
@@ -804,12 +805,12 @@ msgstr "Resultados de pesquisa"
#: searx/templates/oscar/results.html:21
#: searx/templates/simple/results.html:84
msgid "Try searching for:"
-msgstr ""
+msgstr "Tente pesquisar por:"
#: searx/templates/oscar/results.html:100
#: searx/templates/simple/results.html:25
msgid "Engines cannot retrieve results"
-msgstr ""
+msgstr "Mecanismos não podem recuperar resultados"
#: searx/templates/oscar/results.html:131
msgid "Links"
@@ -874,12 +875,12 @@ msgstr "Não existem dados disponíveis."
#: searx/templates/oscar/messages/no_results.html:4
#: searx/templates/simple/messages/no_results.html:4
msgid "Engines cannot retrieve results."
-msgstr ""
+msgstr "Mecanismos não podem recuperar resultados."
#: searx/templates/oscar/messages/no_results.html:10
#: searx/templates/simple/messages/no_results.html:10
msgid "Please, try again later or find another searx instance."
-msgstr ""
+msgstr "Por favor, tente novamente mais tarde ou encontre outra ocorrência de searx."
#: searx/templates/oscar/messages/no_results.html:14
#: searx/templates/simple/messages/no_results.html:14
@@ -998,7 +999,7 @@ msgstr "Carregar mais..."
#: searx/templates/simple/base.html:31
msgid "No item found"
-msgstr ""
+msgstr "Nenhum item encontrado"
#: searx/templates/simple/preferences.html:89
msgid "Supports selected language"
@@ -1006,8 +1007,8 @@ msgstr "Suporta idioma selecionado"
#: searx/templates/simple/preferences.html:118
msgid "User interface"
-msgstr ""
+msgstr "Interface de usuário"
#: searx/templates/simple/preferences.html:154
msgid "Privacy"
-msgstr ""
+msgstr "Privacidade"
diff --git a/searx/translations/pt_BR/LC_MESSAGES/messages.mo b/searx/translations/pt_BR/LC_MESSAGES/messages.mo
index a169ac908..03eb74f4e 100644
--- a/searx/translations/pt_BR/LC_MESSAGES/messages.mo
+++ b/searx/translations/pt_BR/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/pt_BR/LC_MESSAGES/messages.po b/searx/translations/pt_BR/LC_MESSAGES/messages.po
index b5a786c70..6a0a6b837 100644
--- a/searx/translations/pt_BR/LC_MESSAGES/messages.po
+++ b/searx/translations/pt_BR/LC_MESSAGES/messages.po
@@ -4,6 +4,7 @@
#
# Translators:
# Adam Tauber <asciimoo@gmail.com>, 2017
+# Chacal Exodius, 2018
# Gabriel Nunes <gabriel.hkr@gmail.com>, 2017
# Guimarães Mello <maeslor@cryptolab.net>, 2017
# Neton Brício <fervelinux@gmail.com>, 2015
@@ -14,8 +15,8 @@ msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2017-11-01 21:31+0100\n"
-"PO-Revision-Date: 2018-03-03 12:33+0000\n"
-"Last-Translator: shizuka\n"
+"PO-Revision-Date: 2018-08-06 05:21+0000\n"
+"Last-Translator: Chacal Exodius\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/asciimoo/searx/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -164,7 +165,7 @@ msgstr "Automaticamente carregar a próxima página quando ir até o fim da pág
#: searx/plugins/oa_doi_rewrite.py:9
msgid "Open Access DOI rewrite"
-msgstr ""
+msgstr "Reescrita DOI de acesso aberto"
#: searx/plugins/oa_doi_rewrite.py:10
msgid ""
@@ -717,7 +718,7 @@ msgstr "Estilo"
#: searx/templates/oscar/preferences.html:122
msgid "Open Access DOI resolver"
-msgstr ""
+msgstr "Resolvedor DOI de Acesso Aberto"
#: searx/templates/oscar/preferences.html:123
msgid ""
diff --git a/searx/translations/ro/LC_MESSAGES/messages.mo b/searx/translations/ro/LC_MESSAGES/messages.mo
index 5c6714e93..f39068576 100644
--- a/searx/translations/ro/LC_MESSAGES/messages.mo
+++ b/searx/translations/ro/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/ro/LC_MESSAGES/messages.po b/searx/translations/ro/LC_MESSAGES/messages.po
index 21a2e7d1d..7cfd1be37 100644
--- a/searx/translations/ro/LC_MESSAGES/messages.po
+++ b/searx/translations/ro/LC_MESSAGES/messages.po
@@ -4,13 +4,14 @@
#
# Translators:
# adrian.fita <adrian.fita@gmail.com>, 2015
+# Daniel Șerbănescu <daniel@serbanescu.dk>, 2018
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2017-11-01 21:31+0100\n"
-"PO-Revision-Date: 2017-11-01 20:31+0000\n"
-"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n"
+"PO-Revision-Date: 2018-11-15 21:18+0000\n"
+"Last-Translator: Daniel Șerbănescu <daniel@serbanescu.dk>\n"
"Language-Team: Romanian (http://www.transifex.com/asciimoo/searx/language/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,15 +22,15 @@ msgstr ""
#: searx/search.py:137 searx/search.py:182
msgid "timeout"
-msgstr ""
+msgstr "timp alocat expirat"
#: searx/search.py:144
msgid "request exception"
-msgstr ""
+msgstr "excepție la cerere"
#: searx/search.py:151
msgid "unexpected crash"
-msgstr ""
+msgstr "terminare prematură neașteptată"
#: searx/webapp.py:136
msgid "files"
@@ -37,7 +38,7 @@ msgstr "fișiere"
#: searx/webapp.py:137
msgid "general"
-msgstr "general"
+msgstr "generale"
#: searx/webapp.py:138
msgid "music"
@@ -57,7 +58,7 @@ msgstr "videouri"
#: searx/webapp.py:142
msgid "it"
-msgstr "el(ea)"
+msgstr "informatică"
#: searx/webapp.py:143
msgid "news"
@@ -65,23 +66,23 @@ msgstr "știri"
#: searx/webapp.py:144
msgid "map"
-msgstr "hartă"
+msgstr "hărți"
#: searx/webapp.py:145
msgid "science"
-msgstr ""
+msgstr "știință"
#: searx/webapp.py:399 searx/webapp.py:658
msgid "Invalid settings, please edit your preferences"
-msgstr ""
+msgstr "Configurări nevalide, editați preferințele"
#: searx/webapp.py:415
msgid "Invalid settings"
-msgstr ""
+msgstr "Configurări nevalide"
#: searx/webapp.py:449 searx/webapp.py:493
msgid "search error"
-msgstr ""
+msgstr "eroare de căutare"
#: searx/webapp.py:530
msgid "{minutes} minute(s) ago"
@@ -93,27 +94,27 @@ msgstr "{hours} oră(e), {minutes} minut(e) în urmă"
#: searx/answerers/random/answerer.py:53
msgid "Random value generator"
-msgstr ""
+msgstr "Generator de valori aleatorii"
#: searx/answerers/random/answerer.py:54
msgid "Generate different random values"
-msgstr ""
+msgstr "Generează valori aleatoare diferite"
#: searx/answerers/statistics/answerer.py:53
msgid "Statistics functions"
-msgstr ""
+msgstr "Funcții statistice"
#: searx/answerers/statistics/answerer.py:54
msgid "Compute {functions} of the arguments"
-msgstr ""
+msgstr "Calculează {functions} din argumente"
#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201
msgid "Engine time (sec)"
-msgstr ""
+msgstr "Timpul motorului (sec)"
#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205
msgid "Page loads (sec)"
-msgstr "Încărcarea paginilor (sec)"
+msgstr "Încărcarea paginii (sec)"
#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209
#: searx/templates/oscar/results.html:95
@@ -135,15 +136,15 @@ msgstr "Erori"
#: searx/engines/pdbe.py:87
msgid "{title}&nbsp;(OBSOLETE)"
-msgstr ""
+msgstr "{title}&nbsp;(ÎNVECHIT)"
#: searx/engines/pdbe.py:91
msgid "This entry has been superseded by"
-msgstr ""
+msgstr "Această intrare a fost perimată de"
#: searx/engines/pubmed.py:74
msgid "No abstract is available for this publication."
-msgstr ""
+msgstr "Niciun abstract disponibil pentru această publicație."
#: searx/plugins/https_rewrite.py:32
msgid "Rewrite HTTP links to HTTPS if possible"
@@ -151,86 +152,86 @@ msgstr "Rescrie legăturile HTTP cu HTTPS dacă e posibil"
#: searx/plugins/infinite_scroll.py:3
msgid "Infinite scroll"
-msgstr ""
+msgstr "Derulare infinită"
#: searx/plugins/infinite_scroll.py:4
msgid "Automatically load next page when scrolling to bottom of current page"
-msgstr ""
+msgstr "Încarcă automat pagina următoare când se derulează la baza paginii curente"
#: searx/plugins/oa_doi_rewrite.py:9
msgid "Open Access DOI rewrite"
-msgstr ""
+msgstr "Rescriere către acces deschis DOI"
#: searx/plugins/oa_doi_rewrite.py:10
msgid ""
"Avoid paywalls by redirecting to open-access versions of publications when "
"available"
-msgstr ""
+msgstr "Evită „zidurile de plată” redirecționând către versiuni cu acces deschis ale publicațiilor când sunt disponibile"
#: searx/plugins/open_results_on_new_tab.py:18
#: searx/templates/oscar/preferences.html:114
#: searx/templates/simple/preferences.html:149
msgid "Open result links on new browser tabs"
-msgstr ""
+msgstr "Deschide legăturile rezultate în taburi noi"
#: searx/plugins/open_results_on_new_tab.py:19
msgid ""
"Results are opened in the same window by default. This plugin overwrites the"
" default behaviour to open links on new tabs/windows. (JavaScript required)"
-msgstr ""
+msgstr "Rezultatele sunt deschise în aceeași fereastră în mod implicit. Acest modul suprascrie acțiunea implicită de a deschide legături în ferestre/taburi noi. (Necesită JavaScript)"
#: searx/plugins/search_on_category_select.py:18
msgid "Search on category select"
-msgstr "Căutare în categoria selectată"
+msgstr "Caută la selectarea categoriei"
#: searx/plugins/search_on_category_select.py:19
msgid ""
"Perform search immediately if a category selected. Disable to select "
"multiple categories. (JavaScript required)"
-msgstr ""
+msgstr "Execută căutarea imediat dacă o categorie este selectată. Dezactivează pentru a selecta categorii multiple. (Necesită JavaScript)"
#: searx/plugins/self_info.py:20
msgid ""
"Displays your IP if the query is \"ip\" and your user agent if the query "
"contains \"user agent\"."
-msgstr ""
+msgstr "Afișează IP-ul dacă interogarea este „ip” și agentul de utilizator dacă interogarea conține „user agent”."
#: searx/plugins/tracker_url_remover.py:26
msgid "Tracker URL remover"
-msgstr ""
+msgstr "Eliminator de URL pentru urmăritor"
#: searx/plugins/tracker_url_remover.py:27
msgid "Remove trackers arguments from the returned URL"
-msgstr ""
+msgstr "Elimină argumentele urmăritorului din URL-ul returnat"
#: searx/plugins/vim_hotkeys.py:3
msgid "Vim-like hotkeys"
-msgstr ""
+msgstr "Scurtături de tastatură în stilul Vim"
#: searx/plugins/vim_hotkeys.py:4
msgid ""
"Navigate search results with Vim-like hotkeys (JavaScript required). Press "
"\"h\" key on main or result page to get help."
-msgstr ""
+msgstr "Navighează rezultatele căutării cu scurtături de tastatură în stilul Vim (necesită JavaScript). Apăsați tasta „h” în pagina principală sau în pagina cu rezultate pentru a obține ajutor."
#: searx/templates/courgette/404.html:4 searx/templates/legacy/404.html:4
#: searx/templates/oscar/404.html:4 searx/templates/pix-art/404.html:4
#: searx/templates/simple/404.html:4
msgid "Page not found"
-msgstr ""
+msgstr "Pagină negăsită"
#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
#: searx/templates/simple/404.html:6
#, python-format
msgid "Go to %(search_page)s."
-msgstr ""
+msgstr "Navighează la %(search_page)s"
#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
#: searx/templates/simple/404.html:6
msgid "search page"
-msgstr ""
+msgstr "pagină de căutare"
#: searx/templates/courgette/index.html:9
#: searx/templates/courgette/index.html:13
@@ -280,7 +281,7 @@ msgstr "Limba de căutare"
#: searx/templates/simple/languages.html:2
#: searx/templates/simple/preferences.html:42
msgid "Default language"
-msgstr ""
+msgstr "Limba implicită"
#: searx/templates/courgette/preferences.html:24
#: searx/templates/legacy/preferences.html:25
@@ -443,7 +444,7 @@ msgstr "Blochează"
msgid ""
"These settings are stored in your cookies, this allows us not to store this "
"data about you."
-msgstr "Aceste setări sunt stocate în cookie-urile d-voastră, aceasta ne permite să nu stocăm aceste date despre d-voastră."
+msgstr "Aceste configurări sunt stocate în cookie-uri, ceea ce ne permite să nu stocăm aceste date despre dumeavoastră."
#: searx/templates/courgette/preferences.html:124
#: searx/templates/legacy/preferences.html:121
@@ -453,7 +454,7 @@ msgstr "Aceste setări sunt stocate în cookie-urile d-voastră, aceasta ne perm
msgid ""
"These cookies serve your sole convenience, we don't use these cookies to "
"track you."
-msgstr "Aceste cookie-uri servesc doar pentru confortul d-voastră, noi nu stocăm aceste cookie-uri pentru a vă urmări."
+msgstr "Aceste cookie-uri servesc doar pentru conveniența dumneavoastră, noi nu stocăm aceste cookie-uri pentru a vă urmări."
#: searx/templates/courgette/preferences.html:127
#: searx/templates/legacy/preferences.html:124
@@ -468,7 +469,7 @@ msgstr "salvează"
#: searx/templates/oscar/preferences.html:307
#: searx/templates/simple/preferences.html:186
msgid "Reset defaults"
-msgstr "Resetează valorile implicite"
+msgstr "Restabilește la valorile implicite"
#: searx/templates/courgette/preferences.html:129
#: searx/templates/legacy/preferences.html:126
@@ -543,14 +544,14 @@ msgstr "contextul original"
#: searx/templates/oscar/result_templates/torrent.html:6
#: searx/templates/simple/result_templates/torrent.html:9
msgid "Seeder"
-msgstr "Seeder"
+msgstr "Partener"
#: searx/templates/courgette/result_templates/torrent.html:7
#: searx/templates/legacy/result_templates/torrent.html:11
#: searx/templates/oscar/result_templates/torrent.html:6
#: searx/templates/simple/result_templates/torrent.html:9
msgid "Leecher"
-msgstr "Leecher"
+msgstr "Sursă incompletă"
#: searx/templates/courgette/result_templates/torrent.html:9
#: searx/templates/legacy/result_templates/torrent.html:9
@@ -575,19 +576,19 @@ msgstr "Apăsați pe lupă pentru a executa căutarea"
#: searx/templates/oscar/preferences.html:113
#: searx/templates/simple/preferences.html:142
msgid "Results on new tabs"
-msgstr ""
+msgstr "Rezultate în taburi noi"
#: searx/templates/legacy/preferences.html:87
#: searx/templates/oscar/preferences.html:117
#: searx/templates/simple/preferences.html:145
msgid "On"
-msgstr ""
+msgstr "Pornit"
#: searx/templates/legacy/preferences.html:88
#: searx/templates/oscar/preferences.html:118
#: searx/templates/simple/preferences.html:146
msgid "Off"
-msgstr ""
+msgstr "Oprit"
#: searx/templates/legacy/result_templates/code.html:3
#: searx/templates/legacy/result_templates/default.html:3
@@ -599,7 +600,7 @@ msgstr "stocat temporar"
#: searx/templates/oscar/advanced.html:4
msgid "Advanced settings"
-msgstr ""
+msgstr "Configurări avansate"
#: searx/templates/oscar/base.html:62
#: searx/templates/oscar/messages/first_time.html:4
@@ -613,7 +614,7 @@ msgstr "Închide"
#: searx/templates/simple/messages/no_results.html:4
#: searx/templates/simple/results.html:25
msgid "Error!"
-msgstr ""
+msgstr "Eroare!"
#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
msgid "Powered by"
@@ -626,21 +627,21 @@ msgstr "un meta-motor de căutare care respectă confidențialitatea"
#: searx/templates/oscar/macros.html:36 searx/templates/oscar/macros.html:50
#: searx/templates/simple/macros.html:43
msgid "proxied"
-msgstr ""
+msgstr "delegat"
#: searx/templates/oscar/macros.html:92
msgid "supported"
-msgstr ""
+msgstr "suporat"
#: searx/templates/oscar/macros.html:96
msgid "not supported"
-msgstr ""
+msgstr "nesuportat"
#: searx/templates/oscar/preferences.html:13
#: searx/templates/oscar/preferences.html:22
#: searx/templates/simple/preferences.html:32
msgid "General"
-msgstr "General"
+msgstr "Generale"
#: searx/templates/oscar/preferences.html:14
#: searx/templates/oscar/preferences.html:146
@@ -656,12 +657,12 @@ msgstr "Module"
#: searx/templates/oscar/preferences.html:16
#: searx/templates/oscar/preferences.html:245
msgid "Answerers"
-msgstr ""
+msgstr "Răspunzători"
#: searx/templates/oscar/preferences.html:17
#: searx/templates/oscar/preferences.html:272
msgid "Cookies"
-msgstr ""
+msgstr "Cookie-uri"
#: searx/templates/oscar/preferences.html:42
#: searx/templates/simple/preferences.html:48
@@ -703,99 +704,99 @@ msgstr "Schimbă aspectul lui searx"
#: searx/templates/oscar/preferences.html:106
#: searx/templates/oscar/preferences.html:111
msgid "Choose style for this theme"
-msgstr ""
+msgstr "Alegeți stilul pentru această temă"
#: searx/templates/oscar/preferences.html:106
#: searx/templates/oscar/preferences.html:111
msgid "Style"
-msgstr ""
+msgstr "Stil"
#: searx/templates/oscar/preferences.html:122
msgid "Open Access DOI resolver"
-msgstr ""
+msgstr "Rezolvator de acces deschis DOI"
#: searx/templates/oscar/preferences.html:123
msgid ""
"Redirect to open-access versions of publications when available (plugin "
"required)"
-msgstr ""
+msgstr "Redirecționează către versiuni cu acces deschis ale publicațiilor când sunt disponibile (modul necesar)"
#: searx/templates/oscar/preferences.html:163
#: searx/templates/oscar/preferences.html:175
#: searx/templates/simple/preferences.html:88
msgid "Shortcut"
-msgstr ""
+msgstr "Scurtătură"
#: searx/templates/oscar/preferences.html:164
#: searx/templates/oscar/preferences.html:174
msgid "Selected language"
-msgstr ""
+msgstr "Limba selectată"
#: searx/templates/oscar/preferences.html:166
#: searx/templates/oscar/preferences.html:172
#: searx/templates/simple/preferences.html:91
msgid "Time range"
-msgstr ""
+msgstr "Interval de timp"
#: searx/templates/oscar/preferences.html:167
#: searx/templates/oscar/preferences.html:171
#: searx/templates/simple/preferences.html:92
msgid "Avg. time"
-msgstr ""
+msgstr "Timp mediu"
#: searx/templates/oscar/preferences.html:168
#: searx/templates/oscar/preferences.html:170
#: searx/templates/simple/preferences.html:93
msgid "Max time"
-msgstr ""
+msgstr "Timp maxim"
#: searx/templates/oscar/preferences.html:248
msgid "This is the list of searx's instant answering modules."
-msgstr ""
+msgstr "Aceasta este lista de module de răspundere instantă a lui searx."
#: searx/templates/oscar/preferences.html:252
msgid "Name"
-msgstr ""
+msgstr "Nume"
#: searx/templates/oscar/preferences.html:253
msgid "Keywords"
-msgstr ""
+msgstr "Cuvinte cheie"
#: searx/templates/oscar/preferences.html:254
msgid "Description"
-msgstr ""
+msgstr "Descriere"
#: searx/templates/oscar/preferences.html:255
msgid "Examples"
-msgstr ""
+msgstr "Exemple"
#: searx/templates/oscar/preferences.html:275
msgid ""
"This is the list of cookies and their values searx is storing on your "
"computer."
-msgstr ""
+msgstr "Aceasta este lista de cookie-uri și valorile lor pe care searx le stochează pe calculatorul dumneavoastră."
#: searx/templates/oscar/preferences.html:276
msgid "With that list, you can assess searx transparency."
-msgstr ""
+msgstr "Cu acea listă puteți evalua nivelul de transparență al lui searx."
#: searx/templates/oscar/preferences.html:281
msgid "Cookie name"
-msgstr ""
+msgstr "Nume cookie"
#: searx/templates/oscar/preferences.html:282
msgid "Value"
-msgstr ""
+msgstr "Valuare"
#: searx/templates/oscar/preferences.html:301
msgid "Search URL of the currently saved preferences"
-msgstr ""
+msgstr "URL-ul de căutare al preferințelor salvate curent"
#: searx/templates/oscar/preferences.html:301
msgid ""
"Note: specifying custom settings in the search URL can reduce privacy by "
"leaking data to the clicked result sites."
-msgstr ""
+msgstr "Notă: specificând configurări personalizate în URL-ul de căutare poate reduce nivelul de confidențialitate prin scurgerea datelor către siturile accesate la căutare."
#: searx/templates/oscar/results.html:17
msgid "Search results"
@@ -804,12 +805,12 @@ msgstr "Rezultatele căutării"
#: searx/templates/oscar/results.html:21
#: searx/templates/simple/results.html:84
msgid "Try searching for:"
-msgstr ""
+msgstr "Încercați să căutați după:"
#: searx/templates/oscar/results.html:100
#: searx/templates/simple/results.html:25
msgid "Engines cannot retrieve results"
-msgstr ""
+msgstr "Motoarele nu pot obține rezultate"
#: searx/templates/oscar/results.html:131
msgid "Links"
@@ -828,27 +829,27 @@ msgstr "statistici"
#: searx/templates/oscar/time-range.html:3
#: searx/templates/simple/time-range.html:3
msgid "Anytime"
-msgstr ""
+msgstr "Oricând"
#: searx/templates/oscar/time-range.html:6
#: searx/templates/simple/time-range.html:6
msgid "Last day"
-msgstr ""
+msgstr "Ultima zi"
#: searx/templates/oscar/time-range.html:9
#: searx/templates/simple/time-range.html:9
msgid "Last week"
-msgstr ""
+msgstr "Ultima săptămână"
#: searx/templates/oscar/time-range.html:12
#: searx/templates/simple/time-range.html:12
msgid "Last month"
-msgstr ""
+msgstr "Ultima lună"
#: searx/templates/oscar/time-range.html:15
#: searx/templates/simple/time-range.html:15
msgid "Last year"
-msgstr ""
+msgstr "Ultimul an"
#: searx/templates/oscar/messages/first_time.html:6
#: searx/templates/oscar/messages/no_data_available.html:3
@@ -861,11 +862,11 @@ msgstr "Se pare că folosiți searx pentru prima dată."
#: searx/templates/oscar/messages/no_cookies.html:3
msgid "Information!"
-msgstr ""
+msgstr "Informație!"
#: searx/templates/oscar/messages/no_cookies.html:4
msgid "currently, there are no cookies defined."
-msgstr ""
+msgstr "momentan, nu există cookie-uri definite"
#: searx/templates/oscar/messages/no_data_available.html:4
msgid "There is currently no data available. "
@@ -874,24 +875,24 @@ msgstr "Deocamdată nu există date disponibile."
#: searx/templates/oscar/messages/no_results.html:4
#: searx/templates/simple/messages/no_results.html:4
msgid "Engines cannot retrieve results."
-msgstr ""
+msgstr "Motoarele nu pot obține rezultate"
#: searx/templates/oscar/messages/no_results.html:10
#: searx/templates/simple/messages/no_results.html:10
msgid "Please, try again later or find another searx instance."
-msgstr ""
+msgstr "Încercați din nou mai târziu sau folosiți o altă instanță searx-"
#: searx/templates/oscar/messages/no_results.html:14
#: searx/templates/simple/messages/no_results.html:14
msgid "Sorry!"
-msgstr "Îmi pare rău!"
+msgstr "Ne pare rău!"
#: searx/templates/oscar/messages/no_results.html:15
#: searx/templates/simple/messages/no_results.html:15
msgid ""
"we didn't find any results. Please use another query or search in more "
"categories."
-msgstr "n-am găsit nici un rezultat. Vă rog folosiți o altă interogare sau căutați în mai multe categorii."
+msgstr "n-am găsit nici un rezultat. Folosiți o altă interogare sau căutați în mai multe categorii."
#: searx/templates/oscar/messages/save_settings_successfull.html:7
msgid "Well done!"
@@ -899,7 +900,7 @@ msgstr "Bravo!"
#: searx/templates/oscar/messages/save_settings_successfull.html:8
msgid "Settings saved successfully."
-msgstr "Setările au fost salvate cu succes."
+msgstr "Configurările au fost salvate cu succes."
#: searx/templates/oscar/messages/unknow_error.html:7
msgid "Oh snap!"
@@ -998,16 +999,16 @@ msgstr "Încarcă mai multe..."
#: searx/templates/simple/base.html:31
msgid "No item found"
-msgstr ""
+msgstr "Niciun element găsit"
#: searx/templates/simple/preferences.html:89
msgid "Supports selected language"
-msgstr ""
+msgstr "Suportă limba selectată"
#: searx/templates/simple/preferences.html:118
msgid "User interface"
-msgstr ""
+msgstr "Interfața pentru utilizator"
#: searx/templates/simple/preferences.html:154
msgid "Privacy"
-msgstr ""
+msgstr "Confidențialitate"
diff --git a/searx/translations/ru/LC_MESSAGES/messages.mo b/searx/translations/ru/LC_MESSAGES/messages.mo
index 9d5ea61b0..c6bcdd1b6 100644
--- a/searx/translations/ru/LC_MESSAGES/messages.mo
+++ b/searx/translations/ru/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/ru/LC_MESSAGES/messages.po b/searx/translations/ru/LC_MESSAGES/messages.po
index f6bda5f1b..befe7f963 100644
--- a/searx/translations/ru/LC_MESSAGES/messages.po
+++ b/searx/translations/ru/LC_MESSAGES/messages.po
@@ -3,7 +3,7 @@
# This file is distributed under the same license as the PROJECT project.
#
# Translators:
-# Andrey, 2017
+# Andrey, 2017-2019
# dimqua <dimqua@riseup.net>, 2015
# dimqua <dimqua@riseup.net>, 2015
# dimqua <dimqua@riseup.net>, 2017
@@ -14,8 +14,8 @@ msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2017-11-01 21:31+0100\n"
-"PO-Revision-Date: 2018-02-26 16:39+0000\n"
-"Last-Translator: John DOe <is-kir@ya.ru>\n"
+"PO-Revision-Date: 2019-01-05 12:11+0000\n"
+"Last-Translator: Andrey\n"
"Language-Team: Russian (http://www.transifex.com/asciimoo/searx/language/ru/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -34,7 +34,7 @@ msgstr "ошибка выполнения запроса"
#: searx/search.py:151
msgid "unexpected crash"
-msgstr "неожиданное падение"
+msgstr "неожиданный сбой"
#: searx/webapp.py:136
msgid "files"
@@ -148,7 +148,7 @@ msgstr "Эта запись была заменена на"
#: searx/engines/pubmed.py:74
msgid "No abstract is available for this publication."
-msgstr "Для данной публикации недоступно"
+msgstr "Нет аннотации для этой публикации."
#: searx/plugins/https_rewrite.py:32
msgid "Rewrite HTTP links to HTTPS if possible"
@@ -198,15 +198,15 @@ msgstr "Выполнять поиск немедленно, если выбра
msgid ""
"Displays your IP if the query is \"ip\" and your user agent if the query "
"contains \"user agent\"."
-msgstr "Отображает ваш IP-адрес при запросе \"ip\" и отпечаток браузера при запросе \"user agent\"."
+msgstr "Отображает ваш IP-адрес при запросе \"ip\" и пользовательский агент при запросе \"user agent\"."
#: searx/plugins/tracker_url_remover.py:26
msgid "Tracker URL remover"
-msgstr "Удаление трекера URL-адресов"
+msgstr "Удаление трекинга URL-адресов"
#: searx/plugins/tracker_url_remover.py:27
msgid "Remove trackers arguments from the returned URL"
-msgstr "Удаляет аргументы отслеживания из возвращенного URL-адреса"
+msgstr "Удаляет аргументы отслеживания из URL-адреса"
#: searx/plugins/vim_hotkeys.py:3
msgid "Vim-like hotkeys"
@@ -300,7 +300,7 @@ msgstr "Язык интерфейса"
#: searx/templates/oscar/preferences.html:57
#: searx/templates/simple/preferences.html:51
msgid "Autocomplete"
-msgstr "Подгрузка результатов"
+msgstr "Автозавершение"
#: searx/templates/courgette/preferences.html:45
#: searx/templates/legacy/preferences.html:46
@@ -622,7 +622,7 @@ msgstr "Ошибка!"
#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
msgid "Powered by"
-msgstr "Используется"
+msgstr "Основано на"
#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
msgid "a privacy-respecting, hackable metasearch engine"
@@ -631,7 +631,7 @@ msgstr "уважающая вашу приватность, открытая м
#: searx/templates/oscar/macros.html:36 searx/templates/oscar/macros.html:50
#: searx/templates/simple/macros.html:43
msgid "proxied"
-msgstr "proxy"
+msgstr "proxied"
#: searx/templates/oscar/macros.html:92
msgid "supported"
@@ -671,7 +671,7 @@ msgstr "Cookie"
#: searx/templates/oscar/preferences.html:42
#: searx/templates/simple/preferences.html:48
msgid "What language do you prefer for search?"
-msgstr "На каком языке вы предпочитаете искать?"
+msgstr "Какой язык предпочтителен для поиска?"
#: searx/templates/oscar/preferences.html:48
#: searx/templates/simple/preferences.html:128
@@ -686,7 +686,7 @@ msgstr "Поисковые предложения по мере ввода"
#: searx/templates/oscar/preferences.html:69
#: searx/templates/simple/preferences.html:173
msgid "Proxying image results through searx"
-msgstr "Загружать найденные изображения через searx"
+msgstr "Проксировать найденные изображения с помощью searx"
#: searx/templates/oscar/preferences.html:78
msgid ""
@@ -698,7 +698,7 @@ msgstr "Изменяет способ отправки запросов. <a href
#: searx/templates/oscar/preferences.html:87
#: searx/templates/simple/preferences.html:71
msgid "Filter content"
-msgstr "Фильтрация содержимого для взрослых в результатах поиска."
+msgstr "Фильтрация контента"
#: searx/templates/oscar/preferences.html:97
#: searx/templates/simple/preferences.html:139
@@ -800,7 +800,7 @@ msgstr "URL поиска для текущих сохраненных парам
msgid ""
"Note: specifying custom settings in the search URL can reduce privacy by "
"leaking data to the clicked result sites."
-msgstr "Обратите внимание, что задание пользовательских параметров в URL поиска может привести к их утечке к посещаемым сайтам из поисковой выдачи."
+msgstr "Учтите, что укаание пользовательских настроек в URL поиска может привести к их утечке к посещаемым сайтам из поисковой выдачи."
#: searx/templates/oscar/results.html:17
msgid "Search results"
@@ -884,7 +884,7 @@ msgstr "Движки не могут получить результаты."
#: searx/templates/oscar/messages/no_results.html:10
#: searx/templates/simple/messages/no_results.html:10
msgid "Please, try again later or find another searx instance."
-msgstr "Пожалуйста, попробуйте позже или воспользуйтесь другим searx инстансом."
+msgstr "Пожалуйста, попробуйте позже или воспользуйтесь другим сервером searx."
#: searx/templates/oscar/messages/no_results.html:14
#: searx/templates/simple/messages/no_results.html:14
diff --git a/searx/translations/sk/LC_MESSAGES/messages.mo b/searx/translations/sk/LC_MESSAGES/messages.mo
index af7ac9dbb..0d8f6fa70 100644
--- a/searx/translations/sk/LC_MESSAGES/messages.mo
+++ b/searx/translations/sk/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/sl/LC_MESSAGES/messages.mo b/searx/translations/sl/LC_MESSAGES/messages.mo
index f20b5275b..b2cf9e1b1 100644
--- a/searx/translations/sl/LC_MESSAGES/messages.mo
+++ b/searx/translations/sl/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/sl/LC_MESSAGES/messages.po b/searx/translations/sl/LC_MESSAGES/messages.po
index f3e6fef07..3ce7f97d6 100644
--- a/searx/translations/sl/LC_MESSAGES/messages.po
+++ b/searx/translations/sl/LC_MESSAGES/messages.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PROJECT project.
#
# Translators:
-# asladic <ales.sladic@gmail.com>, 2017
+# asladic <ales.sladic@gmail.com>, 2017-2018
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2017-11-01 21:31+0100\n"
-"PO-Revision-Date: 2017-11-01 20:31+0000\n"
-"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n"
+"PO-Revision-Date: 2018-05-01 08:59+0000\n"
+"Last-Translator: asladic <ales.sladic@gmail.com>\n"
"Language-Team: Slovenian (http://www.transifex.com/asciimoo/searx/language/sl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,15 +21,15 @@ msgstr ""
#: searx/search.py:137 searx/search.py:182
msgid "timeout"
-msgstr ""
+msgstr "presežena časovna omejitev"
#: searx/search.py:144
msgid "request exception"
-msgstr ""
+msgstr "napaka poizvedbe"
#: searx/search.py:151
msgid "unexpected crash"
-msgstr ""
+msgstr "nepričakovana napaka"
#: searx/webapp.py:136
msgid "files"
@@ -77,7 +77,7 @@ msgstr "Neveljavne nastavitve. Prosimo, preverite vašo konfiguracijo"
#: searx/webapp.py:415
msgid "Invalid settings"
-msgstr ""
+msgstr "Neveljavne nastavitve"
#: searx/webapp.py:449 searx/webapp.py:493
msgid "search error"
@@ -630,11 +630,11 @@ msgstr "preko posredniškega strežnika"
#: searx/templates/oscar/macros.html:92
msgid "supported"
-msgstr ""
+msgstr "podprto"
#: searx/templates/oscar/macros.html:96
msgid "not supported"
-msgstr ""
+msgstr "ni podprto"
#: searx/templates/oscar/preferences.html:13
#: searx/templates/oscar/preferences.html:22
@@ -718,7 +718,7 @@ msgstr ""
msgid ""
"Redirect to open-access versions of publications when available (plugin "
"required)"
-msgstr ""
+msgstr "Preusmeri na prosto dostopne različice publikacij, ko so na voljo (zahtevan vtičnik)"
#: searx/templates/oscar/preferences.html:163
#: searx/templates/oscar/preferences.html:175
@@ -729,7 +729,7 @@ msgstr "Bližnjica"
#: searx/templates/oscar/preferences.html:164
#: searx/templates/oscar/preferences.html:174
msgid "Selected language"
-msgstr ""
+msgstr "Izbrani jezik"
#: searx/templates/oscar/preferences.html:166
#: searx/templates/oscar/preferences.html:172
@@ -789,13 +789,13 @@ msgstr "Vrednost"
#: searx/templates/oscar/preferences.html:301
msgid "Search URL of the currently saved preferences"
-msgstr ""
+msgstr "Iskalni URL trenutno shranjenih nastavitev"
#: searx/templates/oscar/preferences.html:301
msgid ""
"Note: specifying custom settings in the search URL can reduce privacy by "
"leaking data to the clicked result sites."
-msgstr ""
+msgstr "Opomba: navajanje lastnih nastavitev v iskalnem URL lahko vodi do zmanjšane zasebnosti preko podajanja podatkov izbranim rezultatom."
#: searx/templates/oscar/results.html:17
msgid "Search results"
@@ -804,12 +804,12 @@ msgstr "Zadetki iskanja"
#: searx/templates/oscar/results.html:21
#: searx/templates/simple/results.html:84
msgid "Try searching for:"
-msgstr ""
+msgstr "Poskusite iskati:"
#: searx/templates/oscar/results.html:100
#: searx/templates/simple/results.html:25
msgid "Engines cannot retrieve results"
-msgstr ""
+msgstr "Iskalniki ne morejo pridobiti rezultatov"
#: searx/templates/oscar/results.html:131
msgid "Links"
@@ -874,12 +874,12 @@ msgstr "Trenutno ni podatkov na voljo."
#: searx/templates/oscar/messages/no_results.html:4
#: searx/templates/simple/messages/no_results.html:4
msgid "Engines cannot retrieve results."
-msgstr ""
+msgstr "Iskalniki ne morejo pridobiti rezultatov."
#: searx/templates/oscar/messages/no_results.html:10
#: searx/templates/simple/messages/no_results.html:10
msgid "Please, try again later or find another searx instance."
-msgstr ""
+msgstr "Prosimo, poskusite kasneje tu ali na drugi instanci searx."
#: searx/templates/oscar/messages/no_results.html:14
#: searx/templates/simple/messages/no_results.html:14
@@ -998,7 +998,7 @@ msgstr "Naloži več..."
#: searx/templates/simple/base.html:31
msgid "No item found"
-msgstr ""
+msgstr "Ni zadetkov"
#: searx/templates/simple/preferences.html:89
msgid "Supports selected language"
@@ -1006,8 +1006,8 @@ msgstr "Podpira izbrani jezik"
#: searx/templates/simple/preferences.html:118
msgid "User interface"
-msgstr ""
+msgstr "Uporabniški vmesnik"
#: searx/templates/simple/preferences.html:154
msgid "Privacy"
-msgstr ""
+msgstr "Zasebnost"
diff --git a/searx/translations/sr/LC_MESSAGES/messages.mo b/searx/translations/sr/LC_MESSAGES/messages.mo
index b38a68d1d..65efaaa1a 100644
--- a/searx/translations/sr/LC_MESSAGES/messages.mo
+++ b/searx/translations/sr/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/sv/LC_MESSAGES/messages.mo b/searx/translations/sv/LC_MESSAGES/messages.mo
index b3687f94a..73d36de8c 100644
--- a/searx/translations/sv/LC_MESSAGES/messages.mo
+++ b/searx/translations/sv/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/sv/LC_MESSAGES/messages.po b/searx/translations/sv/LC_MESSAGES/messages.po
index 3c98e06fc..e8b01c832 100644
--- a/searx/translations/sv/LC_MESSAGES/messages.po
+++ b/searx/translations/sv/LC_MESSAGES/messages.po
@@ -4,13 +4,14 @@
#
# Translators:
# Jonatan Nyberg, 2016-2017
+# Jonatan Nyberg, 2018
# Jonatan Nyberg, 2017-2018
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2017-11-01 21:31+0100\n"
-"PO-Revision-Date: 2018-01-13 11:39+0000\n"
+"PO-Revision-Date: 2018-07-24 18:39+0000\n"
"Last-Translator: Jonatan Nyberg\n"
"Language-Team: Swedish (http://www.transifex.com/asciimoo/searx/language/sv/)\n"
"MIME-Version: 1.0\n"
@@ -160,7 +161,7 @@ msgstr "Automatiskt ladda nästa sida när du bläddrar till botten av aktuell s
#: searx/plugins/oa_doi_rewrite.py:9
msgid "Open Access DOI rewrite"
-msgstr ""
+msgstr "Open Access DOI-omskrivning"
#: searx/plugins/oa_doi_rewrite.py:10
msgid ""
@@ -182,7 +183,7 @@ msgstr "Resultat öppnas i samma fönster som standard. Denna insticksmodul skri
#: searx/plugins/search_on_category_select.py:18
msgid "Search on category select"
-msgstr "Sök på kategori välj"
+msgstr "Sök vid val av kategori"
#: searx/plugins/search_on_category_select.py:19
msgid ""
@@ -198,7 +199,7 @@ msgstr "Visar din IP om förfrågan är \"ip\" och din användaragent om förfr
#: searx/plugins/tracker_url_remover.py:26
msgid "Tracker URL remover"
-msgstr "Trackerwebbadress borttagare"
+msgstr "Bevakningswebbadress borttagare"
#: searx/plugins/tracker_url_remover.py:27
msgid "Remove trackers arguments from the returned URL"
@@ -263,7 +264,7 @@ msgstr "Inställningar"
#: searx/templates/oscar/preferences.html:35
#: searx/templates/simple/preferences.html:34
msgid "Default categories"
-msgstr "Standard kategorier"
+msgstr "Standardkategorier"
#: searx/templates/courgette/preferences.html:13
#: searx/templates/legacy/preferences.html:14
@@ -713,7 +714,7 @@ msgstr "Stil"
#: searx/templates/oscar/preferences.html:122
msgid "Open Access DOI resolver"
-msgstr ""
+msgstr "Open Access DOI-lösare"
#: searx/templates/oscar/preferences.html:123
msgid ""
diff --git a/searx/translations/te/LC_MESSAGES/messages.mo b/searx/translations/te/LC_MESSAGES/messages.mo
new file mode 100644
index 000000000..57488bf0b
--- /dev/null
+++ b/searx/translations/te/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/te/LC_MESSAGES/messages.po b/searx/translations/te/LC_MESSAGES/messages.po
new file mode 100644
index 000000000..8da1506cc
--- /dev/null
+++ b/searx/translations/te/LC_MESSAGES/messages.po
@@ -0,0 +1,1013 @@
+# Translations template for PROJECT.
+# Copyright (C) 2017 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+#
+# Translators:
+# Joseph Nuthalapati <njoseph@thoughtworks.com>, 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: searx\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2017-11-01 21:31+0100\n"
+"PO-Revision-Date: 2018-03-08 16:40+0000\n"
+"Last-Translator: Joseph Nuthalapati <njoseph@thoughtworks.com>\n"
+"Language-Team: Telugu (http://www.transifex.com/asciimoo/searx/language/te/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.3.4\n"
+"Language: te\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: searx/search.py:137 searx/search.py:182
+msgid "timeout"
+msgstr "కాలపరిమితి దాటిపోయింది"
+
+#: searx/search.py:144
+msgid "request exception"
+msgstr ""
+
+#: searx/search.py:151
+msgid "unexpected crash"
+msgstr ""
+
+#: searx/webapp.py:136
+msgid "files"
+msgstr "ఫైళ్ళు"
+
+#: searx/webapp.py:137
+msgid "general"
+msgstr "సాధారణ"
+
+#: searx/webapp.py:138
+msgid "music"
+msgstr "సంగీతం"
+
+#: searx/webapp.py:139
+msgid "social media"
+msgstr "సోషల్ మీడియా"
+
+#: searx/webapp.py:140
+msgid "images"
+msgstr "చిత్రాలు"
+
+#: searx/webapp.py:141
+msgid "videos"
+msgstr "వీడియోలు"
+
+#: searx/webapp.py:142
+msgid "it"
+msgstr "ఐటి"
+
+#: searx/webapp.py:143
+msgid "news"
+msgstr "వార్తలు"
+
+#: searx/webapp.py:144
+msgid "map"
+msgstr "పటము"
+
+#: searx/webapp.py:145
+msgid "science"
+msgstr "విజ్ఞానశాస్త్రం"
+
+#: searx/webapp.py:399 searx/webapp.py:658
+msgid "Invalid settings, please edit your preferences"
+msgstr ""
+
+#: searx/webapp.py:415
+msgid "Invalid settings"
+msgstr "చెల్లని అమరికలు"
+
+#: searx/webapp.py:449 searx/webapp.py:493
+msgid "search error"
+msgstr "శోధనలో దోషము"
+
+#: searx/webapp.py:530
+msgid "{minutes} minute(s) ago"
+msgstr "{minutes} నిమిషము(ల) క్రిందట"
+
+#: searx/webapp.py:532
+msgid "{hours} hour(s), {minutes} minute(s) ago"
+msgstr ""
+
+#: searx/answerers/random/answerer.py:53
+msgid "Random value generator"
+msgstr ""
+
+#: searx/answerers/random/answerer.py:54
+msgid "Generate different random values"
+msgstr ""
+
+#: searx/answerers/statistics/answerer.py:53
+msgid "Statistics functions"
+msgstr "సాంఖ్యకశాస్త్ర ప్రమేయాలు"
+
+#: searx/answerers/statistics/answerer.py:54
+msgid "Compute {functions} of the arguments"
+msgstr ""
+
+#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201
+msgid "Engine time (sec)"
+msgstr ""
+
+#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205
+msgid "Page loads (sec)"
+msgstr ""
+
+#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209
+#: searx/templates/oscar/results.html:95
+#: searx/templates/simple/results.html:20
+msgid "Number of results"
+msgstr "ఫలితముల సంఖ్య"
+
+#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213
+msgid "Scores"
+msgstr ""
+
+#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217
+msgid "Scores per result"
+msgstr ""
+
+#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221
+msgid "Errors"
+msgstr "దోషములు"
+
+#: searx/engines/pdbe.py:87
+msgid "{title}&nbsp;(OBSOLETE)"
+msgstr ""
+
+#: searx/engines/pdbe.py:91
+msgid "This entry has been superseded by"
+msgstr ""
+
+#: searx/engines/pubmed.py:74
+msgid "No abstract is available for this publication."
+msgstr ""
+
+#: searx/plugins/https_rewrite.py:32
+msgid "Rewrite HTTP links to HTTPS if possible"
+msgstr ""
+
+#: searx/plugins/infinite_scroll.py:3
+msgid "Infinite scroll"
+msgstr ""
+
+#: searx/plugins/infinite_scroll.py:4
+msgid "Automatically load next page when scrolling to bottom of current page"
+msgstr ""
+
+#: searx/plugins/oa_doi_rewrite.py:9
+msgid "Open Access DOI rewrite"
+msgstr ""
+
+#: searx/plugins/oa_doi_rewrite.py:10
+msgid ""
+"Avoid paywalls by redirecting to open-access versions of publications when "
+"available"
+msgstr ""
+
+#: searx/plugins/open_results_on_new_tab.py:18
+#: searx/templates/oscar/preferences.html:114
+#: searx/templates/simple/preferences.html:149
+msgid "Open result links on new browser tabs"
+msgstr ""
+
+#: searx/plugins/open_results_on_new_tab.py:19
+msgid ""
+"Results are opened in the same window by default. This plugin overwrites the"
+" default behaviour to open links on new tabs/windows. (JavaScript required)"
+msgstr ""
+
+#: searx/plugins/search_on_category_select.py:18
+msgid "Search on category select"
+msgstr ""
+
+#: searx/plugins/search_on_category_select.py:19
+msgid ""
+"Perform search immediately if a category selected. Disable to select "
+"multiple categories. (JavaScript required)"
+msgstr ""
+
+#: searx/plugins/self_info.py:20
+msgid ""
+"Displays your IP if the query is \"ip\" and your user agent if the query "
+"contains \"user agent\"."
+msgstr ""
+
+#: searx/plugins/tracker_url_remover.py:26
+msgid "Tracker URL remover"
+msgstr ""
+
+#: searx/plugins/tracker_url_remover.py:27
+msgid "Remove trackers arguments from the returned URL"
+msgstr ""
+
+#: searx/plugins/vim_hotkeys.py:3
+msgid "Vim-like hotkeys"
+msgstr ""
+
+#: searx/plugins/vim_hotkeys.py:4
+msgid ""
+"Navigate search results with Vim-like hotkeys (JavaScript required). Press "
+"\"h\" key on main or result page to get help."
+msgstr ""
+
+#: searx/templates/courgette/404.html:4 searx/templates/legacy/404.html:4
+#: searx/templates/oscar/404.html:4 searx/templates/pix-art/404.html:4
+#: searx/templates/simple/404.html:4
+msgid "Page not found"
+msgstr "పుట దొరకలేదు"
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+#, python-format
+msgid "Go to %(search_page)s."
+msgstr "%(search_page)sకు వెళ్ళు"
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+msgid "search page"
+msgstr "శోధన పుట"
+
+#: searx/templates/courgette/index.html:9
+#: searx/templates/courgette/index.html:13
+#: searx/templates/courgette/results.html:5
+#: searx/templates/legacy/index.html:8 searx/templates/legacy/index.html:12
+#: searx/templates/oscar/navbar.html:7
+#: searx/templates/oscar/preferences.html:3
+#: searx/templates/pix-art/index.html:8
+msgid "preferences"
+msgstr "అభిరుచులు"
+
+#: searx/templates/courgette/index.html:11
+#: searx/templates/legacy/index.html:10 searx/templates/oscar/about.html:2
+#: searx/templates/oscar/navbar.html:6 searx/templates/pix-art/index.html:7
+msgid "about"
+msgstr "గురించి"
+
+#: searx/templates/courgette/preferences.html:5
+#: searx/templates/legacy/preferences.html:5
+#: searx/templates/oscar/preferences.html:8
+#: searx/templates/pix-art/preferences.html:5
+#: searx/templates/simple/preferences.html:26
+msgid "Preferences"
+msgstr "అభిరుచులు"
+
+#: searx/templates/courgette/preferences.html:9
+#: searx/templates/legacy/preferences.html:9
+#: searx/templates/oscar/preferences.html:33
+#: searx/templates/oscar/preferences.html:35
+#: searx/templates/simple/preferences.html:34
+msgid "Default categories"
+msgstr "నిష్క్రియ వర్గాలు"
+
+#: searx/templates/courgette/preferences.html:13
+#: searx/templates/legacy/preferences.html:14
+#: searx/templates/oscar/preferences.html:41
+#: searx/templates/pix-art/preferences.html:9
+#: searx/templates/simple/preferences.html:39
+#: searx/templates/simple/preferences.html:163
+msgid "Search language"
+msgstr "శోధన భాష"
+
+#: searx/templates/courgette/preferences.html:16
+#: searx/templates/legacy/preferences.html:17
+#: searx/templates/oscar/languages.html:6
+#: searx/templates/pix-art/preferences.html:12
+#: searx/templates/simple/languages.html:2
+#: searx/templates/simple/preferences.html:42
+msgid "Default language"
+msgstr "నిష్క్రియ భాష"
+
+#: searx/templates/courgette/preferences.html:24
+#: searx/templates/legacy/preferences.html:25
+#: searx/templates/oscar/preferences.html:47
+#: searx/templates/pix-art/preferences.html:20
+#: searx/templates/simple/preferences.html:120
+msgid "Interface language"
+msgstr "వినిమయసీమ భాష"
+
+#: searx/templates/courgette/preferences.html:34
+#: searx/templates/legacy/preferences.html:35
+#: searx/templates/oscar/preferences.html:57
+#: searx/templates/simple/preferences.html:51
+msgid "Autocomplete"
+msgstr ""
+
+#: searx/templates/courgette/preferences.html:45
+#: searx/templates/legacy/preferences.html:46
+#: searx/templates/oscar/preferences.html:68
+#: searx/templates/simple/preferences.html:166
+msgid "Image proxy"
+msgstr ""
+
+#: searx/templates/courgette/preferences.html:48
+#: searx/templates/legacy/preferences.html:49
+#: searx/templates/oscar/preferences.html:72
+#: searx/templates/simple/preferences.html:169
+msgid "Enabled"
+msgstr ""
+
+#: searx/templates/courgette/preferences.html:49
+#: searx/templates/legacy/preferences.html:50
+#: searx/templates/oscar/preferences.html:73
+#: searx/templates/simple/preferences.html:170
+msgid "Disabled"
+msgstr ""
+
+#: searx/templates/courgette/preferences.html:54
+#: searx/templates/legacy/preferences.html:55
+#: searx/templates/oscar/preferences.html:77
+#: searx/templates/pix-art/preferences.html:30
+#: searx/templates/simple/preferences.html:156
+msgid "Method"
+msgstr "విధానం"
+
+#: searx/templates/courgette/preferences.html:63
+#: searx/templates/legacy/preferences.html:64
+#: searx/templates/oscar/preferences.html:86
+#: searx/templates/oscar/preferences.html:165
+#: searx/templates/oscar/preferences.html:173
+#: searx/templates/simple/preferences.html:63
+#: searx/templates/simple/preferences.html:90
+msgid "SafeSearch"
+msgstr "సురక్షితశోధన"
+
+#: searx/templates/courgette/preferences.html:66
+#: searx/templates/legacy/preferences.html:67
+#: searx/templates/oscar/preferences.html:90
+#: searx/templates/simple/preferences.html:66
+msgid "Strict"
+msgstr "కఠినమైన"
+
+#: searx/templates/courgette/preferences.html:67
+#: searx/templates/legacy/preferences.html:68
+#: searx/templates/oscar/preferences.html:91
+#: searx/templates/simple/preferences.html:67
+msgid "Moderate"
+msgstr "మితమైన"
+
+#: searx/templates/courgette/preferences.html:68
+#: searx/templates/legacy/preferences.html:69
+#: searx/templates/oscar/preferences.html:92
+#: searx/templates/simple/preferences.html:68
+msgid "None"
+msgstr "ఏమీ లేదు"
+
+#: searx/templates/courgette/preferences.html:73
+#: searx/templates/legacy/preferences.html:74
+#: searx/templates/oscar/preferences.html:96
+#: searx/templates/pix-art/preferences.html:39
+#: searx/templates/simple/preferences.html:131
+msgid "Themes"
+msgstr ""
+
+#: searx/templates/courgette/preferences.html:83
+msgid "Color"
+msgstr "రంగు"
+
+#: searx/templates/courgette/preferences.html:86
+msgid "Blue (default)"
+msgstr "నీలం (నిష్క్రియం)"
+
+#: searx/templates/courgette/preferences.html:87
+msgid "Violet"
+msgstr "ఊదారంగు"
+
+#: searx/templates/courgette/preferences.html:88
+msgid "Green"
+msgstr "ఆకుపచ్చ"
+
+#: searx/templates/courgette/preferences.html:89
+msgid "Cyan"
+msgstr " ముదురు నీలం"
+
+#: searx/templates/courgette/preferences.html:90
+msgid "Orange"
+msgstr "నారింజ"
+
+#: searx/templates/courgette/preferences.html:91
+msgid "Red"
+msgstr "ఎరుపు"
+
+#: searx/templates/courgette/preferences.html:96
+#: searx/templates/legacy/preferences.html:93
+#: searx/templates/pix-art/preferences.html:49
+#: searx/templates/simple/preferences.html:77
+msgid "Currently used search engines"
+msgstr "ప్రస్తుతం ఉపయోగించబడుతున్న శోధన యంత్రాలు"
+
+#: searx/templates/courgette/preferences.html:100
+#: searx/templates/legacy/preferences.html:97
+#: searx/templates/oscar/preferences.html:162
+#: searx/templates/oscar/preferences.html:176
+#: searx/templates/pix-art/preferences.html:53
+#: searx/templates/simple/preferences.html:87
+msgid "Engine name"
+msgstr "యంత్రం పేరు"
+
+#: searx/templates/courgette/preferences.html:101
+#: searx/templates/legacy/preferences.html:98
+msgid "Category"
+msgstr "వర్గము"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:113
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:110
+#: searx/templates/oscar/preferences.html:161
+#: searx/templates/oscar/preferences.html:177
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:64
+#: searx/templates/simple/preferences.html:86
+msgid "Allow"
+msgstr "అనుమతించు"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:114
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:111
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:65
+msgid "Block"
+msgstr "అడ్డగించు"
+
+#: searx/templates/courgette/preferences.html:122
+#: searx/templates/legacy/preferences.html:119
+#: searx/templates/oscar/preferences.html:297
+#: searx/templates/pix-art/preferences.html:73
+#: searx/templates/simple/preferences.html:180
+msgid ""
+"These settings are stored in your cookies, this allows us not to store this "
+"data about you."
+msgstr ""
+
+#: searx/templates/courgette/preferences.html:124
+#: searx/templates/legacy/preferences.html:121
+#: searx/templates/oscar/preferences.html:299
+#: searx/templates/pix-art/preferences.html:75
+#: searx/templates/simple/preferences.html:182
+msgid ""
+"These cookies serve your sole convenience, we don't use these cookies to "
+"track you."
+msgstr ""
+
+#: searx/templates/courgette/preferences.html:127
+#: searx/templates/legacy/preferences.html:124
+#: searx/templates/oscar/preferences.html:305
+#: searx/templates/pix-art/preferences.html:78
+#: searx/templates/simple/preferences.html:185
+msgid "save"
+msgstr "దాచు"
+
+#: searx/templates/courgette/preferences.html:128
+#: searx/templates/legacy/preferences.html:125
+#: searx/templates/oscar/preferences.html:307
+#: searx/templates/simple/preferences.html:186
+msgid "Reset defaults"
+msgstr "నిష్క్రియాలకు అమర్చు"
+
+#: searx/templates/courgette/preferences.html:129
+#: searx/templates/legacy/preferences.html:126
+#: searx/templates/oscar/preferences.html:306
+#: searx/templates/pix-art/preferences.html:79
+#: searx/templates/simple/preferences.html:187
+msgid "back"
+msgstr "వెనక్కి"
+
+#: searx/templates/courgette/results.html:12
+#: searx/templates/legacy/results.html:13
+#: searx/templates/oscar/results.html:136
+#: searx/templates/simple/results.html:58
+msgid "Search URL"
+msgstr "శోధన URL"
+
+#: searx/templates/courgette/results.html:16
+#: searx/templates/legacy/results.html:17
+#: searx/templates/oscar/results.html:141
+#: searx/templates/simple/results.html:62
+msgid "Download results"
+msgstr "ఫలితాలను దింపుకోండి"
+
+#: searx/templates/courgette/results.html:34
+#: searx/templates/legacy/results.html:35
+#: searx/templates/simple/results.html:10
+msgid "Answers"
+msgstr "జవాబులు"
+
+#: searx/templates/courgette/results.html:42
+#: searx/templates/legacy/results.html:43
+#: searx/templates/oscar/results.html:116
+#: searx/templates/simple/results.html:42
+msgid "Suggestions"
+msgstr "సూచనలు"
+
+#: searx/templates/courgette/results.html:70
+#: searx/templates/legacy/results.html:81
+#: searx/templates/oscar/results.html:68 searx/templates/oscar/results.html:78
+#: searx/templates/simple/results.html:130
+msgid "previous page"
+msgstr "పూర్వపు పుట"
+
+#: searx/templates/courgette/results.html:81
+#: searx/templates/legacy/results.html:92
+#: searx/templates/oscar/results.html:62 searx/templates/oscar/results.html:84
+#: searx/templates/simple/results.html:145
+msgid "next page"
+msgstr "తర్వాతి పుట"
+
+#: searx/templates/courgette/search.html:3
+#: searx/templates/legacy/search.html:3 searx/templates/oscar/search.html:6
+#: searx/templates/oscar/search_full.html:9
+#: searx/templates/pix-art/search.html:3 searx/templates/simple/search.html:4
+msgid "Search for..."
+msgstr "శోధించు..."
+
+#: searx/templates/courgette/stats.html:4 searx/templates/legacy/stats.html:4
+#: searx/templates/oscar/stats.html:5 searx/templates/pix-art/stats.html:4
+#: searx/templates/simple/stats.html:7
+msgid "Engine stats"
+msgstr ""
+
+#: searx/templates/courgette/result_templates/images.html:4
+#: searx/templates/legacy/result_templates/images.html:4
+#: searx/templates/pix-art/result_templates/images.html:4
+msgid "original context"
+msgstr ""
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Seeder"
+msgstr ""
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Leecher"
+msgstr ""
+
+#: searx/templates/courgette/result_templates/torrent.html:9
+#: searx/templates/legacy/result_templates/torrent.html:9
+#: searx/templates/oscar/macros.html:23
+#: searx/templates/simple/result_templates/torrent.html:6
+msgid "magnet link"
+msgstr ""
+
+#: searx/templates/courgette/result_templates/torrent.html:10
+#: searx/templates/legacy/result_templates/torrent.html:10
+#: searx/templates/oscar/macros.html:24
+#: searx/templates/simple/result_templates/torrent.html:7
+msgid "torrent file"
+msgstr ""
+
+#: searx/templates/legacy/categories.html:8
+#: searx/templates/simple/categories.html:6
+msgid "Click on the magnifier to perform search"
+msgstr ""
+
+#: searx/templates/legacy/preferences.html:84
+#: searx/templates/oscar/preferences.html:113
+#: searx/templates/simple/preferences.html:142
+msgid "Results on new tabs"
+msgstr ""
+
+#: searx/templates/legacy/preferences.html:87
+#: searx/templates/oscar/preferences.html:117
+#: searx/templates/simple/preferences.html:145
+msgid "On"
+msgstr ""
+
+#: searx/templates/legacy/preferences.html:88
+#: searx/templates/oscar/preferences.html:118
+#: searx/templates/simple/preferences.html:146
+msgid "Off"
+msgstr ""
+
+#: searx/templates/legacy/result_templates/code.html:3
+#: searx/templates/legacy/result_templates/default.html:3
+#: searx/templates/legacy/result_templates/map.html:9
+#: searx/templates/oscar/macros.html:34 searx/templates/oscar/macros.html:48
+#: searx/templates/simple/macros.html:43
+msgid "cached"
+msgstr ""
+
+#: searx/templates/oscar/advanced.html:4
+msgid "Advanced settings"
+msgstr ""
+
+#: searx/templates/oscar/base.html:62
+#: searx/templates/oscar/messages/first_time.html:4
+#: searx/templates/oscar/messages/save_settings_successfull.html:5
+#: searx/templates/oscar/messages/unknow_error.html:5
+msgid "Close"
+msgstr "మూసివేయు"
+
+#: searx/templates/oscar/base.html:64
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+#: searx/templates/simple/results.html:25
+msgid "Error!"
+msgstr "దోషం!"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "Powered by"
+msgstr ""
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "a privacy-respecting, hackable metasearch engine"
+msgstr ""
+
+#: searx/templates/oscar/macros.html:36 searx/templates/oscar/macros.html:50
+#: searx/templates/simple/macros.html:43
+msgid "proxied"
+msgstr ""
+
+#: searx/templates/oscar/macros.html:92
+msgid "supported"
+msgstr "ఆదరించబడిన"
+
+#: searx/templates/oscar/macros.html:96
+msgid "not supported"
+msgstr "ఆదరణ లేని"
+
+#: searx/templates/oscar/preferences.html:13
+#: searx/templates/oscar/preferences.html:22
+#: searx/templates/simple/preferences.html:32
+msgid "General"
+msgstr "సాధారణ"
+
+#: searx/templates/oscar/preferences.html:14
+#: searx/templates/oscar/preferences.html:146
+#: searx/templates/simple/preferences.html:76
+msgid "Engines"
+msgstr "యంత్రాలు"
+
+#: searx/templates/oscar/preferences.html:15
+#: searx/templates/oscar/preferences.html:219
+msgid "Plugins"
+msgstr "ప్లగిన్లు"
+
+#: searx/templates/oscar/preferences.html:16
+#: searx/templates/oscar/preferences.html:245
+msgid "Answerers"
+msgstr "జవాబులు"
+
+#: searx/templates/oscar/preferences.html:17
+#: searx/templates/oscar/preferences.html:272
+msgid "Cookies"
+msgstr "కుకీలు"
+
+#: searx/templates/oscar/preferences.html:42
+#: searx/templates/simple/preferences.html:48
+msgid "What language do you prefer for search?"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:48
+#: searx/templates/simple/preferences.html:128
+msgid "Change the language of the layout"
+msgstr "వినిమయసీమ యొక్క భాషను మార్చు"
+
+#: searx/templates/oscar/preferences.html:58
+#: searx/templates/simple/preferences.html:60
+msgid "Find stuff as you type"
+msgstr "టైపు చేస్తూ శోధించు"
+
+#: searx/templates/oscar/preferences.html:69
+#: searx/templates/simple/preferences.html:173
+msgid "Proxying image results through searx"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:78
+msgid ""
+"Change how forms are submited, <a "
+"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
+" rel=\"external\">learn more about request methods</a>"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:87
+#: searx/templates/simple/preferences.html:71
+msgid "Filter content"
+msgstr "విషయాలను వడకట్టు"
+
+#: searx/templates/oscar/preferences.html:97
+#: searx/templates/simple/preferences.html:139
+msgid "Change searx layout"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Choose style for this theme"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Style"
+msgstr "శైలి"
+
+#: searx/templates/oscar/preferences.html:122
+msgid "Open Access DOI resolver"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:123
+msgid ""
+"Redirect to open-access versions of publications when available (plugin "
+"required)"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:163
+#: searx/templates/oscar/preferences.html:175
+#: searx/templates/simple/preferences.html:88
+msgid "Shortcut"
+msgstr "సత్వరమార్గం"
+
+#: searx/templates/oscar/preferences.html:164
+#: searx/templates/oscar/preferences.html:174
+msgid "Selected language"
+msgstr "ఎంచుకున్న భాష"
+
+#: searx/templates/oscar/preferences.html:166
+#: searx/templates/oscar/preferences.html:172
+#: searx/templates/simple/preferences.html:91
+msgid "Time range"
+msgstr "కాల శ్రేణి"
+
+#: searx/templates/oscar/preferences.html:167
+#: searx/templates/oscar/preferences.html:171
+#: searx/templates/simple/preferences.html:92
+msgid "Avg. time"
+msgstr "సగటు సమయం"
+
+#: searx/templates/oscar/preferences.html:168
+#: searx/templates/oscar/preferences.html:170
+#: searx/templates/simple/preferences.html:93
+msgid "Max time"
+msgstr "గరిష్ఠ సమయం"
+
+#: searx/templates/oscar/preferences.html:248
+msgid "This is the list of searx's instant answering modules."
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:252
+msgid "Name"
+msgstr "పేరు"
+
+#: searx/templates/oscar/preferences.html:253
+msgid "Keywords"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:254
+msgid "Description"
+msgstr "వర్ణన"
+
+#: searx/templates/oscar/preferences.html:255
+msgid "Examples"
+msgstr "ఉదాహరణలు"
+
+#: searx/templates/oscar/preferences.html:275
+msgid ""
+"This is the list of cookies and their values searx is storing on your "
+"computer."
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:276
+msgid "With that list, you can assess searx transparency."
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:281
+msgid "Cookie name"
+msgstr "కుకీ పేరు"
+
+#: searx/templates/oscar/preferences.html:282
+msgid "Value"
+msgstr "విలువ"
+
+#: searx/templates/oscar/preferences.html:301
+msgid "Search URL of the currently saved preferences"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:301
+msgid ""
+"Note: specifying custom settings in the search URL can reduce privacy by "
+"leaking data to the clicked result sites."
+msgstr ""
+
+#: searx/templates/oscar/results.html:17
+msgid "Search results"
+msgstr ""
+
+#: searx/templates/oscar/results.html:21
+#: searx/templates/simple/results.html:84
+msgid "Try searching for:"
+msgstr "దీనికొరకు శోధించండి:"
+
+#: searx/templates/oscar/results.html:100
+#: searx/templates/simple/results.html:25
+msgid "Engines cannot retrieve results"
+msgstr "యంత్రాలు ఫలితాలను రాబట్టలేకపోతున్నాయి"
+
+#: searx/templates/oscar/results.html:131
+msgid "Links"
+msgstr "లంకెలు"
+
+#: searx/templates/oscar/search.html:8
+#: searx/templates/oscar/search_full.html:11
+#: searx/templates/simple/search.html:5
+msgid "Start search"
+msgstr "శోధన ప్రారంభించు"
+
+#: searx/templates/oscar/stats.html:2
+msgid "stats"
+msgstr "స్థితి వివరణ లెక్కలు"
+
+#: searx/templates/oscar/time-range.html:3
+#: searx/templates/simple/time-range.html:3
+msgid "Anytime"
+msgstr "ఎప్పుడైనా"
+
+#: searx/templates/oscar/time-range.html:6
+#: searx/templates/simple/time-range.html:6
+msgid "Last day"
+msgstr "క్రిందటి రోజు"
+
+#: searx/templates/oscar/time-range.html:9
+#: searx/templates/simple/time-range.html:9
+msgid "Last week"
+msgstr "క్రిందటి వారం"
+
+#: searx/templates/oscar/time-range.html:12
+#: searx/templates/simple/time-range.html:12
+msgid "Last month"
+msgstr "క్రిందటి నెల"
+
+#: searx/templates/oscar/time-range.html:15
+#: searx/templates/simple/time-range.html:15
+msgid "Last year"
+msgstr "క్రిందటి సంవత్సరం"
+
+#: searx/templates/oscar/messages/first_time.html:6
+#: searx/templates/oscar/messages/no_data_available.html:3
+msgid "Heads up!"
+msgstr "జాగ్రత్త!"
+
+#: searx/templates/oscar/messages/first_time.html:7
+msgid "It look like you are using searx first time."
+msgstr ""
+
+#: searx/templates/oscar/messages/no_cookies.html:3
+msgid "Information!"
+msgstr "సమాచారం!"
+
+#: searx/templates/oscar/messages/no_cookies.html:4
+msgid "currently, there are no cookies defined."
+msgstr ""
+
+#: searx/templates/oscar/messages/no_data_available.html:4
+msgid "There is currently no data available. "
+msgstr ""
+
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+msgid "Engines cannot retrieve results."
+msgstr "యంత్రాలు ఫలితాలను రాబట్టలేకపోయాయి."
+
+#: searx/templates/oscar/messages/no_results.html:10
+#: searx/templates/simple/messages/no_results.html:10
+msgid "Please, try again later or find another searx instance."
+msgstr ""
+
+#: searx/templates/oscar/messages/no_results.html:14
+#: searx/templates/simple/messages/no_results.html:14
+msgid "Sorry!"
+msgstr "క్షమించండి!"
+
+#: searx/templates/oscar/messages/no_results.html:15
+#: searx/templates/simple/messages/no_results.html:15
+msgid ""
+"we didn't find any results. Please use another query or search in more "
+"categories."
+msgstr ""
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:7
+msgid "Well done!"
+msgstr "భళా!"
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:8
+msgid "Settings saved successfully."
+msgstr "ఆమరికలు విజయవంతంగా పొందుపరచబడ్డాయి."
+
+#: searx/templates/oscar/messages/unknow_error.html:7
+msgid "Oh snap!"
+msgstr "అయ్యో!"
+
+#: searx/templates/oscar/messages/unknow_error.html:8
+msgid "Something went wrong."
+msgstr "ఏదో తప్పు జరిగింది."
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "show media"
+msgstr ""
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "hide media"
+msgstr ""
+
+#: searx/templates/oscar/result_templates/images.html:30
+msgid "Get image"
+msgstr ""
+
+#: searx/templates/oscar/result_templates/images.html:33
+msgid "View source"
+msgstr ""
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "show map"
+msgstr ""
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "hide map"
+msgstr ""
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "show details"
+msgstr ""
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "hide details"
+msgstr ""
+
+#: searx/templates/oscar/result_templates/torrent.html:7
+#: searx/templates/simple/result_templates/torrent.html:11
+msgid "Filesize"
+msgstr ""
+
+#: searx/templates/oscar/result_templates/torrent.html:9
+#: searx/templates/simple/result_templates/torrent.html:12
+msgid "Bytes"
+msgstr ""
+
+#: searx/templates/oscar/result_templates/torrent.html:10
+#: searx/templates/simple/result_templates/torrent.html:13
+msgid "kiB"
+msgstr ""
+
+#: searx/templates/oscar/result_templates/torrent.html:11
+#: searx/templates/simple/result_templates/torrent.html:14
+msgid "MiB"
+msgstr ""
+
+#: searx/templates/oscar/result_templates/torrent.html:12
+#: searx/templates/simple/result_templates/torrent.html:15
+msgid "GiB"
+msgstr ""
+
+#: searx/templates/oscar/result_templates/torrent.html:13
+#: searx/templates/simple/result_templates/torrent.html:16
+msgid "TiB"
+msgstr ""
+
+#: searx/templates/oscar/result_templates/torrent.html:15
+#: searx/templates/simple/result_templates/torrent.html:20
+msgid "Number of Files"
+msgstr "ఫైళ్ళ సంఖ్య"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "show video"
+msgstr "వీడియో చూపించు"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "hide video"
+msgstr "వీడియోను దాచిపెట్టు"
+
+#: searx/templates/pix-art/results.html:28
+msgid "Load more..."
+msgstr ""
+
+#: searx/templates/simple/base.html:31
+msgid "No item found"
+msgstr "ఏమీ దొరకలేదు"
+
+#: searx/templates/simple/preferences.html:89
+msgid "Supports selected language"
+msgstr ""
+
+#: searx/templates/simple/preferences.html:118
+msgid "User interface"
+msgstr ""
+
+#: searx/templates/simple/preferences.html:154
+msgid "Privacy"
+msgstr "ఆంతరంగికత"
diff --git a/searx/translations/tr/LC_MESSAGES/messages.mo b/searx/translations/tr/LC_MESSAGES/messages.mo
index 4125a24ad..ec47020aa 100644
--- a/searx/translations/tr/LC_MESSAGES/messages.mo
+++ b/searx/translations/tr/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/tr/LC_MESSAGES/messages.po b/searx/translations/tr/LC_MESSAGES/messages.po
index 65974de7a..a15c85609 100644
--- a/searx/translations/tr/LC_MESSAGES/messages.po
+++ b/searx/translations/tr/LC_MESSAGES/messages.po
@@ -3,6 +3,7 @@
# This file is distributed under the same license as the PROJECT project.
#
# Translators:
+# Arda Kılıçdağı <ardakilicdagi@gmail.com>, 2018
# Caner Başaran <basaran.caner@protonmail.com>, 2014-2016
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014
msgid ""
@@ -10,8 +11,8 @@ msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2017-11-01 21:31+0100\n"
-"PO-Revision-Date: 2017-11-01 20:31+0000\n"
-"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n"
+"PO-Revision-Date: 2018-12-06 17:22+0000\n"
+"Last-Translator: Arda Kılıçdağı <ardakilicdagi@gmail.com>\n"
"Language-Team: Turkish (http://www.transifex.com/asciimoo/searx/language/tr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,15 +23,15 @@ msgstr ""
#: searx/search.py:137 searx/search.py:182
msgid "timeout"
-msgstr ""
+msgstr "zaman aşımı"
#: searx/search.py:144
msgid "request exception"
-msgstr ""
+msgstr "istekte bir hata oluştu"
#: searx/search.py:151
msgid "unexpected crash"
-msgstr ""
+msgstr "beklenmmeyen hata"
#: searx/webapp.py:136
msgid "files"
@@ -74,15 +75,15 @@ msgstr "bilim"
#: searx/webapp.py:399 searx/webapp.py:658
msgid "Invalid settings, please edit your preferences"
-msgstr ""
+msgstr "Hatalı ayar girildi, lütfen ayarlarınızı kontrol edin"
#: searx/webapp.py:415
msgid "Invalid settings"
-msgstr ""
+msgstr "Hatalı ayar"
#: searx/webapp.py:449 searx/webapp.py:493
msgid "search error"
-msgstr ""
+msgstr "arama hatası"
#: searx/webapp.py:530
msgid "{minutes} minute(s) ago"
@@ -94,27 +95,27 @@ msgstr "{hours} saat(), {minutes} dakika() önce"
#: searx/answerers/random/answerer.py:53
msgid "Random value generator"
-msgstr ""
+msgstr "Rastgele değer üretici"
#: searx/answerers/random/answerer.py:54
msgid "Generate different random values"
-msgstr ""
+msgstr "Farklı rastgele metinler üret"
#: searx/answerers/statistics/answerer.py:53
msgid "Statistics functions"
-msgstr ""
+msgstr "İstatistik fonksiyonları"
#: searx/answerers/statistics/answerer.py:54
msgid "Compute {functions} of the arguments"
-msgstr ""
+msgstr "Argümanların {functions} değerlerini hesapla"
#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201
msgid "Engine time (sec)"
-msgstr ""
+msgstr "Motor cevap süresi (sn)"
#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205
msgid "Page loads (sec)"
-msgstr "Yüklenen sayfa (sn)"
+msgstr "Sayfa yüklenmesi (sn)"
#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209
#: searx/templates/oscar/results.html:95
@@ -124,11 +125,11 @@ msgstr "Sonuç sayısı"
#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213
msgid "Scores"
-msgstr ""
+msgstr "Skor"
#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217
msgid "Scores per result"
-msgstr ""
+msgstr "Sonuç başına skor"
#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221
msgid "Errors"
@@ -136,7 +137,7 @@ msgstr "Hatalar"
#: searx/engines/pdbe.py:87
msgid "{title}&nbsp;(OBSOLETE)"
-msgstr ""
+msgstr "{title}&nbsp;(GEÇERSİZ)"
#: searx/engines/pdbe.py:91
msgid "This entry has been superseded by"
diff --git a/searx/translations/uk/LC_MESSAGES/messages.mo b/searx/translations/uk/LC_MESSAGES/messages.mo
new file mode 100644
index 000000000..6610dfaa7
--- /dev/null
+++ b/searx/translations/uk/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/uk/LC_MESSAGES/messages.po b/searx/translations/uk/LC_MESSAGES/messages.po
new file mode 100644
index 000000000..7c6ac5aac
--- /dev/null
+++ b/searx/translations/uk/LC_MESSAGES/messages.po
@@ -0,0 +1,1015 @@
+# Translations template for PROJECT.
+# Copyright (C) 2017 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+#
+# Translators:
+# pvhn4 <pvhn4@protonmail.com>, 2017
+# pvhn4 <pvhn4@protonmail.com>, 2017
+# zubr139, 2016-2017
+msgid ""
+msgstr ""
+"Project-Id-Version: searx\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2017-11-01 21:31+0100\n"
+"PO-Revision-Date: 2017-11-01 20:31+0000\n"
+"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n"
+"Language-Team: Ukrainian (http://www.transifex.com/asciimoo/searx/language/uk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.3.4\n"
+"Language: uk\n"
+"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
+
+#: searx/search.py:137 searx/search.py:182
+msgid "timeout"
+msgstr ""
+
+#: searx/search.py:144
+msgid "request exception"
+msgstr ""
+
+#: searx/search.py:151
+msgid "unexpected crash"
+msgstr ""
+
+#: searx/webapp.py:136
+msgid "files"
+msgstr "файли"
+
+#: searx/webapp.py:137
+msgid "general"
+msgstr "загальні"
+
+#: searx/webapp.py:138
+msgid "music"
+msgstr "музика"
+
+#: searx/webapp.py:139
+msgid "social media"
+msgstr "соцмережі"
+
+#: searx/webapp.py:140
+msgid "images"
+msgstr "зображення"
+
+#: searx/webapp.py:141
+msgid "videos"
+msgstr "відео"
+
+#: searx/webapp.py:142
+msgid "it"
+msgstr "IT"
+
+#: searx/webapp.py:143
+msgid "news"
+msgstr "новини"
+
+#: searx/webapp.py:144
+msgid "map"
+msgstr "карти"
+
+#: searx/webapp.py:145
+msgid "science"
+msgstr "наука"
+
+#: searx/webapp.py:399 searx/webapp.py:658
+msgid "Invalid settings, please edit your preferences"
+msgstr "Невірні налаштування, будь ласка, зробіть зміни в налаштуваннях"
+
+#: searx/webapp.py:415
+msgid "Invalid settings"
+msgstr ""
+
+#: searx/webapp.py:449 searx/webapp.py:493
+msgid "search error"
+msgstr "помилка пошуку"
+
+#: searx/webapp.py:530
+msgid "{minutes} minute(s) ago"
+msgstr "{minutes} хвилин тому"
+
+#: searx/webapp.py:532
+msgid "{hours} hour(s), {minutes} minute(s) ago"
+msgstr "{hours} годин, {minutes} хвилин тому"
+
+#: searx/answerers/random/answerer.py:53
+msgid "Random value generator"
+msgstr "Генератор випадкових значень"
+
+#: searx/answerers/random/answerer.py:54
+msgid "Generate different random values"
+msgstr "Створити різні випадкові значення"
+
+#: searx/answerers/statistics/answerer.py:53
+msgid "Statistics functions"
+msgstr "Функції статистики"
+
+#: searx/answerers/statistics/answerer.py:54
+msgid "Compute {functions} of the arguments"
+msgstr "Розрахувати {functions} аргументів"
+
+#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201
+msgid "Engine time (sec)"
+msgstr "Час пошуку (сек)"
+
+#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205
+msgid "Page loads (sec)"
+msgstr "Час завантадення (сек)"
+
+#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209
+#: searx/templates/oscar/results.html:95
+#: searx/templates/simple/results.html:20
+msgid "Number of results"
+msgstr "Число результатів"
+
+#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213
+msgid "Scores"
+msgstr "Влучань"
+
+#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217
+msgid "Scores per result"
+msgstr "Влучань за результат"
+
+#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221
+msgid "Errors"
+msgstr "Помилок"
+
+#: searx/engines/pdbe.py:87
+msgid "{title}&nbsp;(OBSOLETE)"
+msgstr "{title}&nbsp;(OBSOLETE)"
+
+#: searx/engines/pdbe.py:91
+msgid "This entry has been superseded by"
+msgstr "Цей запис був змінений"
+
+#: searx/engines/pubmed.py:74
+msgid "No abstract is available for this publication."
+msgstr ""
+
+#: searx/plugins/https_rewrite.py:32
+msgid "Rewrite HTTP links to HTTPS if possible"
+msgstr "За можливістю замінити в посиланнях HTTP на HTTPS"
+
+#: searx/plugins/infinite_scroll.py:3
+msgid "Infinite scroll"
+msgstr "Нескінченна прокрутка"
+
+#: searx/plugins/infinite_scroll.py:4
+msgid "Automatically load next page when scrolling to bottom of current page"
+msgstr "Автоматично завантажувати наступну сторінку при прокрутці поточної до кінця"
+
+#: searx/plugins/oa_doi_rewrite.py:9
+msgid "Open Access DOI rewrite"
+msgstr ""
+
+#: searx/plugins/oa_doi_rewrite.py:10
+msgid ""
+"Avoid paywalls by redirecting to open-access versions of publications when "
+"available"
+msgstr "Уникайте платіжних каналів шляхом переадресації на версії публікацій з відкритим доступом, коли це можливо"
+
+#: searx/plugins/open_results_on_new_tab.py:18
+#: searx/templates/oscar/preferences.html:114
+#: searx/templates/simple/preferences.html:149
+msgid "Open result links on new browser tabs"
+msgstr "Відкривати посилання результатів в нових вкладках"
+
+#: searx/plugins/open_results_on_new_tab.py:19
+msgid ""
+"Results are opened in the same window by default. This plugin overwrites the"
+" default behaviour to open links on new tabs/windows. (JavaScript required)"
+msgstr "Типово результати відкриваються в тому ж вікні. Цей плагін змінює поведінку, щоб посилання відкривались типово в нових вкладках/вікнах. (Необхідний JavaScript)"
+
+#: searx/plugins/search_on_category_select.py:18
+msgid "Search on category select"
+msgstr "Пошук по обраній категорії"
+
+#: searx/plugins/search_on_category_select.py:19
+msgid ""
+"Perform search immediately if a category selected. Disable to select "
+"multiple categories. (JavaScript required)"
+msgstr "Виконувати пошук зразу при обранні категорії. Вимкнути вибір декількох категорій. (Необхідний JavaScript)"
+
+#: searx/plugins/self_info.py:20
+msgid ""
+"Displays your IP if the query is \"ip\" and your user agent if the query "
+"contains \"user agent\"."
+msgstr "Відображає IP-адресу при запиті \"ip\" та ваш user-agent при запиті \"user agent\"."
+
+#: searx/plugins/tracker_url_remover.py:26
+msgid "Tracker URL remover"
+msgstr "Видалення URL-адреси трекера"
+
+#: searx/plugins/tracker_url_remover.py:27
+msgid "Remove trackers arguments from the returned URL"
+msgstr "Вилучіть аргументи трекера з поверненої URL-адреси"
+
+#: searx/plugins/vim_hotkeys.py:3
+msgid "Vim-like hotkeys"
+msgstr "Гарячі клавіші Vim"
+
+#: searx/plugins/vim_hotkeys.py:4
+msgid ""
+"Navigate search results with Vim-like hotkeys (JavaScript required). Press "
+"\"h\" key on main or result page to get help."
+msgstr "Переміщення результатів пошуку за допомогою віртуальних клавіш (потрібно JavaScript). Натисніть клавішу \"h\" на головній сторінці або на сторінці результатів, щоб отримати допомогу."
+
+#: searx/templates/courgette/404.html:4 searx/templates/legacy/404.html:4
+#: searx/templates/oscar/404.html:4 searx/templates/pix-art/404.html:4
+#: searx/templates/simple/404.html:4
+msgid "Page not found"
+msgstr "Сторінка не знайдена"
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+#, python-format
+msgid "Go to %(search_page)s."
+msgstr "Перейти до %(search_page)s."
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+msgid "search page"
+msgstr "сторінки пошуку"
+
+#: searx/templates/courgette/index.html:9
+#: searx/templates/courgette/index.html:13
+#: searx/templates/courgette/results.html:5
+#: searx/templates/legacy/index.html:8 searx/templates/legacy/index.html:12
+#: searx/templates/oscar/navbar.html:7
+#: searx/templates/oscar/preferences.html:3
+#: searx/templates/pix-art/index.html:8
+msgid "preferences"
+msgstr "опції"
+
+#: searx/templates/courgette/index.html:11
+#: searx/templates/legacy/index.html:10 searx/templates/oscar/about.html:2
+#: searx/templates/oscar/navbar.html:6 searx/templates/pix-art/index.html:7
+msgid "about"
+msgstr "про сайт"
+
+#: searx/templates/courgette/preferences.html:5
+#: searx/templates/legacy/preferences.html:5
+#: searx/templates/oscar/preferences.html:8
+#: searx/templates/pix-art/preferences.html:5
+#: searx/templates/simple/preferences.html:26
+msgid "Preferences"
+msgstr "Опції"
+
+#: searx/templates/courgette/preferences.html:9
+#: searx/templates/legacy/preferences.html:9
+#: searx/templates/oscar/preferences.html:33
+#: searx/templates/oscar/preferences.html:35
+#: searx/templates/simple/preferences.html:34
+msgid "Default categories"
+msgstr "Типові категорії"
+
+#: searx/templates/courgette/preferences.html:13
+#: searx/templates/legacy/preferences.html:14
+#: searx/templates/oscar/preferences.html:41
+#: searx/templates/pix-art/preferences.html:9
+#: searx/templates/simple/preferences.html:39
+#: searx/templates/simple/preferences.html:163
+msgid "Search language"
+msgstr "Мова пошуку"
+
+#: searx/templates/courgette/preferences.html:16
+#: searx/templates/legacy/preferences.html:17
+#: searx/templates/oscar/languages.html:6
+#: searx/templates/pix-art/preferences.html:12
+#: searx/templates/simple/languages.html:2
+#: searx/templates/simple/preferences.html:42
+msgid "Default language"
+msgstr "Стандартна мова"
+
+#: searx/templates/courgette/preferences.html:24
+#: searx/templates/legacy/preferences.html:25
+#: searx/templates/oscar/preferences.html:47
+#: searx/templates/pix-art/preferences.html:20
+#: searx/templates/simple/preferences.html:120
+msgid "Interface language"
+msgstr "Мова інтерфейсу"
+
+#: searx/templates/courgette/preferences.html:34
+#: searx/templates/legacy/preferences.html:35
+#: searx/templates/oscar/preferences.html:57
+#: searx/templates/simple/preferences.html:51
+msgid "Autocomplete"
+msgstr "Автозаповнення"
+
+#: searx/templates/courgette/preferences.html:45
+#: searx/templates/legacy/preferences.html:46
+#: searx/templates/oscar/preferences.html:68
+#: searx/templates/simple/preferences.html:166
+msgid "Image proxy"
+msgstr "Проксі для зображень"
+
+#: searx/templates/courgette/preferences.html:48
+#: searx/templates/legacy/preferences.html:49
+#: searx/templates/oscar/preferences.html:72
+#: searx/templates/simple/preferences.html:169
+msgid "Enabled"
+msgstr "Ввімкнено"
+
+#: searx/templates/courgette/preferences.html:49
+#: searx/templates/legacy/preferences.html:50
+#: searx/templates/oscar/preferences.html:73
+#: searx/templates/simple/preferences.html:170
+msgid "Disabled"
+msgstr "Вимкнено"
+
+#: searx/templates/courgette/preferences.html:54
+#: searx/templates/legacy/preferences.html:55
+#: searx/templates/oscar/preferences.html:77
+#: searx/templates/pix-art/preferences.html:30
+#: searx/templates/simple/preferences.html:156
+msgid "Method"
+msgstr "Метод"
+
+#: searx/templates/courgette/preferences.html:63
+#: searx/templates/legacy/preferences.html:64
+#: searx/templates/oscar/preferences.html:86
+#: searx/templates/oscar/preferences.html:165
+#: searx/templates/oscar/preferences.html:173
+#: searx/templates/simple/preferences.html:63
+#: searx/templates/simple/preferences.html:90
+msgid "SafeSearch"
+msgstr "БезпечнийПошук"
+
+#: searx/templates/courgette/preferences.html:66
+#: searx/templates/legacy/preferences.html:67
+#: searx/templates/oscar/preferences.html:90
+#: searx/templates/simple/preferences.html:66
+msgid "Strict"
+msgstr "Жорский"
+
+#: searx/templates/courgette/preferences.html:67
+#: searx/templates/legacy/preferences.html:68
+#: searx/templates/oscar/preferences.html:91
+#: searx/templates/simple/preferences.html:67
+msgid "Moderate"
+msgstr "Помірний"
+
+#: searx/templates/courgette/preferences.html:68
+#: searx/templates/legacy/preferences.html:69
+#: searx/templates/oscar/preferences.html:92
+#: searx/templates/simple/preferences.html:68
+msgid "None"
+msgstr "Вимкнений"
+
+#: searx/templates/courgette/preferences.html:73
+#: searx/templates/legacy/preferences.html:74
+#: searx/templates/oscar/preferences.html:96
+#: searx/templates/pix-art/preferences.html:39
+#: searx/templates/simple/preferences.html:131
+msgid "Themes"
+msgstr "Теми"
+
+#: searx/templates/courgette/preferences.html:83
+msgid "Color"
+msgstr "Колір"
+
+#: searx/templates/courgette/preferences.html:86
+msgid "Blue (default)"
+msgstr "Синій (типово)"
+
+#: searx/templates/courgette/preferences.html:87
+msgid "Violet"
+msgstr "Фіолетовий"
+
+#: searx/templates/courgette/preferences.html:88
+msgid "Green"
+msgstr "Зелений"
+
+#: searx/templates/courgette/preferences.html:89
+msgid "Cyan"
+msgstr "Блакитний"
+
+#: searx/templates/courgette/preferences.html:90
+msgid "Orange"
+msgstr "Помаранчевий"
+
+#: searx/templates/courgette/preferences.html:91
+msgid "Red"
+msgstr "Червоний"
+
+#: searx/templates/courgette/preferences.html:96
+#: searx/templates/legacy/preferences.html:93
+#: searx/templates/pix-art/preferences.html:49
+#: searx/templates/simple/preferences.html:77
+msgid "Currently used search engines"
+msgstr "Пошукові системи, які використовуються"
+
+#: searx/templates/courgette/preferences.html:100
+#: searx/templates/legacy/preferences.html:97
+#: searx/templates/oscar/preferences.html:162
+#: searx/templates/oscar/preferences.html:176
+#: searx/templates/pix-art/preferences.html:53
+#: searx/templates/simple/preferences.html:87
+msgid "Engine name"
+msgstr "Назва пошукової системи"
+
+#: searx/templates/courgette/preferences.html:101
+#: searx/templates/legacy/preferences.html:98
+msgid "Category"
+msgstr "Категорія"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:113
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:110
+#: searx/templates/oscar/preferences.html:161
+#: searx/templates/oscar/preferences.html:177
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:64
+#: searx/templates/simple/preferences.html:86
+msgid "Allow"
+msgstr "Дозволити"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:114
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:111
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:65
+msgid "Block"
+msgstr "Заблокувати"
+
+#: searx/templates/courgette/preferences.html:122
+#: searx/templates/legacy/preferences.html:119
+#: searx/templates/oscar/preferences.html:297
+#: searx/templates/pix-art/preferences.html:73
+#: searx/templates/simple/preferences.html:180
+msgid ""
+"These settings are stored in your cookies, this allows us not to store this "
+"data about you."
+msgstr "Налаштування зберігаються в ваших cookie-файлах, що дає нам змогу не зберігати ці відомості про вас."
+
+#: searx/templates/courgette/preferences.html:124
+#: searx/templates/legacy/preferences.html:121
+#: searx/templates/oscar/preferences.html:299
+#: searx/templates/pix-art/preferences.html:75
+#: searx/templates/simple/preferences.html:182
+msgid ""
+"These cookies serve your sole convenience, we don't use these cookies to "
+"track you."
+msgstr "Ці cookie-файли необхідні винятково для вашої зручності, ми не використовуємо ці cookie-файли, щоб відслідковувати вас."
+
+#: searx/templates/courgette/preferences.html:127
+#: searx/templates/legacy/preferences.html:124
+#: searx/templates/oscar/preferences.html:305
+#: searx/templates/pix-art/preferences.html:78
+#: searx/templates/simple/preferences.html:185
+msgid "save"
+msgstr "зберегти"
+
+#: searx/templates/courgette/preferences.html:128
+#: searx/templates/legacy/preferences.html:125
+#: searx/templates/oscar/preferences.html:307
+#: searx/templates/simple/preferences.html:186
+msgid "Reset defaults"
+msgstr "Відновити стандартні налаштування"
+
+#: searx/templates/courgette/preferences.html:129
+#: searx/templates/legacy/preferences.html:126
+#: searx/templates/oscar/preferences.html:306
+#: searx/templates/pix-art/preferences.html:79
+#: searx/templates/simple/preferences.html:187
+msgid "back"
+msgstr "назад"
+
+#: searx/templates/courgette/results.html:12
+#: searx/templates/legacy/results.html:13
+#: searx/templates/oscar/results.html:136
+#: searx/templates/simple/results.html:58
+msgid "Search URL"
+msgstr "Посилання на пошук"
+
+#: searx/templates/courgette/results.html:16
+#: searx/templates/legacy/results.html:17
+#: searx/templates/oscar/results.html:141
+#: searx/templates/simple/results.html:62
+msgid "Download results"
+msgstr "Завантажити результати"
+
+#: searx/templates/courgette/results.html:34
+#: searx/templates/legacy/results.html:35
+#: searx/templates/simple/results.html:10
+msgid "Answers"
+msgstr "Відповіді"
+
+#: searx/templates/courgette/results.html:42
+#: searx/templates/legacy/results.html:43
+#: searx/templates/oscar/results.html:116
+#: searx/templates/simple/results.html:42
+msgid "Suggestions"
+msgstr "Пропозиції"
+
+#: searx/templates/courgette/results.html:70
+#: searx/templates/legacy/results.html:81
+#: searx/templates/oscar/results.html:68 searx/templates/oscar/results.html:78
+#: searx/templates/simple/results.html:130
+msgid "previous page"
+msgstr "попередня сторінка"
+
+#: searx/templates/courgette/results.html:81
+#: searx/templates/legacy/results.html:92
+#: searx/templates/oscar/results.html:62 searx/templates/oscar/results.html:84
+#: searx/templates/simple/results.html:145
+msgid "next page"
+msgstr "наступна сторінка"
+
+#: searx/templates/courgette/search.html:3
+#: searx/templates/legacy/search.html:3 searx/templates/oscar/search.html:6
+#: searx/templates/oscar/search_full.html:9
+#: searx/templates/pix-art/search.html:3 searx/templates/simple/search.html:4
+msgid "Search for..."
+msgstr "Шукати..."
+
+#: searx/templates/courgette/stats.html:4 searx/templates/legacy/stats.html:4
+#: searx/templates/oscar/stats.html:5 searx/templates/pix-art/stats.html:4
+#: searx/templates/simple/stats.html:7
+msgid "Engine stats"
+msgstr "Статистика пошукової системи"
+
+#: searx/templates/courgette/result_templates/images.html:4
+#: searx/templates/legacy/result_templates/images.html:4
+#: searx/templates/pix-art/result_templates/images.html:4
+msgid "original context"
+msgstr "в контексті"
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Seeder"
+msgstr "Сідер"
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Leecher"
+msgstr "Лічер"
+
+#: searx/templates/courgette/result_templates/torrent.html:9
+#: searx/templates/legacy/result_templates/torrent.html:9
+#: searx/templates/oscar/macros.html:23
+#: searx/templates/simple/result_templates/torrent.html:6
+msgid "magnet link"
+msgstr "магнет-посилання"
+
+#: searx/templates/courgette/result_templates/torrent.html:10
+#: searx/templates/legacy/result_templates/torrent.html:10
+#: searx/templates/oscar/macros.html:24
+#: searx/templates/simple/result_templates/torrent.html:7
+msgid "torrent file"
+msgstr "торрент-файл"
+
+#: searx/templates/legacy/categories.html:8
+#: searx/templates/simple/categories.html:6
+msgid "Click on the magnifier to perform search"
+msgstr "Натисніть лупу, щоб виконати пошук"
+
+#: searx/templates/legacy/preferences.html:84
+#: searx/templates/oscar/preferences.html:113
+#: searx/templates/simple/preferences.html:142
+msgid "Results on new tabs"
+msgstr "Результати в нових вкладках"
+
+#: searx/templates/legacy/preferences.html:87
+#: searx/templates/oscar/preferences.html:117
+#: searx/templates/simple/preferences.html:145
+msgid "On"
+msgstr "Ввімк."
+
+#: searx/templates/legacy/preferences.html:88
+#: searx/templates/oscar/preferences.html:118
+#: searx/templates/simple/preferences.html:146
+msgid "Off"
+msgstr "Вимк."
+
+#: searx/templates/legacy/result_templates/code.html:3
+#: searx/templates/legacy/result_templates/default.html:3
+#: searx/templates/legacy/result_templates/map.html:9
+#: searx/templates/oscar/macros.html:34 searx/templates/oscar/macros.html:48
+#: searx/templates/simple/macros.html:43
+msgid "cached"
+msgstr "архівовано"
+
+#: searx/templates/oscar/advanced.html:4
+msgid "Advanced settings"
+msgstr "Додаткові налаштування"
+
+#: searx/templates/oscar/base.html:62
+#: searx/templates/oscar/messages/first_time.html:4
+#: searx/templates/oscar/messages/save_settings_successfull.html:5
+#: searx/templates/oscar/messages/unknow_error.html:5
+msgid "Close"
+msgstr "Закрити"
+
+#: searx/templates/oscar/base.html:64
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+#: searx/templates/simple/results.html:25
+msgid "Error!"
+msgstr "Помилка!"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "Powered by"
+msgstr "Використовується"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "a privacy-respecting, hackable metasearch engine"
+msgstr "вільна система метапошуку, яка поважає вашу приватність"
+
+#: searx/templates/oscar/macros.html:36 searx/templates/oscar/macros.html:50
+#: searx/templates/simple/macros.html:43
+msgid "proxied"
+msgstr "проксовано"
+
+#: searx/templates/oscar/macros.html:92
+msgid "supported"
+msgstr ""
+
+#: searx/templates/oscar/macros.html:96
+msgid "not supported"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:13
+#: searx/templates/oscar/preferences.html:22
+#: searx/templates/simple/preferences.html:32
+msgid "General"
+msgstr "Загальні"
+
+#: searx/templates/oscar/preferences.html:14
+#: searx/templates/oscar/preferences.html:146
+#: searx/templates/simple/preferences.html:76
+msgid "Engines"
+msgstr "Пошукові системи"
+
+#: searx/templates/oscar/preferences.html:15
+#: searx/templates/oscar/preferences.html:219
+msgid "Plugins"
+msgstr "Плагіни"
+
+#: searx/templates/oscar/preferences.html:16
+#: searx/templates/oscar/preferences.html:245
+msgid "Answerers"
+msgstr "Відповідачі"
+
+#: searx/templates/oscar/preferences.html:17
+#: searx/templates/oscar/preferences.html:272
+msgid "Cookies"
+msgstr "Cookie-файли"
+
+#: searx/templates/oscar/preferences.html:42
+#: searx/templates/simple/preferences.html:48
+msgid "What language do you prefer for search?"
+msgstr "Якій мові ви віддаєте перевагу для пошуку?"
+
+#: searx/templates/oscar/preferences.html:48
+#: searx/templates/simple/preferences.html:128
+msgid "Change the language of the layout"
+msgstr "Змінити мову сайту"
+
+#: searx/templates/oscar/preferences.html:58
+#: searx/templates/simple/preferences.html:60
+msgid "Find stuff as you type"
+msgstr "Шукати підчас набору"
+
+#: searx/templates/oscar/preferences.html:69
+#: searx/templates/simple/preferences.html:173
+msgid "Proxying image results through searx"
+msgstr "Проксувати знайдені зображення за допомогою searx"
+
+#: searx/templates/oscar/preferences.html:78
+msgid ""
+"Change how forms are submited, <a "
+"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
+" rel=\"external\">learn more about request methods</a>"
+msgstr "Змінити спосіб відправки запитів, <a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">детальніше про методи запитів</a>"
+
+#: searx/templates/oscar/preferences.html:87
+#: searx/templates/simple/preferences.html:71
+msgid "Filter content"
+msgstr "Фільтр контенту"
+
+#: searx/templates/oscar/preferences.html:97
+#: searx/templates/simple/preferences.html:139
+msgid "Change searx layout"
+msgstr "Змінити вигляд сайту"
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Choose style for this theme"
+msgstr "Обрати стиль для цієї теми"
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Style"
+msgstr "Стиль"
+
+#: searx/templates/oscar/preferences.html:122
+msgid "Open Access DOI resolver"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:123
+msgid ""
+"Redirect to open-access versions of publications when available (plugin "
+"required)"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:163
+#: searx/templates/oscar/preferences.html:175
+#: searx/templates/simple/preferences.html:88
+msgid "Shortcut"
+msgstr "Гарячі клавіші"
+
+#: searx/templates/oscar/preferences.html:164
+#: searx/templates/oscar/preferences.html:174
+msgid "Selected language"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:166
+#: searx/templates/oscar/preferences.html:172
+#: searx/templates/simple/preferences.html:91
+msgid "Time range"
+msgstr "Часовий діапазон"
+
+#: searx/templates/oscar/preferences.html:167
+#: searx/templates/oscar/preferences.html:171
+#: searx/templates/simple/preferences.html:92
+msgid "Avg. time"
+msgstr "Середній час"
+
+#: searx/templates/oscar/preferences.html:168
+#: searx/templates/oscar/preferences.html:170
+#: searx/templates/simple/preferences.html:93
+msgid "Max time"
+msgstr "Максимальний час"
+
+#: searx/templates/oscar/preferences.html:248
+msgid "This is the list of searx's instant answering modules."
+msgstr "Список модулів миттєвих відповідей searx."
+
+#: searx/templates/oscar/preferences.html:252
+msgid "Name"
+msgstr "Назва"
+
+#: searx/templates/oscar/preferences.html:253
+msgid "Keywords"
+msgstr "Ключові слова"
+
+#: searx/templates/oscar/preferences.html:254
+msgid "Description"
+msgstr "Опис"
+
+#: searx/templates/oscar/preferences.html:255
+msgid "Examples"
+msgstr "Приклади"
+
+#: searx/templates/oscar/preferences.html:275
+msgid ""
+"This is the list of cookies and their values searx is storing on your "
+"computer."
+msgstr "Це список cookie-файлів та їх значень, які searx зберігає на вашому комп'ютері."
+
+#: searx/templates/oscar/preferences.html:276
+msgid "With that list, you can assess searx transparency."
+msgstr "По цьому списку ви можете оцінити відкритість searx."
+
+#: searx/templates/oscar/preferences.html:281
+msgid "Cookie name"
+msgstr "Ім'я cookie"
+
+#: searx/templates/oscar/preferences.html:282
+msgid "Value"
+msgstr "Значення"
+
+#: searx/templates/oscar/preferences.html:301
+msgid "Search URL of the currently saved preferences"
+msgstr ""
+
+#: searx/templates/oscar/preferences.html:301
+msgid ""
+"Note: specifying custom settings in the search URL can reduce privacy by "
+"leaking data to the clicked result sites."
+msgstr ""
+
+#: searx/templates/oscar/results.html:17
+msgid "Search results"
+msgstr "Результати пошуку"
+
+#: searx/templates/oscar/results.html:21
+#: searx/templates/simple/results.html:84
+msgid "Try searching for:"
+msgstr ""
+
+#: searx/templates/oscar/results.html:100
+#: searx/templates/simple/results.html:25
+msgid "Engines cannot retrieve results"
+msgstr ""
+
+#: searx/templates/oscar/results.html:131
+msgid "Links"
+msgstr "Посилання"
+
+#: searx/templates/oscar/search.html:8
+#: searx/templates/oscar/search_full.html:11
+#: searx/templates/simple/search.html:5
+msgid "Start search"
+msgstr "Розпочати пошук"
+
+#: searx/templates/oscar/stats.html:2
+msgid "stats"
+msgstr "статистика"
+
+#: searx/templates/oscar/time-range.html:3
+#: searx/templates/simple/time-range.html:3
+msgid "Anytime"
+msgstr "За весь час"
+
+#: searx/templates/oscar/time-range.html:6
+#: searx/templates/simple/time-range.html:6
+msgid "Last day"
+msgstr "За останній день"
+
+#: searx/templates/oscar/time-range.html:9
+#: searx/templates/simple/time-range.html:9
+msgid "Last week"
+msgstr "За останній тиждень"
+
+#: searx/templates/oscar/time-range.html:12
+#: searx/templates/simple/time-range.html:12
+msgid "Last month"
+msgstr "За останній місяць"
+
+#: searx/templates/oscar/time-range.html:15
+#: searx/templates/simple/time-range.html:15
+msgid "Last year"
+msgstr "За останній рік"
+
+#: searx/templates/oscar/messages/first_time.html:6
+#: searx/templates/oscar/messages/no_data_available.html:3
+msgid "Heads up!"
+msgstr "Отакої!"
+
+#: searx/templates/oscar/messages/first_time.html:7
+msgid "It look like you are using searx first time."
+msgstr "Схоже, що ви використовуєте searx вперше."
+
+#: searx/templates/oscar/messages/no_cookies.html:3
+msgid "Information!"
+msgstr "Інформація!"
+
+#: searx/templates/oscar/messages/no_cookies.html:4
+msgid "currently, there are no cookies defined."
+msgstr "в даний час cookie-файли не встановлені."
+
+#: searx/templates/oscar/messages/no_data_available.html:4
+msgid "There is currently no data available. "
+msgstr "В даний час немає доступних даних."
+
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+msgid "Engines cannot retrieve results."
+msgstr ""
+
+#: searx/templates/oscar/messages/no_results.html:10
+#: searx/templates/simple/messages/no_results.html:10
+msgid "Please, try again later or find another searx instance."
+msgstr ""
+
+#: searx/templates/oscar/messages/no_results.html:14
+#: searx/templates/simple/messages/no_results.html:14
+msgid "Sorry!"
+msgstr "Вибачте!"
+
+#: searx/templates/oscar/messages/no_results.html:15
+#: searx/templates/simple/messages/no_results.html:15
+msgid ""
+"we didn't find any results. Please use another query or search in more "
+"categories."
+msgstr "ми не знайшли жодних результатів. Будь ласка, використайте інший запит або виконайте пошук в декількох категоріях."
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:7
+msgid "Well done!"
+msgstr "Чудово!"
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:8
+msgid "Settings saved successfully."
+msgstr "Налаштування успішно збережені."
+
+#: searx/templates/oscar/messages/unknow_error.html:7
+msgid "Oh snap!"
+msgstr "От халепа!"
+
+#: searx/templates/oscar/messages/unknow_error.html:8
+msgid "Something went wrong."
+msgstr "Щось пішло не так."
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "show media"
+msgstr "показати медіа"
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "hide media"
+msgstr "приховати медіа"
+
+#: searx/templates/oscar/result_templates/images.html:30
+msgid "Get image"
+msgstr "Завантажити зображення"
+
+#: searx/templates/oscar/result_templates/images.html:33
+msgid "View source"
+msgstr "Переглянути джерело"
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "show map"
+msgstr "показати карту"
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "hide map"
+msgstr "приховати карту"
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "show details"
+msgstr "показати деталі"
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "hide details"
+msgstr "приховати деталі"
+
+#: searx/templates/oscar/result_templates/torrent.html:7
+#: searx/templates/simple/result_templates/torrent.html:11
+msgid "Filesize"
+msgstr "Розмір файла"
+
+#: searx/templates/oscar/result_templates/torrent.html:9
+#: searx/templates/simple/result_templates/torrent.html:12
+msgid "Bytes"
+msgstr "Байтів"
+
+#: searx/templates/oscar/result_templates/torrent.html:10
+#: searx/templates/simple/result_templates/torrent.html:13
+msgid "kiB"
+msgstr "КіБ"
+
+#: searx/templates/oscar/result_templates/torrent.html:11
+#: searx/templates/simple/result_templates/torrent.html:14
+msgid "MiB"
+msgstr "МіБ"
+
+#: searx/templates/oscar/result_templates/torrent.html:12
+#: searx/templates/simple/result_templates/torrent.html:15
+msgid "GiB"
+msgstr "ГіБ"
+
+#: searx/templates/oscar/result_templates/torrent.html:13
+#: searx/templates/simple/result_templates/torrent.html:16
+msgid "TiB"
+msgstr "ТіБ"
+
+#: searx/templates/oscar/result_templates/torrent.html:15
+#: searx/templates/simple/result_templates/torrent.html:20
+msgid "Number of Files"
+msgstr "Кількість Файлів"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "show video"
+msgstr "показати відео"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "hide video"
+msgstr "приховати відео"
+
+#: searx/templates/pix-art/results.html:28
+msgid "Load more..."
+msgstr "Завантажити більше..."
+
+#: searx/templates/simple/base.html:31
+msgid "No item found"
+msgstr ""
+
+#: searx/templates/simple/preferences.html:89
+msgid "Supports selected language"
+msgstr "Підтримка обраної мови"
+
+#: searx/templates/simple/preferences.html:118
+msgid "User interface"
+msgstr ""
+
+#: searx/templates/simple/preferences.html:154
+msgid "Privacy"
+msgstr ""
diff --git a/searx/translations/vi/LC_MESSAGES/messages.mo b/searx/translations/vi/LC_MESSAGES/messages.mo
new file mode 100644
index 000000000..07dc309ea
--- /dev/null
+++ b/searx/translations/vi/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/vi/LC_MESSAGES/messages.po b/searx/translations/vi/LC_MESSAGES/messages.po
new file mode 100644
index 000000000..d8a1a0c94
--- /dev/null
+++ b/searx/translations/vi/LC_MESSAGES/messages.po
@@ -0,0 +1,1013 @@
+# Translations template for PROJECT.
+# Copyright (C) 2017 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+#
+# Translators:
+# dd721411 <dd721411@gmail.com>, 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: searx\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2017-11-01 21:31+0100\n"
+"PO-Revision-Date: 2018-02-28 17:27+0000\n"
+"Last-Translator: dd721411 <dd721411@gmail.com>\n"
+"Language-Team: Vietnamese (http://www.transifex.com/asciimoo/searx/language/vi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.3.4\n"
+"Language: vi\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: searx/search.py:137 searx/search.py:182
+msgid "timeout"
+msgstr "hết thời hạn"
+
+#: searx/search.py:144
+msgid "request exception"
+msgstr "ngoại lệ yêu cầu"
+
+#: searx/search.py:151
+msgid "unexpected crash"
+msgstr "lỗi bất ngờ"
+
+#: searx/webapp.py:136
+msgid "files"
+msgstr "các tập tin"
+
+#: searx/webapp.py:137
+msgid "general"
+msgstr "tổng quát"
+
+#: searx/webapp.py:138
+msgid "music"
+msgstr "âm nhạc"
+
+#: searx/webapp.py:139
+msgid "social media"
+msgstr "mạng xã hội"
+
+#: searx/webapp.py:140
+msgid "images"
+msgstr "hình ảnh"
+
+#: searx/webapp.py:141
+msgid "videos"
+msgstr "phim"
+
+#: searx/webapp.py:142
+msgid "it"
+msgstr "CNTT"
+
+#: searx/webapp.py:143
+msgid "news"
+msgstr "tin tức"
+
+#: searx/webapp.py:144
+msgid "map"
+msgstr "bản đồ"
+
+#: searx/webapp.py:145
+msgid "science"
+msgstr "khoa học"
+
+#: searx/webapp.py:399 searx/webapp.py:658
+msgid "Invalid settings, please edit your preferences"
+msgstr "Cài đặt không hợp lệ, xin xem lại tuỳ chỉnh"
+
+#: searx/webapp.py:415
+msgid "Invalid settings"
+msgstr "Cài đặt không hợp lệ"
+
+#: searx/webapp.py:449 searx/webapp.py:493
+msgid "search error"
+msgstr "lỗi tìm kiếm"
+
+#: searx/webapp.py:530
+msgid "{minutes} minute(s) ago"
+msgstr "{minutes} phút() trước"
+
+#: searx/webapp.py:532
+msgid "{hours} hour(s), {minutes} minute(s) ago"
+msgstr "{hours} giờ(), {minutes} phút() trước"
+
+#: searx/answerers/random/answerer.py:53
+msgid "Random value generator"
+msgstr "Trình tạo giá trị ngẫu nhiên"
+
+#: searx/answerers/random/answerer.py:54
+msgid "Generate different random values"
+msgstr "Tạo các giá trị ngẫu nhiên khác nhau"
+
+#: searx/answerers/statistics/answerer.py:53
+msgid "Statistics functions"
+msgstr "Các hàm thống kê"
+
+#: searx/answerers/statistics/answerer.py:54
+msgid "Compute {functions} of the arguments"
+msgstr "Tính toán {functions} của các đối số"
+
+#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201
+msgid "Engine time (sec)"
+msgstr "Thời gian trình tìm kiếm (giây)"
+
+#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205
+msgid "Page loads (sec)"
+msgstr "Tải trang (giây)"
+
+#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209
+#: searx/templates/oscar/results.html:95
+#: searx/templates/simple/results.html:20
+msgid "Number of results"
+msgstr "Số lượng kết quả"
+
+#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213
+msgid "Scores"
+msgstr "Điểm số"
+
+#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217
+msgid "Scores per result"
+msgstr "Điểm số cho từng kết quả"
+
+#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221
+msgid "Errors"
+msgstr "Các lỗi"
+
+#: searx/engines/pdbe.py:87
+msgid "{title}&nbsp;(OBSOLETE)"
+msgstr "{title}&nbsp;(LỖI THỜI)"
+
+#: searx/engines/pdbe.py:91
+msgid "This entry has been superseded by"
+msgstr "Mục này đã được thay thế bởi"
+
+#: searx/engines/pubmed.py:74
+msgid "No abstract is available for this publication."
+msgstr "Không có bản tóm tắt nào cho ấn phẩm này."
+
+#: searx/plugins/https_rewrite.py:32
+msgid "Rewrite HTTP links to HTTPS if possible"
+msgstr "Viết lại các liên kết HTTP thành HTTPS khi có thể"
+
+#: searx/plugins/infinite_scroll.py:3
+msgid "Infinite scroll"
+msgstr "Cuộn liên tục"
+
+#: searx/plugins/infinite_scroll.py:4
+msgid "Automatically load next page when scrolling to bottom of current page"
+msgstr "Tự động tải trang kế tiếp khi cuộn đến cuối trang hiện tại"
+
+#: searx/plugins/oa_doi_rewrite.py:9
+msgid "Open Access DOI rewrite"
+msgstr "Viết lại DOI Truy Cập Miễn Phí"
+
+#: searx/plugins/oa_doi_rewrite.py:10
+msgid ""
+"Avoid paywalls by redirecting to open-access versions of publications when "
+"available"
+msgstr "Tránh việc trả phí bằng cách chuyển hướng đến các phiên bản truy cập miễn phí của ấn phẩm khi có thể"
+
+#: searx/plugins/open_results_on_new_tab.py:18
+#: searx/templates/oscar/preferences.html:114
+#: searx/templates/simple/preferences.html:149
+msgid "Open result links on new browser tabs"
+msgstr "Mở kết quả trên những thẻ trình duyệt mới"
+
+#: searx/plugins/open_results_on_new_tab.py:19
+msgid ""
+"Results are opened in the same window by default. This plugin overwrites the"
+" default behaviour to open links on new tabs/windows. (JavaScript required)"
+msgstr "Theo mặc định thì các kết quả được mở trên cùng một cửa sổ. Phần mở rộng này sẽ ghi đè lên hành vi mặc định đó để mở các liên kết trên các thẻ/cửa sổ mới. (yêu cầu JavaScript)"
+
+#: searx/plugins/search_on_category_select.py:18
+msgid "Search on category select"
+msgstr "Tìm kiếm khi chọn danh mục đơn"
+
+#: searx/plugins/search_on_category_select.py:19
+msgid ""
+"Perform search immediately if a category selected. Disable to select "
+"multiple categories. (JavaScript required)"
+msgstr "Thực thi tìm kiếm ngay khi chọn một danh mục. Tắt đi để chọn nhiều danh mục. (yêu cầu JavaScript)"
+
+#: searx/plugins/self_info.py:20
+msgid ""
+"Displays your IP if the query is \"ip\" and your user agent if the query "
+"contains \"user agent\"."
+msgstr "Hiện IP của bạn khi gõ \"ip\" và hiện user agent khi gõ \"user agent\"."
+
+#: searx/plugins/tracker_url_remover.py:26
+msgid "Tracker URL remover"
+msgstr "Trình loại bỏ URL theo dõi"
+
+#: searx/plugins/tracker_url_remover.py:27
+msgid "Remove trackers arguments from the returned URL"
+msgstr "Loại bỏ các đối số theo dõi từ URL trả về"
+
+#: searx/plugins/vim_hotkeys.py:3
+msgid "Vim-like hotkeys"
+msgstr "Các phím tắt Vim-like"
+
+#: searx/plugins/vim_hotkeys.py:4
+msgid ""
+"Navigate search results with Vim-like hotkeys (JavaScript required). Press "
+"\"h\" key on main or result page to get help."
+msgstr "Điều hướng các kết quả tìm kiếm với các phím tắt Vim-like (yêu cầu JavaScript). Nhấn phím \"h\" trên trang chính hoặc trang kết quả để xem trợ giúp."
+
+#: searx/templates/courgette/404.html:4 searx/templates/legacy/404.html:4
+#: searx/templates/oscar/404.html:4 searx/templates/pix-art/404.html:4
+#: searx/templates/simple/404.html:4
+msgid "Page not found"
+msgstr "Không tìm thấy trang"
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+#, python-format
+msgid "Go to %(search_page)s."
+msgstr "Đi đến %(search_page)s."
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+msgid "search page"
+msgstr "tìm kiếm trang"
+
+#: searx/templates/courgette/index.html:9
+#: searx/templates/courgette/index.html:13
+#: searx/templates/courgette/results.html:5
+#: searx/templates/legacy/index.html:8 searx/templates/legacy/index.html:12
+#: searx/templates/oscar/navbar.html:7
+#: searx/templates/oscar/preferences.html:3
+#: searx/templates/pix-art/index.html:8
+msgid "preferences"
+msgstr "tuỳ chỉnh"
+
+#: searx/templates/courgette/index.html:11
+#: searx/templates/legacy/index.html:10 searx/templates/oscar/about.html:2
+#: searx/templates/oscar/navbar.html:6 searx/templates/pix-art/index.html:7
+msgid "about"
+msgstr "thông tin về"
+
+#: searx/templates/courgette/preferences.html:5
+#: searx/templates/legacy/preferences.html:5
+#: searx/templates/oscar/preferences.html:8
+#: searx/templates/pix-art/preferences.html:5
+#: searx/templates/simple/preferences.html:26
+msgid "Preferences"
+msgstr "Tuỳ chỉnh"
+
+#: searx/templates/courgette/preferences.html:9
+#: searx/templates/legacy/preferences.html:9
+#: searx/templates/oscar/preferences.html:33
+#: searx/templates/oscar/preferences.html:35
+#: searx/templates/simple/preferences.html:34
+msgid "Default categories"
+msgstr "Các danh mục mặc định"
+
+#: searx/templates/courgette/preferences.html:13
+#: searx/templates/legacy/preferences.html:14
+#: searx/templates/oscar/preferences.html:41
+#: searx/templates/pix-art/preferences.html:9
+#: searx/templates/simple/preferences.html:39
+#: searx/templates/simple/preferences.html:163
+msgid "Search language"
+msgstr "Ngôn ngữ tìm kiếm"
+
+#: searx/templates/courgette/preferences.html:16
+#: searx/templates/legacy/preferences.html:17
+#: searx/templates/oscar/languages.html:6
+#: searx/templates/pix-art/preferences.html:12
+#: searx/templates/simple/languages.html:2
+#: searx/templates/simple/preferences.html:42
+msgid "Default language"
+msgstr "Ngôn ngữ mặc định"
+
+#: searx/templates/courgette/preferences.html:24
+#: searx/templates/legacy/preferences.html:25
+#: searx/templates/oscar/preferences.html:47
+#: searx/templates/pix-art/preferences.html:20
+#: searx/templates/simple/preferences.html:120
+msgid "Interface language"
+msgstr "Ngôn ngữ giao diện"
+
+#: searx/templates/courgette/preferences.html:34
+#: searx/templates/legacy/preferences.html:35
+#: searx/templates/oscar/preferences.html:57
+#: searx/templates/simple/preferences.html:51
+msgid "Autocomplete"
+msgstr "Gợi ý tự động"
+
+#: searx/templates/courgette/preferences.html:45
+#: searx/templates/legacy/preferences.html:46
+#: searx/templates/oscar/preferences.html:68
+#: searx/templates/simple/preferences.html:166
+msgid "Image proxy"
+msgstr "Proxy hình ảnh"
+
+#: searx/templates/courgette/preferences.html:48
+#: searx/templates/legacy/preferences.html:49
+#: searx/templates/oscar/preferences.html:72
+#: searx/templates/simple/preferences.html:169
+msgid "Enabled"
+msgstr "Đã "
+
+#: searx/templates/courgette/preferences.html:49
+#: searx/templates/legacy/preferences.html:50
+#: searx/templates/oscar/preferences.html:73
+#: searx/templates/simple/preferences.html:170
+msgid "Disabled"
+msgstr "Đã tắt"
+
+#: searx/templates/courgette/preferences.html:54
+#: searx/templates/legacy/preferences.html:55
+#: searx/templates/oscar/preferences.html:77
+#: searx/templates/pix-art/preferences.html:30
+#: searx/templates/simple/preferences.html:156
+msgid "Method"
+msgstr "Phương pháp"
+
+#: searx/templates/courgette/preferences.html:63
+#: searx/templates/legacy/preferences.html:64
+#: searx/templates/oscar/preferences.html:86
+#: searx/templates/oscar/preferences.html:165
+#: searx/templates/oscar/preferences.html:173
+#: searx/templates/simple/preferences.html:63
+#: searx/templates/simple/preferences.html:90
+msgid "SafeSearch"
+msgstr "Tìm Kiếm An Toàn"
+
+#: searx/templates/courgette/preferences.html:66
+#: searx/templates/legacy/preferences.html:67
+#: searx/templates/oscar/preferences.html:90
+#: searx/templates/simple/preferences.html:66
+msgid "Strict"
+msgstr "Nghiêm ngặt"
+
+#: searx/templates/courgette/preferences.html:67
+#: searx/templates/legacy/preferences.html:68
+#: searx/templates/oscar/preferences.html:91
+#: searx/templates/simple/preferences.html:67
+msgid "Moderate"
+msgstr "Vừa phải"
+
+#: searx/templates/courgette/preferences.html:68
+#: searx/templates/legacy/preferences.html:69
+#: searx/templates/oscar/preferences.html:92
+#: searx/templates/simple/preferences.html:68
+msgid "None"
+msgstr "Không"
+
+#: searx/templates/courgette/preferences.html:73
+#: searx/templates/legacy/preferences.html:74
+#: searx/templates/oscar/preferences.html:96
+#: searx/templates/pix-art/preferences.html:39
+#: searx/templates/simple/preferences.html:131
+msgid "Themes"
+msgstr "Nền"
+
+#: searx/templates/courgette/preferences.html:83
+msgid "Color"
+msgstr "Màu sắc"
+
+#: searx/templates/courgette/preferences.html:86
+msgid "Blue (default)"
+msgstr "Xanh lam (mặc định)"
+
+#: searx/templates/courgette/preferences.html:87
+msgid "Violet"
+msgstr "Tím"
+
+#: searx/templates/courgette/preferences.html:88
+msgid "Green"
+msgstr "Xanh lục"
+
+#: searx/templates/courgette/preferences.html:89
+msgid "Cyan"
+msgstr "Lục lam"
+
+#: searx/templates/courgette/preferences.html:90
+msgid "Orange"
+msgstr "Cam"
+
+#: searx/templates/courgette/preferences.html:91
+msgid "Red"
+msgstr "Đỏ"
+
+#: searx/templates/courgette/preferences.html:96
+#: searx/templates/legacy/preferences.html:93
+#: searx/templates/pix-art/preferences.html:49
+#: searx/templates/simple/preferences.html:77
+msgid "Currently used search engines"
+msgstr "Các trình tìm kiếm đang được dùng"
+
+#: searx/templates/courgette/preferences.html:100
+#: searx/templates/legacy/preferences.html:97
+#: searx/templates/oscar/preferences.html:162
+#: searx/templates/oscar/preferences.html:176
+#: searx/templates/pix-art/preferences.html:53
+#: searx/templates/simple/preferences.html:87
+msgid "Engine name"
+msgstr "Tên trình tìm kiếm"
+
+#: searx/templates/courgette/preferences.html:101
+#: searx/templates/legacy/preferences.html:98
+msgid "Category"
+msgstr "Danh mục"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:113
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:110
+#: searx/templates/oscar/preferences.html:161
+#: searx/templates/oscar/preferences.html:177
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:64
+#: searx/templates/simple/preferences.html:86
+msgid "Allow"
+msgstr "Cho phép"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:114
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:111
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:65
+msgid "Block"
+msgstr "Chặn"
+
+#: searx/templates/courgette/preferences.html:122
+#: searx/templates/legacy/preferences.html:119
+#: searx/templates/oscar/preferences.html:297
+#: searx/templates/pix-art/preferences.html:73
+#: searx/templates/simple/preferences.html:180
+msgid ""
+"These settings are stored in your cookies, this allows us not to store this "
+"data about you."
+msgstr "Những cài đặt này được lưu trữ trong các cookie, điều này cho phép chúng tôi không phải lưu các dữ liệu về bạn."
+
+#: searx/templates/courgette/preferences.html:124
+#: searx/templates/legacy/preferences.html:121
+#: searx/templates/oscar/preferences.html:299
+#: searx/templates/pix-art/preferences.html:75
+#: searx/templates/simple/preferences.html:182
+msgid ""
+"These cookies serve your sole convenience, we don't use these cookies to "
+"track you."
+msgstr "Những cookie này chỉ phục vụ cho chính bạn, chúng tôi không sử dụng chúng để theo dõi bạn."
+
+#: searx/templates/courgette/preferences.html:127
+#: searx/templates/legacy/preferences.html:124
+#: searx/templates/oscar/preferences.html:305
+#: searx/templates/pix-art/preferences.html:78
+#: searx/templates/simple/preferences.html:185
+msgid "save"
+msgstr "lưu"
+
+#: searx/templates/courgette/preferences.html:128
+#: searx/templates/legacy/preferences.html:125
+#: searx/templates/oscar/preferences.html:307
+#: searx/templates/simple/preferences.html:186
+msgid "Reset defaults"
+msgstr "Đưa về mặc định"
+
+#: searx/templates/courgette/preferences.html:129
+#: searx/templates/legacy/preferences.html:126
+#: searx/templates/oscar/preferences.html:306
+#: searx/templates/pix-art/preferences.html:79
+#: searx/templates/simple/preferences.html:187
+msgid "back"
+msgstr "trở về"
+
+#: searx/templates/courgette/results.html:12
+#: searx/templates/legacy/results.html:13
+#: searx/templates/oscar/results.html:136
+#: searx/templates/simple/results.html:58
+msgid "Search URL"
+msgstr "URL Tìm kiếm"
+
+#: searx/templates/courgette/results.html:16
+#: searx/templates/legacy/results.html:17
+#: searx/templates/oscar/results.html:141
+#: searx/templates/simple/results.html:62
+msgid "Download results"
+msgstr "Tải về các kết quả"
+
+#: searx/templates/courgette/results.html:34
+#: searx/templates/legacy/results.html:35
+#: searx/templates/simple/results.html:10
+msgid "Answers"
+msgstr "Các đáp án"
+
+#: searx/templates/courgette/results.html:42
+#: searx/templates/legacy/results.html:43
+#: searx/templates/oscar/results.html:116
+#: searx/templates/simple/results.html:42
+msgid "Suggestions"
+msgstr "Các gợi ý"
+
+#: searx/templates/courgette/results.html:70
+#: searx/templates/legacy/results.html:81
+#: searx/templates/oscar/results.html:68 searx/templates/oscar/results.html:78
+#: searx/templates/simple/results.html:130
+msgid "previous page"
+msgstr "trang liền trước"
+
+#: searx/templates/courgette/results.html:81
+#: searx/templates/legacy/results.html:92
+#: searx/templates/oscar/results.html:62 searx/templates/oscar/results.html:84
+#: searx/templates/simple/results.html:145
+msgid "next page"
+msgstr "trang tiếp theo"
+
+#: searx/templates/courgette/search.html:3
+#: searx/templates/legacy/search.html:3 searx/templates/oscar/search.html:6
+#: searx/templates/oscar/search_full.html:9
+#: searx/templates/pix-art/search.html:3 searx/templates/simple/search.html:4
+msgid "Search for..."
+msgstr "Tìm kiếm về..."
+
+#: searx/templates/courgette/stats.html:4 searx/templates/legacy/stats.html:4
+#: searx/templates/oscar/stats.html:5 searx/templates/pix-art/stats.html:4
+#: searx/templates/simple/stats.html:7
+msgid "Engine stats"
+msgstr "Các thông số về trình tìm kiếm"
+
+#: searx/templates/courgette/result_templates/images.html:4
+#: searx/templates/legacy/result_templates/images.html:4
+#: searx/templates/pix-art/result_templates/images.html:4
+msgid "original context"
+msgstr "ngữ cảnh gốc"
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Seeder"
+msgstr "Seeder"
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Leecher"
+msgstr "Leecher"
+
+#: searx/templates/courgette/result_templates/torrent.html:9
+#: searx/templates/legacy/result_templates/torrent.html:9
+#: searx/templates/oscar/macros.html:23
+#: searx/templates/simple/result_templates/torrent.html:6
+msgid "magnet link"
+msgstr "liên kết magnet"
+
+#: searx/templates/courgette/result_templates/torrent.html:10
+#: searx/templates/legacy/result_templates/torrent.html:10
+#: searx/templates/oscar/macros.html:24
+#: searx/templates/simple/result_templates/torrent.html:7
+msgid "torrent file"
+msgstr "tập tin torrent"
+
+#: searx/templates/legacy/categories.html:8
+#: searx/templates/simple/categories.html:6
+msgid "Click on the magnifier to perform search"
+msgstr "Nhấp vào hình kính lúp để tiến hành tìm kiếm"
+
+#: searx/templates/legacy/preferences.html:84
+#: searx/templates/oscar/preferences.html:113
+#: searx/templates/simple/preferences.html:142
+msgid "Results on new tabs"
+msgstr "Hiện kết quả trên các thẻ mới"
+
+#: searx/templates/legacy/preferences.html:87
+#: searx/templates/oscar/preferences.html:117
+#: searx/templates/simple/preferences.html:145
+msgid "On"
+msgstr "Bật"
+
+#: searx/templates/legacy/preferences.html:88
+#: searx/templates/oscar/preferences.html:118
+#: searx/templates/simple/preferences.html:146
+msgid "Off"
+msgstr "Tắt"
+
+#: searx/templates/legacy/result_templates/code.html:3
+#: searx/templates/legacy/result_templates/default.html:3
+#: searx/templates/legacy/result_templates/map.html:9
+#: searx/templates/oscar/macros.html:34 searx/templates/oscar/macros.html:48
+#: searx/templates/simple/macros.html:43
+msgid "cached"
+msgstr "đã lưu cache"
+
+#: searx/templates/oscar/advanced.html:4
+msgid "Advanced settings"
+msgstr "Cài đặt nâng cao"
+
+#: searx/templates/oscar/base.html:62
+#: searx/templates/oscar/messages/first_time.html:4
+#: searx/templates/oscar/messages/save_settings_successfull.html:5
+#: searx/templates/oscar/messages/unknow_error.html:5
+msgid "Close"
+msgstr "Đóng"
+
+#: searx/templates/oscar/base.html:64
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+#: searx/templates/simple/results.html:25
+msgid "Error!"
+msgstr "Lỗi!"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "Powered by"
+msgstr "Được cung cấp bởi"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "a privacy-respecting, hackable metasearch engine"
+msgstr "một trình tìm kiếm đa nguồn, dễ tuỳ biến và tôn trọng quyền riêng tư"
+
+#: searx/templates/oscar/macros.html:36 searx/templates/oscar/macros.html:50
+#: searx/templates/simple/macros.html:43
+msgid "proxied"
+msgstr "đã proxy"
+
+#: searx/templates/oscar/macros.html:92
+msgid "supported"
+msgstr "có hỗ trợ"
+
+#: searx/templates/oscar/macros.html:96
+msgid "not supported"
+msgstr "không hỗ trợ"
+
+#: searx/templates/oscar/preferences.html:13
+#: searx/templates/oscar/preferences.html:22
+#: searx/templates/simple/preferences.html:32
+msgid "General"
+msgstr "Tổng quát"
+
+#: searx/templates/oscar/preferences.html:14
+#: searx/templates/oscar/preferences.html:146
+#: searx/templates/simple/preferences.html:76
+msgid "Engines"
+msgstr "Các trình tìm kiếm"
+
+#: searx/templates/oscar/preferences.html:15
+#: searx/templates/oscar/preferences.html:219
+msgid "Plugins"
+msgstr "Các phần mở rộng"
+
+#: searx/templates/oscar/preferences.html:16
+#: searx/templates/oscar/preferences.html:245
+msgid "Answerers"
+msgstr "Trình trả lời nhanh"
+
+#: searx/templates/oscar/preferences.html:17
+#: searx/templates/oscar/preferences.html:272
+msgid "Cookies"
+msgstr "Các cookie"
+
+#: searx/templates/oscar/preferences.html:42
+#: searx/templates/simple/preferences.html:48
+msgid "What language do you prefer for search?"
+msgstr "Bạn muốn tìm kiếm bằng ngôn ngữ nào?"
+
+#: searx/templates/oscar/preferences.html:48
+#: searx/templates/simple/preferences.html:128
+msgid "Change the language of the layout"
+msgstr "Thay đổi ngôn ngữ giao diện"
+
+#: searx/templates/oscar/preferences.html:58
+#: searx/templates/simple/preferences.html:60
+msgid "Find stuff as you type"
+msgstr "Tìm kiếm ngay khi gõ"
+
+#: searx/templates/oscar/preferences.html:69
+#: searx/templates/simple/preferences.html:173
+msgid "Proxying image results through searx"
+msgstr "Proxy kết quả hình ảnh qua searx"
+
+#: searx/templates/oscar/preferences.html:78
+msgid ""
+"Change how forms are submited, <a "
+"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
+" rel=\"external\">learn more about request methods</a>"
+msgstr "Thay đổi cách thức các cụm từ tìm kiếm được gửi đi, <a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">tìm hiểu thêm về các phương thức tìm kiếm</a>"
+
+#: searx/templates/oscar/preferences.html:87
+#: searx/templates/simple/preferences.html:71
+msgid "Filter content"
+msgstr "Lọc các nội dung"
+
+#: searx/templates/oscar/preferences.html:97
+#: searx/templates/simple/preferences.html:139
+msgid "Change searx layout"
+msgstr "Thay đổi giao diện searx"
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Choose style for this theme"
+msgstr "Chọn phong cách cho nền này"
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Style"
+msgstr "Phong cách"
+
+#: searx/templates/oscar/preferences.html:122
+msgid "Open Access DOI resolver"
+msgstr "Trình xử lý DOI Truy Cập Miễn Phí"
+
+#: searx/templates/oscar/preferences.html:123
+msgid ""
+"Redirect to open-access versions of publications when available (plugin "
+"required)"
+msgstr "Chuyển hướng đến các phiên bản truy cập miễn phí của ấn phẩm khi có thể (yêu cầu phần mở rộng)"
+
+#: searx/templates/oscar/preferences.html:163
+#: searx/templates/oscar/preferences.html:175
+#: searx/templates/simple/preferences.html:88
+msgid "Shortcut"
+msgstr "Lối tắt"
+
+#: searx/templates/oscar/preferences.html:164
+#: searx/templates/oscar/preferences.html:174
+msgid "Selected language"
+msgstr "Ngôn ngữ được chọn"
+
+#: searx/templates/oscar/preferences.html:166
+#: searx/templates/oscar/preferences.html:172
+#: searx/templates/simple/preferences.html:91
+msgid "Time range"
+msgstr "Khoảng thời gian"
+
+#: searx/templates/oscar/preferences.html:167
+#: searx/templates/oscar/preferences.html:171
+#: searx/templates/simple/preferences.html:92
+msgid "Avg. time"
+msgstr "Thời gian trung bình"
+
+#: searx/templates/oscar/preferences.html:168
+#: searx/templates/oscar/preferences.html:170
+#: searx/templates/simple/preferences.html:93
+msgid "Max time"
+msgstr "Thời gian tối đa"
+
+#: searx/templates/oscar/preferences.html:248
+msgid "This is the list of searx's instant answering modules."
+msgstr "Đây là danh sách các module trả lời nhanh của searx"
+
+#: searx/templates/oscar/preferences.html:252
+msgid "Name"
+msgstr "Tên"
+
+#: searx/templates/oscar/preferences.html:253
+msgid "Keywords"
+msgstr "Các từ khoá"
+
+#: searx/templates/oscar/preferences.html:254
+msgid "Description"
+msgstr "Mô tả"
+
+#: searx/templates/oscar/preferences.html:255
+msgid "Examples"
+msgstr "Các ví dụ"
+
+#: searx/templates/oscar/preferences.html:275
+msgid ""
+"This is the list of cookies and their values searx is storing on your "
+"computer."
+msgstr "Đây là danh sách các cookie và giá trị của chúng mà searx đang lưu trữ trên máy tính của bạn."
+
+#: searx/templates/oscar/preferences.html:276
+msgid "With that list, you can assess searx transparency."
+msgstr "Với danh sách này, bạn có thể đánh giá tính minh bạch của searx."
+
+#: searx/templates/oscar/preferences.html:281
+msgid "Cookie name"
+msgstr "Tên cookie"
+
+#: searx/templates/oscar/preferences.html:282
+msgid "Value"
+msgstr "Giá trị"
+
+#: searx/templates/oscar/preferences.html:301
+msgid "Search URL of the currently saved preferences"
+msgstr "URL tìm kiếm của tuỳ chỉnh được lưu hiện tại"
+
+#: searx/templates/oscar/preferences.html:301
+msgid ""
+"Note: specifying custom settings in the search URL can reduce privacy by "
+"leaking data to the clicked result sites."
+msgstr "Ghi chú: việc định rõ cài đặt cá nhân trong URL tìm kiếm có thể làm suy giảm mức độ riêng tư vì nó chuyển dữ liệu đến các trang kết quả được nhấp chọn."
+
+#: searx/templates/oscar/results.html:17
+msgid "Search results"
+msgstr "Kết quả tìm kiếm"
+
+#: searx/templates/oscar/results.html:21
+#: searx/templates/simple/results.html:84
+msgid "Try searching for:"
+msgstr "Thử tìm kiếm:"
+
+#: searx/templates/oscar/results.html:100
+#: searx/templates/simple/results.html:25
+msgid "Engines cannot retrieve results"
+msgstr "Các trình tìm kiếm không nhận được kết quả"
+
+#: searx/templates/oscar/results.html:131
+msgid "Links"
+msgstr "Các liên kết"
+
+#: searx/templates/oscar/search.html:8
+#: searx/templates/oscar/search_full.html:11
+#: searx/templates/simple/search.html:5
+msgid "Start search"
+msgstr "Bắt đầu tìm kiếm"
+
+#: searx/templates/oscar/stats.html:2
+msgid "stats"
+msgstr "các thông số"
+
+#: searx/templates/oscar/time-range.html:3
+#: searx/templates/simple/time-range.html:3
+msgid "Anytime"
+msgstr "Bất kỳ lúc nào"
+
+#: searx/templates/oscar/time-range.html:6
+#: searx/templates/simple/time-range.html:6
+msgid "Last day"
+msgstr "Hôm trước"
+
+#: searx/templates/oscar/time-range.html:9
+#: searx/templates/simple/time-range.html:9
+msgid "Last week"
+msgstr "Tuần trước"
+
+#: searx/templates/oscar/time-range.html:12
+#: searx/templates/simple/time-range.html:12
+msgid "Last month"
+msgstr "Tháng trước"
+
+#: searx/templates/oscar/time-range.html:15
+#: searx/templates/simple/time-range.html:15
+msgid "Last year"
+msgstr "Năm ngoái"
+
+#: searx/templates/oscar/messages/first_time.html:6
+#: searx/templates/oscar/messages/no_data_available.html:3
+msgid "Heads up!"
+msgstr "Cẩn thận!"
+
+#: searx/templates/oscar/messages/first_time.html:7
+msgid "It look like you are using searx first time."
+msgstr "Có vẻ như bạn mới sử dụng searx lần đầu."
+
+#: searx/templates/oscar/messages/no_cookies.html:3
+msgid "Information!"
+msgstr "Thông tin!"
+
+#: searx/templates/oscar/messages/no_cookies.html:4
+msgid "currently, there are no cookies defined."
+msgstr "hiện tại không có cookie nào."
+
+#: searx/templates/oscar/messages/no_data_available.html:4
+msgid "There is currently no data available. "
+msgstr "Hiện không có dữ liệu nào."
+
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+msgid "Engines cannot retrieve results."
+msgstr "Các trình tìm kiếm không nhận được kết quả."
+
+#: searx/templates/oscar/messages/no_results.html:10
+#: searx/templates/simple/messages/no_results.html:10
+msgid "Please, try again later or find another searx instance."
+msgstr "Xin thử lại lần nữa hoặc tìm một server searx khác"
+
+#: searx/templates/oscar/messages/no_results.html:14
+#: searx/templates/simple/messages/no_results.html:14
+msgid "Sorry!"
+msgstr "Xin lỗi!"
+
+#: searx/templates/oscar/messages/no_results.html:15
+#: searx/templates/simple/messages/no_results.html:15
+msgid ""
+"we didn't find any results. Please use another query or search in more "
+"categories."
+msgstr "chúng tôi không tìm thấy kết quả nào. Xin gõ cụm từ khác hoặc tìm kiếm trong nhiều danh mục hơn."
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:7
+msgid "Well done!"
+msgstr "Tốt lắm!"
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:8
+msgid "Settings saved successfully."
+msgstr "Lưu cài đặt thành công."
+
+#: searx/templates/oscar/messages/unknow_error.html:7
+msgid "Oh snap!"
+msgstr "Quái quỷ thật!"
+
+#: searx/templates/oscar/messages/unknow_error.html:8
+msgid "Something went wrong."
+msgstr "Đã có sự cố."
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "show media"
+msgstr "hiện nội dung"
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "hide media"
+msgstr "ẩn nội dung"
+
+#: searx/templates/oscar/result_templates/images.html:30
+msgid "Get image"
+msgstr "Xem hình ảnh"
+
+#: searx/templates/oscar/result_templates/images.html:33
+msgid "View source"
+msgstr "Xem nguồn"
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "show map"
+msgstr "hiện bản đồ"
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "hide map"
+msgstr "ẩn bản đồ"
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "show details"
+msgstr "hiện chi tiết"
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "hide details"
+msgstr "ẩn chi tiết"
+
+#: searx/templates/oscar/result_templates/torrent.html:7
+#: searx/templates/simple/result_templates/torrent.html:11
+msgid "Filesize"
+msgstr "Kích thước tập tin"
+
+#: searx/templates/oscar/result_templates/torrent.html:9
+#: searx/templates/simple/result_templates/torrent.html:12
+msgid "Bytes"
+msgstr "Byte"
+
+#: searx/templates/oscar/result_templates/torrent.html:10
+#: searx/templates/simple/result_templates/torrent.html:13
+msgid "kiB"
+msgstr "kiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:11
+#: searx/templates/simple/result_templates/torrent.html:14
+msgid "MiB"
+msgstr "MiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:12
+#: searx/templates/simple/result_templates/torrent.html:15
+msgid "GiB"
+msgstr "GiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:13
+#: searx/templates/simple/result_templates/torrent.html:16
+msgid "TiB"
+msgstr "TiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:15
+#: searx/templates/simple/result_templates/torrent.html:20
+msgid "Number of Files"
+msgstr "Số lượng tập tin"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "show video"
+msgstr "hiện "
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "hide video"
+msgstr "ẩn phim"
+
+#: searx/templates/pix-art/results.html:28
+msgid "Load more..."
+msgstr "Tải thêm..."
+
+#: searx/templates/simple/base.html:31
+msgid "No item found"
+msgstr "Không tìm thấy gì"
+
+#: searx/templates/simple/preferences.html:89
+msgid "Supports selected language"
+msgstr "Có hỗ trợ ngôn ngữ được chọn"
+
+#: searx/templates/simple/preferences.html:118
+msgid "User interface"
+msgstr "Giao diện người dùng"
+
+#: searx/templates/simple/preferences.html:154
+msgid "Privacy"
+msgstr "Quyền riêng tư"
diff --git a/searx/translations/zh_CN/LC_MESSAGES/messages.mo b/searx/translations/zh_CN/LC_MESSAGES/messages.mo
index b094298fd..b98af0547 100644
--- a/searx/translations/zh_CN/LC_MESSAGES/messages.mo
+++ b/searx/translations/zh_CN/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/zh_CN/LC_MESSAGES/messages.po b/searx/translations/zh_CN/LC_MESSAGES/messages.po
index f7a7068eb..d71288ce5 100644
--- a/searx/translations/zh_CN/LC_MESSAGES/messages.po
+++ b/searx/translations/zh_CN/LC_MESSAGES/messages.po
@@ -3,15 +3,18 @@
# This file is distributed under the same license as the PROJECT project.
#
# Translators:
+# Crystal RainSlide, 2018
+# Mingye Wang <arthur200126@gmail.com>, 2018
+# Sion Kazama, 2018
# wenke, 2015
-# wenke, 2015-2017
+# wenke, 2015-2018
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2017-11-01 21:31+0100\n"
-"PO-Revision-Date: 2017-11-01 20:31+0000\n"
-"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n"
+"PO-Revision-Date: 2018-12-10 08:32+0000\n"
+"Last-Translator: Crystal RainSlide\n"
"Language-Team: Chinese (China) (http://www.transifex.com/asciimoo/searx/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -58,7 +61,7 @@ msgstr "视频"
#: searx/webapp.py:142
msgid "it"
-msgstr "it"
+msgstr "IT"
#: searx/webapp.py:143
msgid "news"
@@ -74,7 +77,7 @@ msgstr "学术"
#: searx/webapp.py:399 searx/webapp.py:658
msgid "Invalid settings, please edit your preferences"
-msgstr "无效的设置,请编辑你的首选项"
+msgstr "设置无效,请编辑您的首选项"
#: searx/webapp.py:415
msgid "Invalid settings"
@@ -86,11 +89,11 @@ msgstr "搜索错误"
#: searx/webapp.py:530
msgid "{minutes} minute(s) ago"
-msgstr "{minutes}分钟之前"
+msgstr "{minutes} 分钟前"
#: searx/webapp.py:532
msgid "{hours} hour(s), {minutes} minute(s) ago"
-msgstr "{hours}小时{minutes}分钟之前"
+msgstr "{hours} 小时 {minutes} 分钟前"
#: searx/answerers/random/answerer.py:53
msgid "Random value generator"
@@ -106,7 +109,7 @@ msgstr "统计功能"
#: searx/answerers/statistics/answerer.py:54
msgid "Compute {functions} of the arguments"
-msgstr "计算 {functions}参数"
+msgstr "计算 {functions} 参数"
#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201
msgid "Engine time (sec)"
@@ -114,7 +117,7 @@ msgstr "搜索引擎时间(秒)"
#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205
msgid "Page loads (sec)"
-msgstr "页面加载 (秒)"
+msgstr "页面加载(秒)"
#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209
#: searx/templates/oscar/results.html:95
@@ -128,7 +131,7 @@ msgstr "得分"
#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217
msgid "Scores per result"
-msgstr "每个结果等分"
+msgstr "每个结果的分数"
#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221
msgid "Errors"
@@ -136,19 +139,19 @@ msgstr "错误"
#: searx/engines/pdbe.py:87
msgid "{title}&nbsp;(OBSOLETE)"
-msgstr "{title}&nbsp;(OBSOLETE)"
+msgstr "{title}&nbsp;(过时)"
#: searx/engines/pdbe.py:91
msgid "This entry has been superseded by"
-msgstr "此条目已经被取代"
+msgstr "此条目已被取代"
#: searx/engines/pubmed.py:74
msgid "No abstract is available for this publication."
-msgstr ""
+msgstr "本出版物没有摘要。"
#: searx/plugins/https_rewrite.py:32
msgid "Rewrite HTTP links to HTTPS if possible"
-msgstr "尽可能重定向HTTP链接到HTTPS"
+msgstr "将支持 HTTPS 的 HTTP 链接改为 HTTPS 链接"
#: searx/plugins/infinite_scroll.py:3
msgid "Infinite scroll"
@@ -160,13 +163,13 @@ msgstr "滚动到当前页面底部时自动加载下一页"
#: searx/plugins/oa_doi_rewrite.py:9
msgid "Open Access DOI rewrite"
-msgstr ""
+msgstr "开放访问 DOI 重定向"
#: searx/plugins/oa_doi_rewrite.py:10
msgid ""
"Avoid paywalls by redirecting to open-access versions of publications when "
"available"
-msgstr "重定向到可浏览的文章来避免付费墙(如果可用)"
+msgstr "尽量重定向到开放访问的文章以避免付费墙(如果可用)"
#: searx/plugins/open_results_on_new_tab.py:18
#: searx/templates/oscar/preferences.html:114
@@ -178,7 +181,7 @@ msgstr "在新标签页打开搜索链接"
msgid ""
"Results are opened in the same window by default. This plugin overwrites the"
" default behaviour to open links on new tabs/windows. (JavaScript required)"
-msgstr "搜索结果默认在原窗口打开。这个插件使其在新标签页/窗口打开。(需要启用JavaScript )"
+msgstr "搜索结果默认在原窗口打开。此插件能使其在新标签页或新窗口打开。(需启用 JavaScript)"
#: searx/plugins/search_on_category_select.py:18
msgid "Search on category select"
@@ -188,13 +191,13 @@ msgstr "搜索类别选择"
msgid ""
"Perform search immediately if a category selected. Disable to select "
"multiple categories. (JavaScript required)"
-msgstr "选中一个类别立即搜索。禁用可以选择多个类别搜索。(需要启用JavaScript )"
+msgstr "选中一个类别后立即执行搜索。禁用后,可以选择多个类别一起搜索。(需启用 JavaScript)"
#: searx/plugins/self_info.py:20
msgid ""
"Displays your IP if the query is \"ip\" and your user agent if the query "
"contains \"user agent\"."
-msgstr "搜索“ip”显示你的ip以及搜索内容含有“user agent”显示你的user agent。"
+msgstr "当您搜索「ip」时,这将会显示您的 IP 地址;同理,在搜索「user agent」时,将会显示您的 User Agent。"
#: searx/plugins/tracker_url_remover.py:26
msgid "Tracker URL remover"
@@ -206,13 +209,13 @@ msgstr "从返回的链接中移除跟踪参数"
#: searx/plugins/vim_hotkeys.py:3
msgid "Vim-like hotkeys"
-msgstr "类vim快捷键"
+msgstr "Vim 式快捷键"
#: searx/plugins/vim_hotkeys.py:4
msgid ""
"Navigate search results with Vim-like hotkeys (JavaScript required). Press "
"\"h\" key on main or result page to get help."
-msgstr "使用类vim快捷键浏览搜索结果(JavaScript启用)。按“h”键获取帮助。"
+msgstr "使用 Vim 式快捷键浏览搜索结果(需要 JavaScript)。在主页或结果页按“h”键获取帮助。"
#: searx/templates/courgette/404.html:4 searx/templates/legacy/404.html:4
#: searx/templates/oscar/404.html:4 searx/templates/pix-art/404.html:4
@@ -225,7 +228,7 @@ msgstr "未找到网页"
#: searx/templates/simple/404.html:6
#, python-format
msgid "Go to %(search_page)s."
-msgstr "返回%(search_page)s。"
+msgstr "前往 %(search_page)s。"
#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
@@ -342,7 +345,7 @@ msgstr "安全搜索"
#: searx/templates/oscar/preferences.html:90
#: searx/templates/simple/preferences.html:66
msgid "Strict"
-msgstr "严格模式"
+msgstr "严格"
#: searx/templates/courgette/preferences.html:67
#: searx/templates/legacy/preferences.html:68
@@ -356,7 +359,7 @@ msgstr "中等"
#: searx/templates/oscar/preferences.html:92
#: searx/templates/simple/preferences.html:68
msgid "None"
-msgstr "不过滤"
+msgstr "无"
#: searx/templates/courgette/preferences.html:73
#: searx/templates/legacy/preferences.html:74
@@ -444,7 +447,7 @@ msgstr "阻止"
msgid ""
"These settings are stored in your cookies, this allows us not to store this "
"data about you."
-msgstr "这些设置保存在你的cookie,我们将不能保存你的数据。"
+msgstr "这些设置被存储在您的 cookie 中,这种保存设置的方式允许我们不存储您的设置数据。"
#: searx/templates/courgette/preferences.html:124
#: searx/templates/legacy/preferences.html:121
@@ -454,7 +457,7 @@ msgstr "这些设置保存在你的cookie,我们将不能保存你的数据。
msgid ""
"These cookies serve your sole convenience, we don't use these cookies to "
"track you."
-msgstr "这些cookie是为了让你更加方便,我们不会使用cookie追踪你。"
+msgstr "这些 Cookie 信息可辅助您便捷地使用服务,我们不会利用这些信息来追踪您。"
#: searx/templates/courgette/preferences.html:127
#: searx/templates/legacy/preferences.html:124
@@ -544,14 +547,14 @@ msgstr "原始上下文"
#: searx/templates/oscar/result_templates/torrent.html:6
#: searx/templates/simple/result_templates/torrent.html:9
msgid "Seeder"
-msgstr "Seeder"
+msgstr "做种"
#: searx/templates/courgette/result_templates/torrent.html:7
#: searx/templates/legacy/result_templates/torrent.html:11
#: searx/templates/oscar/result_templates/torrent.html:6
#: searx/templates/simple/result_templates/torrent.html:9
msgid "Leecher"
-msgstr "Leecher"
+msgstr "接收"
#: searx/templates/courgette/result_templates/torrent.html:9
#: searx/templates/legacy/result_templates/torrent.html:9
@@ -570,7 +573,7 @@ msgstr "种子文件"
#: searx/templates/legacy/categories.html:8
#: searx/templates/simple/categories.html:6
msgid "Click on the magnifier to perform search"
-msgstr "点击放大镜开始搜索"
+msgstr "点击放大镜按钮开始搜索"
#: searx/templates/legacy/preferences.html:84
#: searx/templates/oscar/preferences.html:113
@@ -622,7 +625,7 @@ msgstr "技术支持来自"
#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
msgid "a privacy-respecting, hackable metasearch engine"
-msgstr "一个尊重隐私,可再开发的元搜索引擎"
+msgstr "一个尊重隐私、可再开发的元搜索引擎"
#: searx/templates/oscar/macros.html:36 searx/templates/oscar/macros.html:50
#: searx/templates/simple/macros.html:43
@@ -662,12 +665,12 @@ msgstr "智能答复"
#: searx/templates/oscar/preferences.html:17
#: searx/templates/oscar/preferences.html:272
msgid "Cookies"
-msgstr "Cookie"
+msgstr "Cookies"
#: searx/templates/oscar/preferences.html:42
#: searx/templates/simple/preferences.html:48
msgid "What language do you prefer for search?"
-msgstr "你搜索时更喜欢什么语言?"
+msgstr "您更喜欢使用什么语言进行搜索?"
#: searx/templates/oscar/preferences.html:48
#: searx/templates/simple/preferences.html:128
@@ -682,14 +685,14 @@ msgstr "自动补全搜索字词"
#: searx/templates/oscar/preferences.html:69
#: searx/templates/simple/preferences.html:173
msgid "Proxying image results through searx"
-msgstr "通过searx代理图片"
+msgstr "通过 searx 代理图片结果"
#: searx/templates/oscar/preferences.html:78
msgid ""
"Change how forms are submited, <a "
"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
" rel=\"external\">learn more about request methods</a>"
-msgstr "更改请求方法,<a href=\"http://zh.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">深入了解请求方法</a>"
+msgstr "更改提交表单时使用的请求方法,<a href=\"https://zh.wikipedia.org/wiki/%%E8%%B6%%85%%E6%%96%%87%%E6%%9C%%AC%%E4%%BC%%A0%%E8%%BE%%93%%E5%%8D%%8F%%E8%%AE%%AE#%%E8%%AF%%B7%%E6%%B1%%82%%E6%%96%%B9%%E6%%B3%%95\" rel=\"external\">深入了解请求方法</a>"
#: searx/templates/oscar/preferences.html:87
#: searx/templates/simple/preferences.html:71
@@ -699,12 +702,12 @@ msgstr "过滤内容"
#: searx/templates/oscar/preferences.html:97
#: searx/templates/simple/preferences.html:139
msgid "Change searx layout"
-msgstr "改变searx布局"
+msgstr "改变 searx 布局"
#: searx/templates/oscar/preferences.html:106
#: searx/templates/oscar/preferences.html:111
msgid "Choose style for this theme"
-msgstr "选择这个主题的样式"
+msgstr "选择此主题的样式"
#: searx/templates/oscar/preferences.html:106
#: searx/templates/oscar/preferences.html:111
@@ -713,13 +716,13 @@ msgstr "样式"
#: searx/templates/oscar/preferences.html:122
msgid "Open Access DOI resolver"
-msgstr ""
+msgstr "开放访问 DOI 解析器"
#: searx/templates/oscar/preferences.html:123
msgid ""
"Redirect to open-access versions of publications when available (plugin "
"required)"
-msgstr ""
+msgstr "尽可能重定向到出版物的开放访问版本(需要插件)"
#: searx/templates/oscar/preferences.html:163
#: searx/templates/oscar/preferences.html:175
@@ -752,7 +755,7 @@ msgstr "最大时间"
#: searx/templates/oscar/preferences.html:248
msgid "This is the list of searx's instant answering modules."
-msgstr "这是searx的即时回答模块。"
+msgstr "这是 searx 的即时回答模块列表。"
#: searx/templates/oscar/preferences.html:252
msgid "Name"
@@ -768,21 +771,21 @@ msgstr "描述"
#: searx/templates/oscar/preferences.html:255
msgid "Examples"
-msgstr "例子"
+msgstr "示例"
#: searx/templates/oscar/preferences.html:275
msgid ""
"This is the list of cookies and their values searx is storing on your "
"computer."
-msgstr "这里展示了searx保存在你的电脑上的cookie。"
+msgstr "此列表展示了 searx 在您设备上存储的 cookie 信息。"
#: searx/templates/oscar/preferences.html:276
msgid "With that list, you can assess searx transparency."
-msgstr "有了这个列表,你可以评估searx透明度。"
+msgstr "您可以基于此表格来评估 searx 的透明度。"
#: searx/templates/oscar/preferences.html:281
msgid "Cookie name"
-msgstr "cookie名称"
+msgstr "Cookie 名称"
#: searx/templates/oscar/preferences.html:282
msgid "Value"
@@ -796,7 +799,7 @@ msgstr "当前保存选项的搜索链接"
msgid ""
"Note: specifying custom settings in the search URL can reduce privacy by "
"leaking data to the clicked result sites."
-msgstr "注意:在搜索链接中保存自定义设置会把数据泄露给点击的网站泄漏隐私。"
+msgstr "注意:在搜索链接中保存自定义设置会把数据泄露给点击的结果网站,从而泄漏隐私。"
#: searx/templates/oscar/results.html:17
msgid "Search results"
@@ -810,7 +813,7 @@ msgstr "尝试搜索:"
#: searx/templates/oscar/results.html:100
#: searx/templates/simple/results.html:25
msgid "Engines cannot retrieve results"
-msgstr "引擎无法检索结果"
+msgstr "引擎无法获取结果"
#: searx/templates/oscar/results.html:131
msgid "Links"
@@ -858,29 +861,29 @@ msgstr "小心!"
#: searx/templates/oscar/messages/first_time.html:7
msgid "It look like you are using searx first time."
-msgstr "看起来你是第一次使用searx。"
+msgstr "看来这是您第一次使用 searx。"
#: searx/templates/oscar/messages/no_cookies.html:3
msgid "Information!"
-msgstr "信息!"
+msgstr "注意!"
#: searx/templates/oscar/messages/no_cookies.html:4
msgid "currently, there are no cookies defined."
-msgstr "目前还未保存cookie。"
+msgstr "目前,还没有任何信息被存储在 Cookie 中。"
#: searx/templates/oscar/messages/no_data_available.html:4
msgid "There is currently no data available. "
-msgstr "目前没有数据可用。"
+msgstr "目前没有可用的数据。"
#: searx/templates/oscar/messages/no_results.html:4
#: searx/templates/simple/messages/no_results.html:4
msgid "Engines cannot retrieve results."
-msgstr "引擎无法检索结果。"
+msgstr "引擎无法获取结果。"
#: searx/templates/oscar/messages/no_results.html:10
#: searx/templates/simple/messages/no_results.html:10
msgid "Please, try again later or find another searx instance."
-msgstr "请稍后再试或使用其他的searx实例。"
+msgstr "请稍后再试,或寻找其它的 searx 实例替代。"
#: searx/templates/oscar/messages/no_results.html:14
#: searx/templates/simple/messages/no_results.html:14
@@ -892,7 +895,7 @@ msgstr "抱歉!"
msgid ""
"we didn't find any results. Please use another query or search in more "
"categories."
-msgstr "我们没有找到任何结果。请换用其他词语或在更多类别中搜索。"
+msgstr "我们没有找到任何结果。请使用其它关键词或在更多类别中搜索。"
#: searx/templates/oscar/messages/save_settings_successfull.html:7
msgid "Well done!"
@@ -961,22 +964,22 @@ msgstr "B"
#: searx/templates/oscar/result_templates/torrent.html:10
#: searx/templates/simple/result_templates/torrent.html:13
msgid "kiB"
-msgstr "KB"
+msgstr "kiB"
#: searx/templates/oscar/result_templates/torrent.html:11
#: searx/templates/simple/result_templates/torrent.html:14
msgid "MiB"
-msgstr "MB"
+msgstr "MiB"
#: searx/templates/oscar/result_templates/torrent.html:12
#: searx/templates/simple/result_templates/torrent.html:15
msgid "GiB"
-msgstr "GB"
+msgstr "GiB"
#: searx/templates/oscar/result_templates/torrent.html:13
#: searx/templates/simple/result_templates/torrent.html:16
msgid "TiB"
-msgstr "TB"
+msgstr "TiB"
#: searx/templates/oscar/result_templates/torrent.html:15
#: searx/templates/simple/result_templates/torrent.html:20
@@ -995,7 +998,7 @@ msgstr "隐藏视频"
#: searx/templates/pix-art/results.html:28
msgid "Load more..."
-msgstr "载入更多..."
+msgstr "载入更多……"
#: searx/templates/simple/base.html:31
msgid "No item found"
@@ -1003,7 +1006,7 @@ msgstr "未找到条目"
#: searx/templates/simple/preferences.html:89
msgid "Supports selected language"
-msgstr "是否支持选定的语言"
+msgstr "支持选定的语言"
#: searx/templates/simple/preferences.html:118
msgid "User interface"
diff --git a/searx/translations/zh_Hant_TW/LC_MESSAGES/messages.mo b/searx/translations/zh_Hant_TW/LC_MESSAGES/messages.mo
index b7e099977..0b2a3c921 100644
--- a/searx/translations/zh_Hant_TW/LC_MESSAGES/messages.mo
+++ b/searx/translations/zh_Hant_TW/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/zh_TW/LC_MESSAGES/messages.mo b/searx/translations/zh_TW/LC_MESSAGES/messages.mo
new file mode 100644
index 000000000..b6d43e2a8
--- /dev/null
+++ b/searx/translations/zh_TW/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/zh_TW/LC_MESSAGES/messages.po b/searx/translations/zh_TW/LC_MESSAGES/messages.po
new file mode 100644
index 000000000..93adf449f
--- /dev/null
+++ b/searx/translations/zh_TW/LC_MESSAGES/messages.po
@@ -0,0 +1,1015 @@
+# Translations template for PROJECT.
+# Copyright (C) 2017 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+#
+# Translators:
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2016
+# Jeff Huang <s8321414@gmail.com>, 2017
+# Mingye Wang <arthur200126@gmail.com>, 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: searx\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2017-11-01 21:31+0100\n"
+"PO-Revision-Date: 2018-09-16 00:29+0000\n"
+"Last-Translator: Mingye Wang <arthur200126@gmail.com>\n"
+"Language-Team: Chinese (Taiwan) (http://www.transifex.com/asciimoo/searx/language/zh_TW/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.3.4\n"
+"Language: zh_TW\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: searx/search.py:137 searx/search.py:182
+msgid "timeout"
+msgstr "逾時"
+
+#: searx/search.py:144
+msgid "request exception"
+msgstr "請求例外"
+
+#: searx/search.py:151
+msgid "unexpected crash"
+msgstr "未預期的當機"
+
+#: searx/webapp.py:136
+msgid "files"
+msgstr "檔案"
+
+#: searx/webapp.py:137
+msgid "general"
+msgstr "一般"
+
+#: searx/webapp.py:138
+msgid "music"
+msgstr "音樂"
+
+#: searx/webapp.py:139
+msgid "social media"
+msgstr "社群媒體"
+
+#: searx/webapp.py:140
+msgid "images"
+msgstr "圖片"
+
+#: searx/webapp.py:141
+msgid "videos"
+msgstr "影片"
+
+#: searx/webapp.py:142
+msgid "it"
+msgstr "IT"
+
+#: searx/webapp.py:143
+msgid "news"
+msgstr "新聞"
+
+#: searx/webapp.py:144
+msgid "map"
+msgstr "地圖"
+
+#: searx/webapp.py:145
+msgid "science"
+msgstr "科學"
+
+#: searx/webapp.py:399 searx/webapp.py:658
+msgid "Invalid settings, please edit your preferences"
+msgstr "無效的設定,請編輯您的偏好設定"
+
+#: searx/webapp.py:415
+msgid "Invalid settings"
+msgstr "無效的設定"
+
+#: searx/webapp.py:449 searx/webapp.py:493
+msgid "search error"
+msgstr "搜尋錯誤"
+
+#: searx/webapp.py:530
+msgid "{minutes} minute(s) ago"
+msgstr "{minutes} 分鐘前"
+
+#: searx/webapp.py:532
+msgid "{hours} hour(s), {minutes} minute(s) ago"
+msgstr "{hours} 小時 {minutes} 分鐘前"
+
+#: searx/answerers/random/answerer.py:53
+msgid "Random value generator"
+msgstr "隨機數值產生器"
+
+#: searx/answerers/random/answerer.py:54
+msgid "Generate different random values"
+msgstr "生成不同的隨機數值"
+
+#: searx/answerers/statistics/answerer.py:53
+msgid "Statistics functions"
+msgstr "統計功能"
+
+#: searx/answerers/statistics/answerer.py:54
+msgid "Compute {functions} of the arguments"
+msgstr "計算 {functions} 參數"
+
+#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201
+msgid "Engine time (sec)"
+msgstr "引擎時間(秒)"
+
+#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205
+msgid "Page loads (sec)"
+msgstr "頁面載入(秒)"
+
+#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209
+#: searx/templates/oscar/results.html:95
+#: searx/templates/simple/results.html:20
+msgid "Number of results"
+msgstr "結果筆數"
+
+#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213
+msgid "Scores"
+msgstr "分數"
+
+#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217
+msgid "Scores per result"
+msgstr "每個結果的分數"
+
+#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221
+msgid "Errors"
+msgstr "錯誤"
+
+#: searx/engines/pdbe.py:87
+msgid "{title}&nbsp;(OBSOLETE)"
+msgstr "{title}&nbsp;(已過時)"
+
+#: searx/engines/pdbe.py:91
+msgid "This entry has been superseded by"
+msgstr "此條目已被取代"
+
+#: searx/engines/pubmed.py:74
+msgid "No abstract is available for this publication."
+msgstr "此出版品無可用摘要。"
+
+#: searx/plugins/https_rewrite.py:32
+msgid "Rewrite HTTP links to HTTPS if possible"
+msgstr "可以的話將 HTTP 連結重寫為 HTTPS"
+
+#: searx/plugins/infinite_scroll.py:3
+msgid "Infinite scroll"
+msgstr "無限捲動"
+
+#: searx/plugins/infinite_scroll.py:4
+msgid "Automatically load next page when scrolling to bottom of current page"
+msgstr "當捲動至目前頁面的底部時自動載入下一頁"
+
+#: searx/plugins/oa_doi_rewrite.py:9
+msgid "Open Access DOI rewrite"
+msgstr "開放存取 DOI 重寫"
+
+#: searx/plugins/oa_doi_rewrite.py:10
+msgid ""
+"Avoid paywalls by redirecting to open-access versions of publications when "
+"available"
+msgstr "盡可能重新導向至出版品的開放存取版本,來避免付費牆"
+
+#: searx/plugins/open_results_on_new_tab.py:18
+#: searx/templates/oscar/preferences.html:114
+#: searx/templates/simple/preferences.html:149
+msgid "Open result links on new browser tabs"
+msgstr "在新瀏覽器分頁中開啟結果連結"
+
+#: searx/plugins/open_results_on_new_tab.py:19
+msgid ""
+"Results are opened in the same window by default. This plugin overwrites the"
+" default behaviour to open links on new tabs/windows. (JavaScript required)"
+msgstr "結果預設會在同一個視窗開啟。這個外掛程式會覆寫預設行為,會在新分頁/視窗中開啟連結。(需要 JavaScript)"
+
+#: searx/plugins/search_on_category_select.py:18
+msgid "Search on category select"
+msgstr "類別選取搜尋"
+
+#: searx/plugins/search_on_category_select.py:19
+msgid ""
+"Perform search immediately if a category selected. Disable to select "
+"multiple categories. (JavaScript required)"
+msgstr "若分類被選取時立刻執行搜尋。停用以選取多個分類。(需要 JavaScript)"
+
+#: searx/plugins/self_info.py:20
+msgid ""
+"Displays your IP if the query is \"ip\" and your user agent if the query "
+"contains \"user agent\"."
+msgstr "若搜尋字串爲「ip」則顯示您的 IP,而若是「user agent」則顯示您的使用者代理字串。"
+
+#: searx/plugins/tracker_url_remover.py:26
+msgid "Tracker URL remover"
+msgstr "追蹤器 URL 移除器"
+
+#: searx/plugins/tracker_url_remover.py:27
+msgid "Remove trackers arguments from the returned URL"
+msgstr "從傳回的 URL 中移除追蹤器參數"
+
+#: searx/plugins/vim_hotkeys.py:3
+msgid "Vim-like hotkeys"
+msgstr "類 Vim 快捷鍵"
+
+#: searx/plugins/vim_hotkeys.py:4
+msgid ""
+"Navigate search results with Vim-like hotkeys (JavaScript required). Press "
+"\"h\" key on main or result page to get help."
+msgstr "以類 Vim 的快捷鍵導覽搜尋結果(需要 JavaScript)。在主頁面或結果頁面按「h」鍵以取得說明。"
+
+#: searx/templates/courgette/404.html:4 searx/templates/legacy/404.html:4
+#: searx/templates/oscar/404.html:4 searx/templates/pix-art/404.html:4
+#: searx/templates/simple/404.html:4
+msgid "Page not found"
+msgstr "找不到頁面"
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+#, python-format
+msgid "Go to %(search_page)s."
+msgstr "到 %(search_page)s。"
+
+#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
+#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
+#: searx/templates/simple/404.html:6
+msgid "search page"
+msgstr "搜尋頁面"
+
+#: searx/templates/courgette/index.html:9
+#: searx/templates/courgette/index.html:13
+#: searx/templates/courgette/results.html:5
+#: searx/templates/legacy/index.html:8 searx/templates/legacy/index.html:12
+#: searx/templates/oscar/navbar.html:7
+#: searx/templates/oscar/preferences.html:3
+#: searx/templates/pix-art/index.html:8
+msgid "preferences"
+msgstr "偏好設定"
+
+#: searx/templates/courgette/index.html:11
+#: searx/templates/legacy/index.html:10 searx/templates/oscar/about.html:2
+#: searx/templates/oscar/navbar.html:6 searx/templates/pix-art/index.html:7
+msgid "about"
+msgstr "關於"
+
+#: searx/templates/courgette/preferences.html:5
+#: searx/templates/legacy/preferences.html:5
+#: searx/templates/oscar/preferences.html:8
+#: searx/templates/pix-art/preferences.html:5
+#: searx/templates/simple/preferences.html:26
+msgid "Preferences"
+msgstr "偏好設定"
+
+#: searx/templates/courgette/preferences.html:9
+#: searx/templates/legacy/preferences.html:9
+#: searx/templates/oscar/preferences.html:33
+#: searx/templates/oscar/preferences.html:35
+#: searx/templates/simple/preferences.html:34
+msgid "Default categories"
+msgstr "預設分類"
+
+#: searx/templates/courgette/preferences.html:13
+#: searx/templates/legacy/preferences.html:14
+#: searx/templates/oscar/preferences.html:41
+#: searx/templates/pix-art/preferences.html:9
+#: searx/templates/simple/preferences.html:39
+#: searx/templates/simple/preferences.html:163
+msgid "Search language"
+msgstr "搜尋語言"
+
+#: searx/templates/courgette/preferences.html:16
+#: searx/templates/legacy/preferences.html:17
+#: searx/templates/oscar/languages.html:6
+#: searx/templates/pix-art/preferences.html:12
+#: searx/templates/simple/languages.html:2
+#: searx/templates/simple/preferences.html:42
+msgid "Default language"
+msgstr "預設語言"
+
+#: searx/templates/courgette/preferences.html:24
+#: searx/templates/legacy/preferences.html:25
+#: searx/templates/oscar/preferences.html:47
+#: searx/templates/pix-art/preferences.html:20
+#: searx/templates/simple/preferences.html:120
+msgid "Interface language"
+msgstr "介面語言"
+
+#: searx/templates/courgette/preferences.html:34
+#: searx/templates/legacy/preferences.html:35
+#: searx/templates/oscar/preferences.html:57
+#: searx/templates/simple/preferences.html:51
+msgid "Autocomplete"
+msgstr "自動完成"
+
+#: searx/templates/courgette/preferences.html:45
+#: searx/templates/legacy/preferences.html:46
+#: searx/templates/oscar/preferences.html:68
+#: searx/templates/simple/preferences.html:166
+msgid "Image proxy"
+msgstr "圖片代理伺服器"
+
+#: searx/templates/courgette/preferences.html:48
+#: searx/templates/legacy/preferences.html:49
+#: searx/templates/oscar/preferences.html:72
+#: searx/templates/simple/preferences.html:169
+msgid "Enabled"
+msgstr "已啟用"
+
+#: searx/templates/courgette/preferences.html:49
+#: searx/templates/legacy/preferences.html:50
+#: searx/templates/oscar/preferences.html:73
+#: searx/templates/simple/preferences.html:170
+msgid "Disabled"
+msgstr "已停用"
+
+#: searx/templates/courgette/preferences.html:54
+#: searx/templates/legacy/preferences.html:55
+#: searx/templates/oscar/preferences.html:77
+#: searx/templates/pix-art/preferences.html:30
+#: searx/templates/simple/preferences.html:156
+msgid "Method"
+msgstr "方法"
+
+#: searx/templates/courgette/preferences.html:63
+#: searx/templates/legacy/preferences.html:64
+#: searx/templates/oscar/preferences.html:86
+#: searx/templates/oscar/preferences.html:165
+#: searx/templates/oscar/preferences.html:173
+#: searx/templates/simple/preferences.html:63
+#: searx/templates/simple/preferences.html:90
+msgid "SafeSearch"
+msgstr "安全搜尋"
+
+#: searx/templates/courgette/preferences.html:66
+#: searx/templates/legacy/preferences.html:67
+#: searx/templates/oscar/preferences.html:90
+#: searx/templates/simple/preferences.html:66
+msgid "Strict"
+msgstr "嚴格"
+
+#: searx/templates/courgette/preferences.html:67
+#: searx/templates/legacy/preferences.html:68
+#: searx/templates/oscar/preferences.html:91
+#: searx/templates/simple/preferences.html:67
+msgid "Moderate"
+msgstr "適中"
+
+#: searx/templates/courgette/preferences.html:68
+#: searx/templates/legacy/preferences.html:69
+#: searx/templates/oscar/preferences.html:92
+#: searx/templates/simple/preferences.html:68
+msgid "None"
+msgstr "無"
+
+#: searx/templates/courgette/preferences.html:73
+#: searx/templates/legacy/preferences.html:74
+#: searx/templates/oscar/preferences.html:96
+#: searx/templates/pix-art/preferences.html:39
+#: searx/templates/simple/preferences.html:131
+msgid "Themes"
+msgstr "佈景主題"
+
+#: searx/templates/courgette/preferences.html:83
+msgid "Color"
+msgstr "顏色"
+
+#: searx/templates/courgette/preferences.html:86
+msgid "Blue (default)"
+msgstr "藍色(預設值)"
+
+#: searx/templates/courgette/preferences.html:87
+msgid "Violet"
+msgstr "紫色"
+
+#: searx/templates/courgette/preferences.html:88
+msgid "Green"
+msgstr "綠色"
+
+#: searx/templates/courgette/preferences.html:89
+msgid "Cyan"
+msgstr "青色"
+
+#: searx/templates/courgette/preferences.html:90
+msgid "Orange"
+msgstr "橘色"
+
+#: searx/templates/courgette/preferences.html:91
+msgid "Red"
+msgstr "紅色"
+
+#: searx/templates/courgette/preferences.html:96
+#: searx/templates/legacy/preferences.html:93
+#: searx/templates/pix-art/preferences.html:49
+#: searx/templates/simple/preferences.html:77
+msgid "Currently used search engines"
+msgstr "目前使用的搜尋引擎"
+
+#: searx/templates/courgette/preferences.html:100
+#: searx/templates/legacy/preferences.html:97
+#: searx/templates/oscar/preferences.html:162
+#: searx/templates/oscar/preferences.html:176
+#: searx/templates/pix-art/preferences.html:53
+#: searx/templates/simple/preferences.html:87
+msgid "Engine name"
+msgstr "引擎名稱"
+
+#: searx/templates/courgette/preferences.html:101
+#: searx/templates/legacy/preferences.html:98
+msgid "Category"
+msgstr "分類"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:113
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:110
+#: searx/templates/oscar/preferences.html:161
+#: searx/templates/oscar/preferences.html:177
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:64
+#: searx/templates/simple/preferences.html:86
+msgid "Allow"
+msgstr "允許"
+
+#: searx/templates/courgette/preferences.html:102
+#: searx/templates/courgette/preferences.html:114
+#: searx/templates/legacy/preferences.html:99
+#: searx/templates/legacy/preferences.html:111
+#: searx/templates/pix-art/preferences.html:54
+#: searx/templates/pix-art/preferences.html:65
+msgid "Block"
+msgstr "封鎖"
+
+#: searx/templates/courgette/preferences.html:122
+#: searx/templates/legacy/preferences.html:119
+#: searx/templates/oscar/preferences.html:297
+#: searx/templates/pix-art/preferences.html:73
+#: searx/templates/simple/preferences.html:180
+msgid ""
+"These settings are stored in your cookies, this allows us not to store this "
+"data about you."
+msgstr "這些設定只會儲存在您的 cookies 中,這樣我們無需也不會存儲關於您的資訊。"
+
+#: searx/templates/courgette/preferences.html:124
+#: searx/templates/legacy/preferences.html:121
+#: searx/templates/oscar/preferences.html:299
+#: searx/templates/pix-art/preferences.html:75
+#: searx/templates/simple/preferences.html:182
+msgid ""
+"These cookies serve your sole convenience, we don't use these cookies to "
+"track you."
+msgstr "這些 cookies 僅做為提供您方便之用,我們不會使用這些 cookies 來追蹤您。"
+
+#: searx/templates/courgette/preferences.html:127
+#: searx/templates/legacy/preferences.html:124
+#: searx/templates/oscar/preferences.html:305
+#: searx/templates/pix-art/preferences.html:78
+#: searx/templates/simple/preferences.html:185
+msgid "save"
+msgstr "儲存"
+
+#: searx/templates/courgette/preferences.html:128
+#: searx/templates/legacy/preferences.html:125
+#: searx/templates/oscar/preferences.html:307
+#: searx/templates/simple/preferences.html:186
+msgid "Reset defaults"
+msgstr "重設為預設值"
+
+#: searx/templates/courgette/preferences.html:129
+#: searx/templates/legacy/preferences.html:126
+#: searx/templates/oscar/preferences.html:306
+#: searx/templates/pix-art/preferences.html:79
+#: searx/templates/simple/preferences.html:187
+msgid "back"
+msgstr "返回"
+
+#: searx/templates/courgette/results.html:12
+#: searx/templates/legacy/results.html:13
+#: searx/templates/oscar/results.html:136
+#: searx/templates/simple/results.html:58
+msgid "Search URL"
+msgstr "搜尋網址"
+
+#: searx/templates/courgette/results.html:16
+#: searx/templates/legacy/results.html:17
+#: searx/templates/oscar/results.html:141
+#: searx/templates/simple/results.html:62
+msgid "Download results"
+msgstr "下載結果"
+
+#: searx/templates/courgette/results.html:34
+#: searx/templates/legacy/results.html:35
+#: searx/templates/simple/results.html:10
+msgid "Answers"
+msgstr "答案"
+
+#: searx/templates/courgette/results.html:42
+#: searx/templates/legacy/results.html:43
+#: searx/templates/oscar/results.html:116
+#: searx/templates/simple/results.html:42
+msgid "Suggestions"
+msgstr "建議"
+
+#: searx/templates/courgette/results.html:70
+#: searx/templates/legacy/results.html:81
+#: searx/templates/oscar/results.html:68 searx/templates/oscar/results.html:78
+#: searx/templates/simple/results.html:130
+msgid "previous page"
+msgstr "上一頁"
+
+#: searx/templates/courgette/results.html:81
+#: searx/templates/legacy/results.html:92
+#: searx/templates/oscar/results.html:62 searx/templates/oscar/results.html:84
+#: searx/templates/simple/results.html:145
+msgid "next page"
+msgstr "下一頁"
+
+#: searx/templates/courgette/search.html:3
+#: searx/templates/legacy/search.html:3 searx/templates/oscar/search.html:6
+#: searx/templates/oscar/search_full.html:9
+#: searx/templates/pix-art/search.html:3 searx/templates/simple/search.html:4
+msgid "Search for..."
+msgstr "搜尋……"
+
+#: searx/templates/courgette/stats.html:4 searx/templates/legacy/stats.html:4
+#: searx/templates/oscar/stats.html:5 searx/templates/pix-art/stats.html:4
+#: searx/templates/simple/stats.html:7
+msgid "Engine stats"
+msgstr "引擎統計"
+
+#: searx/templates/courgette/result_templates/images.html:4
+#: searx/templates/legacy/result_templates/images.html:4
+#: searx/templates/pix-art/result_templates/images.html:4
+msgid "original context"
+msgstr "原始內容"
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Seeder"
+msgstr "播種者"
+
+#: searx/templates/courgette/result_templates/torrent.html:7
+#: searx/templates/legacy/result_templates/torrent.html:11
+#: searx/templates/oscar/result_templates/torrent.html:6
+#: searx/templates/simple/result_templates/torrent.html:9
+msgid "Leecher"
+msgstr "接收者"
+
+#: searx/templates/courgette/result_templates/torrent.html:9
+#: searx/templates/legacy/result_templates/torrent.html:9
+#: searx/templates/oscar/macros.html:23
+#: searx/templates/simple/result_templates/torrent.html:6
+msgid "magnet link"
+msgstr "磁力連結"
+
+#: searx/templates/courgette/result_templates/torrent.html:10
+#: searx/templates/legacy/result_templates/torrent.html:10
+#: searx/templates/oscar/macros.html:24
+#: searx/templates/simple/result_templates/torrent.html:7
+msgid "torrent file"
+msgstr "torrent 檔案"
+
+#: searx/templates/legacy/categories.html:8
+#: searx/templates/simple/categories.html:6
+msgid "Click on the magnifier to perform search"
+msgstr "在磁鐵上點選以執行搜尋"
+
+#: searx/templates/legacy/preferences.html:84
+#: searx/templates/oscar/preferences.html:113
+#: searx/templates/simple/preferences.html:142
+msgid "Results on new tabs"
+msgstr "在新分頁開啟結果"
+
+#: searx/templates/legacy/preferences.html:87
+#: searx/templates/oscar/preferences.html:117
+#: searx/templates/simple/preferences.html:145
+msgid "On"
+msgstr "開啟"
+
+#: searx/templates/legacy/preferences.html:88
+#: searx/templates/oscar/preferences.html:118
+#: searx/templates/simple/preferences.html:146
+msgid "Off"
+msgstr "關閉"
+
+#: searx/templates/legacy/result_templates/code.html:3
+#: searx/templates/legacy/result_templates/default.html:3
+#: searx/templates/legacy/result_templates/map.html:9
+#: searx/templates/oscar/macros.html:34 searx/templates/oscar/macros.html:48
+#: searx/templates/simple/macros.html:43
+msgid "cached"
+msgstr "已快取"
+
+#: searx/templates/oscar/advanced.html:4
+msgid "Advanced settings"
+msgstr "進階設定"
+
+#: searx/templates/oscar/base.html:62
+#: searx/templates/oscar/messages/first_time.html:4
+#: searx/templates/oscar/messages/save_settings_successfull.html:5
+#: searx/templates/oscar/messages/unknow_error.html:5
+msgid "Close"
+msgstr "關閉"
+
+#: searx/templates/oscar/base.html:64
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+#: searx/templates/simple/results.html:25
+msgid "Error!"
+msgstr "錯誤!"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "Powered by"
+msgstr "技術支援"
+
+#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55
+msgid "a privacy-respecting, hackable metasearch engine"
+msgstr "一個尊重隱私,可再開發的集合式搜尋引擎"
+
+#: searx/templates/oscar/macros.html:36 searx/templates/oscar/macros.html:50
+#: searx/templates/simple/macros.html:43
+msgid "proxied"
+msgstr "已代理"
+
+#: searx/templates/oscar/macros.html:92
+msgid "supported"
+msgstr "支援"
+
+#: searx/templates/oscar/macros.html:96
+msgid "not supported"
+msgstr "不支援"
+
+#: searx/templates/oscar/preferences.html:13
+#: searx/templates/oscar/preferences.html:22
+#: searx/templates/simple/preferences.html:32
+msgid "General"
+msgstr "一般"
+
+#: searx/templates/oscar/preferences.html:14
+#: searx/templates/oscar/preferences.html:146
+#: searx/templates/simple/preferences.html:76
+msgid "Engines"
+msgstr "引擎"
+
+#: searx/templates/oscar/preferences.html:15
+#: searx/templates/oscar/preferences.html:219
+msgid "Plugins"
+msgstr "外掛程式"
+
+#: searx/templates/oscar/preferences.html:16
+#: searx/templates/oscar/preferences.html:245
+msgid "Answerers"
+msgstr "答案"
+
+#: searx/templates/oscar/preferences.html:17
+#: searx/templates/oscar/preferences.html:272
+msgid "Cookies"
+msgstr "Cookies"
+
+#: searx/templates/oscar/preferences.html:42
+#: searx/templates/simple/preferences.html:48
+msgid "What language do you prefer for search?"
+msgstr "您偏好用哪種語言搜尋?"
+
+#: searx/templates/oscar/preferences.html:48
+#: searx/templates/simple/preferences.html:128
+msgid "Change the language of the layout"
+msgstr "變更佈局的語言"
+
+#: searx/templates/oscar/preferences.html:58
+#: searx/templates/simple/preferences.html:60
+msgid "Find stuff as you type"
+msgstr "隨打即找"
+
+#: searx/templates/oscar/preferences.html:69
+#: searx/templates/simple/preferences.html:173
+msgid "Proxying image results through searx"
+msgstr "透過 searx 代理圖片結果"
+
+#: searx/templates/oscar/preferences.html:78
+msgid ""
+"Change how forms are submited, <a "
+"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
+" rel=\"external\">learn more about request methods</a>"
+msgstr "變更遞交形式,<a href=\"https://zh.wikipedia.org/wiki/%%E8%%B6%%85%%E6%%96%%87%%E6%%9C%%AC%%E4%%BC%%A0%%E8%%BE%%93%%E5%%8D%%8F%%E8%%AE%%AE#%%E8%%AF%%B7%%E6%%B1%%82%%E6%%96%%B9%%E6%%B3%%95\" rel=\"external\">看看更多關於請求方法的介紹</a>"
+
+#: searx/templates/oscar/preferences.html:87
+#: searx/templates/simple/preferences.html:71
+msgid "Filter content"
+msgstr "過濾內容"
+
+#: searx/templates/oscar/preferences.html:97
+#: searx/templates/simple/preferences.html:139
+msgid "Change searx layout"
+msgstr "變更 searx 佈局"
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Choose style for this theme"
+msgstr "選擇這個主題的樣式"
+
+#: searx/templates/oscar/preferences.html:106
+#: searx/templates/oscar/preferences.html:111
+msgid "Style"
+msgstr "樣式"
+
+#: searx/templates/oscar/preferences.html:122
+msgid "Open Access DOI resolver"
+msgstr "開放存取 DOI 解析器"
+
+#: searx/templates/oscar/preferences.html:123
+msgid ""
+"Redirect to open-access versions of publications when available (plugin "
+"required)"
+msgstr "盡可能重新導向至出版品的開放存取版本(需要外掛程式)"
+
+#: searx/templates/oscar/preferences.html:163
+#: searx/templates/oscar/preferences.html:175
+#: searx/templates/simple/preferences.html:88
+msgid "Shortcut"
+msgstr "快捷鍵"
+
+#: searx/templates/oscar/preferences.html:164
+#: searx/templates/oscar/preferences.html:174
+msgid "Selected language"
+msgstr "已選取的語言"
+
+#: searx/templates/oscar/preferences.html:166
+#: searx/templates/oscar/preferences.html:172
+#: searx/templates/simple/preferences.html:91
+msgid "Time range"
+msgstr "時間範圍"
+
+#: searx/templates/oscar/preferences.html:167
+#: searx/templates/oscar/preferences.html:171
+#: searx/templates/simple/preferences.html:92
+msgid "Avg. time"
+msgstr "平均時間"
+
+#: searx/templates/oscar/preferences.html:168
+#: searx/templates/oscar/preferences.html:170
+#: searx/templates/simple/preferences.html:93
+msgid "Max time"
+msgstr "最大時間"
+
+#: searx/templates/oscar/preferences.html:248
+msgid "This is the list of searx's instant answering modules."
+msgstr "這是 searx 的即時回覆模組清單。"
+
+#: searx/templates/oscar/preferences.html:252
+msgid "Name"
+msgstr "名稱"
+
+#: searx/templates/oscar/preferences.html:253
+msgid "Keywords"
+msgstr "關鍵字"
+
+#: searx/templates/oscar/preferences.html:254
+msgid "Description"
+msgstr "描述"
+
+#: searx/templates/oscar/preferences.html:255
+msgid "Examples"
+msgstr "範例"
+
+#: searx/templates/oscar/preferences.html:275
+msgid ""
+"This is the list of cookies and their values searx is storing on your "
+"computer."
+msgstr "這是 searx 儲存在您電腦上的 cookies 與它們的值的清單。"
+
+#: searx/templates/oscar/preferences.html:276
+msgid "With that list, you can assess searx transparency."
+msgstr "有了這份清單,您就可以評估 searx 的透明度。"
+
+#: searx/templates/oscar/preferences.html:281
+msgid "Cookie name"
+msgstr "Cookie 名稱"
+
+#: searx/templates/oscar/preferences.html:282
+msgid "Value"
+msgstr "值"
+
+#: searx/templates/oscar/preferences.html:301
+msgid "Search URL of the currently saved preferences"
+msgstr "目前偏好設定的搜尋 URL"
+
+#: searx/templates/oscar/preferences.html:301
+msgid ""
+"Note: specifying custom settings in the search URL can reduce privacy by "
+"leaking data to the clicked result sites."
+msgstr "注意:在搜尋 URL 中指定自訂的設定可能會降低隱私,因為會洩漏資料給點選的結果頁面。"
+
+#: searx/templates/oscar/results.html:17
+msgid "Search results"
+msgstr "搜尋結果"
+
+#: searx/templates/oscar/results.html:21
+#: searx/templates/simple/results.html:84
+msgid "Try searching for:"
+msgstr "嘗試搜尋:"
+
+#: searx/templates/oscar/results.html:100
+#: searx/templates/simple/results.html:25
+msgid "Engines cannot retrieve results"
+msgstr "引擎無法擷取結果"
+
+#: searx/templates/oscar/results.html:131
+msgid "Links"
+msgstr "連結"
+
+#: searx/templates/oscar/search.html:8
+#: searx/templates/oscar/search_full.html:11
+#: searx/templates/simple/search.html:5
+msgid "Start search"
+msgstr "開始搜尋"
+
+#: searx/templates/oscar/stats.html:2
+msgid "stats"
+msgstr "統計"
+
+#: searx/templates/oscar/time-range.html:3
+#: searx/templates/simple/time-range.html:3
+msgid "Anytime"
+msgstr "任何時間"
+
+#: searx/templates/oscar/time-range.html:6
+#: searx/templates/simple/time-range.html:6
+msgid "Last day"
+msgstr "一天內"
+
+#: searx/templates/oscar/time-range.html:9
+#: searx/templates/simple/time-range.html:9
+msgid "Last week"
+msgstr "一週內"
+
+#: searx/templates/oscar/time-range.html:12
+#: searx/templates/simple/time-range.html:12
+msgid "Last month"
+msgstr "一個月內"
+
+#: searx/templates/oscar/time-range.html:15
+#: searx/templates/simple/time-range.html:15
+msgid "Last year"
+msgstr "一年內"
+
+#: searx/templates/oscar/messages/first_time.html:6
+#: searx/templates/oscar/messages/no_data_available.html:3
+msgid "Heads up!"
+msgstr "注意!"
+
+#: searx/templates/oscar/messages/first_time.html:7
+msgid "It look like you are using searx first time."
+msgstr "看起來您是第一次使用 searx。"
+
+#: searx/templates/oscar/messages/no_cookies.html:3
+msgid "Information!"
+msgstr "資訊!"
+
+#: searx/templates/oscar/messages/no_cookies.html:4
+msgid "currently, there are no cookies defined."
+msgstr "目前未有已定義的 cookies。"
+
+#: searx/templates/oscar/messages/no_data_available.html:4
+msgid "There is currently no data available. "
+msgstr "目前無可用資料。"
+
+#: searx/templates/oscar/messages/no_results.html:4
+#: searx/templates/simple/messages/no_results.html:4
+msgid "Engines cannot retrieve results."
+msgstr "引擎無法擷取結果。"
+
+#: searx/templates/oscar/messages/no_results.html:10
+#: searx/templates/simple/messages/no_results.html:10
+msgid "Please, try again later or find another searx instance."
+msgstr "請再試一次或是使用其他 searx 實體搜尋。"
+
+#: searx/templates/oscar/messages/no_results.html:14
+#: searx/templates/simple/messages/no_results.html:14
+msgid "Sorry!"
+msgstr "抱歉!"
+
+#: searx/templates/oscar/messages/no_results.html:15
+#: searx/templates/simple/messages/no_results.html:15
+msgid ""
+"we didn't find any results. Please use another query or search in more "
+"categories."
+msgstr "我們找不到任何結果。請使用其他搜尋方式或在更多分類中搜尋。"
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:7
+msgid "Well done!"
+msgstr "很好!"
+
+#: searx/templates/oscar/messages/save_settings_successfull.html:8
+msgid "Settings saved successfully."
+msgstr "設定成功儲存。"
+
+#: searx/templates/oscar/messages/unknow_error.html:7
+msgid "Oh snap!"
+msgstr "糟糕!"
+
+#: searx/templates/oscar/messages/unknow_error.html:8
+msgid "Something went wrong."
+msgstr "發生了一點問題。"
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "show media"
+msgstr "顯示媒體"
+
+#: searx/templates/oscar/result_templates/default.html:7
+#: searx/templates/simple/result_templates/default.html:6
+msgid "hide media"
+msgstr "隱藏媒體"
+
+#: searx/templates/oscar/result_templates/images.html:30
+msgid "Get image"
+msgstr "取得圖片"
+
+#: searx/templates/oscar/result_templates/images.html:33
+msgid "View source"
+msgstr "檢視來源"
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "show map"
+msgstr "顯示地圖"
+
+#: searx/templates/oscar/result_templates/map.html:7
+#: searx/templates/simple/result_templates/map.html:7
+msgid "hide map"
+msgstr "隱藏地圖"
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "show details"
+msgstr "顯示詳情"
+
+#: searx/templates/oscar/result_templates/map.html:11
+#: searx/templates/simple/result_templates/map.html:11
+msgid "hide details"
+msgstr "隱藏詳情"
+
+#: searx/templates/oscar/result_templates/torrent.html:7
+#: searx/templates/simple/result_templates/torrent.html:11
+msgid "Filesize"
+msgstr "檔案大小"
+
+#: searx/templates/oscar/result_templates/torrent.html:9
+#: searx/templates/simple/result_templates/torrent.html:12
+msgid "Bytes"
+msgstr "位元組"
+
+#: searx/templates/oscar/result_templates/torrent.html:10
+#: searx/templates/simple/result_templates/torrent.html:13
+msgid "kiB"
+msgstr "kiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:11
+#: searx/templates/simple/result_templates/torrent.html:14
+msgid "MiB"
+msgstr "MiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:12
+#: searx/templates/simple/result_templates/torrent.html:15
+msgid "GiB"
+msgstr "GiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:13
+#: searx/templates/simple/result_templates/torrent.html:16
+msgid "TiB"
+msgstr "TiB"
+
+#: searx/templates/oscar/result_templates/torrent.html:15
+#: searx/templates/simple/result_templates/torrent.html:20
+msgid "Number of Files"
+msgstr "檔案數量"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "show video"
+msgstr "顯示影片"
+
+#: searx/templates/oscar/result_templates/videos.html:7
+#: searx/templates/simple/result_templates/videos.html:6
+msgid "hide video"
+msgstr "隱藏影片"
+
+#: searx/templates/pix-art/results.html:28
+msgid "Load more..."
+msgstr "載入更多……"
+
+#: searx/templates/simple/base.html:31
+msgid "No item found"
+msgstr "找不到項目"
+
+#: searx/templates/simple/preferences.html:89
+msgid "Supports selected language"
+msgstr "支援選定的語言"
+
+#: searx/templates/simple/preferences.html:118
+msgid "User interface"
+msgstr "使用者介面"
+
+#: searx/templates/simple/preferences.html:154
+msgid "Privacy"
+msgstr "隱私"
diff --git a/searx/utils.py b/searx/utils.py
index dfa22c5fc..5ea9dc89c 100644
--- a/searx/utils.py
+++ b/searx/utils.py
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
import csv
import hashlib
import hmac
@@ -12,6 +13,7 @@ from numbers import Number
from os.path import splitext, join
from io import open
from random import choice
+from lxml.etree import XPath
import sys
import json
@@ -44,9 +46,15 @@ logger = logger.getChild('utils')
blocked_tags = ('script',
'style')
+ecma_unescape4_re = re.compile(r'%u([0-9a-fA-F]{4})', re.UNICODE)
+ecma_unescape2_re = re.compile(r'%([0-9a-fA-F]{2})', re.UNICODE)
+
useragents = json.loads(open(os.path.dirname(os.path.realpath(__file__))
+ "/data/useragents.json", 'r', encoding='utf-8').read())
+xpath_cache = dict()
+lang_to_lc_cache = dict()
+
def searx_useragent():
return 'searx/{searx_version} {suffix}'.format(
@@ -183,7 +191,7 @@ def get_resources_directory(searx_directory, subdirectory, resources_directory):
if not resources_directory:
resources_directory = os.path.join(searx_directory, subdirectory)
if not os.path.isdir(resources_directory):
- raise Exception(directory + " is not a directory")
+ raise Exception(resources_directory + " is not a directory")
return resources_directory
@@ -302,18 +310,30 @@ def int_or_zero(num):
def is_valid_lang(lang):
is_abbr = (len(lang) == 2)
+ lang = lang.lower().decode('utf-8')
if is_abbr:
for l in language_codes:
- if l[0][:2] == lang.lower():
+ if l[0][:2] == lang:
return (True, l[0][:2], l[3].lower())
return False
else:
for l in language_codes:
- if l[1].lower() == lang.lower():
+ if l[1].lower() == lang or l[3].lower() == lang:
return (True, l[0][:2], l[3].lower())
return False
+def _get_lang_to_lc_dict(lang_list):
+ key = str(lang_list)
+ value = lang_to_lc_cache.get(key, None)
+ if value is None:
+ value = dict()
+ for lc in lang_list:
+ value.setdefault(lc.split('-')[0], lc)
+ lang_to_lc_cache[key] = value
+ return value
+
+
# auxiliary function to match lang_code in lang_list
def _match_language(lang_code, lang_list=[], custom_aliases={}):
# replace language code with a custom alias if necessary
@@ -334,11 +354,7 @@ def _match_language(lang_code, lang_list=[], custom_aliases={}):
return new_code
# try to get the any supported country for this language
- for lc in lang_list:
- if lang_code == lc.split('-')[0]:
- return lc
-
- return None
+ return _get_lang_to_lc_dict(lang_list).get(lang_code, None)
# get the language code from lang_list that best matches locale_code
@@ -384,10 +400,17 @@ def load_module(filename, module_dir):
def new_hmac(secret_key, url):
+ try:
+ secret_key_bytes = bytes(secret_key, 'utf-8')
+ except TypeError as err:
+ if isinstance(secret_key, bytes):
+ secret_key_bytes = secret_key
+ else:
+ raise err
if sys.version_info[0] == 2:
return hmac.new(bytes(secret_key), url, hashlib.sha256).hexdigest()
else:
- return hmac.new(bytes(secret_key, 'utf-8'), url, hashlib.sha256).hexdigest()
+ return hmac.new(secret_key_bytes, url, hashlib.sha256).hexdigest()
def to_string(obj):
@@ -399,3 +422,46 @@ def to_string(obj):
return obj.__str__()
if hasattr(obj, '__repr__'):
return obj.__repr__()
+
+
+def ecma_unescape(s):
+ """
+ python implementation of the unescape javascript function
+
+ https://www.ecma-international.org/ecma-262/6.0/#sec-unescape-string
+ https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/unescape
+ """
+ # s = unicode(s)
+ # "%u5409" becomes "吉"
+ s = ecma_unescape4_re.sub(lambda e: unichr(int(e.group(1), 16)), s)
+ # "%20" becomes " ", "%F3" becomes "ó"
+ s = ecma_unescape2_re.sub(lambda e: unichr(int(e.group(1), 16)), s)
+ return s
+
+
+def get_engine_from_settings(name):
+ """Return engine configuration from settings.yml of a given engine name"""
+
+ if 'engines' not in settings:
+ return {}
+
+ for engine in settings['engines']:
+ if 'name' not in engine:
+ continue
+ if name == engine['name']:
+ return engine
+
+ return {}
+
+
+def get_xpath(xpath_str):
+ result = xpath_cache.get(xpath_str, None)
+ if result is None:
+ result = XPath(xpath_str)
+ xpath_cache[xpath_str] = result
+ return result
+
+
+def eval_xpath(element, xpath_str):
+ xpath = get_xpath(xpath_str)
+ return xpath(element)
diff --git a/searx/version.py b/searx/version.py
index 11dfb1eef..4e149722e 100644
--- a/searx/version.py
+++ b/searx/version.py
@@ -18,7 +18,7 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >.
# version of searx
VERSION_MAJOR = 0
-VERSION_MINOR = 14
+VERSION_MINOR = 15
VERSION_BUILD = 0
VERSION_STRING = "{0}.{1}.{2}".format(VERSION_MAJOR,
diff --git a/searx/webapp.py b/searx/webapp.py
index 7145caca9..7cf4106d3 100644
--- a/searx/webapp.py
+++ b/searx/webapp.py
@@ -41,8 +41,12 @@ except:
logger.critical("cannot import dependency: pygments")
from sys import exit
exit(1)
-from cgi import escape
+try:
+ from cgi import escape
+except:
+ from html import escape
from datetime import datetime, timedelta
+from time import time
from werkzeug.contrib.fixers import ProxyFix
from flask import (
Flask, request, render_template, url_for, Response, make_response,
@@ -123,6 +127,7 @@ app = Flask(
app.jinja_env.trim_blocks = True
app.jinja_env.lstrip_blocks = True
+app.jinja_env.add_extension('jinja2.ext.loopcontrols')
app.secret_key = settings['server']['secret_key']
if not searx_debug \
@@ -152,23 +157,18 @@ outgoing_proxies = settings['outgoing'].get('proxies') or None
@babel.localeselector
def get_locale():
- locale = request.accept_languages.best_match(settings['locales'].keys())
-
- if request.preferences.get_value('locale') != '':
- locale = request.preferences.get_value('locale')
+ if 'locale' in request.form\
+ and request.form['locale'] in settings['locales']:
+ return request.form['locale']
if 'locale' in request.args\
and request.args['locale'] in settings['locales']:
- locale = request.args['locale']
-
- if 'locale' in request.form\
- and request.form['locale'] in settings['locales']:
- locale = request.form['locale']
+ return request.args['locale']
- if locale == 'zh_TW':
- locale = 'zh_Hant_TW'
+ if request.preferences.get_value('locale') != '':
+ return request.preferences.get_value('locale')
- return locale
+ return request.accept_languages.best_match(settings['locales'].keys())
# code-highlighter
@@ -295,6 +295,9 @@ def image_proxify(url):
if not request.preferences.get_value('image_proxy'):
return url
+ if url.startswith('data:image/jpeg;base64,'):
+ return url
+
if settings.get('result_proxy'):
return proxify(url)
@@ -399,6 +402,8 @@ def render(template_name, override_theme=None, **kwargs):
@app.before_request
def pre_request():
+ request.start_time = time()
+ request.timings = []
request.errors = []
preferences = Preferences(themes, list(categories.keys()), engines, plugins)
@@ -434,6 +439,21 @@ def pre_request():
request.user_plugins.append(plugin)
+@app.after_request
+def post_request(response):
+ total_time = time() - request.start_time
+ timings_all = ['total;dur=' + str(round(total_time * 1000, 3))]
+ if len(request.timings) > 0:
+ timings = sorted(request.timings, key=lambda v: v['total'])
+ timings_total = ['total_' + str(i) + '_' + v['engine'] +
+ ';dur=' + str(round(v['total'] * 1000, 3)) for i, v in enumerate(timings)]
+ timings_load = ['load_' + str(i) + '_' + v['engine'] +
+ ';dur=' + str(round(v['load'] * 1000, 3)) for i, v in enumerate(timings)]
+ timings_all = timings_all + timings_total + timings_load
+ response.headers.add('Server-Timing', ', '.join(timings_all))
+ return response
+
+
def index_error(output_format, error_message):
if output_format == 'json':
return Response(json.dumps({'error': error_message}),
@@ -486,9 +506,10 @@ def index():
# search
search_query = None
+ raw_text_query = None
result_container = None
try:
- search_query = get_search_query_from_webapp(request.preferences, request.form)
+ search_query, raw_text_query = get_search_query_from_webapp(request.preferences, request.form)
# search = Search(search_query) # without plugins
search = SearchWithPlugins(search_query, request.user_plugins, request)
result_container = search.search()
@@ -511,19 +532,24 @@ def index():
# UI
advanced_search = request.form.get('advanced_search', None)
+ # Server-Timing header
+ request.timings = result_container.get_timings()
+
# output
for result in results:
if output_format == 'html':
if 'content' in result and result['content']:
result['content'] = highlight_content(escape(result['content'][:1024]), search_query.query)
- result['title'] = highlight_content(escape(result['title'] or u''), search_query.query)
+ if 'title' in result and result['title']:
+ result['title'] = highlight_content(escape(result['title'] or u''), search_query.query)
else:
if result.get('content'):
result['content'] = html_to_text(result['content']).strip()
# removing html content and whitespace duplications
result['title'] = ' '.join(html_to_text(result['title']).strip().split())
- result['pretty_url'] = prettify_url(result['url'])
+ if 'url' in result:
+ result['pretty_url'] = prettify_url(result['url'])
# TODO, check if timezone is calculated right
if 'publishedDate' in result:
@@ -577,6 +603,21 @@ def index():
)
return Response(response_rss, mimetype='text/xml')
+ # HTML output format
+
+ # suggestions: use RawTextQuery to get the suggestion URLs with the same bang
+ suggestion_urls = map(lambda suggestion: {
+ 'url': raw_text_query.changeSearchQuery(suggestion).getFullQuery(),
+ 'title': suggestion
+ },
+ result_container.suggestions)
+
+ correction_urls = list(map(lambda correction: {
+ 'url': raw_text_query.changeSearchQuery(correction).getFullQuery(),
+ 'title': correction
+ },
+ result_container.corrections))
+ #
return render(
'results.html',
results=results,
@@ -586,9 +627,9 @@ def index():
time_range=search_query.time_range,
number_of_results=format_decimal(number_of_results),
advanced_search=advanced_search,
- suggestions=result_container.suggestions,
+ suggestions=suggestion_urls,
answers=result_container.answers,
- corrections=result_container.corrections,
+ corrections=correction_urls,
infoboxes=result_container.infoboxes,
paging=result_container.paging,
unresponsive_engines=result_container.unresponsive_engines,
@@ -597,7 +638,8 @@ def index():
fallback=settings['search']['language']),
base_url=get_base_url(),
theme=get_current_theme_name(),
- favicons=global_favicons[themes.index(get_current_theme_name())]
+ favicons=global_favicons[themes.index(get_current_theme_name())],
+ timeout_limit=request.form.get('timeout_limit', None)
)
@@ -633,12 +675,15 @@ def autocompleter():
# parse searx specific autocompleter results like !bang
raw_results = searx_bang(raw_text_query)
- # normal autocompletion results only appear if max 3 inner results returned
- if len(raw_results) <= 3 and completer:
+ # normal autocompletion results only appear if no inner results returned
+ # and there is a query part besides the engine and language bangs
+ if len(raw_results) == 0 and completer and (len(raw_text_query.query_parts) > 1 or
+ (len(raw_text_query.languages) == 0 and
+ not raw_text_query.specific)):
# get language from cookie
language = request.preferences.get_value('language')
- if not language:
- language = settings['search']['language']
+ if not language or language == 'all':
+ language = 'en'
else:
language = language.split('-')[0]
# run autocompletion
@@ -691,10 +736,7 @@ def preferences():
'warn_time': False}
if e.timeout > settings['outgoing']['request_timeout']:
stats[e.name]['warn_timeout'] = True
- if match_language(request.preferences.get_value('language'),
- getattr(e, 'supported_languages', []),
- getattr(e, 'language_aliases', {}), None):
- stats[e.name]['supports_selected_language'] = True
+ stats[e.name]['supports_selected_language'] = _is_selected_language_supported(e, request.preferences)
# get first element [0], the engine time,
# and then the second element [1] : the time (the first one is the label)
@@ -725,6 +767,14 @@ def preferences():
preferences=True)
+def _is_selected_language_supported(engine, preferences):
+ language = preferences.get_value('language')
+ return (language == 'all'
+ or match_language(language,
+ getattr(engine, 'supported_languages', []),
+ getattr(engine, 'language_aliases', {}), None))
+
+
@app.route('/image_proxy', methods=['GET'])
def image_proxy():
url = request.args.get('url').encode('utf-8')
@@ -838,7 +888,7 @@ def clear_cookies():
@app.route('/config')
def config():
- return jsonify({'categories': categories.keys(),
+ return jsonify({'categories': list(categories.keys()),
'engines': [{'name': engine_name,
'categories': engine.categories,
'shortcut': engine.shortcut,
@@ -846,7 +896,7 @@ def config():
'paging': engine.paging,
'language_support': engine.language_support,
'supported_languages':
- engine.supported_languages.keys()
+ list(engine.supported_languages.keys())
if isinstance(engine.supported_languages, dict)
else engine.supported_languages,
'safesearch': engine.safesearch,
@@ -874,7 +924,7 @@ def page_not_found(e):
def run():
- logger.debug('starting webserver on %s:%s', settings['server']['port'], settings['server']['bind_address'])
+ logger.debug('starting webserver on %s:%s', settings['server']['bind_address'], settings['server']['port'])
app.run(
debug=searx_debug,
use_debugger=searx_debug,