diff options
Diffstat (limited to 'searx')
227 files changed, 14457 insertions, 5441 deletions
diff --git a/searx/__init__.py b/searx/__init__.py index 4d7b2a8d3..2f3ebfcfe 100644 --- a/searx/__init__.py +++ b/searx/__init__.py @@ -38,6 +38,7 @@ def check_settings_yml(file_name): else: return None + # find location of settings.yml if 'SEARX_SETTINGS_PATH' in environ: # if possible set path to settings using the @@ -91,3 +92,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/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 f32b57202..9ccef8b54 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,22 @@ engine_default_args = {'paging': False, 'disabled': False, 'suspend_end_time': 0, 'continuous_errors': 0, - 'time_range_support': False} + 'time_range_support': False, + 'offline': False, + 'tokens': []} 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: @@ -123,14 +130,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) @@ -152,7 +161,7 @@ def to_percentage(stats, maxvalue): return stats -def get_engines_stats(): +def get_engines_stats(preferences): # TODO refactor pageloads = [] engine_times = [] @@ -163,16 +172,15 @@ def get_engines_stats(): max_pageload = max_engine_times = max_results = max_score = max_errors = max_score_per_result = 0 # noqa for engine in engines.values(): + if not preferences.validate_token(engine): + continue + if engine.stats['search_count'] == 0: continue + 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: @@ -184,14 +192,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}) @@ -248,12 +261,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/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/bing.py b/searx/engines/bing.py index 742379c1a..b193f7c60 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,9 +34,13 @@ 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)) if params['language'] == 'all': lang = 'EN' @@ -47,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, @@ -77,18 +77,34 @@ 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()')) + 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 result_len and _get_offset_from_pageno(resp.search_params.get("pageno", 0)) > result_len: + return [] + + results.append({'number_of_results': result_len}) return results @@ -96,9 +112,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 e2495200c..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,16 +46,14 @@ 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, language_aliases).lower() @@ -77,32 +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') - thumbnail = 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_videos.py b/searx/engines/bing_videos.py index bf17f9168..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,7 +45,12 @@ 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'] = \ @@ -52,9 +61,7 @@ def request(query, params): 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 06a9c41f3..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,7 +26,7 @@ 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' @@ -59,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 fb8f523ac..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'] @@ -65,21 +65,36 @@ def get_region_code(lang, lang_list=[]): 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) - if region_code: - params['url'] = url.format( - query=urlencode({'q': query, 'kl': region_code}), offset=offset, dc_param=offset) + 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: - params['url'] = url.format( - query=urlencode({'q': query}), offset=offset, dc_param=offset) + 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']]) + if params['time_range'] in time_range_dict: + params['url'] += time_range_url.format(range=time_range_dict[params['time_range']]) return params @@ -91,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/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/dummy-offline.py b/searx/engines/dummy-offline.py new file mode 100644 index 000000000..13a9ecc01 --- /dev/null +++ b/searx/engines/dummy-offline.py @@ -0,0 +1,12 @@ +""" + Dummy Offline + + @results one result + @stable yes +""" + + +def search(query, request_params): + return [{ + 'result': 'this is what you get', + }] 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..c8ee34f7a 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,28 @@ def response(resp): else: thumbnail_src = img_src - url = build_flickr_url(photo['ownerNsid'], photo['id']) - - title = photo.get('title', '') - - author = photo['username'] - - # append result - results.append({'url': url, - 'title': title, - 'img_src': img_src, - 'thumbnail_src': thumbnail_src, - 'content': '', - 'author': author, - 'template': 'images.html'}) + 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']) + + result = { + 'url': url, + 'img_src': img_src, + 'thumbnail_src': thumbnail_src, + 'source': source, + 'img_format': img_format, + 'template': 'images.html' + } + try: + result['author'] = author + result['title'] = title + result['content'] = content + except: + result['author'] = '' + result['title'] = '' + result['content'] = '' + results.append(result) 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/genius.py b/searx/engines/genius.py index b265e9d76..aa5afad9b 100644 --- a/searx/engines/genius.py +++ b/searx/engines/genius.py @@ -72,6 +72,7 @@ def parse_album(hit): result.update({'content': 'Released: {}'.format(year)}) return result + parse = {'lyric': parse_lyric, 'song': parse_lyric, 'artist': parse_artist, 'album': parse_album} diff --git a/searx/engines/gigablast.py b/searx/engines/gigablast.py index a6aa5d718..2bb29a9fe 100644 --- a/searx/engines/gigablast.py +++ b/searx/engines/gigablast.py @@ -14,7 +14,9 @@ import random from json import loads from time import time from lxml.html import fromstring +from searx.poolrequests import get from searx.url_utils import urlencode +from searx.utils import eval_xpath # engine dependent config categories = ['general'] @@ -30,13 +32,9 @@ search_string = 'search?{query}'\ '&c=main'\ '&s={offset}'\ '&format=json'\ - '&qh=0'\ - '&qlang={lang}'\ + '&langcountry={lang}'\ '&ff={safesearch}'\ - '&rxiec={rxieu}'\ - '&ulse={ulse}'\ - '&rand={rxikd}' # current unix timestamp - + '&rand={rxikd}' # specific xpath variables results_xpath = '//response//result' url_xpath = './/url' @@ -45,9 +43,26 @@ content_xpath = './/sum' supported_languages_url = 'https://gigablast.com/search?&rxikd=1' +extra_param = '' # gigablast requires a random extra parameter +# which can be extracted from the source code of the search page + + +def parse_extra_param(text): + global extra_param + param_lines = [x for x in text.splitlines() if x.startswith('var url=') or x.startswith('url=url+')] + extra_param = '' + for l in param_lines: + extra_param += l.split("'")[1] + extra_param = extra_param.split('&')[-1] + + +def init(engine_settings=None): + parse_extra_param(get('http://gigablast.com/search?c=main&qlangcountry=en-us&q=south&s=10').text) + # do search-request def request(query, params): + print("EXTRAPARAM:", extra_param) offset = (params['pageno'] - 1) * number_of_results if params['language'] == 'all': @@ -66,13 +81,11 @@ def request(query, params): search_path = search_string.format(query=urlencode({'q': query}), offset=offset, number_of_results=number_of_results, - rxikd=int(time() * 1000), - rxieu=random.randint(1000000000, 9999999999), - ulse=random.randint(100000000, 999999999), lang=language, + rxikd=int(time() * 1000), safesearch=safesearch) - params['url'] = base_url + search_path + params['url'] = base_url + search_path + '&' + extra_param return params @@ -82,7 +95,11 @@ def response(resp): results = [] # parse results - response_json = loads(resp.text) + try: + response_json = loads(resp.text) + except: + parse_extra_param(resp.text) + raise Exception('extra param expired, please reload') for result in response_json['results']: # append result @@ -98,9 +115,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 03f0523e7..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 @@ -199,9 +198,6 @@ def request(query, params): params['headers']['Accept-Language'] = language + ',' + language + '-' + country params['headers']['Accept'] = 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' - # Force Internet Explorer 12 user agent to avoid loading the new UI that Searx can't parse - params['headers']['User-Agent'] = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" - params['google_hostname'] = google_hostname return params @@ -226,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 @@ -249,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) @@ -273,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, @@ -286,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 @@ -299,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, @@ -388,10 +382,10 @@ def attributes_to_html(attributes): def _fetch_supported_languages(resp): supported_languages = {} dom = html.fromstring(resp.text) - options = dom.xpath('//*[@id="langSec"]//input[@name="lr"]') + options = eval_xpath(dom, '//*[@id="langSec"]//input[@name="lr"]') for option in options: - code = option.xpath('./@value')[0].split('_')[-1] - name = option.xpath('./@data-name')[0].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 d9a49e9cc..636913114 100644 --- a/searx/engines/google_images.py +++ b/searx/engines/google_images.py @@ -70,11 +70,21 @@ def response(resp): try: metadata = loads(result) - img_format = "{0} {1}x{2}".format(metadata['ity'], str(metadata['ow']), str(metadata['oh'])) - source = "{0} ({1})".format(metadata['st'], metadata['isu']) + + 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['s'], + 'content': metadata.get('s', ''), 'source': source, 'img_format': img_format, 'thumbnail_src': metadata['tu'], diff --git a/searx/engines/google_videos.py b/searx/engines/google_videos.py index 9a41b2dfa..fd6b2e3be 100644 --- a/searx/engines/google_videos.py +++ b/searx/engines/google_videos.py @@ -75,15 +75,17 @@ def response(resp): # get thumbnails script = str(dom.xpath('//script[contains(., "_setImagesSrc")]')[0].text) - id = result.xpath('.//div[@class="s"]//img/@id')[0] - thumbnails_data = re.findall('s=\'(.*?)(?:\\\\[a-z,1-9,\\\\]+\'|\')\;var ii=\[(?:|[\'vidthumb\d+\',]+)\'' + id, - 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] + 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, diff --git a/searx/engines/ina.py b/searx/engines/ina.py index 37a05f099..ea509649f 100644 --- a/searx/engines/ina.py +++ b/searx/engines/ina.py @@ -32,7 +32,7 @@ base_url = 'https://www.ina.fr' search_url = base_url + '/layout/set/ajax/recherche/result?autopromote=&hf={ps}&b={start}&type=Video&r=&{query}' # specific xpath variables -results_xpath = '//div[contains(@class,"search-results--list")]/div[@class="media"]' +results_xpath = '//div[contains(@class,"search-results--list")]//div[@class="media-body"]' url_xpath = './/a/@href' title_xpath = './/h3[@class="h3--title media-heading"]' thumbnail_xpath = './/img/@src' @@ -65,8 +65,11 @@ def response(resp): videoid = result.xpath(url_xpath)[0] url = base_url + videoid title = p.unescape(extract_text(result.xpath(title_xpath))) - thumbnail = extract_text(result.xpath(thumbnail_xpath)[0]) - if thumbnail[0] == '/': + try: + thumbnail = extract_text(result.xpath(thumbnail_xpath)[0]) + except: + thumbnail = '' + if thumbnail and thumbnail[0] == '/': thumbnail = base_url + thumbnail d = extract_text(result.xpath(publishedDate_xpath)[0]) d = d.split('/') 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/microsoft_academic.py b/searx/engines/microsoft_academic.py index 9387b08d0..9bac0069c 100644 --- a/searx/engines/microsoft_academic.py +++ b/searx/engines/microsoft_academic.py @@ -45,6 +45,8 @@ def request(query, params): def response(resp): results = [] response_data = loads(resp.text) + if not response_data: + return results for result in response_data['results']: url = _get_url(result) diff --git a/searx/engines/openstreetmap.py b/searx/engines/openstreetmap.py index 733ba6203..cec10a3c7 100644 --- a/searx/engines/openstreetmap.py +++ b/searx/engines/openstreetmap.py @@ -24,7 +24,7 @@ result_base_url = 'https://openstreetmap.org/{osm_type}/{osm_id}' # do search-request def request(query, params): - params['url'] = base_url + search_string.format(query=query) + params['url'] = base_url + search_string.format(query=query.decode('utf-8')) return params diff --git a/searx/engines/qwant.py b/searx/engines/qwant.py index de12955c6..54e9dafad 100644 --- a/searx/engines/qwant.py +++ b/searx/engines/qwant.py @@ -50,6 +50,7 @@ def request(query, params): language = match_language(params['language'], supported_languages, language_aliases) params['url'] += '&locale=' + language.replace('-', '_').lower() + params['headers']['User-Agent'] = 'Mozilla/5.0 (X11; Linux x86_64; rv:69.0) Gecko/20100101 Firefox/69.0' return params diff --git a/searx/engines/scanr_structures.py b/searx/engines/scanr_structures.py index 72fd2b3c9..7208dcb70 100644 --- a/searx/engines/scanr_structures.py +++ b/searx/engines/scanr_structures.py @@ -29,7 +29,7 @@ def request(query, params): params['url'] = search_url params['method'] = 'POST' params['headers']['Content-type'] = "application/json" - params['data'] = dumps({"query": query, + params['data'] = dumps({"query": query.decode('utf-8'), "searchField": "ALL", "sortDirection": "ASC", "sortOrder": "RELEVANCY", diff --git a/searx/engines/seedpeer.py b/searx/engines/seedpeer.py new file mode 100644 index 000000000..f9b1f99c8 --- /dev/null +++ b/searx/engines/seedpeer.py @@ -0,0 +1,78 @@ +# Seedpeer (Videos, Music, Files) +# +# @website https://seedpeer.me +# @provide-api no (nothing found) +# +# @using-api no +# @results HTML (using search portal) +# @stable yes (HTML can change) +# @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 = 'https://seedpeer.me/' +search_url = url + 'search/{search_term}?page={page_no}' +torrent_file_url = url + 'torrent/{torrent_hash}' + +# specific xpath variables +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']) + return params + + +# get response from search-request +def response(resp): + results = [] + dom = html.fromstring(resp.text) + 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 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) + + # 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 + return sorted(results, key=itemgetter('seed'), reverse=True) 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/spotify.py b/searx/engines/spotify.py index aed756be3..00c395706 100644 --- a/searx/engines/spotify.py +++ b/searx/engines/spotify.py @@ -12,10 +12,14 @@ from json import loads from searx.url_utils import urlencode +import requests +import base64 # engine dependent config categories = ['music'] paging = True +api_client_id = None +api_client_secret = None # search-url url = 'https://api.spotify.com/' @@ -31,6 +35,16 @@ def request(query, params): params['url'] = search_url.format(query=urlencode({'q': query}), offset=offset) + r = requests.post( + 'https://accounts.spotify.com/api/token', + data={'grant_type': 'client_credentials'}, + headers={'Authorization': 'Basic ' + base64.b64encode( + "{}:{}".format(api_client_id, api_client_secret).encode('utf-8') + ).decode('utf-8')} + ) + j = loads(r.text) + params['headers'] = {'Authorization': 'Bearer {}'.format(j.get('access_token'))} + return params diff --git a/searx/engines/startpage.py b/searx/engines/startpage.py index 6638f3d83..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,23 +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 = '//li[contains(@class, "search-result") and contains(@class, "search-item")]' -link_xpath = './/h3/a' -content_xpath = './p[@class="search-item__body"]' +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} + params['data'] = { + 'query': query, + 'page': params['pageno'], + 'cat': 'web', + 'cmd': 'process_search', + 'engine0': 'v1all', + } # set language if specified if params['language'] != 'all': - params['data']['with_language'] = ('lang_' + params['language'].split('-')[0]) + language = 'english' + for lc, _, _, lang in language_codes: + if lc == params['language']: + language = lang + params['data']['language'] = language + params['data']['lui'] = language return params @@ -60,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] @@ -77,8 +88,8 @@ def response(resp): title = extract_text(link) - if result.xpath(content_xpath): - content = extract_text(result.xpath(content_xpath)) + if eval_xpath(result, content_xpath): + content = extract_text(eval_xpath(result, content_xpath)) else: content = '' 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 03a58a31a..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§ionpreview=1&disabletoc=1&utf8=1&formatversion=2' + + '&redirects=1&prop=text%7Cdisplaytitle%7Cparsewarnings'\ + + '&disableeditsection=1&preview=1§ionpreview=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,8 +75,9 @@ 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) if resp.search_params['language'].split('-')[0] == 'all': language = 'en' @@ -78,13 +89,13 @@ def response(resp): 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 = [] @@ -95,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 @@ -130,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/' @@ -163,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({ @@ -310,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) @@ -369,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': @@ -390,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: @@ -410,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] @@ -430,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]) @@ -477,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 4dae735d1..a216ba886 100644 --- a/searx/engines/wikipedia.py +++ b/searx/engines/wikipedia.py @@ -21,7 +21,8 @@ search_url = base_url + u'w/api.php?'\ 'action=query'\ '&format=json'\ '&{query}'\ - '&prop=extracts|pageimages'\ + '&prop=extracts|pageimages|pageprops'\ + '&ppprop=disambiguation'\ '&exintro'\ '&explaintext'\ '&pithumbsize=300'\ @@ -79,12 +80,15 @@ def response(resp): # wikipedia article's unique id # first valid id is assumed to be the requested article + if 'pages' not in search_result['query']: + return results + for article_id in search_result['query']['pages']: page = search_result['query']['pages'][article_id] if int(article_id) > 0: break - if int(article_id) < 0: + if int(article_id) < 0 or 'disambiguation' in page.get('pageprops', {}): return [] title = page.get('title') @@ -96,6 +100,7 @@ def response(resp): extract = page.get('extract') summary = extract_first_paragraph(extract, title, image) + summary = summary.replace('() ', '') # link to wikipedia article wikipedia_link = base_url.format(language=url_lang(resp.search_params['language'])) \ 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/yahoo.py b/searx/engines/yahoo.py index 73b78bcf7..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'] @@ -109,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, @@ -131,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 @@ -148,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/youtube_api.py b/searx/engines/youtube_api.py index 6de18aa2c..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=' diff --git a/searx/engines/youtube_noapi.py b/searx/engines/youtube_noapi.py index 3bf25932b..49d0ae604 100644 --- a/searx/engines/youtube_noapi.py +++ b/searx/engines/youtube_noapi.py @@ -30,7 +30,7 @@ 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=' @@ -67,12 +67,8 @@ def response(resp): if videoid is not None: url = base_youtube_url + videoid thumbnail = 'https://i.ytimg.com/vi/' + videoid + '/hqdefault.jpg' - title = video.get('title', {}).get('simpleText', videoid) - description_snippet = video.get('descriptionSnippet', {}) - if 'runs' in description_snippet: - content = reduce(lambda a, b: a + b.get('text', ''), description_snippet.get('runs'), '') - else: - content = description_snippet.get('simpleText', '') + title = get_text_from_json(video.get('title', {})) + content = get_text_from_json(video.get('descriptionSnippet', {})) embedded = embedded_url.format(videoid=videoid) # append result @@ -85,3 +81,10 @@ def response(resp): # 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/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/preferences.py b/searx/preferences.py index 912e89c01..669232b12 100644 --- a/searx/preferences.py +++ b/searx/preferences.py @@ -104,6 +104,31 @@ class MultipleChoiceSetting(EnumStringSetting): resp.set_cookie(name, ','.join(self.value), max_age=COOKIE_MAX_AGE) +class SetSetting(Setting): + def _post_init(self): + if not hasattr(self, 'values'): + self.values = set() + + def get_value(self): + return ','.join(self.values) + + def parse(self, data): + if data == '': + self.values = set() + return + + elements = data.split(',') + for element in elements: + self.values.add(element) + + def parse_form(self, data): + elements = data.split(',') + self.values = set(elements) + + def save(self, name, resp): + resp.set_cookie(name, ','.join(self.values), max_age=COOKIE_MAX_AGE) + + class SearchLanguageSetting(EnumStringSetting): """Available choices may change, so user's value may not be in choices anymore""" @@ -272,6 +297,7 @@ class Preferences(object): self.engines = EnginesSetting('engines', choices=engines) self.plugins = PluginsSetting('plugins', choices=plugins) + self.tokens = SetSetting('tokens') self.unknown_params = {} def get_as_url_params(self): @@ -288,11 +314,16 @@ class Preferences(object): settings_kv['disabled_plugins'] = ','.join(self.plugins.disabled) settings_kv['enabled_plugins'] = ','.join(self.plugins.enabled) + settings_kv['tokens'] = ','.join(self.tokens.values) + return urlsafe_b64encode(compress(urlencode(settings_kv).encode('utf-8'))).decode('utf-8') 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(): @@ -304,6 +335,8 @@ class Preferences(object): elif user_setting_name == 'disabled_plugins': self.plugins.parse_cookie((input_data.get('disabled_plugins', ''), input_data.get('enabled_plugins', ''))) + elif user_setting_name == 'tokens': + self.tokens.parse(user_setting) elif not any(user_setting_name.startswith(x) for x in [ 'enabled_', 'disabled_', @@ -325,6 +358,8 @@ class Preferences(object): enabled_categories.append(user_setting_name[len('category_'):]) elif user_setting_name.startswith('plugin_'): disabled_plugins.append(user_setting_name) + elif user_setting_name == 'tokens': + self.tokens.parse_form(user_setting) else: self.unknown_params[user_setting_name] = user_setting self.key_value_settings['categories'].parse_form(enabled_categories) @@ -343,6 +378,18 @@ class Preferences(object): user_setting.save(user_setting_name, resp) self.engines.save(resp) self.plugins.save(resp) + self.tokens.save('tokens', resp) for k, v in self.unknown_params.items(): resp.set_cookie(k, v, max_age=COOKIE_MAX_AGE) return resp + + def validate_token(self, engine): + valid = True + if hasattr(engine, 'tokens') and engine.tokens: + valid = False + for token in self.tokens.values: + if token in engine.tokens: + valid = True + break + + return valid diff --git a/searx/query.py b/searx/query.py index f76bd91d3..79afa0245 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('_', '-') @@ -145,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): @@ -160,14 +177,17 @@ 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, preferences=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 + self.preferences = preferences 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 b81542f1a..2dcc4c8f7 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'): @@ -249,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 = [] @@ -319,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, preferences), + raw_text_query) class Search(object): @@ -332,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): @@ -361,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: @@ -370,6 +459,9 @@ class Search(object): engine = engines[selected_engine['name']] + if not search_query.preferences.validate_token(engine): + continue + # skip suspended engines if engine.suspend_end_time >= time(): logger.debug('Engine currently suspended: %s', selected_engine['name']) @@ -384,29 +476,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 8f1a06a77..ab3de3951 100644 --- a/searx/settings.yml +++ b/searx/settings.yml @@ -26,12 +26,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 @@ -75,9 +78,10 @@ engines: categories : science timeout : 4.0 - - name : base - engine : base - shortcut : bs +# tmp suspended: dh key too small +# - name : base +# engine : base +# shortcut : bs - name : wikipedia engine : wikipedia @@ -112,6 +116,10 @@ engines: disabled : True shortcut : bb + - name : btdigg + engine : btdigg + shortcut : bt + - name : ccc-tv engine : xpath paging : False @@ -153,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 @@ -196,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 @@ -308,31 +317,37 @@ engines: 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 @@ -379,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 @@ -387,7 +408,7 @@ engines: - name : library genesis engine : xpath - search_url : http://libgen.io/search.php?req={query} + search_url : https://libgen.is/search.php?req={query} url_xpath : //a[contains(@href,"bookfi.net")]/@href title_xpath : //a[contains(@href,"book/")]/text()[1] content_xpath : //td/a[1][contains(@href,"=author")]/text() @@ -415,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 @@ -429,7 +464,7 @@ engines: - name : openairedatasets engine : json_engine paging : True - search_url : http://api.openaire.eu/search/datasets?format=json&page={pageno}&size=10&title={query} + search_url : https://api.openaire.eu/search/datasets?format=json&page={pageno}&size=10&title={query} results_query : response/results/result url_query : metadata/oaf:entity/oaf:result/children/instance/webresource/url/$ title_query : metadata/oaf:entity/oaf:result/title/$ @@ -441,7 +476,7 @@ engines: - name : openairepublications engine : json_engine paging : True - search_url : http://api.openaire.eu/search/publications?format=json&page={pageno}&size=10&title={query} + search_url : https://api.openaire.eu/search/publications?format=json&page={pageno}&size=10&title={query} results_query : response/results/result url_query : metadata/oaf:entity/oaf:result/children/instance/webresource/url/$ title_query : metadata/oaf:entity/oaf:result/title/$ @@ -517,10 +552,11 @@ engines: timeout : 10.0 disabled : True - - name : scanr structures - shortcut: scs - engine : scanr_structures - disabled : True +# tmp suspended: bad certificate +# - name : scanr structures +# shortcut: scs +# engine : scanr_structures +# disabled : True - name : soundcloud engine : soundcloud @@ -563,9 +599,12 @@ engines: shortcut : se categories : science - - name : spotify - engine : spotify - shortcut : stf +# Spotify needs API credentials +# - name : spotify +# engine : spotify +# shortcut : stf +# api_client_id : ******* +# api_client_secret : ******* - name : startpage engine : startpage @@ -669,9 +708,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 @@ -680,7 +719,7 @@ engines: shortcut : 1337x disabled : True - - name : Duden + - name : duden engine : duden shortcut : du disabled : True @@ -709,10 +748,15 @@ engines: 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 : 1 + 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 @@ -731,6 +775,7 @@ locales: en : English ar : العَرَبِيَّة (Arabic) bg : Български (Bulgarian) + bo : བོད་སྐད་ (Tibetian) ca : Català (Catalan) cs : Čeština (Czech) cy : Cymraeg (Welsh) @@ -739,6 +784,7 @@ locales: el_GR : Ελληνικά (Greek_Greece) eo : Esperanto (Esperanto) es : Español (Spanish) + et : Eesti (Estonian) eu : Euskara (Basque) fa_IR : (fārsī) فارسى (Persian) fi : Suomi (Finnish) @@ -748,10 +794,13 @@ locales: he : עברית (Hebrew) hr : Hrvatski (Croatian) hu : Magyar (Hungarian) + ia : Interlingua (Interlingua) it : Italiano (Italian) ja : 日本語 (Japanese) + lt : Lietuvių (Lithuanian) nl : Nederlands (Dutch) nl_BE : Vlaams (Dutch_Belgium) + oc : Lenga D'òc (Occitan) pl : Polski (Polish) pt : Português (Portuguese) pt_BR : Português (Portuguese_Brazil) @@ -762,16 +811,17 @@ locales: sr : српски (Serbian) sv : Svenska (Swedish) te : తెలుగు (telugu) + ta : தமிழ் (Tamil) tr : Türkçe (Turkish) uk : українська мова (Ukrainian) - vi : tiếng việt (㗂越) + vi : tiếng việt (Vietnamese) zh : 中文 (Chinese) zh_TW : 國語 (Taiwanese Mandarin) doi_resolvers : oadoi.org : 'https://oadoi.org/' doi.org : 'https://doi.org/' - doai.io : 'http://doai.io/' - sci-hub.tw : 'http://sci-hub.tw/' + doai.io : 'https://doai.io/' + sci-hub.tw : 'https://sci-hub.tw/' default_doi_resolver : 'oadoi.org' diff --git a/searx/settings_robot.yml b/searx/settings_robot.yml index 070a0edb6..25f229e56 100644 --- a/searx/settings_robot.yml +++ b/searx/settings_robot.yml @@ -39,3 +39,11 @@ engines: locales: en : English hu : Magyar + +doi_resolvers : + oadoi.org : 'https://oadoi.org/' + doi.org : 'https://doi.org/' + doai.io : 'https://doai.io/' + sci-hub.tw : 'https://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..db84a6908 100644 --- a/searx/static/plugins/js/infinite_scroll.js +++ b/searx/static/plugins/js/infinite_scroll.js @@ -1,16 +1,22 @@ $(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>'); - $.post('./', formData, function (data) { - var body = $(data); - $('#pagination').remove(); - $('#main_results').append('<hr/>'); - $('#main_results').append(body.find('.result')); - $('#main_results').append(body.find('#pagination')); + $.ajax({ + type: "POST", + url: './', + data: formData, + dataType: 'html', + success: function(data) { + var body = $(data); + $('#pagination').remove(); + $('#main_results').append('<hr/>'); + $('#main_results').append(body.find('.result')); + $('#main_results').append(body.find('#pagination')); + } }); } } diff --git a/searx/static/plugins/js/vim_hotkeys.js b/searx/static/plugins/js/vim_hotkeys.js index 13bd070e0..b0f265cb5 100644 --- a/searx/static/plugins/js/vim_hotkeys.js +++ b/searx/static/plugins/js/vim_hotkeys.js @@ -125,6 +125,14 @@ $(document).ready(function() { } }); + function nextResult(current, direction) { + var next = current[direction](); + while (!next.is('.result') && next.length !== 0) { + next = next[direction](); + } + return next + } + function highlightResult(which) { return function() { var current = $('.result[data-vim-selected]'); @@ -157,13 +165,13 @@ $(document).ready(function() { } break; case 'down': - next = current.next('.result'); + next = nextResult(current, 'next'); if (next.length === 0) { next = $('.result:first'); } break; case 'up': - next = current.prev('.result'); + next = nextResult(current, 'prev'); if (next.length === 0) { next = $('.result:last'); } 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 Binary files differnew file mode 100644 index 000000000..a94c969d8 --- /dev/null +++ b/searx/static/themes/oscar/img/icons/invidious.png 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/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/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 %} • {% 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..9802f11e2 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 | safe }}</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 53ade43b2..5aff9f918 100644 --- a/searx/templates/oscar/languages.html +++ b/searx/templates/oscar/languages.html @@ -1,12 +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 %} - <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 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..b03929df3 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') %} @@ -131,6 +131,12 @@ {% endfor %} </select> {{ preferences_item_footer(info, label, rtl) }} + + {% set label = _('Engine tokens') %} + {% set info = _('Access tokens for private engines') %} + {{ preferences_item_header(info, label, rtl) }} + <input class="form-control" id='tokens' name='tokens' value='{{ preferences.tokens.get_value() }}'/> + {{ preferences_item_footer(info, label, rtl) }} </div> </fieldset> </div> @@ -156,26 +162,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 +192,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 +213,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> • <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> • <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">×</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">×</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> • <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> • <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> • <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> • <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> • <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> • <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> • {{ _('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> • {{ _('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> • <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> • <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..43e3e26d9 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 %}&categories={{ selected_categories|join(",") | replace(' ','+') }}{% endif %}{% if pageno > 1 %}&pageno={{ pageno }}{% endif %}{% if time_range %}&time_range={{ time_range }}{% endif %}{% if current_language != 'all' %}&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() }}&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 %}&categories={{ selected_categories|join(",") | replace(' ','+') }}{% endif %}{% if pageno > 1 %}&pageno={{ pageno }}{% endif %}{% if time_range %}&time_range={{ time_range }}{% endif %}{% if current_language != 'all' %}&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() }}&format=rss">{% endblock %} +{% block content %} + {% include 'oscar/search.html' %} + + <div class="row"> + <div class="col-sm-4 col-sm-push-8" 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 class="col-sm-8 col-sm-pull-4" 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> +{% 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/simple/base.html b/searx/templates/simple/base.html index 734dccbe8..92597b654 100644 --- a/searx/templates/simple/base.html +++ b/searx/templates/simple/base.html @@ -11,29 +11,26 @@ <meta name="HandheldFriendly" content="True"> <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1"> <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/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"> • {{ result_link(result.magnetlink, icon('magnet') + _('magnet link'), "magnetlink") }}</p>{% endif %} {% if result.torrentfile %}<p class="altlink"> • {{ result_link(result.torrentfile, icon('download-alt') + _('torrent file'), "torrentfile") }}</p>{% endif %} -{% if result.seed %}<p class="stat"> • {{ icon('arrow-swap') }} {{ _('Seeder') }} <span class="badge">{{ result.seed }}</span> • {{ _('Leecher') }} <span class="badge">{{ result.leech }}</span></p>{% endif %} +{% if result.seed is defined %}<p class="stat"> • {{ icon('arrow-swap') }} {{ _('Seeder') }} <span class="badge">{{ result.seed }}</span> • {{ _('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="• {{ suggestion }}"> + {% if timeout_limit %}<input type="hidden" name="timeout_limit" value="{{ timeout_limit|e }}" >{% endif %} + <input type="submit" class="suggestion" value="• {{ 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 }}&language={{ current_language }}&time_range={{ time_range }}&safesearch={{ safesearch }}{% if pageno > 1 %}&pageno={{ pageno }}{% endif %}{% if selected_categories %}&categories={{ selected_categories|join(",") | replace(' ','+') }}{% endif %}</pre></div> + <div class="selectable_url"><pre>{{ base_url }}?q={{ q|urlencode }}&language={{ current_language }}&time_range={{ time_range }}&safesearch={{ safesearch }}{% if pageno > 1 %}&pageno={{ pageno }}{% endif %}{% if selected_categories %}&categories={{ selected_categories|join(",") | replace(' ','+') }}{% endif %}{% if timeout_limit %}&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 Binary files differindex 052e5b522..3774e5bef 100644 --- a/searx/translations/ar/LC_MESSAGES/messages.mo +++ b/searx/translations/ar/LC_MESSAGES/messages.mo diff --git a/searx/translations/ar/LC_MESSAGES/messages.po b/searx/translations/ar/LC_MESSAGES/messages.po index 645ca0ed6..0604ac162 100644 --- a/searx/translations/ar/LC_MESSAGES/messages.po +++ b/searx/translations/ar/LC_MESSAGES/messages.po @@ -4,14 +4,15 @@ # # Translators: # ButterflyOfFire ButterflyOfFire, 2018 +# 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-09-08 08:23+0000\n" -"Last-Translator: ButterflyOfFire ButterflyOfFire\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" +"Last-Translator: Noémi Ványi <sitbackandwait@gmail.com>\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" @@ -32,63 +33,63 @@ msgstr "" msgid "unexpected crash" msgstr "خلل غير مُتوقّع" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "ملفات" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "الرئيسية" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "موسيقى" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "شبكات التواصل الإجتماعي" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "صور" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "فيديوهات" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "علوم و تكنولوجيا" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "أخبار" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "خرائط" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "علوم" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "إنّ الإعدادات خاطئة، يرجى تعديل خياراتك" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "إعدادات غير صالحة" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "خطأ في البحث" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "قبل {minutes} ثانية" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "قبل {hours} ساعات، {minutes} دقائق" @@ -108,29 +109,28 @@ msgstr "" msgid "Compute {functions} of the arguments" msgstr "" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "المدة المستغرقة للمحرك (ثواني)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "مدة تحميل الصفحة (ثواني)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "أخطاء" @@ -142,8 +142,14 @@ msgstr "{title} (OBSOLETE)" msgid "This entry has been superseded by" msgstr "" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" msgstr "" #: searx/plugins/https_rewrite.py:32 @@ -158,16 +164,6 @@ msgstr "تمرير الصفحات بلا حدود" 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 @@ -330,8 +326,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -403,8 +399,8 @@ 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/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" @@ -419,8 +415,8 @@ msgstr "الفئة" #: 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/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 @@ -438,7 +434,7 @@ msgstr "حظر" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -448,7 +444,7 @@ msgstr "" #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -458,7 +454,7 @@ msgstr "" #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -466,14 +462,14 @@ msgstr "حفظ" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: 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/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -644,23 +640,23 @@ msgid "General" msgstr "الرئيسية" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "المحركات" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "الإضافات" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "المجيبون" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "كعكات الكوكيز" @@ -711,88 +707,78 @@ msgstr "إختر الشكل الذي ستبدو عليه هذه السمة" 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:151 #: 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 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "اللغة المختارة" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "الفترة" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "متوسط الوقت" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "أقصى مدّة" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "" -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "التسمية" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "الكلمات الرمزية" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "الوصف" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "أمثلة" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "" -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "" -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "إسم الكوكي" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "القيمة" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/bg/LC_MESSAGES/messages.mo b/searx/translations/bg/LC_MESSAGES/messages.mo Binary files differindex f80e5afcc..0ee7802a8 100644 --- a/searx/translations/bg/LC_MESSAGES/messages.mo +++ b/searx/translations/bg/LC_MESSAGES/messages.mo diff --git a/searx/translations/bg/LC_MESSAGES/messages.po b/searx/translations/bg/LC_MESSAGES/messages.po index 09a013ed0..63c9938f0 100644 --- a/searx/translations/bg/LC_MESSAGES/messages.po +++ b/searx/translations/bg/LC_MESSAGES/messages.po @@ -4,14 +4,15 @@ # # Translators: # ubone <van_ds_ff@mail.bg>, 2015 +# ubone <van_ds_ff@mail.bg>, 2015 # ubone <van_ds_ff@mail.bg>, 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" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" +"Last-Translator: Noémi Ványi <sitbackandwait@gmail.com>\n" "Language-Team: Bulgarian (http://www.transifex.com/asciimoo/searx/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,63 +33,63 @@ msgstr "" msgid "unexpected crash" msgstr "" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "файлове" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "общо" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "музика" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "социална мрежа" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "изображения" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "видео" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "IT" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "новини" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "карта" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "наука" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Неправилни настройки, моля проверете предпочитанията си." -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "грешка при търсенето" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "преди {minutes} минута(минути)" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "преди {hours} час(ове), {minutes} минута(минути)" @@ -108,29 +109,28 @@ msgstr "" msgid "Compute {functions} of the arguments" msgstr "" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Страницата зарежда (сек)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Грешки" @@ -142,8 +142,14 @@ msgstr "" msgid "This entry has been superseded by" msgstr "" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" msgstr "" #: searx/plugins/https_rewrite.py:32 @@ -158,16 +164,6 @@ msgstr "Списък без страници." 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 @@ -330,8 +326,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -403,8 +399,8 @@ 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/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" @@ -419,8 +415,8 @@ msgstr "Категория" #: 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/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 @@ -438,7 +434,7 @@ msgstr "Забрани" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -448,7 +444,7 @@ msgstr "Тези настройки се съхраняват във вашит #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -458,7 +454,7 @@ msgstr "Тези бисквитки служат за ваше удобство. #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -466,14 +462,14 @@ msgstr "запази" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: 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/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -644,23 +640,23 @@ msgid "General" msgstr "Общи" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Търсачки" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Добавки" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Отговори" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Бисквитки" @@ -711,88 +707,78 @@ msgstr "Избери стил за избрания облик" 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:151 #: 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 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "Средно време" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Макс. време" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "" -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Име" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Ключови думи" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Описание" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Примери" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "Това е списък на бисквитки с техните стойности, които searx съхранява на вашия компютър." -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "" -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Име на бисквитката" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Стойност" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/bo/LC_MESSAGES/messages.mo b/searx/translations/bo/LC_MESSAGES/messages.mo Binary files differnew file mode 100644 index 000000000..7941328e6 --- /dev/null +++ b/searx/translations/bo/LC_MESSAGES/messages.mo diff --git a/searx/translations/bo/LC_MESSAGES/messages.po b/searx/translations/bo/LC_MESSAGES/messages.po new file mode 100644 index 000000000..a2eb5cbf9 --- /dev/null +++ b/searx/translations/bo/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: +# གངས་རྒྱན། <khyon_khangey@outlook.com>, 2019 +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-10-08 09:02+0000\n" +"Last-Translator: གངས་རྒྱན། <khyon_khangey@outlook.com>\n" +"Language-Team: Tibetan (http://www.transifex.com/asciimoo/searx/language/bo/)\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: bo\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:135 +msgid "files" +msgstr "ཡིག་ཆ།" + +#: searx/webapp.py:136 +msgid "general" +msgstr "སྤྱི་བཏང་།" + +#: searx/webapp.py:137 +msgid "music" +msgstr "རོལ་དབྱངས།" + +#: searx/webapp.py:138 +msgid "social media" +msgstr "སྤྱི་ཚོགས་འབྲེལ་བ།" + +#: searx/webapp.py:139 +msgid "images" +msgstr "པར་རིས།" + +#: searx/webapp.py:140 +msgid "videos" +msgstr "བརྙན་ཟློས།" + +#: searx/webapp.py:141 +msgid "it" +msgstr "ཆ་འཕྲིན་ལག་རྩལ།" + +#: searx/webapp.py:142 +msgid "news" +msgstr "གསར་འགྱུར།" + +#: searx/webapp.py:143 +msgid "map" +msgstr "ས་བཀྲ།" + +#: searx/webapp.py:144 +msgid "science" +msgstr "ཚན་རིག་ཤེས་བྱ།" + +#: searx/webapp.py:398 searx/webapp.py:653 +msgid "Invalid settings, please edit your preferences" +msgstr "ནུས་མེད་ཀྱི་སྒྲིག་འགོད།ཁྱེད་ཀྱིས་གདམ་ཀ་ལ་བཅོས་སྒྲིག་གཏོང་རོགས།" + +#: searx/webapp.py:410 +msgid "Invalid settings" +msgstr "ནུས་མེད་ཀྱི་སྒྲིག་འགོད།" + +#: searx/webapp.py:444 searx/webapp.py:488 +msgid "search error" +msgstr "འཚོལ་བཤེར་ལ་ནོར་འཁྲུལ་བྱུང་།" + +#: searx/webapp.py:525 +msgid "{minutes} minute(s) ago" +msgstr "སྐར་མ་ {minutes} སྔོན་ལ།" + +#: searx/webapp.py:527 +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 +msgid "Engine time (sec)" +msgstr "འཚོལ་བཤེར་དུས་ཡུན། (སྐར་ཆ།)" + +#: searx/engines/__init__.py:198 +msgid "Page loads (sec)" +msgstr "ནང་འདྲེན་དུས་ཡུན། (སྐར་ཆ།)" + +#: searx/engines/__init__.py:202 searx/templates/oscar/results.html:95 +#: searx/templates/simple/results.html:20 +msgid "Number of results" +msgstr "འཚོལ་འབྲས་ཀྱི་ཁ་གྲངས།" + +#: searx/engines/__init__.py:206 +msgid "Scores" +msgstr "ཐོབ་སྐར།" + +#: searx/engines/__init__.py:210 +msgid "Scores per result" +msgstr "འཚོལ་འབྲས་རེ་རེ་ཡི་ཐོབ་སྐར།" + +#: searx/engines/__init__.py:214 +msgid "Errors" +msgstr "ནོར་འཁྲུལ།" + +#: searx/engines/pdbe.py:87 +msgid "{title} (OBSOLETE)" +msgstr "{title} (དུས་ལས་འགོངས་ཟིན།)" + +#: searx/engines/pdbe.py:91 +msgid "This entry has been superseded by" +msgstr "འཚོལ་བྱང་འདི་གཞན་གྱིས་ཚབ་བྱེད་འདུག" + +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "DOAI བསྐྱར་འབྲི།" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Avoid paywalls by redirecting to open-access versions of publications when available" + +#: 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/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 "Results are opened in the same window by default. This plugin overwrites the default behaviour to open links on new tabs/windows. (JavaScript required)" + +#: 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 "Perform search immediately if a category selected. Disable to select multiple categories. (JavaScript required)" + +#: 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 "Displays your IP if the query is \"ip\" and your user agent if the query contains \"user agent\"." + +#: 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 "Remove trackers arguments from the returned URL" + +#: 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 "Navigate search results with Vim-like hotkeys (JavaScript required). Press \"h\" key on main or result page to get help." + +#: 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:153 +#: searx/templates/oscar/preferences.html:161 +#: 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:150 +#: searx/templates/oscar/preferences.html:164 +#: 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: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 "ཆོག་མཆན།" + +#: 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: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 "These settings are stored in your cookies, this allows us not to store this data about you." + +#: 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 "These cookies serve your sole convenience, we don't use these cookies to track you." + +#: 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 "གསོག་འཇོག" + +#: 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 "གདོད་མའི་རྣམ་པ་ལ་སྒྲིག་འགོད་བྱེད།" + +#: 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 "ཕྱིར་ལོག" + +#: 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:134 +#: searx/templates/simple/preferences.html:76 +msgid "Engines" +msgstr "སྒུལ་བྱེད།" + +#: searx/templates/oscar/preferences.html:15 +#: searx/templates/oscar/preferences.html:207 +msgid "Plugins" +msgstr "ལྷུ་ལག" + +#: searx/templates/oscar/preferences.html:16 +#: searx/templates/oscar/preferences.html:233 +msgid "Answerers" +msgstr "ལན།" + +#: searx/templates/oscar/preferences.html:17 +#: searx/templates/oscar/preferences.html:260 +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 བརྒྱུད་ནས་མངག་བཅོལ་བྱས་ཟིན།" + +#: 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 "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>" + +#: 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:151 +#: searx/templates/oscar/preferences.html:163 +#: searx/templates/simple/preferences.html:88 +msgid "Shortcut" +msgstr "མགྱོགས་མྱུར་མཐེབ་གཞོང་།" + +#: 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 "དུས་ཀྱི་ཁྱབ་ཁོངས།" + +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 +#: searx/templates/simple/preferences.html:92 +msgid "Avg. time" +msgstr "ས་སྙོམས་དུས་ཚོད།" + +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 +#: searx/templates/simple/preferences.html:93 +msgid "Max time" +msgstr "མང་མཐའི་དུས་ཚོད།" + +#: searx/templates/oscar/preferences.html:236 +msgid "This is the list of searx's instant answering modules." +msgstr "This is the list of searx's instant answering modules." + +#: searx/templates/oscar/preferences.html:240 +msgid "Name" +msgstr "མིང་།" + +#: searx/templates/oscar/preferences.html:241 +msgid "Keywords" +msgstr "ཐ་སྙད་གཙོ་བོ།" + +#: searx/templates/oscar/preferences.html:242 +msgid "Description" +msgstr "འབྲེལ་ཡོད་ངོ་སྤྲོད།" + +#: searx/templates/oscar/preferences.html:243 +msgid "Examples" +msgstr "དཔེ་བརྗོད།" + +#: searx/templates/oscar/preferences.html:263 +msgid "" +"This is the list of cookies and their values searx is storing on your " +"computer." +msgstr "འདི་ནི searx ཡི་བརྡ་སྤྲོད་ལན་སློག་གི་གསལ་ཐོ་ཞིག་ཡིན།" + +#: searx/templates/oscar/preferences.html:264 +msgid "With that list, you can assess searx transparency." +msgstr "གསལ་ཐོ་འདི་བརྒྱུད་ནས། ཁྱེད་ཀྱིས searx དྲ་ཚིགས་ཀྱི་བདེན་པ་རང་བཞིན་ལ་མཉམ་ཚོར་ལེན་ཐུབ།" + +#: searx/templates/oscar/preferences.html:269 +msgid "Cookie name" +msgstr "རྗེས་འདེད་ཀྱི་ཡིག་ཆའི་མིང་།" + +#: searx/templates/oscar/preferences.html:270 +msgid "Value" +msgstr "ཚད་གཞི།" + +#: 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 "Note: specifying custom settings in the search URL can reduce privacy by leaking data to the clicked result sites." + +#: 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 "kB" + +#: searx/templates/oscar/result_templates/torrent.html:11 +#: searx/templates/simple/result_templates/torrent.html:14 +msgid "MiB" +msgstr "MB" + +#: searx/templates/oscar/result_templates/torrent.html:12 +#: searx/templates/simple/result_templates/torrent.html:15 +msgid "GiB" +msgstr "GB" + +#: searx/templates/oscar/result_templates/torrent.html:13 +#: searx/templates/simple/result_templates/torrent.html:16 +msgid "TiB" +msgstr "TB" + +#: 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/ca/LC_MESSAGES/messages.mo b/searx/translations/ca/LC_MESSAGES/messages.mo Binary files differindex 2ec3e0503..43b3d6d47 100644 --- a/searx/translations/ca/LC_MESSAGES/messages.mo +++ b/searx/translations/ca/LC_MESSAGES/messages.mo diff --git a/searx/translations/ca/LC_MESSAGES/messages.po b/searx/translations/ca/LC_MESSAGES/messages.po index 460091cd7..44d466654 100644 --- a/searx/translations/ca/LC_MESSAGES/messages.po +++ b/searx/translations/ca/LC_MESSAGES/messages.po @@ -4,14 +4,15 @@ # # Translators: # Calbasi <joan@calbasi.net>, 2018 +# Ecron <ecron_89@hotmail.com>, 2019 # 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" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-10-17 13:46+0000\n" +"Last-Translator: Ecron <ecron_89@hotmail.com>\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" @@ -32,63 +33,63 @@ msgstr "Excepció en la petició" msgid "unexpected crash" msgstr "Fallada no esperada" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "fitxers" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "general" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "música" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "xarxes socials" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "imatges" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "vídeos" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "informàtica" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "notícies" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "mapa" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "ciència" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "La configuració no és vàlida, editeu-la" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "La configuració no és vàlida" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "error en la cerca" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "fa {minutes} minuts" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "fa {hours} hores i {minutes} minuts" @@ -108,29 +109,28 @@ msgstr "Funcions estadístiques" msgid "Compute {functions} of the arguments" msgstr "Calcula {functions} dels arguments" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Temps del motor (segons)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 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/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Valoració" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Valoració segons el resultat" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Errors" @@ -142,9 +142,15 @@ msgstr "{title} (OBSOLET)" 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/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "Reescriptura DOAI" + +#: searx/plugins/doai_rewrite.py:8 +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/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -158,16 +164,6 @@ msgstr "Desplaçament infinit" 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 @@ -330,8 +326,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -403,8 +399,8 @@ 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/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" @@ -419,8 +415,8 @@ msgstr "Categoria" #: 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/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 @@ -438,7 +434,7 @@ msgstr "Bloca" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -448,7 +444,7 @@ msgstr "Aquesta configuració es desa en les galetes. Això ens permet no emmaga #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -458,7 +454,7 @@ msgstr "Aquestes galetes només són per a la vostra conveniència. No les usem #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -466,14 +462,14 @@ msgstr "desa" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: 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/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -644,23 +640,23 @@ msgid "General" msgstr "General" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Motorrs" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Connectat" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Resposter" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Galetes" @@ -711,88 +707,78 @@ msgstr "Trieu un estil per a aquest tema" 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:151 #: 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 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Llengua seleccionada" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: 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/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: 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/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Temps màxim" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 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 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Nom" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Paraules clau" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Descripció" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Exemples" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 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 +#: searx/templates/oscar/preferences.html:264 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 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Nom de la galeta" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Valor" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "URL de cerca de les preferències desades actualment" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/cs/LC_MESSAGES/messages.mo b/searx/translations/cs/LC_MESSAGES/messages.mo Binary files differindex eded7150a..55d402429 100644 --- a/searx/translations/cs/LC_MESSAGES/messages.mo +++ b/searx/translations/cs/LC_MESSAGES/messages.mo diff --git a/searx/translations/cs/LC_MESSAGES/messages.po b/searx/translations/cs/LC_MESSAGES/messages.po index 8d3ce3c3e..a14212359 100644 --- a/searx/translations/cs/LC_MESSAGES/messages.po +++ b/searx/translations/cs/LC_MESSAGES/messages.po @@ -4,14 +4,15 @@ # # Translators: # Clon <fillip1@seznam.cz>, 2017 +# 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: 2018-12-18 12:03+0000\n" -"Last-Translator: Václav Zouzalík <Vaclav.Zouzalik@seznam.cz>\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" +"Last-Translator: Noémi Ványi <sitbackandwait@gmail.com>\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" @@ -32,63 +33,63 @@ msgstr "" msgid "unexpected crash" msgstr "" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "soubory" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "obecné" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "hudba" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "sociální media" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "obrázky" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "videa" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "IT" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "zprávy" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "mapa" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "věda" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Neplatné nastavení, upravte svoje předvolby" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Neplatné nastavení" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "chyba vyhledávání" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "před {minutes} minutamy" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "před {hours} hodinami, {minutes} minutami" @@ -108,29 +109,28 @@ msgstr "Statistické funkce" msgid "Compute {functions} of the arguments" msgstr "Vypočítá {functions} daného argumentu" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Strojový čas (s)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Načítání stránky (s)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 searx/templates/oscar/results.html:95 #: searx/templates/simple/results.html:20 msgid "Number of results" msgstr "Počet výsledků" -#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Chyby" @@ -142,10 +142,16 @@ msgstr "{title} (ZASTARALÉ)" msgid "This entry has been superseded by" msgstr "Tato položka byla nahrazena" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" msgstr "" +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Předejít placené sekce přesměrováním na verze s otevřený přístupem pokud je to možné" + #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" msgstr "Pokud je to možné přepsat HTTP linky na HTTPS" @@ -158,16 +164,6 @@ msgstr "Nekonečné rolování" msgid "Automatically load next page when scrolling to bottom of current page" msgstr "Automaticky načíst další stránku při dorolování na konec současné" -#: 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 "Předejít placené sekce přesměrováním na verze s otevřený přístupem pokud je to možné" - #: searx/plugins/open_results_on_new_tab.py:18 #: searx/templates/oscar/preferences.html:114 #: searx/templates/simple/preferences.html:149 @@ -330,8 +326,8 @@ msgstr "Metoda" #: 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -403,8 +399,8 @@ msgstr "Nyní používaný vyhledávač" #: 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/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" @@ -419,8 +415,8 @@ msgstr "Kategorie" #: 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/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 @@ -438,7 +434,7 @@ msgstr "Blokovat" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -448,7 +444,7 @@ msgstr "Tato nastavení jsou uložena ve vašem cookies, to nám umožňuje tako #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -458,7 +454,7 @@ msgstr "Tato cookie slouží výhradně vašemu pohodlí, neužíváme je pro va #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -466,14 +462,14 @@ msgstr "uložit" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: searx/templates/simple/preferences.html:186 msgid "Reset defaults" msgstr "Obnovit základní" #: searx/templates/courgette/preferences.html:129 #: searx/templates/legacy/preferences.html:126 -#: searx/templates/oscar/preferences.html:306 +#: searx/templates/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -644,23 +640,23 @@ msgid "General" msgstr "Obecné" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Vyhledávače" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Zásuvné moduly" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Odpovědi" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Cookies" @@ -711,88 +707,78 @@ msgstr "Vybrat styl tohoto motivu" msgid "Style" msgstr "Styl" -#: 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:151 #: searx/templates/oscar/preferences.html:163 -#: searx/templates/oscar/preferences.html:175 #: searx/templates/simple/preferences.html:88 msgid "Shortcut" msgstr "Zkratka" -#: searx/templates/oscar/preferences.html:164 -#: searx/templates/oscar/preferences.html:174 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Zvolený jazyk" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "Čásový interval" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "Prům. čas" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Max. čas" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "Toto je seznam modulů okamžité odpovědi searxu." -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Jméno" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Klíčová slova" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Popis" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Příklady" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "Toto je seznam cookies a jejich hodnot které searx ukládá ve vašem počítači." -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "S tímto seznamem můžete posoudit průhlednost searxu" -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Název cookie" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Hodnota" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/cy/LC_MESSAGES/messages.mo b/searx/translations/cy/LC_MESSAGES/messages.mo Binary files differindex 066d268e0..238ecce80 100644 --- a/searx/translations/cy/LC_MESSAGES/messages.mo +++ b/searx/translations/cy/LC_MESSAGES/messages.mo diff --git a/searx/translations/cy/LC_MESSAGES/messages.po b/searx/translations/cy/LC_MESSAGES/messages.po index 3344c6d1d..04d8a21d1 100644 --- a/searx/translations/cy/LC_MESSAGES/messages.po +++ b/searx/translations/cy/LC_MESSAGES/messages.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PROJECT project. # # Translators: -# Aled Powell <aled@aledpowell.cymru>, 2019 +# Cymrodor <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" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" +"Last-Translator: Noémi Ványi <sitbackandwait@gmail.com>\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" @@ -31,63 +31,63 @@ msgstr "" msgid "unexpected crash" msgstr "" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "ffeiliau" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "cyffredinol" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "cerddoriaeth" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "cyfryngau cymdeithasol" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "delweddau" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "fideos" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "Technoleg" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "newyddion" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "map" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "gwyddoniaeth" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Gosodiadau annilys. Addasa dy ddewisiadau." -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Gosodiadau annilys" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "gwall chwilio" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} munud yn ôl" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} awr, {minutes} munud yn ôl" @@ -107,29 +107,28 @@ msgstr "" msgid "Compute {functions} of the arguments" msgstr "" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Sgoriau" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Gwallau" @@ -141,8 +140,14 @@ msgstr "" msgid "This entry has been superseded by" msgstr "" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" msgstr "" #: searx/plugins/https_rewrite.py:32 @@ -157,16 +162,6 @@ msgstr "" 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 @@ -329,8 +324,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -402,8 +397,8 @@ 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/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" @@ -418,8 +413,8 @@ msgstr "Categori" #: 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/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 @@ -437,7 +432,7 @@ msgstr "Rhwystro" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -447,7 +442,7 @@ msgstr "" #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -457,7 +452,7 @@ msgstr "" #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -465,14 +460,14 @@ msgstr "cadw" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: 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/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -643,23 +638,23 @@ msgid "General" msgstr "Cyffredin" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Peiriannau" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Ategolion" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Atebwyr" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Cwcis" @@ -710,88 +705,78 @@ msgstr "Dewis arddull ar gyfer y thema hon" 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:151 #: 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 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Iaith a ddewiswyd" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: 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/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "" -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Enw" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Allweddeiriau" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Disgrifiad" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Enghreifftiau" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 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 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "" -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Enw cwci" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Gwerth" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/da/LC_MESSAGES/messages.mo b/searx/translations/da/LC_MESSAGES/messages.mo Binary files differindex 8813c0779..a3cfb17da 100644 --- a/searx/translations/da/LC_MESSAGES/messages.mo +++ b/searx/translations/da/LC_MESSAGES/messages.mo diff --git a/searx/translations/da/LC_MESSAGES/messages.po b/searx/translations/da/LC_MESSAGES/messages.po index f235ccdf5..848b986f4 100644 --- a/searx/translations/da/LC_MESSAGES/messages.po +++ b/searx/translations/da/LC_MESSAGES/messages.po @@ -9,9 +9,9 @@ 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-22 01:48+0000\n" -"Last-Translator: Mikkel Kirkgaard Nielsen <memb_transifex@mikini.dk>\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" +"Last-Translator: Morten Krogh Andersen <spam1@krogh.net>\n" "Language-Team: Danish (http://www.transifex.com/asciimoo/searx/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,63 +32,63 @@ msgstr "forespørgsels-undtagelse" msgid "unexpected crash" msgstr "uventet nedlukning" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "filer" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "generelt" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "musik" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "sociale medier" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "billeder" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "videoer" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "it" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "nyheder" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "kort" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "videnskab" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Ugyldige indstillinger, redigér venligst dine valg" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Ugyldig indstilling" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "søgefejl" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "for {minutes} minut(ter) siden" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "for {hours} time(r) og {minutes} minut(ter) siden" @@ -108,29 +108,28 @@ msgstr "Statistiske funktioner" msgid "Compute {functions} of the arguments" msgstr "Beregn {functions} af parametrene" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Søgemaskine-tid (sek)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Sideindlæsninger (sek)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 searx/templates/oscar/results.html:95 #: searx/templates/simple/results.html:20 msgid "Number of results" msgstr "Antal resultater" -#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Vægtninger" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Vægtninger pr. resultat" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Fejl" @@ -142,9 +141,15 @@ msgstr "{title} (OVERFLØDIG)" msgid "This entry has been superseded by" msgstr "Denne værdi er blevet overskrevet af" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "Intet sammendrag er tilgængelig for denne publikation." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "Omskriv DOAI" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Undgå betalingsmure ved at viderestille til en åbent tilgængelig version, hvis en sådan findes" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -158,16 +163,6 @@ msgstr "Uendelig scrolling" msgid "Automatically load next page when scrolling to bottom of current page" msgstr "Indlæs automatisk næste side, når der scrolles til bunden af den nuværende side" -#: searx/plugins/oa_doi_rewrite.py:9 -msgid "Open Access DOI rewrite" -msgstr "Open Access DOI-omskrivning" - -#: searx/plugins/oa_doi_rewrite.py:10 -msgid "" -"Avoid paywalls by redirecting to open-access versions of publications when " -"available" -msgstr "Undgå betalingsmure ved at viderestille til en åbent tilgængelig version, hvis en sådan findes" - #: searx/plugins/open_results_on_new_tab.py:18 #: searx/templates/oscar/preferences.html:114 #: searx/templates/simple/preferences.html:149 @@ -330,8 +325,8 @@ msgstr "Metode" #: 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -403,8 +398,8 @@ msgstr "Pt. anvendte søgemaskiner" #: 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/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" @@ -419,8 +414,8 @@ msgstr "Kategori" #: 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/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 @@ -438,7 +433,7 @@ msgstr "Blokér" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -448,7 +443,7 @@ msgstr "Disse indstillnger gemmes cookies på din enhed. Dette gør, at vi ikke #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -458,7 +453,7 @@ msgstr "Disse cookies er kun til dine data. Vi benytter ikke disse til at spore #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -466,14 +461,14 @@ msgstr "gem" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: searx/templates/simple/preferences.html:186 msgid "Reset defaults" msgstr "Nustil til standard" #: searx/templates/courgette/preferences.html:129 #: searx/templates/legacy/preferences.html:126 -#: searx/templates/oscar/preferences.html:306 +#: searx/templates/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -644,23 +639,23 @@ msgid "General" msgstr "Generelt" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Søgemaskiner" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Plugins" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Svarere" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Cookies" @@ -711,88 +706,78 @@ msgstr "Vælg stil for dette tema" msgid "Style" msgstr "Stil" -#: searx/templates/oscar/preferences.html:122 -msgid "Open Access DOI resolver" -msgstr "Open Access DOI-forløser" - -#: searx/templates/oscar/preferences.html:123 -msgid "" -"Redirect to open-access versions of publications when available (plugin " -"required)" -msgstr "Omdiriger til open-access-udgaver af publikationer hvis tilgængelig (plugin påkrævet)" - +#: searx/templates/oscar/preferences.html:151 #: searx/templates/oscar/preferences.html:163 -#: searx/templates/oscar/preferences.html:175 #: searx/templates/simple/preferences.html:88 msgid "Shortcut" msgstr "Genvej" -#: searx/templates/oscar/preferences.html:164 -#: searx/templates/oscar/preferences.html:174 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Valgt sprog" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "Tidsinterval" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "Gns. tid" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Maks-tid" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "Dette er listen over searx's installationens svar-moduler" -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Navn" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Nøgleord" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Beskrivelse" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Eksempler" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "Dette er listen over de cookies og værdier searx gemmer på din computer" -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "Med denne liste, kan du bekræfte gennemsigtigheden af searx" -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Cookie-navn" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Værdi" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "Søge-URL for den nuværende gemte indstilling" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/de/LC_MESSAGES/messages.mo b/searx/translations/de/LC_MESSAGES/messages.mo Binary files differindex a525fbf1e..79ad35beb 100644 --- a/searx/translations/de/LC_MESSAGES/messages.mo +++ b/searx/translations/de/LC_MESSAGES/messages.mo diff --git a/searx/translations/de/LC_MESSAGES/messages.po b/searx/translations/de/LC_MESSAGES/messages.po index 64f253ebd..6aa03b18f 100644 --- a/searx/translations/de/LC_MESSAGES/messages.po +++ b/searx/translations/de/LC_MESSAGES/messages.po @@ -8,7 +8,9 @@ # Thomas Pointhuber, 2014-2015 # Ettore Atalan <atalanttore@googlemail.com>, 2016 # Jona Abdinghoff <jona.abdinghoff@gmail.com>, 2016 +# Marc Abonce Seguin, 2019 # Mario Siegmann <mario_siegmann@web.de>, 2017 +# Bamstam, 2019 # Max <theshirinzu@gmail.com>, 2015 # pointhi, 2014 # rike, 2014 @@ -21,9 +23,9 @@ 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-28 11:02+0000\n" -"Last-Translator: S R <acc-transifex@rie.hm>\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-12-11 07:07+0000\n" +"Last-Translator: Marc Abonce Seguin\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" @@ -44,69 +46,69 @@ msgstr "Abbruch der Anfrage" msgid "unexpected crash" msgstr "Unerwarteter Absturz" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "Dateien" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "Allgemein" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "Musik" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "Soziale Medien" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "Bilder" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "Videos" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "IT" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "Neuigkeiten" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "Karte" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "Wissenschaft" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Ungültige Einstellungen. Bitte diese überprüfen" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Ungültige Einstellungen" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "Suchfehler" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "vor {minutes} Minute(n)" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "vor {hours} Stunde(n), {minutes} Minute(n)" #: searx/answerers/random/answerer.py:53 msgid "Random value generator" -msgstr "Zufallszahlengenerator" +msgstr "Zufallswertgenerator" #: searx/answerers/random/answerer.py:54 msgid "Generate different random values" @@ -120,29 +122,28 @@ msgstr "Statistikfuntionen" msgid "Compute {functions} of the arguments" msgstr "{functions} der Argumente berechnen" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Suchmaschinen Zeit (sek)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Ladezeit (sek)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 searx/templates/oscar/results.html:95 #: searx/templates/simple/results.html:20 msgid "Number of results" msgstr "Trefferanzahl" -#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Punkte" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Punkte pro Treffer" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Fehler" @@ -154,9 +155,15 @@ msgstr "{title} (OBSOLET)" msgid "This entry has been superseded by" msgstr "Dieser Eintrag wurde überschrieben von" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "Keine Zusammenfassung für die Veröffentlichung verfügbar." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "DOAI umschreiben" + +#: searx/plugins/doai_rewrite.py:8 +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" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -170,16 +177,6 @@ msgstr "Unendliches Scrollen" 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" -#: searx/plugins/oa_doi_rewrite.py:9 -msgid "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" - #: searx/plugins/open_results_on_new_tab.py:18 #: searx/templates/oscar/preferences.html:114 #: searx/templates/simple/preferences.html:149 @@ -224,7 +221,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 Tastaturkombinationen (es wird JavaScript benötigt).\nDrücke \"h\" auf der Start- bzw. Ergebnisseite, um ein Hifefenster anzuzeigen" +msgstr "In der Ergebnisseite mit Vim-ähnlichen Tastaturkombinationen navigieren (es wird JavaScript benötigt).\nAuf der Start- bzw. Ergebnisseite \"h\" drücken, um ein Hilfe-Fenster 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 @@ -342,8 +339,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -415,8 +412,8 @@ msgstr "Aktuell benutzte Suchmaschinen" #: 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/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" @@ -431,8 +428,8 @@ msgstr "Kategorie" #: 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/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 @@ -450,7 +447,7 @@ msgstr "Blockieren" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -460,7 +457,7 @@ msgstr "Diese Informationen werden in Cookies auf Ihrem Rechner gespeichert, dam #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -470,7 +467,7 @@ msgstr "Diese Cookies dienen einzig Ihrem Komfort. Wir verwenden sie nicht, um S #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -478,14 +475,14 @@ msgstr "Speichern" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: searx/templates/simple/preferences.html:186 msgid "Reset defaults" msgstr "Zurücksetzen" #: searx/templates/courgette/preferences.html:129 #: searx/templates/legacy/preferences.html:126 -#: searx/templates/oscar/preferences.html:306 +#: searx/templates/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -656,23 +653,23 @@ msgid "General" msgstr "Allgemein" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Suchmaschinen" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Erweiterungen" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Antworten" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Cookies" @@ -723,88 +720,78 @@ msgstr "Stil für dieses Thema auswählen" msgid "Style" msgstr "Aussehen" -#: searx/templates/oscar/preferences.html:122 -msgid "Open Access DOI resolver" -msgstr "Open Access DOI resolver" - -#: searx/templates/oscar/preferences.html:123 -msgid "" -"Redirect to open-access versions of publications when available (plugin " -"required)" -msgstr "Weiterleitung zu frei zugänglichen Versionen von Veröffentlichungen, wenn verfügbar (Plugin benötigt)" - +#: searx/templates/oscar/preferences.html:151 #: searx/templates/oscar/preferences.html:163 -#: searx/templates/oscar/preferences.html:175 #: searx/templates/simple/preferences.html:88 msgid "Shortcut" msgstr "Abkürzung" -#: searx/templates/oscar/preferences.html:164 -#: searx/templates/oscar/preferences.html:174 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Ausgewählte Sprache" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "Zeitbereich" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "mittlere Zeit" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "max. Zeit" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "Dies ist die Liste der in searx verfügbaren Module für Sofortantworten " -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Name" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Schlüsselwörter" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Beschreibung" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Beispiele" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "Die nachfolgende Liste zeigt alle Cookies, die searx auf deinem Computer speichert." -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "Mit dieser Liste können Sie die Transparenz von searx einschätzen" -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Cookie-Name" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Wert" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "Such-URL für die aktuell gespeicherten Einstellungen" -#: searx/templates/oscar/preferences.html:301 +#: 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." @@ -856,7 +843,7 @@ msgstr "Letzte Woche" #: searx/templates/oscar/time-range.html:12 #: searx/templates/simple/time-range.html:12 msgid "Last month" -msgstr "Letzten Monat" +msgstr "Letzter Monat" #: searx/templates/oscar/time-range.html:15 #: searx/templates/simple/time-range.html:15 diff --git a/searx/translations/el_GR/LC_MESSAGES/messages.mo b/searx/translations/el_GR/LC_MESSAGES/messages.mo Binary files differindex 2bc6a57a3..62d32b580 100644 --- a/searx/translations/el_GR/LC_MESSAGES/messages.mo +++ b/searx/translations/el_GR/LC_MESSAGES/messages.mo diff --git a/searx/translations/el_GR/LC_MESSAGES/messages.po b/searx/translations/el_GR/LC_MESSAGES/messages.po index 073f2f61e..c93f81ae8 100644 --- a/searx/translations/el_GR/LC_MESSAGES/messages.po +++ b/searx/translations/el_GR/LC_MESSAGES/messages.po @@ -9,9 +9,9 @@ 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-17 10:03+0000\n" -"Last-Translator: xinomilo <dimitris@stinpriza.org>\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" +"Last-Translator: Noémi Ványi <sitbackandwait@gmail.com>\n" "Language-Team: Greek (Greece) (http://www.transifex.com/asciimoo/searx/language/el_GR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,63 +32,63 @@ msgstr "" msgid "unexpected crash" msgstr "" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "αρχεία" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "γενικά" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "μουσική" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "κοινωνικά δίκτυα" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "εικόνες" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "νέα" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "χάρτης" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "επιστήμη" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "λάθος αναζήτησης" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} λεπτά πριν" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "" @@ -108,29 +108,28 @@ msgstr "" msgid "Compute {functions} of the arguments" msgstr "" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Χρόνος μηχανής (δευτ)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Φόρτωση σελίδας (δευτ)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Λάθη" @@ -142,8 +141,14 @@ msgstr "" msgid "This entry has been superseded by" msgstr "" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" msgstr "" #: searx/plugins/https_rewrite.py:32 @@ -158,16 +163,6 @@ msgstr "" 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 @@ -330,8 +325,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -403,8 +398,8 @@ 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/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" @@ -419,8 +414,8 @@ msgstr "Κατηγορία" #: 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/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 @@ -438,7 +433,7 @@ msgstr "Αποκλεισμός" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -448,7 +443,7 @@ msgstr "" #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -458,7 +453,7 @@ msgstr "" #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -466,14 +461,14 @@ msgstr "αποθήκευση" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: 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/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -644,23 +639,23 @@ msgid "General" msgstr "Γενικά" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Μηχανές" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Πρόσθετα" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "" @@ -711,88 +706,78 @@ msgstr "" 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:151 #: 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 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Επιλεγμένη γλώσσα" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "" -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Όνομα" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Λέξεις κλειδιά" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Περιγραφή" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Παραδείγματα" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "" -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "" -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Τιμή" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/en/LC_MESSAGES/messages.mo b/searx/translations/en/LC_MESSAGES/messages.mo Binary files differindex 0c270c06d..cff555694 100644 --- a/searx/translations/en/LC_MESSAGES/messages.mo +++ b/searx/translations/en/LC_MESSAGES/messages.mo diff --git a/searx/translations/eo/LC_MESSAGES/messages.mo b/searx/translations/eo/LC_MESSAGES/messages.mo Binary files differindex cfad4d49e..c693ac69f 100644 --- a/searx/translations/eo/LC_MESSAGES/messages.mo +++ b/searx/translations/eo/LC_MESSAGES/messages.mo diff --git a/searx/translations/eo/LC_MESSAGES/messages.po b/searx/translations/eo/LC_MESSAGES/messages.po index cd7ffe80e..1f06ed5b2 100644 --- a/searx/translations/eo/LC_MESSAGES/messages.po +++ b/searx/translations/eo/LC_MESSAGES/messages.po @@ -11,9 +11,9 @@ 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-22 08:33+0000\n" -"Last-Translator: Václav Zouzalík <Vaclav.Zouzalik@seznam.cz>\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" +"Last-Translator: pizzaiolo\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" @@ -34,63 +34,63 @@ msgstr "escepto de peto" msgid "unexpected crash" msgstr "neatendita paneo" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "dosieroj" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "ĝenerala" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "muziko" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "sociaj retoj" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "bildoj" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "videoj" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "komputiko" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "novaĵoj" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "mapo" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "scienco" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Nevalidaj agordoj, bonvolu redakti viajn agordojn" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Nevalidaj agordoj" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "serĉa eraro" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "antaŭ {minutes} minuto(j)" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "antaŭ {hours} horo(j), {minutes} minuto(j)" @@ -110,29 +110,28 @@ msgstr "Statistikaj funkcioj" msgid "Compute {functions} of the arguments" msgstr "Kalkulas {functions} el la argumentoj" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Motora tempo (s)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Paĝŝarĝo (sekundoj)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 searx/templates/oscar/results.html:95 #: searx/templates/simple/results.html:20 msgid "Number of results" msgstr "Nombro da rezultoj" -#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Poentaroj" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Poentaroj por unu rezulto" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Eraroj" @@ -144,9 +143,15 @@ msgstr "{title} (MALNOVA)" msgid "This entry has been superseded by" msgstr "Tiu ĉi enigo estis anstataŭigita per" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "Neniu resumo atingeblas por tiu ĉi eldonaĵo." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "DOAI-reverko" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Eviti pagomurojn per direkto al malfermaliraj versioj de eldonaĵoj, se eblas" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -160,16 +165,6 @@ msgstr "Senfina rulumado" msgid "Automatically load next page when scrolling to bottom of current page" 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 "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 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 #: searx/templates/simple/preferences.html:149 @@ -332,8 +327,8 @@ msgstr "Metodo" #: 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -405,8 +400,8 @@ msgstr " Aktuale uzataj serĉiloj" #: 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/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" @@ -421,8 +416,8 @@ msgstr "Kategorio" #: 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/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 @@ -440,7 +435,7 @@ msgstr "Bloki" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -450,7 +445,7 @@ msgstr "Tiuj ĉi agordoj estas konservitaj en viaj kuketoj, kio ebligas al ni ne #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -460,7 +455,7 @@ msgstr "Tiuj kuketoj estas nur por via plaĉo, ni ne uzas ilin por spuri vin." #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -468,14 +463,14 @@ msgstr "konservi" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: searx/templates/simple/preferences.html:186 msgid "Reset defaults" msgstr "Reagordi al defaŭlto" #: searx/templates/courgette/preferences.html:129 #: searx/templates/legacy/preferences.html:126 -#: searx/templates/oscar/preferences.html:306 +#: searx/templates/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -646,23 +641,23 @@ msgid "General" msgstr "Ĝenerala" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Motoroj" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Aldonaĵoj" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Respondiloj" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Kuketoj" @@ -713,88 +708,78 @@ msgstr "Elekti stilon por ĉi tiu temo" msgid "Style" msgstr "Stilo" -#: searx/templates/oscar/preferences.html:122 -msgid "Open Access DOI resolver" -msgstr "Malfermalira COI-solvilo" - -#: searx/templates/oscar/preferences.html:123 -msgid "" -"Redirect to open-access versions of publications when available (plugin " -"required)" -msgstr "Direkti al malfermaliraj versioj de eldonaĵoj, se eblas (aldonaĵo necesas)" - +#: searx/templates/oscar/preferences.html:151 #: searx/templates/oscar/preferences.html:163 -#: searx/templates/oscar/preferences.html:175 #: searx/templates/simple/preferences.html:88 msgid "Shortcut" msgstr "Fulmoklavo" -#: searx/templates/oscar/preferences.html:164 -#: searx/templates/oscar/preferences.html:174 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Elekti lingvon" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "Tempa intervalo" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "Mezkvanta tempo" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Maksimuma tempo" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "Tio ĉi estas listo de tuje respondantaj moduloj de Searx." -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Nomo" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Ŝlosilvortoj" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Priskribo" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Ekzemploj" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "Ĉi tio estas listo de kuketoj kaj iliaj valoroj, kiujn searx konservas en via komputilo." -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "Kun tiu listo, vi povas kontroli la travideblecon de searx." -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Nomo de kuketo" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Valoro" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "Serĉo-URL kun aktuale konservitaj agordoj" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/es/LC_MESSAGES/messages.mo b/searx/translations/es/LC_MESSAGES/messages.mo Binary files differindex 358cce8cb..c95556350 100644 --- a/searx/translations/es/LC_MESSAGES/messages.mo +++ b/searx/translations/es/LC_MESSAGES/messages.mo diff --git a/searx/translations/es/LC_MESSAGES/messages.po b/searx/translations/es/LC_MESSAGES/messages.po index 4c276303f..ef67c8393 100644 --- a/searx/translations/es/LC_MESSAGES/messages.po +++ b/searx/translations/es/LC_MESSAGES/messages.po @@ -11,16 +11,16 @@ # juanda097 <juanda097@protonmail.ch>, 2017 # Marc Abonce Seguin, 2016 # Marc Abonce Seguin, 2018 -# Oscar <ocf@openmailbox.org>, 2015 +# O <b204fbaf817497f9ea35edbcc051de81_265921>, 2015 # rivera valdez <riveravaldezmail@gmail.com>, 2016 # wefwefew ewfewfewf <nnnedmz0d@moakt.ws>, 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-02-16 05:29+0000\n" -"Last-Translator: Marc Abonce Seguin\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" +"Last-Translator: Carmen Fernández B.\n" "Language-Team: Spanish (http://www.transifex.com/asciimoo/searx/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,63 +41,63 @@ msgstr "solicitud de excepción" msgid "unexpected crash" msgstr "choque inesperado" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "Archivos" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "General" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "Música" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "Medios sociales" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "Imágenes" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "Vídeos" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "Informática" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "Noticias" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "Mapa" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "Ciencia" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Parámetros incorrectos, por favor, cambia tus preferencias" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Ajustes no válidos" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "error en la búsqueda" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "hace {minutes} minuto(s)" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "hace {hours} hora(s) y {minutes} minuto(s)" @@ -117,29 +117,28 @@ msgstr "Funciones de estadística" msgid "Compute {functions} of the arguments" msgstr "Computar {functions} de parámetros" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Motor de tiempo (seg)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Tiempo de carga (segundos)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Puntuaciones" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Puntuaciones por resultado" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Errores" @@ -151,9 +150,15 @@ msgstr "{title} (OBSOLETO)" msgid "This entry has been superseded by" msgstr "Esta entrada la ha sustituido" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "No hay resúmenes disponibles para esta publicación." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "Cambiar a DOAI" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Evitar barreras de pago redireccionando a las versiones de acceso libre de las publicaciones cuando estén disponibles" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -167,16 +172,6 @@ msgstr "Deslizamiento infinito" msgid "Automatically load next page when scrolling to bottom of current page" msgstr "Cargar automáticamente la siguiente página al deslizarse hasta el final de la página actual" -#: 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 "Evitar barreras de pago redireccionando a las versiones de acceso libre de las publicaciones cuando estén disponibles" - #: searx/plugins/open_results_on_new_tab.py:18 #: searx/templates/oscar/preferences.html:114 #: searx/templates/simple/preferences.html:149 @@ -339,8 +334,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -412,8 +407,8 @@ msgstr "Motores de búsqueda actualmente en uso" #: 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/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" @@ -428,8 +423,8 @@ msgstr "Categoría" #: 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/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 @@ -447,7 +442,7 @@ msgstr "Bloquear" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -457,7 +452,7 @@ msgstr "Esta configuración se guarda en sus cookies, lo que nos permite no alma #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -467,7 +462,7 @@ msgstr "Estas cookies son para su propia comodidad, no las utilizamos para rastr #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -475,14 +470,14 @@ msgstr "Guardar" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: searx/templates/simple/preferences.html:186 msgid "Reset defaults" msgstr "Restablecer configuración por defecto" #: searx/templates/courgette/preferences.html:129 #: searx/templates/legacy/preferences.html:126 -#: searx/templates/oscar/preferences.html:306 +#: searx/templates/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -653,23 +648,23 @@ msgid "General" msgstr "General" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: 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:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Plugins" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Respondedores" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Cookies" @@ -720,88 +715,78 @@ msgstr "Elige un estilo para este tema" msgid "Style" msgstr "Estilo" -#: 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 "Redireccionar a versiones de acceso abierto de las publicaciones cuando estén disponibles (se requiere plugin)" - +#: searx/templates/oscar/preferences.html:151 #: searx/templates/oscar/preferences.html:163 -#: searx/templates/oscar/preferences.html:175 #: searx/templates/simple/preferences.html:88 msgid "Shortcut" msgstr "Atajo" -#: searx/templates/oscar/preferences.html:164 -#: searx/templates/oscar/preferences.html:174 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Idioma elegido" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "Rango de tiempo" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "Tiempo promedio" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Tiempo máximo" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "Esta es la lista de los módulos de respuesta inmediata de searx." -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Nombre" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Plabras clave" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Descripción" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Ejemplos" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "Esta es la lista de cookies y sus valores que searx está almacenando en tu ordenador." -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "Con esa lista puedes valorar la transparencia de searx." -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Nombre de la cookie" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Valor" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "Buscar URL de las preferencias guardadas actualmente" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/et/LC_MESSAGES/messages.mo b/searx/translations/et/LC_MESSAGES/messages.mo Binary files differnew file mode 100644 index 000000000..e0818bc78 --- /dev/null +++ b/searx/translations/et/LC_MESSAGES/messages.mo diff --git a/searx/translations/et/LC_MESSAGES/messages.po b/searx/translations/et/LC_MESSAGES/messages.po new file mode 100644 index 000000000..580307ed1 --- /dev/null +++ b/searx/translations/et/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: +# Madis Otenurm, 2019 +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-04-20 20:39+0000\n" +"Last-Translator: Madis Otenurm\n" +"Language-Team: Estonian (http://www.transifex.com/asciimoo/searx/language/et/)\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: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: searx/search.py:137 searx/search.py:182 +msgid "timeout" +msgstr "ajalõpp" + +#: searx/search.py:144 +msgid "request exception" +msgstr "taotluse viga" + +#: searx/search.py:151 +msgid "unexpected crash" +msgstr "ootamatu krahh" + +#: searx/webapp.py:135 +msgid "files" +msgstr "failid" + +#: searx/webapp.py:136 +msgid "general" +msgstr "üldine" + +#: searx/webapp.py:137 +msgid "music" +msgstr "muusika" + +#: searx/webapp.py:138 +msgid "social media" +msgstr "sotsiaalmeedia" + +#: searx/webapp.py:139 +msgid "images" +msgstr "pildid" + +#: searx/webapp.py:140 +msgid "videos" +msgstr "videod" + +#: searx/webapp.py:141 +msgid "it" +msgstr "infotehnoloogia" + +#: searx/webapp.py:142 +msgid "news" +msgstr "uudised" + +#: searx/webapp.py:143 +msgid "map" +msgstr "kaardid" + +#: searx/webapp.py:144 +msgid "science" +msgstr "teadus" + +#: searx/webapp.py:398 searx/webapp.py:653 +msgid "Invalid settings, please edit your preferences" +msgstr "Sobimatud seaded, palun muuda oma eelistusi" + +#: searx/webapp.py:410 +msgid "Invalid settings" +msgstr "Sobimatud seaded" + +#: searx/webapp.py:444 searx/webapp.py:488 +msgid "search error" +msgstr "otsingu viga" + +#: searx/webapp.py:525 +msgid "{minutes} minute(s) ago" +msgstr "{minutes} minut(it) tagasi" + +#: searx/webapp.py:527 +msgid "{hours} hour(s), {minutes} minute(s) ago" +msgstr "{hours} tund(i), {minutes} minut(it) tagasi" + +#: searx/answerers/random/answerer.py:53 +msgid "Random value generator" +msgstr "Juhusliku väärtuse generaator" + +#: searx/answerers/random/answerer.py:54 +msgid "Generate different random values" +msgstr "Genereeri erinevaid juhuslikke väärtusi" + +#: searx/answerers/statistics/answerer.py:53 +msgid "Statistics functions" +msgstr "Statistikafunktsioonid" + +#: searx/answerers/statistics/answerer.py:54 +msgid "Compute {functions} of the arguments" +msgstr "Arvuta argumentide {functions}" + +#: searx/engines/__init__.py:194 +msgid "Engine time (sec)" +msgstr "Mootori aeg (s)" + +#: searx/engines/__init__.py:198 +msgid "Page loads (sec)" +msgstr "Lehe laadimisi (s)" + +#: searx/engines/__init__.py:202 searx/templates/oscar/results.html:95 +#: searx/templates/simple/results.html:20 +msgid "Number of results" +msgstr "Tulemuste arv" + +#: searx/engines/__init__.py:206 +msgid "Scores" +msgstr "Skoorid" + +#: searx/engines/__init__.py:210 +msgid "Scores per result" +msgstr "Skoorid tulemuste kohta" + +#: searx/engines/__init__.py:214 +msgid "Errors" +msgstr "Vead" + +#: searx/engines/pdbe.py:87 +msgid "{title} (OBSOLETE)" +msgstr "{title} (VANANENUD)" + +#: searx/engines/pdbe.py:91 +msgid "This entry has been superseded by" +msgstr "See üksus on asendatud:" + +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "DOAI taaskirjutamine" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Väldi maksumüüre, suunates võimalusel väljaannete avatud ligipääsuga versioonidele" + +#: searx/plugins/https_rewrite.py:32 +msgid "Rewrite HTTP links to HTTPS if possible" +msgstr "Kirjuta võimalusel HTTP lingid HTTPSiks" + +#: searx/plugins/infinite_scroll.py:3 +msgid "Infinite scroll" +msgstr "Lõpmatu kerimine" + +#: searx/plugins/infinite_scroll.py:4 +msgid "Automatically load next page when scrolling to bottom of current page" +msgstr "Laadi lehe lõppu kerimisel järgmine leht automaatselt" + +#: 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 "Ava tulemuste lingid uutel brauserikaartidel" + +#: 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 "Tulemused avatakse vaikimisi samas aknas. See plugin kirjutab vaikimisi käitumise üle, et avada lingid uutel kaartidel/akendel. (JavaScript nõutud)" + +#: searx/plugins/search_on_category_select.py:18 +msgid "Search on category select" +msgstr "Otsi kategooria valimisel" + +#: searx/plugins/search_on_category_select.py:19 +msgid "" +"Perform search immediately if a category selected. Disable to select " +"multiple categories. (JavaScript required)" +msgstr "Teosta otsing koheselt, kui kategooria on valitud. Keela mitme kategooria valimiseks. (Nõuab JavaScripti)" + +#: 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 "Kuvab sinu IP'd, kui päringuks on \"ip\" ning kasutajaagenti, kui päringuks on \"user agent\"." + +#: searx/plugins/tracker_url_remover.py:26 +msgid "Tracker URL remover" +msgstr "Jälitajate eemaldus URList" + +#: searx/plugins/tracker_url_remover.py:27 +msgid "Remove trackers arguments from the returned URL" +msgstr "Eemaldab jälitavad argumendid tagastatud URList" + +#: searx/plugins/vim_hotkeys.py:3 +msgid "Vim-like hotkeys" +msgstr "Vim-sarnased kiirklahvid" + +#: 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 "Navigeeri otsingutulemusi Vim-i sarnaste kiirklahvidega (nõuab JavaScripti). Abi saamiseks vajuta avalehel või tulemuste lehel klahvi \"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 "Lehte ei leitud" + +#: 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 "Mine %(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 "otsinguleht" + +#: 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 "eelistused" + +#: 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 "teave" + +#: 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 "Eelistused" + +#: 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 "Vaikimisi kategooriad" + +#: 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 "Otsingukeel" + +#: 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 "Vaikimisi keel" + +#: 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 "Liidese keel" + +#: 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 "Automaattäide" + +#: 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 "Pildiproksi" + +#: 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 "Lubatud" + +#: 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 "Keelatud" + +#: 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 "Meetod" + +#: 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 "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 "Range" + +#: 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 "Mõõdukas" + +#: 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 "Puudub" + +#: 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 "Teemad" + +#: searx/templates/courgette/preferences.html:83 +msgid "Color" +msgstr "Värv" + +#: searx/templates/courgette/preferences.html:86 +msgid "Blue (default)" +msgstr "Sinine (vaikimisi)" + +#: searx/templates/courgette/preferences.html:87 +msgid "Violet" +msgstr "Violetne" + +#: searx/templates/courgette/preferences.html:88 +msgid "Green" +msgstr "Roheline" + +#: searx/templates/courgette/preferences.html:89 +msgid "Cyan" +msgstr "Erksinine" + +#: searx/templates/courgette/preferences.html:90 +msgid "Orange" +msgstr "Oranž" + +#: searx/templates/courgette/preferences.html:91 +msgid "Red" +msgstr "Punane" + +#: 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 "Hetkel kasutatud otsingumootorid" + +#: 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 "Mootori nimi" + +#: searx/templates/courgette/preferences.html:101 +#: searx/templates/legacy/preferences.html:98 +msgid "Category" +msgstr "Kategooria" + +#: 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 "Luba" + +#: 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 "Keela" + +#: 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 "Need seaded salvestatakse sinu küpsistes, see lubab meil sinu kohta andmeid mitte salvestada." + +#: 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 "Need küpsised on vaid mugavuse tarbeks, me ei kasuta neid sinu jälitamiseks." + +#: 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 "salvesta" + +#: 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 "Lähtesta vaikeseaded" + +#: 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 "tagasi" + +#: 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 "Otsingu 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 "Laadi tulemused alla" + +#: searx/templates/courgette/results.html:34 +#: searx/templates/legacy/results.html:35 +#: searx/templates/simple/results.html:10 +msgid "Answers" +msgstr "Vastused" + +#: 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 "Soovitused" + +#: 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 "eelmine leht" + +#: 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 "järgmine leht" + +#: 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 "Otsi..." + +#: 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 "Mootori statistika" + +#: 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 "originaalne kontekst" + +#: 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 "Seemendaja" + +#: 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 "Kaanija" + +#: 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 "magnetlink" + +#: 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 "torrentifail" + +#: searx/templates/legacy/categories.html:8 +#: searx/templates/simple/categories.html:6 +msgid "Click on the magnifier to perform search" +msgstr "Klõpsa luubile otsingu teostamiseks" + +#: searx/templates/legacy/preferences.html:84 +#: searx/templates/oscar/preferences.html:113 +#: searx/templates/simple/preferences.html:142 +msgid "Results on new tabs" +msgstr "Tulemused uutel kaartidel" + +#: searx/templates/legacy/preferences.html:87 +#: searx/templates/oscar/preferences.html:117 +#: searx/templates/simple/preferences.html:145 +msgid "On" +msgstr "Sees" + +#: searx/templates/legacy/preferences.html:88 +#: searx/templates/oscar/preferences.html:118 +#: searx/templates/simple/preferences.html:146 +msgid "Off" +msgstr "Väljas" + +#: 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 "vahemälus" + +#: searx/templates/oscar/advanced.html:4 +msgid "Advanced settings" +msgstr "Täpsemad seaded" + +#: 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 "Sulge" + +#: 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 "Viga!" + +#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55 +msgid "Powered by" +msgstr "Põhineb" + +#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55 +msgid "a privacy-respecting, hackable metasearch engine" +msgstr "privaatsust austaval, häkitaval metaotsingu mootoril" + +#: searx/templates/oscar/macros.html:36 searx/templates/oscar/macros.html:50 +#: searx/templates/simple/macros.html:43 +msgid "proxied" +msgstr "proksitud" + +#: searx/templates/oscar/macros.html:92 +msgid "supported" +msgstr "toetatud" + +#: searx/templates/oscar/macros.html:96 +msgid "not supported" +msgstr "mittetoetatud" + +#: searx/templates/oscar/preferences.html:13 +#: searx/templates/oscar/preferences.html:22 +#: searx/templates/simple/preferences.html:32 +msgid "General" +msgstr "Üldine" + +#: searx/templates/oscar/preferences.html:14 +#: searx/templates/oscar/preferences.html:134 +#: searx/templates/simple/preferences.html:76 +msgid "Engines" +msgstr "Mootorid" + +#: searx/templates/oscar/preferences.html:15 +#: searx/templates/oscar/preferences.html:207 +msgid "Plugins" +msgstr "Pluginad" + +#: searx/templates/oscar/preferences.html:16 +#: searx/templates/oscar/preferences.html:233 +msgid "Answerers" +msgstr "Vastajad" + +#: searx/templates/oscar/preferences.html:17 +#: searx/templates/oscar/preferences.html:260 +msgid "Cookies" +msgstr "Küpsised" + +#: searx/templates/oscar/preferences.html:42 +#: searx/templates/simple/preferences.html:48 +msgid "What language do you prefer for search?" +msgstr "Mis keelt sa otsinguks eelistad?" + +#: searx/templates/oscar/preferences.html:48 +#: searx/templates/simple/preferences.html:128 +msgid "Change the language of the layout" +msgstr "Muuda paigutuse keelt" + +#: searx/templates/oscar/preferences.html:58 +#: searx/templates/simple/preferences.html:60 +msgid "Find stuff as you type" +msgstr "Otsi asju kirjutamise ajal" + +#: searx/templates/oscar/preferences.html:69 +#: searx/templates/simple/preferences.html:173 +msgid "Proxying image results through searx" +msgstr "Proksin pilditulemusi läbi searx-i" + +#: 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 "Muuda viisi, kuidas väljad edastatakse, <a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">loe taotlusmeetodite kohta lisaks</a>" + +#: searx/templates/oscar/preferences.html:87 +#: searx/templates/simple/preferences.html:71 +msgid "Filter content" +msgstr "Filtreeri sisu" + +#: searx/templates/oscar/preferences.html:97 +#: searx/templates/simple/preferences.html:139 +msgid "Change searx layout" +msgstr "Muuda searx-i paigutust" + +#: searx/templates/oscar/preferences.html:106 +#: searx/templates/oscar/preferences.html:111 +msgid "Choose style for this theme" +msgstr "Vali sellele teemale stii" + +#: searx/templates/oscar/preferences.html:106 +#: searx/templates/oscar/preferences.html:111 +msgid "Style" +msgstr "Stii" + +#: searx/templates/oscar/preferences.html:151 +#: searx/templates/oscar/preferences.html:163 +#: searx/templates/simple/preferences.html:88 +msgid "Shortcut" +msgstr "Otsetee" + +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 +msgid "Selected language" +msgstr "Valitud keel" + +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 +#: searx/templates/simple/preferences.html:91 +msgid "Time range" +msgstr "Ajavahemik" + +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 +#: searx/templates/simple/preferences.html:92 +msgid "Avg. time" +msgstr "Keskmine aeg" + +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 +#: searx/templates/simple/preferences.html:93 +msgid "Max time" +msgstr "Maksimaalne aeg" + +#: searx/templates/oscar/preferences.html:236 +msgid "This is the list of searx's instant answering modules." +msgstr "See on searx-i koheste vastajate moodulite nimekiri." + +#: searx/templates/oscar/preferences.html:240 +msgid "Name" +msgstr "Nimi" + +#: searx/templates/oscar/preferences.html:241 +msgid "Keywords" +msgstr "Märksõnad" + +#: searx/templates/oscar/preferences.html:242 +msgid "Description" +msgstr "Kirjeldus" + +#: searx/templates/oscar/preferences.html:243 +msgid "Examples" +msgstr "Näited" + +#: searx/templates/oscar/preferences.html:263 +msgid "" +"This is the list of cookies and their values searx is storing on your " +"computer." +msgstr "See on küpsiste ja nende väärtuste nimekiri, mida searx hoiab sinu arvutis." + +#: searx/templates/oscar/preferences.html:264 +msgid "With that list, you can assess searx transparency." +msgstr "Selle nimekirjaga saad sa hinnata searx-i läbipaistvust." + +#: searx/templates/oscar/preferences.html:269 +msgid "Cookie name" +msgstr "Küpsise nimi" + +#: searx/templates/oscar/preferences.html:270 +msgid "Value" +msgstr "Väärtus" + +#: searx/templates/oscar/preferences.html:289 +msgid "Search URL of the currently saved preferences" +msgstr "Otsingu URL hetkel salvestatud eelistuste kohta" + +#: 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 "Märkus: täpsemate seadete määramine otsingu URLis võib vähendada privaatsust, lekitades andmed klõpsatud tulemuste saitidele." + +#: searx/templates/oscar/results.html:17 +msgid "Search results" +msgstr "Otsingutulemused" + +#: searx/templates/oscar/results.html:21 +#: searx/templates/simple/results.html:84 +msgid "Try searching for:" +msgstr "Proovi otsida:" + +#: searx/templates/oscar/results.html:100 +#: searx/templates/simple/results.html:25 +msgid "Engines cannot retrieve results" +msgstr "Mootorid ei saa tulemusi tagastada" + +#: searx/templates/oscar/results.html:131 +msgid "Links" +msgstr "Lingid" + +#: searx/templates/oscar/search.html:8 +#: searx/templates/oscar/search_full.html:11 +#: searx/templates/simple/search.html:5 +msgid "Start search" +msgstr "Alusta otsingut" + +#: searx/templates/oscar/stats.html:2 +msgid "stats" +msgstr "statistika" + +#: searx/templates/oscar/time-range.html:3 +#: searx/templates/simple/time-range.html:3 +msgid "Anytime" +msgstr "Igal ajal" + +#: searx/templates/oscar/time-range.html:6 +#: searx/templates/simple/time-range.html:6 +msgid "Last day" +msgstr "Viimane päev" + +#: searx/templates/oscar/time-range.html:9 +#: searx/templates/simple/time-range.html:9 +msgid "Last week" +msgstr "Viimane nädal" + +#: searx/templates/oscar/time-range.html:12 +#: searx/templates/simple/time-range.html:12 +msgid "Last month" +msgstr "Viimane kuu" + +#: searx/templates/oscar/time-range.html:15 +#: searx/templates/simple/time-range.html:15 +msgid "Last year" +msgstr "Viimane aasta" + +#: searx/templates/oscar/messages/first_time.html:6 +#: searx/templates/oscar/messages/no_data_available.html:3 +msgid "Heads up!" +msgstr "Tähelepanu!" + +#: searx/templates/oscar/messages/first_time.html:7 +msgid "It look like you are using searx first time." +msgstr "Tundub, et kasutad searx-i esimest korda." + +#: searx/templates/oscar/messages/no_cookies.html:3 +msgid "Information!" +msgstr "Teave!" + +#: searx/templates/oscar/messages/no_cookies.html:4 +msgid "currently, there are no cookies defined." +msgstr "hetkel pole ühtegi küpsist määratud." + +#: searx/templates/oscar/messages/no_data_available.html:4 +msgid "There is currently no data available. " +msgstr "Hetkel andmed puuduvad." + +#: searx/templates/oscar/messages/no_results.html:4 +#: searx/templates/simple/messages/no_results.html:4 +msgid "Engines cannot retrieve results." +msgstr "Mootorid ei saa tulemusi tagastada." + +#: 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 "Palun proovi hiljem uuesti või leia teine searx-i eksemplar." + +#: searx/templates/oscar/messages/no_results.html:14 +#: searx/templates/simple/messages/no_results.html:14 +msgid "Sorry!" +msgstr "Vabandust!" + +#: 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 "me ei leidnud ühtegi tulemust. Palun kasuta teist päringut või otsi rohkematest kategooriatest." + +#: searx/templates/oscar/messages/save_settings_successfull.html:7 +msgid "Well done!" +msgstr "Hästi tehtud!" + +#: searx/templates/oscar/messages/save_settings_successfull.html:8 +msgid "Settings saved successfully." +msgstr "Seaded edukalt salvestatud." + +#: searx/templates/oscar/messages/unknow_error.html:7 +msgid "Oh snap!" +msgstr "Oh kurja!" + +#: searx/templates/oscar/messages/unknow_error.html:8 +msgid "Something went wrong." +msgstr "Midagi läks valesti." + +#: searx/templates/oscar/result_templates/default.html:7 +#: searx/templates/simple/result_templates/default.html:6 +msgid "show media" +msgstr "kuva meedia" + +#: searx/templates/oscar/result_templates/default.html:7 +#: searx/templates/simple/result_templates/default.html:6 +msgid "hide media" +msgstr "peida meedia" + +#: searx/templates/oscar/result_templates/images.html:30 +msgid "Get image" +msgstr "Hangi pilt" + +#: searx/templates/oscar/result_templates/images.html:33 +msgid "View source" +msgstr "Vaata allikat" + +#: searx/templates/oscar/result_templates/map.html:7 +#: searx/templates/simple/result_templates/map.html:7 +msgid "show map" +msgstr "kuva kaart" + +#: searx/templates/oscar/result_templates/map.html:7 +#: searx/templates/simple/result_templates/map.html:7 +msgid "hide map" +msgstr "peida kaart" + +#: searx/templates/oscar/result_templates/map.html:11 +#: searx/templates/simple/result_templates/map.html:11 +msgid "show details" +msgstr "kuva andmeid" + +#: searx/templates/oscar/result_templates/map.html:11 +#: searx/templates/simple/result_templates/map.html:11 +msgid "hide details" +msgstr "peida andmed" + +#: searx/templates/oscar/result_templates/torrent.html:7 +#: searx/templates/simple/result_templates/torrent.html:11 +msgid "Filesize" +msgstr "Failisuurus" + +#: searx/templates/oscar/result_templates/torrent.html:9 +#: searx/templates/simple/result_templates/torrent.html:12 +msgid "Bytes" +msgstr "Baite" + +#: 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 "Failide arv" + +#: searx/templates/oscar/result_templates/videos.html:7 +#: searx/templates/simple/result_templates/videos.html:6 +msgid "show video" +msgstr "kuva video" + +#: searx/templates/oscar/result_templates/videos.html:7 +#: searx/templates/simple/result_templates/videos.html:6 +msgid "hide video" +msgstr "peida video" + +#: searx/templates/pix-art/results.html:28 +msgid "Load more..." +msgstr "Laadi juurde..." + +#: searx/templates/simple/base.html:31 +msgid "No item found" +msgstr "Üksust ei leitud" + +#: searx/templates/simple/preferences.html:89 +msgid "Supports selected language" +msgstr "Toetab valitud keelt" + +#: searx/templates/simple/preferences.html:118 +msgid "User interface" +msgstr "Kasutajaliides" + +#: searx/templates/simple/preferences.html:154 +msgid "Privacy" +msgstr "Privaatsus" diff --git a/searx/translations/eu/LC_MESSAGES/messages.mo b/searx/translations/eu/LC_MESSAGES/messages.mo Binary files differindex db58fdc84..0c66d026c 100644 --- a/searx/translations/eu/LC_MESSAGES/messages.mo +++ b/searx/translations/eu/LC_MESSAGES/messages.mo diff --git a/searx/translations/eu/LC_MESSAGES/messages.po b/searx/translations/eu/LC_MESSAGES/messages.po index b6fa194e1..c47634dfd 100644 --- a/searx/translations/eu/LC_MESSAGES/messages.po +++ b/searx/translations/eu/LC_MESSAGES/messages.po @@ -3,16 +3,16 @@ # This file is distributed under the same license as the PROJECT project. # # Translators: -# beriain <beriain@bitmessage.ch>, 2018 -# beriain <beriain@bitmessage.ch>, 2018 +# beriain, 2018 +# beriain, 2018-2019 # 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" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-26 15:18+0000\n" +"Last-Translator: beriain\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" @@ -33,63 +33,63 @@ msgstr "salbuespena eskaeran" msgid "unexpected crash" msgstr "ustekabeko gelditzea" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "fitxategiak" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "orokorra" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "musika" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" -msgstr "multimedia soziala" +msgstr "media soziala" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "irudiak" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "bideoak" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" -msgstr "it" +msgstr "informatika" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "berriak" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "mapa" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "zientzia" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Ezarpen ez baliodunak, mesedez editatu zure hobespenak" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Ezarpen ez baliodunak" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "bilaketa akatsa" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "duela {minutes} minutu" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "duela {hours} ordu eta {minutes} minutu" @@ -109,29 +109,28 @@ msgstr "Funtzio estatistikoak" msgid "Compute {functions} of the arguments" msgstr "Parametroen {functions} zenbatu" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Bilatzailearen denbora (seg)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 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/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Balorazioak" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Balorazioak emaitza bakoitzeko" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Erroreak" @@ -143,9 +142,15 @@ msgstr "{title} (ZAHARKITUA)" 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/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "DOAI berridazketa" + +#: searx/plugins/doai_rewrite.py:8 +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/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -159,16 +164,6 @@ msgstr "Korritze amaigabea" 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 @@ -331,8 +326,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -404,8 +399,8 @@ 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/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" @@ -420,8 +415,8 @@ msgstr "Kategoria" #: 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/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 @@ -439,17 +434,17 @@ msgstr "Blokeatu" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: 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 "Ezarpen hauek zure cookietan gurdetzen dira, honek zuri buruzko informaziorik ez gordetzea baimentzen digu." +msgstr "Ezarpen hauek zure cookietan gordetzen 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/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -459,7 +454,7 @@ msgstr "Cookie hauek zure onurarako besterik ez dira, ez ditugu zure jarraipenik #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -467,14 +462,14 @@ msgstr "gorde" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: 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/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -645,23 +640,23 @@ msgid "General" msgstr "Orokorra" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Bilatzaileak" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Pluginak" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Erantzun emaileak" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Cookieak" @@ -683,7 +678,7 @@ 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" +msgstr "Irudien emaitzak searx proxyaren bidez pasatu" #: searx/templates/oscar/preferences.html:78 msgid "" @@ -712,88 +707,78 @@ msgstr "Gai honetarako estiloa hautatu" 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:151 #: 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 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Hautatutako hizkuntza" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: 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/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: 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/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Gehienezko denbora" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 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 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Izena" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Gako-hitzak" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Deskripzioa" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Adibideak" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 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 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "Zerrenda horrekin, searxen gardentasuna balioztatu dezakezu." -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Cookiearen izena" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Balioa" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "Une honetan gordetako hobespenen bilaketa URLa" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/fa_IR/LC_MESSAGES/messages.mo b/searx/translations/fa_IR/LC_MESSAGES/messages.mo Binary files differindex 4ef71416b..a2f503386 100644 --- a/searx/translations/fa_IR/LC_MESSAGES/messages.mo +++ b/searx/translations/fa_IR/LC_MESSAGES/messages.mo diff --git a/searx/translations/fa_IR/LC_MESSAGES/messages.po b/searx/translations/fa_IR/LC_MESSAGES/messages.po index 0e568e1db..6689dafe7 100644 --- a/searx/translations/fa_IR/LC_MESSAGES/messages.po +++ b/searx/translations/fa_IR/LC_MESSAGES/messages.po @@ -4,15 +4,17 @@ # # Translators: # Aurora, 2018 +# Aurora, 2018 +# Jim <inactive+Jim11@transifex.com>, 2017 # Jim <inactive+Jim11@transifex.com>, 2017 -# Mostafa Ahangarha <ahangarha@gmail.com>, 2018 +# Mostafa Ahangarha <ahangarha@riseup.net>, 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" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" +"Last-Translator: Noémi Ványi <sitbackandwait@gmail.com>\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" @@ -33,63 +35,63 @@ msgstr "خطا در درخواست" msgid "unexpected crash" msgstr "ایست ناگهانی" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "فایل ها<br>" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "فراگیر" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "موسیقی" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "رسانه اجتماعی" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "تصاویر<br>" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "ویدیو ها<br>" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "فناوری اطلاعات" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "اخبار" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "نقشه" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "دانش<br>" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "تنظیمات نادرست است، لطفا اولویتهای جستجو را تغییر دهید" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "تنظیمات اشتباه" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "خطای جستجو" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} دقیقه پیش" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} ساعت و {minutes} دقیقه پیش" @@ -109,29 +111,28 @@ msgstr "توابع آماری" msgid "Compute {functions} of the arguments" msgstr "پردازش {عملکرد های} نشانوند ها<br>" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "زمان موتور(ثانیه)<br>" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "زمان بارگذاری صفحه (ثانیه)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "امتیازات<br>" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "امتیازات بر نتیجه<br>" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "خطاها" @@ -143,9 +144,15 @@ msgstr "{title} (OBSOLETE)" 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/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "امتناع از منابع غیر رایگان با تغییر مسیر به نسخه ی رایگان نشریات اگر در دسترس باشد<br>" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -159,16 +166,6 @@ msgstr "پایین رفتن بیپایان" 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 @@ -331,8 +328,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -404,8 +401,8 @@ 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/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" @@ -420,8 +417,8 @@ msgstr "دسته" #: 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/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 @@ -439,7 +436,7 @@ msgstr "انسداد<br>" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -449,7 +446,7 @@ msgstr "این تنظیمات در کوکی های شما ذخیره شده ان #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -459,7 +456,7 @@ msgstr "این کوکی ها برای راحتی شماست، ما از این #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -467,14 +464,14 @@ msgstr "ذخیره" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: 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/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -645,23 +642,23 @@ msgid "General" msgstr "کلی<br>" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "موتور ها<br>" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "افزونه ها" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "پاسخگو ها<br>" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "کوکی ها<br>" @@ -712,88 +709,78 @@ msgstr "سبک این پوسته را انتخاب کنید" 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:151 #: 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 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "زبان انتخابی<br>" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: 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/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "زمان میانگین" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "حداکثر زمان" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "این، فهرست ماژولهای پاسخ بلادرنگ searx است." -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "نام" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "کلیدواژه ها<br>" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "شرح<br>" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "مثال ها<br>" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "این، لیست کوکیها و مقادیری است که searx روی دستگاه شما ذخیره میکند." -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "با آن لیست، میتوانید شفافیت searx را ارزیابی کنید." -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "نام کوکی<br>" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "مقدار<br>" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "آدرس جستجو بر اساس تنظیمات ذخیره شده<br>" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/fi/LC_MESSAGES/messages.mo b/searx/translations/fi/LC_MESSAGES/messages.mo Binary files differindex b3905ca2f..90cd78d9e 100644 --- a/searx/translations/fi/LC_MESSAGES/messages.mo +++ b/searx/translations/fi/LC_MESSAGES/messages.mo diff --git a/searx/translations/fi/LC_MESSAGES/messages.po b/searx/translations/fi/LC_MESSAGES/messages.po index dbec358d4..57b3e4316 100644 --- a/searx/translations/fi/LC_MESSAGES/messages.po +++ b/searx/translations/fi/LC_MESSAGES/messages.po @@ -8,8 +8,8 @@ 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-13 07:36+0000\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" "Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n" "Language-Team: Finnish (http://www.transifex.com/asciimoo/searx/language/fi/)\n" "MIME-Version: 1.0\n" @@ -31,63 +31,63 @@ msgstr "pyyntöpoikkeus" msgid "unexpected crash" msgstr "odottamaton kaatuminen" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "tiedostot" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "yleiset" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "musiikki" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "sosiaalinen media" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "kuvat" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "videot" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "it" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "uutiset" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "kartta" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "tiede" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Virheelliset asetukset, muokkaa siis asetuksia" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Virheelliset asetukset" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "hakuvirhe" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} min sitten" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} t, {minutes} min sitten" @@ -107,29 +107,28 @@ msgstr "Tilastolliset funktiot" msgid "Compute {functions} of the arguments" msgstr "Laske argumenttien {functions}" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Hakukoneen aika (s)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Sivun lataus (s)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 searx/templates/oscar/results.html:95 #: searx/templates/simple/results.html:20 msgid "Number of results" msgstr "Tulosten määrä" -#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Pisteet" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Pisteet per tulos" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Virheet" @@ -141,9 +140,15 @@ msgstr "{title} (VANHENTUNUT)" msgid "This entry has been superseded by" msgstr "Tämän kohdan on korvannut" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "Tästä julkaisusta ei ole yhteenvetoa." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "DOAI-uudelleenkirjoitus" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Vältä maksumuureja ohjaamalla julkaisujen avoimiin versioihin jos mahdollista" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -157,16 +162,6 @@ msgstr "Loputon vieritys" msgid "Automatically load next page when scrolling to bottom of current page" msgstr "Lataa automaattisesti seuraava sivu, kun nykyisen sivun loppu saavutetaan" -#: searx/plugins/oa_doi_rewrite.py:9 -msgid "Open Access DOI rewrite" -msgstr "Open Access DOI -uudelleenkirjoitus" - -#: searx/plugins/oa_doi_rewrite.py:10 -msgid "" -"Avoid paywalls by redirecting to open-access versions of publications when " -"available" -msgstr "Vältä maksumuureja ohjaamalla julkaisujen avoimiin versioihin jos mahdollista" - #: searx/plugins/open_results_on_new_tab.py:18 #: searx/templates/oscar/preferences.html:114 #: searx/templates/simple/preferences.html:149 @@ -329,8 +324,8 @@ msgstr "Tapa" #: 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -402,8 +397,8 @@ msgstr "Nyt käytetyt hakukoneet" #: 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/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" @@ -418,8 +413,8 @@ msgstr "Luokka" #: 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/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 @@ -437,7 +432,7 @@ msgstr "Estä" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -447,7 +442,7 @@ msgstr "Nämä asetukset tallennetaan evästeisiisi. Näin Searxin ei tarvitse t #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -457,7 +452,7 @@ msgstr "Kyseiset evästeet palvelevat ainoastaan sinua, eikä niitä käytetä s #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -465,14 +460,14 @@ msgstr "Tallenna" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: searx/templates/simple/preferences.html:186 msgid "Reset defaults" msgstr "Palauta oletukset" #: searx/templates/courgette/preferences.html:129 #: searx/templates/legacy/preferences.html:126 -#: searx/templates/oscar/preferences.html:306 +#: searx/templates/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -643,23 +638,23 @@ msgid "General" msgstr "Yleiset" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Hakukoneet" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Lisäosat" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Vastaajat" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Evästeet" @@ -710,88 +705,78 @@ msgstr "Valitse tyyli tälle teemalle" msgid "Style" msgstr "Tyyli" -#: searx/templates/oscar/preferences.html:122 -msgid "Open Access DOI resolver" -msgstr "Open Access DOI -selvitin" - -#: searx/templates/oscar/preferences.html:123 -msgid "" -"Redirect to open-access versions of publications when available (plugin " -"required)" -msgstr "Uudelleenohjaa julkaisujen open-access-versioihin kun mahdollista (vaatii liitännäisen)" - +#: searx/templates/oscar/preferences.html:151 #: searx/templates/oscar/preferences.html:163 -#: searx/templates/oscar/preferences.html:175 #: searx/templates/simple/preferences.html:88 msgid "Shortcut" msgstr "Oikoreitti" -#: searx/templates/oscar/preferences.html:164 -#: searx/templates/oscar/preferences.html:174 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Valittu kieli" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "Aikaväli" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "Keskimääräinen\naika" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Enimmäisaika" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "Tämä on luettelo searxin vastaajamoduuleista." -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Nimi" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Avainsanat" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Kuvaus" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Esimerkit" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "Ohessa on lista evästeistä ja niiden arvoista, joita searx tallentaa tietokoneellesi." -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "Tämän luettelon avulla voit arvioida searxin läpinäkyvyyden." -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Evästeen nimi" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Arvo" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "Nykyisten asetusten hakuosoite" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/fil/LC_MESSAGES/messages.mo b/searx/translations/fil/LC_MESSAGES/messages.mo Binary files differindex f1b4e75c7..95851f77b 100644 --- a/searx/translations/fil/LC_MESSAGES/messages.mo +++ b/searx/translations/fil/LC_MESSAGES/messages.mo diff --git a/searx/translations/fil/LC_MESSAGES/messages.po b/searx/translations/fil/LC_MESSAGES/messages.po index 460061968..ca50d5827 100644 --- a/searx/translations/fil/LC_MESSAGES/messages.po +++ b/searx/translations/fil/LC_MESSAGES/messages.po @@ -9,9 +9,9 @@ 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-18 04:45+0000\n" -"Last-Translator: gr01d\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" +"Last-Translator: Noémi Ványi <sitbackandwait@gmail.com>\n" "Language-Team: Filipino (http://www.transifex.com/asciimoo/searx/language/fil/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,63 +32,63 @@ msgstr "request exception" msgid "unexpected crash" msgstr "hindi inaasahan na crash" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "file" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "pangkalahatan" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "musika" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "social media" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "larawan" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "bidyo" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "it" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "balita" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "mapa" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "agham" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Maling settings, paki ayos ang preferences" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Maling settings" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "nagkaproblema sa paghahanap" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} na minuto ang nakalipas" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} oras at {minutes} na minto ang nakalipas" @@ -108,29 +108,28 @@ msgstr "Estatistika ng mga tungkulin" msgid "Compute {functions} of the arguments" msgstr "Tuusin ang {functions} ng pangangatuwiran" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Oras ng engine (segundo)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Oras ng pagkarga ng pahina (segundo)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 searx/templates/oscar/results.html:95 #: searx/templates/simple/results.html:20 msgid "Number of results" msgstr "Bilang ng resulta" -#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Iskor" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Iskor ng bawat resulta" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Kamalian" @@ -142,9 +141,15 @@ msgstr "{title} (LUMA)" msgid "This entry has been superseded by" msgstr "Ang tala na ito ay ipinagpaliban ng" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "Walang nakita na abstract para sa pahahayag na ito." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Iwasan ang paywall sa pag-redirect sa open-access na bersyon ng pahahayagan kapagmakukuha" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -158,16 +163,6 @@ msgstr "Walang hanggan na pag-scroll" msgid "Automatically load next page when scrolling to bottom of current page" msgstr "Awtomatiko na ikarga ang sumunod na pahina kapag nakarating na sa dulo ng kasalukuyang pahina" -#: searx/plugins/oa_doi_rewrite.py:9 -msgid "Open Access DOI rewrite" -msgstr "Open Access DOI rewrite" - -#: searx/plugins/oa_doi_rewrite.py:10 -msgid "" -"Avoid paywalls by redirecting to open-access versions of publications when " -"available" -msgstr "Iwasan ang paywall sa pag-redirect sa open-access na bersyon ng pahahayagan kapagmakukuha" - #: searx/plugins/open_results_on_new_tab.py:18 #: searx/templates/oscar/preferences.html:114 #: searx/templates/simple/preferences.html:149 @@ -330,8 +325,8 @@ msgstr "Paraan" #: 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -403,8 +398,8 @@ msgstr "Ang ginagamit natin na search engines" #: 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/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" @@ -419,8 +414,8 @@ msgstr "Uri" #: 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/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 @@ -438,7 +433,7 @@ msgstr "Harangan" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -448,7 +443,7 @@ msgstr "Ang settings ay nakalagay sa cookies upang hindi kami makakuha ng datos #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -458,7 +453,7 @@ msgstr "Hindi namin ginagamit ang cookies para i-track ka, ito ay para maging ma #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -466,14 +461,14 @@ msgstr "i-save" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: searx/templates/simple/preferences.html:186 msgid "Reset defaults" msgstr "I-reset ang defaults" #: searx/templates/courgette/preferences.html:129 #: searx/templates/legacy/preferences.html:126 -#: searx/templates/oscar/preferences.html:306 +#: searx/templates/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -644,23 +639,23 @@ msgid "General" msgstr "Pangkalahatan" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Engines" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Plugins" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Mga pangsagot" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Cookies" @@ -711,88 +706,78 @@ msgstr "Pumili ng estilo para sa tema na ito" msgid "Style" msgstr "Estilo" -#: searx/templates/oscar/preferences.html:122 -msgid "Open Access DOI resolver" -msgstr "Open Access DOI resolver" - -#: searx/templates/oscar/preferences.html:123 -msgid "" -"Redirect to open-access versions of publications when available (plugin " -"required)" -msgstr "Redirect to open-access versions of publications when available (plugin required)" - +#: searx/templates/oscar/preferences.html:151 #: searx/templates/oscar/preferences.html:163 -#: searx/templates/oscar/preferences.html:175 #: searx/templates/simple/preferences.html:88 msgid "Shortcut" msgstr "Shortcut" -#: searx/templates/oscar/preferences.html:164 -#: searx/templates/oscar/preferences.html:174 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Piniling wika" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "Agwat ng oras" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "Gitnang oras" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Ang max na oras" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "Ito ang listahan ng instant answering modules ni searx." -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Pangalan" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Mga keyword" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Paglalarawan" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Mga halimbawa" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "Ito ang listahan ng cookies at ang kanilang value na inilagay ni searx sa iyon kompyuter." -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "Dahil sa listahan na iyon, maaari mong makita ang pagiging transparent ni searx." -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Pangalan ng cookie" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Value" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "Search URL ng kasalukuyan na naka-save sa preferences" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/fr/LC_MESSAGES/messages.mo b/searx/translations/fr/LC_MESSAGES/messages.mo Binary files differindex 7fd3ee891..51d1006e9 100644 --- a/searx/translations/fr/LC_MESSAGES/messages.mo +++ b/searx/translations/fr/LC_MESSAGES/messages.mo diff --git a/searx/translations/fr/LC_MESSAGES/messages.po b/searx/translations/fr/LC_MESSAGES/messages.po index 4c076ddbf..4d57cad74 100644 --- a/searx/translations/fr/LC_MESSAGES/messages.po +++ b/searx/translations/fr/LC_MESSAGES/messages.po @@ -7,6 +7,7 @@ # Benjamin Sonntag <benjamin@sonntag.fr>, 2014 # Cqoicebordel <david.barouh@wanadoo.fr>, 2014 # Cqoicebordel <david.barouh@wanadoo.fr>, 2014-2017 +# Étienne Deparis <etienne@depar.is>, 2019 # FIRST AUTHOR <EMAIL@ADDRESS>, 2014 # Noémi Ványi <sitbackandwait@gmail.com>, 2017 # rike, 2014 @@ -15,9 +16,9 @@ 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-03 08:18+0000\n" -"Last-Translator: Alexandre Flament <alex@al-f.net>\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 18:27+0000\n" +"Last-Translator: Noémi Ványi <sitbackandwait@gmail.com>\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" @@ -38,63 +39,63 @@ msgstr "erreur de requête" msgid "unexpected crash" msgstr "crash inattendu" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "fichiers" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "général" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "musique" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "réseaux sociaux" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "images" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "vidéos" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "informatique" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "actualités" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "carte" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "science" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Paramètres non valides, veuillez éditer vos préférences" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Paramètres non valides" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "erreur de recherche" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "il y a {minutes} minute(s)" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "il y a {hours} heure(s), {minutes} minute(s)" @@ -114,29 +115,28 @@ msgstr "Fonctions statistiques" msgid "Compute {functions} of the arguments" msgstr "Calcule les {functions} des arguments" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Temps du moteur (sec)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Chargement de la page (sec)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 searx/templates/oscar/results.html:95 #: searx/templates/simple/results.html:20 msgid "Number of results" msgstr "Nombre de résultats" -#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Score" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Score par résultat" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Erreur" @@ -148,9 +148,15 @@ msgstr "{titre} (OBSOLETE)" msgid "This entry has been superseded by" msgstr "Cet item a été remplacé par" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "Pas de résumé disponible pour cette publication." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "Utiliser DOAI" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Contourne les verrous payants de certaines publications scientifiques en redirigeant vers la version ouverte de ces papiers si elle est disponible." #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -164,16 +170,6 @@ msgstr "Défilement infini" msgid "Automatically load next page when scrolling to bottom of current page" msgstr "Charge automatiquement la page suivante quand vous arriver en bas de la page" -#: searx/plugins/oa_doi_rewrite.py:9 -msgid "Open Access DOI rewrite" -msgstr "Utiliser Open Access DOI" - -#: searx/plugins/oa_doi_rewrite.py:10 -msgid "" -"Avoid paywalls by redirecting to open-access versions of publications when " -"available" -msgstr "Contourne les verrous payants de certaines publications scientifiques en redirigeant vers la version ouverte de ces papiers si elle est disponible." - #: searx/plugins/open_results_on_new_tab.py:18 #: searx/templates/oscar/preferences.html:114 #: searx/templates/simple/preferences.html:149 @@ -336,8 +332,8 @@ msgstr "Méthode" #: 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -409,8 +405,8 @@ msgstr "Moteurs de recherche actuellement utilisés" #: 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/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" @@ -425,8 +421,8 @@ msgstr "Catégorie" #: 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/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 @@ -444,7 +440,7 @@ msgstr "Bloquer" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -454,7 +450,7 @@ msgstr "Ces paramètres sont stockés dans vos cookies ; ceci nous permet de ne #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -464,7 +460,7 @@ msgstr "Ces cookies existent pour votre confort d'utilisation, nous ne les utili #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -472,14 +468,14 @@ msgstr "enregistrer" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: searx/templates/simple/preferences.html:186 msgid "Reset defaults" msgstr "Remettre les valeurs par défaut" #: searx/templates/courgette/preferences.html:129 #: searx/templates/legacy/preferences.html:126 -#: searx/templates/oscar/preferences.html:306 +#: searx/templates/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -650,23 +646,23 @@ msgid "General" msgstr "Général" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Moteurs" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Plugins" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Réponses instantanées" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Cookies" @@ -717,88 +713,78 @@ msgstr "Choisir un style pour ce thème" msgid "Style" msgstr "Style" -#: searx/templates/oscar/preferences.html:122 -msgid "Open Access DOI resolver" -msgstr "Résolveur Open Access DOI" - -#: searx/templates/oscar/preferences.html:123 -msgid "" -"Redirect to open-access versions of publications when available (plugin " -"required)" -msgstr "Rediriger vers les versions des articles en libre accès lorsqu'elles sont disponibles (nécessite un plugin)" - +#: searx/templates/oscar/preferences.html:151 #: searx/templates/oscar/preferences.html:163 -#: searx/templates/oscar/preferences.html:175 #: searx/templates/simple/preferences.html:88 msgid "Shortcut" msgstr "Raccourcis" -#: searx/templates/oscar/preferences.html:164 -#: searx/templates/oscar/preferences.html:174 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Langue choisie" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "Espace temporel" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "Temps moy." -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Temps max" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "Voici la liste des module de searx produisant une réponse instantanée." -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Nom" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Mots clés" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Description" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Exemples" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "C'est une liste de cookies et de leurs valeurs que searx enregistre sur votre ordinateur." -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "Avec cette liste, vous pouvez juger de la transparence de searx." -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Nom du cookie" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Valeur" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "Adresse de recherche des réglages actuels" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/gl/LC_MESSAGES/messages.mo b/searx/translations/gl/LC_MESSAGES/messages.mo Binary files differindex 30d7b0dd6..e8724634e 100644 --- a/searx/translations/gl/LC_MESSAGES/messages.mo +++ b/searx/translations/gl/LC_MESSAGES/messages.mo diff --git a/searx/translations/gl/LC_MESSAGES/messages.po b/searx/translations/gl/LC_MESSAGES/messages.po index 3e1e2230f..4634ed1b1 100644 --- a/searx/translations/gl/LC_MESSAGES/messages.po +++ b/searx/translations/gl/LC_MESSAGES/messages.po @@ -3,13 +3,13 @@ # This file is distributed under the same license as the PROJECT project. # # Translators: -# Xosé M. Lamas <correo@xmgz.eu>, 2018 +# Xosé M. Lamas <correo@xmgz.eu>, 2018-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: 2018-04-20 11:00+0000\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-26 06:08+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" @@ -31,63 +31,63 @@ msgstr "excepción na petición" msgid "unexpected crash" msgstr "fallo non agardado" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "ficheiros" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "xeral" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "música" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "Medios sociais" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "imaxes" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "vídeos" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "TIC" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "novas" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "mapa" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "ciencia" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Axustes non válidos, por favor edite a configuración" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Axustes non válidos" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "fallo na busca" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "hai {minutes} minuto(s)" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "hai {hours} hora(s), {minutes} minuto(s)" @@ -107,29 +107,28 @@ msgstr "Funcións de estatística" msgid "Compute {functions} of the arguments" msgstr "Calcule {functions} dos argumentos" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Tempo de busca (sec)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 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/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Puntuacións" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Puntuacións por resultado" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Fallos" @@ -141,9 +140,15 @@ msgstr "{title} (OBSOLETO)" 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/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "Reescritura DOAI" + +#: searx/plugins/doai_rewrite.py:8 +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/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -157,16 +162,6 @@ msgstr "Desplazamento infinito" 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 @@ -329,8 +324,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -402,8 +397,8 @@ 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/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" @@ -418,8 +413,8 @@ msgstr "Categoría" #: 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/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 @@ -437,7 +432,7 @@ msgstr "Bloquear" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -447,7 +442,7 @@ msgstr "Estos axustes gárdanse en testemuños, esto permítenos non ter que gar #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -457,7 +452,7 @@ msgstr "Estos testemuños son para a súa conveniencia, non utilizamos estos tes #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -465,14 +460,14 @@ msgstr "gardar" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: 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/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -643,23 +638,23 @@ msgid "General" msgstr "Xeral" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: 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:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Engadidos" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Respostas" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Testemuños" @@ -710,88 +705,78 @@ msgstr "Escolla o estilo para este decorado" 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:151 #: 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 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Idioma seleccionado" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: 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/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: 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/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Tempo máx." -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 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 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Nome" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Palabras chave" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Descrición" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Exemplos" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 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 +#: searx/templates/oscar/preferences.html:264 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 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Nome do testemuño" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Valor" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "URL de busca dos axustes gardados actualmente." -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/he/LC_MESSAGES/messages.mo b/searx/translations/he/LC_MESSAGES/messages.mo Binary files differindex c03402500..3f7f8b4b1 100644 --- a/searx/translations/he/LC_MESSAGES/messages.mo +++ b/searx/translations/he/LC_MESSAGES/messages.mo diff --git a/searx/translations/he/LC_MESSAGES/messages.po b/searx/translations/he/LC_MESSAGES/messages.po index a7d0bcc32..c2e851d1d 100644 --- a/searx/translations/he/LC_MESSAGES/messages.po +++ b/searx/translations/he/LC_MESSAGES/messages.po @@ -4,7 +4,7 @@ # # Translators: # GenghisKhan <genghiskhan@gmx.ca>, 2015 -# GenghisKhan <genghiskhan@gmx.ca>, 2015-2017 +# GenghisKhan <genghiskhan@gmx.ca>, 2015-2017,2019 # pointhi, 2014 # rike, 2014 # stf <stefan.marsiske@gmail.com>, 2014 @@ -12,20 +12,20 @@ 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" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-03-17 10:52+0000\n" +"Last-Translator: GenghisKhan <genghiskhan@gmx.ca>\n" "Language-Team: Hebrew (http://www.transifex.com/asciimoo/searx/language/he/)\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: he\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n" #: searx/search.py:137 searx/search.py:182 msgid "timeout" -msgstr "" +msgstr "פקיעת זמן" #: searx/search.py:144 msgid "request exception" @@ -35,63 +35,63 @@ msgstr "" msgid "unexpected crash" msgstr "" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "קבצים" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "כללי" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "מוזיקה" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "מדיה חברתית" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "תמונות" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "סרטונים" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "IT" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "חדשות" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "מפות" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "מדע" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "הגדרות שגויות, אנא ערוך את ההעדפות שלך" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" -msgstr "" +msgstr "הגדרה לא חוקית" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "שגיאת חיפוש" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "לפני {minutes} דקות" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "לפני {hours} שעות, {minutes} דקות" @@ -109,31 +109,30 @@ msgstr "פונקציות סטטיסטיקה" #: searx/answerers/statistics/answerer.py:54 msgid "Compute {functions} of the arguments" -msgstr "" +msgstr "מחשב {functions} מתוך הארגומנטים" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "זמן מנוע (שניות)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "עומס עמוד (שניות)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "דירוג" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "דירוג לכל תוצאה" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "שגיאות" @@ -145,9 +144,15 @@ msgstr "" msgid "This entry has been superseded by" msgstr "רשומה זו הוחלפה על ידי" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "" +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "שכתוב DOAI" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "הימנעות מקירות-תשלום (paywalls) על ידי הכוונה מחודשת לגרסאות כניסה-חופשית של כתבי-עת כאשר זמינות" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -161,16 +166,6 @@ msgstr "גלילה אינסופית" 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 "הימנעות מקירות-תשלום (paywalls) על ידי הכוונה מחודשת לגרסאות כניסה-חופשית של כתבי-עת כאשר זמינות" - #: searx/plugins/open_results_on_new_tab.py:18 #: searx/templates/oscar/preferences.html:114 #: searx/templates/simple/preferences.html:149 @@ -333,8 +328,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -406,8 +401,8 @@ 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/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" @@ -422,8 +417,8 @@ msgstr "קטגוריה" #: 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/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 @@ -441,7 +436,7 @@ msgstr "חסום" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -451,7 +446,7 @@ msgstr "הגדרות אלו מאוחסנות בתוך העוגיות שלך, א #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -461,7 +456,7 @@ msgstr "עוגיות אלו משרתות את נוחותך הבלעדית, אנ #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -469,14 +464,14 @@ msgstr "שמור" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: 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/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -634,11 +629,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 @@ -647,23 +642,23 @@ msgid "General" msgstr "כללי" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "מנועים" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "תוספים" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "תשובות" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "עוגיות" @@ -714,88 +709,78 @@ msgstr "בחירת סגנון עבור עיצוב זה" 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:151 #: 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 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" -msgstr "" +msgstr "שפה נבחרת" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "טווח זמן" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "זמן ממוצע" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "זמן מירבי" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "" -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "שם" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "מילות מפתח" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "תיאור" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "דוגמאות" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "זוהי רשימה של עוגיות וערכיהן אשר searx מאחסנת על המחשב שלך." -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "בעזרת רשימה זו, באפשרותך לגשת אל searx transparency." -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "שם עוגייה" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "ערך" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" -msgstr "" +msgstr "כתובת חיפוש של ההעדפות השמורות כעת" -#: searx/templates/oscar/preferences.html:301 +#: 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." @@ -808,12 +793,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" @@ -878,12 +863,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 @@ -1002,16 +987,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/hr/LC_MESSAGES/messages.mo b/searx/translations/hr/LC_MESSAGES/messages.mo Binary files differindex 9e232a151..47541917b 100644 --- a/searx/translations/hr/LC_MESSAGES/messages.mo +++ b/searx/translations/hr/LC_MESSAGES/messages.mo diff --git a/searx/translations/hr/LC_MESSAGES/messages.po b/searx/translations/hr/LC_MESSAGES/messages.po index 104876cd6..94c5c7459 100644 --- a/searx/translations/hr/LC_MESSAGES/messages.po +++ b/searx/translations/hr/LC_MESSAGES/messages.po @@ -8,9 +8,9 @@ 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-10 18:43+0000\n" -"Last-Translator: Dino Dugandžija <ddugandz@tutanota.com>\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" +"Last-Translator: Noémi Ványi <sitbackandwait@gmail.com>\n" "Language-Team: Croatian (http://www.transifex.com/asciimoo/searx/language/hr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -31,63 +31,63 @@ msgstr "zatraži iznimku" msgid "unexpected crash" msgstr "neočekivani pad" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "datoteke" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "općenito" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "glazba" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "društveni mediji" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "slike" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "video zapisi" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "it" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "vijesti" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "karta" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "znanost" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Nevažeće postavke, uredite svoje postavke" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Nevažeće postavke" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "greška u pretraživanju" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} minutu(minute, minuta) prije" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} sat(sata, sati), {minutes} minutu(minute, minuta) prije" @@ -107,29 +107,28 @@ msgstr "Funkcije statistike" msgid "Compute {functions} of the arguments" msgstr "Izračunajte {functions} argumenata" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Vrijeme pretraživanja (sek)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Učitavanje stranice (sek)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 searx/templates/oscar/results.html:95 #: searx/templates/simple/results.html:20 msgid "Number of results" msgstr "Broj rezultata" -#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Pogodci" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Pogodci po rezultatu" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Greške" @@ -141,9 +140,15 @@ msgstr "{title} (ZASTARJELO)" msgid "This entry has been superseded by" msgstr "Ovaj je unos zamijenio" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "Nijedan sažetak nije dostupan za ovu objavu." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Izbjegnite plaćanje u slučaju dostupnosti besplatne objave" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -157,16 +162,6 @@ msgstr "Beskonačno pomicanje" msgid "Automatically load next page when scrolling to bottom of current page" msgstr "Automatski učitajte sljedeću stranicu kada se pomaknete do dna trenutne stranice" -#: searx/plugins/oa_doi_rewrite.py:9 -msgid "Open Access DOI rewrite" -msgstr "Otvoreni pristup DOI prijepisa" - -#: searx/plugins/oa_doi_rewrite.py:10 -msgid "" -"Avoid paywalls by redirecting to open-access versions of publications when " -"available" -msgstr "Izbjegnite plaćanje u slučaju dostupnosti besplatne objave" - #: searx/plugins/open_results_on_new_tab.py:18 #: searx/templates/oscar/preferences.html:114 #: searx/templates/simple/preferences.html:149 @@ -329,8 +324,8 @@ msgstr "Metoda" #: 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -402,8 +397,8 @@ msgstr "Trenutno korištene tražilice" #: 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/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" @@ -418,8 +413,8 @@ msgstr "Kategorija" #: 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/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 @@ -437,7 +432,7 @@ msgstr "Blokiraj" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -447,7 +442,7 @@ msgstr "Ove postavke su pohranjene u Vašim kolačićima, što omogućuje da ne #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -457,7 +452,7 @@ msgstr "Ovi kolačići služe Vašoj pogodnosti, ne upotrebljavamo te kolačiće #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -465,14 +460,14 @@ msgstr "spremi" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: searx/templates/simple/preferences.html:186 msgid "Reset defaults" msgstr "Vraćanje zadanih postavki" #: searx/templates/courgette/preferences.html:129 #: searx/templates/legacy/preferences.html:126 -#: searx/templates/oscar/preferences.html:306 +#: searx/templates/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -643,23 +638,23 @@ msgid "General" msgstr "Općenito" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Tražilice" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Dodaci" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Davatelji odgovora" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Kolačići" @@ -710,88 +705,78 @@ msgstr "Odaberite stil za ovu temu" msgid "Style" msgstr "Stil" -#: searx/templates/oscar/preferences.html:122 -msgid "Open Access DOI resolver" -msgstr "Otvoreni pristup DOI rješenja" - -#: searx/templates/oscar/preferences.html:123 -msgid "" -"Redirect to open-access versions of publications when available (plugin " -"required)" -msgstr "Preusmjeri na verzije izdanja otvorenog pristupa kada je isto dostupno (potreban je dodatak)" - +#: searx/templates/oscar/preferences.html:151 #: searx/templates/oscar/preferences.html:163 -#: searx/templates/oscar/preferences.html:175 #: searx/templates/simple/preferences.html:88 msgid "Shortcut" msgstr "Prečac" -#: searx/templates/oscar/preferences.html:164 -#: searx/templates/oscar/preferences.html:174 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Odabrani jezik" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "Vremenski raspon" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "Prosječno vrijeme" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Maksimalno vrijeme" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "Ovo je popis searx modula za odgovore" -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Naziv" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Ključne riječi" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Opis" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Primjeri" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "Ovo je popis kolačića i njihovih vrijednosti koje pohranjuju na Vašem računalu." -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "S tim popisom možete procijeniti transparentnost pretraživanja." -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Naziv kolačića" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Vrijednost" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "Pretraži URL adresu trenutno spremljenih postavki" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/hu/LC_MESSAGES/messages.mo b/searx/translations/hu/LC_MESSAGES/messages.mo Binary files differindex 392dc99df..c8fbd03a0 100644 --- a/searx/translations/hu/LC_MESSAGES/messages.mo +++ b/searx/translations/hu/LC_MESSAGES/messages.mo diff --git a/searx/translations/hu/LC_MESSAGES/messages.po b/searx/translations/hu/LC_MESSAGES/messages.po index 58383cd26..8a29dcf65 100644 --- a/searx/translations/hu/LC_MESSAGES/messages.po +++ b/searx/translations/hu/LC_MESSAGES/messages.po @@ -11,8 +11,8 @@ 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-03 11:14+0000\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" "Last-Translator: Adam Tauber <asciimoo@gmail.com>\n" "Language-Team: Hungarian (http://www.transifex.com/asciimoo/searx/language/hu/)\n" "MIME-Version: 1.0\n" @@ -34,63 +34,63 @@ msgstr "kérés hiba" msgid "unexpected crash" msgstr "nem várt hiba" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "fájlok" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "általános" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "zene" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "közösségi média" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "képek" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "videók" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "it" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "hírek" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "térkép" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "tudomány" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Érvénytelen beállítások" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "érvénytelen beállítások" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "keresési hiba" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} perce" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} óra, {minutes} perce" @@ -110,29 +110,28 @@ msgstr "Statisztikai függvények" msgid "Compute {functions} of the arguments" msgstr "{functions} függvények alkalmazása az argumentumokon" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Keresési idő (másodperc)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Válaszidők (sec)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 searx/templates/oscar/results.html:95 #: searx/templates/simple/results.html:20 msgid "Number of results" msgstr "Találatok száma" -#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Pontszámok" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Pontszámok találatonként" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Hibák" @@ -144,9 +143,15 @@ msgstr "{title} (ELAVULT)" msgid "This entry has been superseded by" msgstr "Ezt a bejegyzést törölte:" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "Nem elérhető absztrakt a publikációhoz." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "Szabad publikációs oldalak" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Publikácós linkeknél szabad forrás használat, amennyiben lehetséges" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -160,16 +165,6 @@ msgstr "Végtelenített találatok" msgid "Automatically load next page when scrolling to bottom of current page" msgstr "További találatok automatikus betöltése" -#: searx/plugins/oa_doi_rewrite.py:9 -msgid "Open Access DOI rewrite" -msgstr "Szabad DOI használat" - -#: searx/plugins/oa_doi_rewrite.py:10 -msgid "" -"Avoid paywalls by redirecting to open-access versions of publications when " -"available" -msgstr "Publikácós linkeknél szabad forrás használat, amennyiben lehetséges" - #: searx/plugins/open_results_on_new_tab.py:18 #: searx/templates/oscar/preferences.html:114 #: searx/templates/simple/preferences.html:149 @@ -332,8 +327,8 @@ msgstr "Method" #: 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -405,8 +400,8 @@ msgstr "Jelenleg használt keresők" #: 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/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" @@ -421,8 +416,8 @@ msgstr "Kategória" #: 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/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 @@ -440,7 +435,7 @@ msgstr "Tiltás" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -450,7 +445,7 @@ msgstr "Ezek a beállítások csak a böngésző cookie-jaiban tárolódnak." #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -460,7 +455,7 @@ msgstr "Ezek a cookie-k csak kényelmi funkciókat látnak el, nem használjuk a #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -468,14 +463,14 @@ msgstr "mentés" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: searx/templates/simple/preferences.html:186 msgid "Reset defaults" msgstr "Alapbeállítások visszaállítása" #: searx/templates/courgette/preferences.html:129 #: searx/templates/legacy/preferences.html:126 -#: searx/templates/oscar/preferences.html:306 +#: searx/templates/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -646,23 +641,23 @@ msgid "General" msgstr "Általános" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Keresőmotorok" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Pluginek" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Válaszok" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Sütik" @@ -713,88 +708,78 @@ msgstr "Válassz megjelenést ehhez a témához" msgid "Style" msgstr "Megjelenés" -#: searx/templates/oscar/preferences.html:122 -msgid "Open Access DOI resolver" -msgstr "Szabad DOI feloldó" - -#: searx/templates/oscar/preferences.html:123 -msgid "" -"Redirect to open-access versions of publications when available (plugin " -"required)" -msgstr "Átirányítás a publikáció szabadon elérhető változatára (plugin szükséges)" - +#: searx/templates/oscar/preferences.html:151 #: searx/templates/oscar/preferences.html:163 -#: searx/templates/oscar/preferences.html:175 #: searx/templates/simple/preferences.html:88 msgid "Shortcut" msgstr "Rövidítés" -#: searx/templates/oscar/preferences.html:164 -#: searx/templates/oscar/preferences.html:174 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Kiválasztott nyelv" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "Idő szűrés" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "Átlag idő" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Maximális idő" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "Az alábbi lista tartalmazza searx instant válaszoló moduljait." -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Név" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Kulcsszavak" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Leírás" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Példák" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "Searx által használt sütik listája." -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "Ez a lista a kereső transzparenciáját hivatott megmutatni." -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Süti név" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Érték" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "Keresési URL a beállítások alapján" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/ia/LC_MESSAGES/messages.mo b/searx/translations/ia/LC_MESSAGES/messages.mo Binary files differnew file mode 100644 index 000000000..bc33d9b46 --- /dev/null +++ b/searx/translations/ia/LC_MESSAGES/messages.mo diff --git a/searx/translations/ia/LC_MESSAGES/messages.po b/searx/translations/ia/LC_MESSAGES/messages.po new file mode 100644 index 000000000..7c59968bc --- /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 <matheus.mello@disroot.org>, 2017,2019 +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-09-30 14:07+0000\n" +"Last-Translator: Guimarães Mello <matheus.mello@disroot.org>\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 "tempore finite" + +#: searx/search.py:144 +msgid "request exception" +msgstr "requesta un exception" + +#: searx/search.py:151 +msgid "unexpected crash" +msgstr "crash impreviste" + +#: 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 "Configurationes invalide" + +#: 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} (OBSOLETE)" +msgstr "{title} (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 "supportate" + +#: searx/templates/oscar/macros.html:96 +msgid "not supported" +msgstr "non supportate" + +#: 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 "Lingua selectionate" + +#: 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 "URL de Recerca del preferentias actualmente salvate" + +#: 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 "Nota: specificar configurationes personalisate in le URL de Recerca pote reducer le confidentialitate per lassar escappar datos al sitos cliccate in le resultatos." + +#: 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 "Essaya recercar pro:" + +#: searx/templates/oscar/results.html:100 +#: searx/templates/simple/results.html:25 +msgid "Engines cannot retrieve results" +msgstr "Le motores non poteva obtener resultatos" + +#: 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 "Le motores non poteva obtener resultatos." + +#: 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 "Per favor, essaya de novo plus tarde o trova un altere instantia de searx" + +#: 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 "Nulle item trovate" + +#: 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 "Interfacie del usator" + +#: searx/templates/simple/preferences.html:154 +msgid "Privacy" +msgstr "Confidentialitate" diff --git a/searx/translations/it/LC_MESSAGES/messages.mo b/searx/translations/it/LC_MESSAGES/messages.mo Binary files differindex 53eca9e67..729c4ecc9 100644 --- a/searx/translations/it/LC_MESSAGES/messages.mo +++ b/searx/translations/it/LC_MESSAGES/messages.mo diff --git a/searx/translations/it/LC_MESSAGES/messages.po b/searx/translations/it/LC_MESSAGES/messages.po index c2d5c8588..ba5c5e39e 100644 --- a/searx/translations/it/LC_MESSAGES/messages.po +++ b/searx/translations/it/LC_MESSAGES/messages.po @@ -11,14 +11,14 @@ # Federico <fedett@gmail.com>, 2018 # Luca C <mybusiness@yopmail.com>, 2017 # Luc <luc.absil2@gmail.com>, 2015 -# Random_R, 2018 +# Random_R, 2018-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: 2018-10-16 15:53+0000\n" -"Last-Translator: caoswave\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-11-19 10:03+0000\n" +"Last-Translator: Random_R\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" @@ -39,63 +39,63 @@ msgstr "eccezione della richiesta" msgid "unexpected crash" msgstr "crash inaspettato" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "documenti" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "generale" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "musica" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "social" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "immagini" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "video" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "IT" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "notizie" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "mappe" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "scienza" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Impostazioni non valide, modifica le tue preferenze" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Impostazioni non valide" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "errore di ricerca" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "di {minutes} minuti fa" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "di {hours} ore e {minutes} minuti fa" @@ -115,29 +115,28 @@ msgstr "Funzioni statistiche" msgid "Compute {functions} of the arguments" msgstr "Calcola {functions} degli argomenti" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Tempo del motore (secondi)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr " Caricamento della pagina (secondi)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 searx/templates/oscar/results.html:95 #: searx/templates/simple/results.html:20 msgid "Number of results" msgstr "Numero di risultati" -#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Punteggio" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Punteggio per risultato" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Errori" @@ -149,9 +148,15 @@ msgstr "{title} (OBSOLETO)" msgid "This entry has been superseded by" msgstr "Questa voce è stata sostituita da" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "Nessun sommario disponibile per questa pubblicazione" +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "Reindirizzamento DOAI" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Se possibile, evita il paywall di una pubblicazione reindirizzando ad una versione ad accesso libero" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -165,16 +170,6 @@ msgstr "Scorrimento infinito" msgid "Automatically load next page when scrolling to bottom of current page" msgstr "Carica automaticamente la pagina successiva quando si scorre sino alla fine della pagina attuale" -#: searx/plugins/oa_doi_rewrite.py:9 -msgid "Open Access DOI rewrite" -msgstr "Reindirizzamento Open Access DOI" - -#: searx/plugins/oa_doi_rewrite.py:10 -msgid "" -"Avoid paywalls by redirecting to open-access versions of publications when " -"available" -msgstr "Se possibile, evita il paywall di una pubblicazione reindirizzando ad una versione libera" - #: searx/plugins/open_results_on_new_tab.py:18 #: searx/templates/oscar/preferences.html:114 #: searx/templates/simple/preferences.html:149 @@ -185,7 +180,7 @@ msgstr "Apri i risultati in nuove schede del browser" 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 "Di base i risultati sono aperti nella stessa finestra. Questa estensione fa sì invece che vengano mostrati in nuove schede/finestre. (Javascript necessario)\"" +msgstr "Di base i risultati sono aperti nella stessa finestra. Questa estensione fa sì invece che vengano mostrati in nuove schede/finestre. (Javascript necessario)" #: searx/plugins/search_on_category_select.py:18 msgid "Search on category select" @@ -195,7 +190,7 @@ msgstr "Cerca nella categoria selezionata" msgid "" "Perform search immediately if a category selected. Disable to select " "multiple categories. (JavaScript required)" -msgstr "Esegui la ricerca immediatamente se una categoria è selezionata. Disabilita questa opzione se vuoi selezionare più categorie. (Javascript necessario)\"" +msgstr "Esegui la ricerca immediatamente se una categoria è selezionata. Disabilita questa opzione se vuoi selezionare più categorie. (Javascript necessario)" #: searx/plugins/self_info.py:20 msgid "" @@ -205,7 +200,7 @@ msgstr "Mostra il tuo IP se hai cercato \"ip\" ed il tuo user agent se hai cerca #: searx/plugins/tracker_url_remover.py:26 msgid "Tracker URL remover" -msgstr "Rimuovi tracciamento URL" +msgstr "Rimuovi URL traccianti" #: searx/plugins/tracker_url_remover.py:27 msgid "Remove trackers arguments from the returned URL" @@ -296,7 +291,7 @@ msgstr "Lingua predefinita" #: searx/templates/pix-art/preferences.html:20 #: searx/templates/simple/preferences.html:120 msgid "Interface language" -msgstr "Linguaggio dell'interfaccia" +msgstr "Lingua dell'interfaccia" #: searx/templates/courgette/preferences.html:34 #: searx/templates/legacy/preferences.html:35 @@ -337,8 +332,8 @@ msgstr "Metodo" #: 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -349,21 +344,21 @@ msgstr "Ricerca Sicura" #: searx/templates/oscar/preferences.html:90 #: searx/templates/simple/preferences.html:66 msgid "Strict" -msgstr "Rigoroso" +msgstr "Rigorosa" #: 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 "Moderato" +msgstr "Moderata" #: 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 "Nessuno" +msgstr "Nessuna" #: searx/templates/courgette/preferences.html:73 #: searx/templates/legacy/preferences.html:74 @@ -410,8 +405,8 @@ msgstr "Motori di ricerca attualmente in uso" #: 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/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" @@ -426,8 +421,8 @@ msgstr "Categoria" #: 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/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 @@ -445,7 +440,7 @@ msgstr "Blocca" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -455,7 +450,7 @@ msgstr "Le impostazioni vengono salvate nei tuoi cookie, consentendoci di non co #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -465,7 +460,7 @@ msgstr "Questi cookie servono solo ad offrirti un servizio migliore. Non li usia #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -473,14 +468,14 @@ msgstr "salva" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: searx/templates/simple/preferences.html:186 msgid "Reset defaults" msgstr "Reimposta i valori iniziali" #: searx/templates/courgette/preferences.html:129 #: searx/templates/legacy/preferences.html:126 -#: searx/templates/oscar/preferences.html:306 +#: searx/templates/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -651,30 +646,30 @@ msgid "General" msgstr "Generale" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Motori" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Plugin" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Risponditori" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 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 "Lingua dei risultati di ricerca" +msgstr "Che lingua preferisci per la ricerca?" #: searx/templates/oscar/preferences.html:48 #: searx/templates/simple/preferences.html:128 @@ -706,7 +701,7 @@ msgstr "Filtro famiglia" #: searx/templates/oscar/preferences.html:97 #: searx/templates/simple/preferences.html:139 msgid "Change searx layout" -msgstr "Cambia il layout di searx" +msgstr "Cambia l'aspetto di searx" #: searx/templates/oscar/preferences.html:106 #: searx/templates/oscar/preferences.html:111 @@ -718,92 +713,82 @@ msgstr "Scegli lo stile per questo tema" msgid "Style" msgstr "Stile" -#: searx/templates/oscar/preferences.html:122 -msgid "Open Access DOI resolver" -msgstr "Resolver Open Access DOI" - -#: searx/templates/oscar/preferences.html:123 -msgid "" -"Redirect to open-access versions of publications when available (plugin " -"required)" -msgstr "Indirizza a versioni open-access delle pubblicazioni quando disponibili (plugin richiesto)" - +#: searx/templates/oscar/preferences.html:151 #: searx/templates/oscar/preferences.html:163 -#: searx/templates/oscar/preferences.html:175 #: searx/templates/simple/preferences.html:88 msgid "Shortcut" msgstr "Scorciatoia" -#: searx/templates/oscar/preferences.html:164 -#: searx/templates/oscar/preferences.html:174 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Lingua selezionata" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "Intervallo di tempo" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: 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/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Tempo massimo" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "Questa è la lista dei moduli searx con risposta immediata" -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Nome" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Parole chiave" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Descrizione" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Esempi" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "Qui puoi vedere i cookie che vengono conservati sul tuo computer." -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "In questo modo, puoi constatare la trasparenza di searx." -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Nome del cookie" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Valore" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" -msgstr "Cerca URL delle preferenze attualmente salvate" +msgstr "URL di ricerca delle preferenze attualmente salvate" -#: searx/templates/oscar/preferences.html:301 +#: 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 "Nota: specificando impostazioni personalizzate nella ricerca URL può ridurre la privacy facendo traperlare dati ai siti cliccati" +msgstr "Nota: specificare impostazioni personalizzate nell'URL di ricerca può ridurre la privacy facendo trapelare dati ai siti cliccati" #: searx/templates/oscar/results.html:17 msgid "Search results" @@ -836,7 +821,7 @@ msgstr "statistiche" #: searx/templates/oscar/time-range.html:3 #: searx/templates/simple/time-range.html:3 msgid "Anytime" -msgstr "Di sempre" +msgstr "Qualsiasi data" #: searx/templates/oscar/time-range.html:6 #: searx/templates/simple/time-range.html:6 @@ -856,7 +841,7 @@ msgstr "Ultimo mese" #: searx/templates/oscar/time-range.html:15 #: searx/templates/simple/time-range.html:15 msgid "Last year" -msgstr "L'anno scorso" +msgstr "Ultimo anno" #: searx/templates/oscar/messages/first_time.html:6 #: searx/templates/oscar/messages/no_data_available.html:3 diff --git a/searx/translations/ja/LC_MESSAGES/messages.mo b/searx/translations/ja/LC_MESSAGES/messages.mo Binary files differindex eb1267287..4bfa7bbeb 100644 --- a/searx/translations/ja/LC_MESSAGES/messages.mo +++ b/searx/translations/ja/LC_MESSAGES/messages.mo diff --git a/searx/translations/ja/LC_MESSAGES/messages.po b/searx/translations/ja/LC_MESSAGES/messages.po index 24d2c359e..94f1504f3 100644 --- a/searx/translations/ja/LC_MESSAGES/messages.po +++ b/searx/translations/ja/LC_MESSAGES/messages.po @@ -6,6 +6,7 @@ # Akio Nishimura <akionux@gmail.com>, 2016-2018 # Thomas Pointhuber, 2014-2015 # FIRST AUTHOR <EMAIL@ADDRESS>, 2014,2016 +# KAWASAKI ICHIRO, 2020 # Lucas Phillips <mail@lep.pw>, 2015 # Max <theshirinzu@gmail.com>, 2015 # Nobuhiro Iwamatsu <iwamatsu@nigauri.org>, 2018 @@ -15,9 +16,9 @@ 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-08-13 03:03+0000\n" -"Last-Translator: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2020-01-20 14:30+0000\n" +"Last-Translator: KAWASAKI ICHIRO\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" @@ -38,63 +39,63 @@ msgstr "例外要求" msgid "unexpected crash" msgstr "予期しないクラッシュ" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "ファイル" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "一般" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "音楽" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "ソーシャルメディア" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "画像" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "動画" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "情報技術" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" -msgstr "お知らせ" +msgstr "ニュース" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "地図" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "学問" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "不正な設定です。設定を編集してください。" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "不正な設定" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "検索エラー" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes}分前" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours}時間と{minutes}分前" @@ -114,29 +115,28 @@ msgstr "統計機能" msgid "Compute {functions} of the arguments" msgstr "変数の{functions}を計算する" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "検索時間 (秒)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "ページ読み込み時間 (秒)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "スコア" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "検索結果当たりスコア" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "エラー" @@ -148,9 +148,15 @@ msgstr "{title} (廃止)" msgid "This entry has been superseded by" msgstr "このエントリーの優先" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "この出版物には要約がありません。" +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "DOAI再書き込み" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "可能ならば出版物のオープンアクセス版へリダイレクトして有料の壁を避ける" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -164,16 +170,6 @@ msgstr "無限スクロール" 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 @@ -336,8 +332,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -409,8 +405,8 @@ 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/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" @@ -425,8 +421,8 @@ msgstr "カテゴリー" #: 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/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 @@ -444,7 +440,7 @@ msgstr "禁止する" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -454,7 +450,7 @@ msgstr "これらの設定はあなたのクッキーに保存されますが、 #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -464,7 +460,7 @@ msgstr "クッキーはあなたが便利に使えるようにするために使 #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -472,14 +468,14 @@ msgstr "保存" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: 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/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -650,23 +646,23 @@ msgid "General" msgstr "一般設定" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "検索エンジン" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "プラグイン" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "回答者" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "クッキー" @@ -717,88 +713,78 @@ msgstr "このテーマのスタイルを選択" 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:151 #: 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 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "選択された言語" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "時間範囲" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "平均時間" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "最大時間" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "これは searx の即席回答モジュールのリストです。" -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "名前" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "キーワード" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "説明" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "例" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "これはクッキーのリストで、これらの値はあなたのコンピュータに保存されています。" -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "このリストによって、あなたは searx の透明性を評価できます。" -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "クッキー名" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "値" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "現在保存されている設定の検索 URL" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/lt/LC_MESSAGES/messages.mo b/searx/translations/lt/LC_MESSAGES/messages.mo Binary files differnew file mode 100644 index 000000000..8f33a1660 --- /dev/null +++ b/searx/translations/lt/LC_MESSAGES/messages.mo diff --git a/searx/translations/lt/LC_MESSAGES/messages.po b/searx/translations/lt/LC_MESSAGES/messages.po new file mode 100644 index 000000000..f9e4ffd6c --- /dev/null +++ b/searx/translations/lt/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: +# Moo, 2019 +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-11-02 12:57+0000\n" +"Last-Translator: Moo\n" +"Language-Team: Lithuanian (http://www.transifex.com/asciimoo/searx/language/lt/)\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: lt\n" +"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n" + +#: searx/search.py:137 searx/search.py:182 +msgid "timeout" +msgstr "baigėsi laikas" + +#: searx/search.py:144 +msgid "request exception" +msgstr "užklausos išimtis" + +#: searx/search.py:151 +msgid "unexpected crash" +msgstr "netikėta strigtis" + +#: searx/webapp.py:135 +msgid "files" +msgstr "failai" + +#: searx/webapp.py:136 +msgid "general" +msgstr "bendra" + +#: searx/webapp.py:137 +msgid "music" +msgstr "muzika" + +#: searx/webapp.py:138 +msgid "social media" +msgstr "socialinė medija" + +#: searx/webapp.py:139 +msgid "images" +msgstr "paveikslai" + +#: searx/webapp.py:140 +msgid "videos" +msgstr "vaizdo įrašai" + +#: searx/webapp.py:141 +msgid "it" +msgstr "IT" + +#: searx/webapp.py:142 +msgid "news" +msgstr "naujienos" + +#: searx/webapp.py:143 +msgid "map" +msgstr "žemėlapis" + +#: searx/webapp.py:144 +msgid "science" +msgstr "mokslas" + +#: searx/webapp.py:398 searx/webapp.py:653 +msgid "Invalid settings, please edit your preferences" +msgstr "Neteisingi nustatymai, pataisykite savo nuostatas" + +#: searx/webapp.py:410 +msgid "Invalid settings" +msgstr "Neteisingi nustatymai" + +#: searx/webapp.py:444 searx/webapp.py:488 +msgid "search error" +msgstr "paieškos klaida" + +#: searx/webapp.py:525 +msgid "{minutes} minute(s) ago" +msgstr "prieš {minutes} min." + +#: searx/webapp.py:527 +msgid "{hours} hour(s), {minutes} minute(s) ago" +msgstr "prieš {hours} val., {minutes} min." + +#: searx/answerers/random/answerer.py:53 +msgid "Random value generator" +msgstr "Atsitiktinių reikmių generatorius" + +#: searx/answerers/random/answerer.py:54 +msgid "Generate different random values" +msgstr "Generuoja įvairias atsitiktines reikšmes" + +#: searx/answerers/statistics/answerer.py:53 +msgid "Statistics functions" +msgstr "Statistikos funkcijos" + +#: searx/answerers/statistics/answerer.py:54 +msgid "Compute {functions} of the arguments" +msgstr "Skaičiuoti argumentų {functions} funkcijas" + +#: searx/engines/__init__.py:194 +msgid "Engine time (sec)" +msgstr "Sistemos laikas (sek.)" + +#: searx/engines/__init__.py:198 +msgid "Page loads (sec)" +msgstr "Puslapių įkėlimai (sek.)" + +#: searx/engines/__init__.py:202 searx/templates/oscar/results.html:95 +#: searx/templates/simple/results.html:20 +msgid "Number of results" +msgstr "Rezultatų skaičius" + +#: searx/engines/__init__.py:206 +msgid "Scores" +msgstr "Įverčiai" + +#: searx/engines/__init__.py:210 +msgid "Scores per result" +msgstr "Įverčiai pagal rezultatą" + +#: searx/engines/__init__.py:214 +msgid "Errors" +msgstr "Klaidos" + +#: searx/engines/pdbe.py:87 +msgid "{title} (OBSOLETE)" +msgstr "{title} (PASENĘS)" + +#: searx/engines/pdbe.py:91 +msgid "This entry has been superseded by" +msgstr "Šį įrašą pakeitė" + +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "DOAI perrašymas" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Vengti apmokamų sienų, kai įmanoma, peradresuojant į atviros prieigos publikacijų versijas" + +#: searx/plugins/https_rewrite.py:32 +msgid "Rewrite HTTP links to HTTPS if possible" +msgstr "Jei įmanoma, perrašyti HTTP nuorodas į HTTPS" + +#: searx/plugins/infinite_scroll.py:3 +msgid "Infinite scroll" +msgstr "Begalinis slinkimas" + +#: searx/plugins/infinite_scroll.py:4 +msgid "Automatically load next page when scrolling to bottom of current page" +msgstr "Automatiškai įkelti kitą puslapį, kai nuslenkama į esamo puslapio apačią" + +#: 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 "Atverti rezultatų nuorodas naujose naršyklės kortelėse" + +#: 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 "Pagal numatymą, rezultatai yra atveriami tame pačiame lange. Šis įskiepis perrašo numatytąją elgseną taip, kad nuorodos būtų atveriamos naujose kortelėse/languose. (reikalinga JavaScript)" + +#: searx/plugins/search_on_category_select.py:18 +msgid "Search on category select" +msgstr "Pasirinkus kategoriją, atlikti paiešką" + +#: searx/plugins/search_on_category_select.py:19 +msgid "" +"Perform search immediately if a category selected. Disable to select " +"multiple categories. (JavaScript required)" +msgstr "Jei pasirenkama kategorija, nedelsiant atlikti paiešką. Išjunkite norėdami pasirinkti kelias kategorijas. (reikalinga 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 "Rodo jūsų IP adresą, jei užklausa yra \"ip\" ir jūsų naudotojo agentą, jei užklausoje yra \"user agent\"." + +#: searx/plugins/tracker_url_remover.py:26 +msgid "Tracker URL remover" +msgstr "Seklių URL šalintojas" + +#: searx/plugins/tracker_url_remover.py:27 +msgid "Remove trackers arguments from the returned URL" +msgstr "Šalinti seklių argumentus iš grąžinamų URL" + +#: searx/plugins/vim_hotkeys.py:3 +msgid "Vim-like hotkeys" +msgstr "Vim pavidalo spartieji klavišai" + +#: 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 "Naršyti po paieškos rezultatus naudojant Vim pavidalo sparčiuosius klavišus (reikalinga JavaScript). Paspauskite pagrindiniame ar rezultatų puslapyje \"h\" klavišą norėdami gauti pagalbos." + +#: 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 "Puslapis nerastas" + +#: 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 "Pereiti į %(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 "paieškos puslapį" + +#: 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 "nuostatos" + +#: 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 "apie" + +#: 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 "Nuostatos" + +#: 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 "Numatytosios kategorijos" + +#: 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 "Paieškos kalba" + +#: 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 "Numatytoji kalba" + +#: 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 "Sąsajos kalba" + +#: 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 "Automatinis užbaigimas" + +#: 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 "Paveikslų įgaliotasis serveris" + +#: 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 "Įjungta" + +#: 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 "Išjungta" + +#: 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 "Metodas" + +#: 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 "Saugi paieška" + +#: 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 "Griežta" + +#: 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 "Nuosaiki" + +#: 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 "Nėra" + +#: 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 "Apipavidalinimai" + +#: searx/templates/courgette/preferences.html:83 +msgid "Color" +msgstr "Spalva" + +#: searx/templates/courgette/preferences.html:86 +msgid "Blue (default)" +msgstr "Mėlyna (numatytoji)" + +#: searx/templates/courgette/preferences.html:87 +msgid "Violet" +msgstr "Violetinė" + +#: searx/templates/courgette/preferences.html:88 +msgid "Green" +msgstr "Žalia" + +#: searx/templates/courgette/preferences.html:89 +msgid "Cyan" +msgstr "Žydra" + +#: searx/templates/courgette/preferences.html:90 +msgid "Orange" +msgstr "Oranžinė" + +#: searx/templates/courgette/preferences.html:91 +msgid "Red" +msgstr "Raudona" + +#: 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 "Šiuo metu naudojamos paieškos sistemos" + +#: 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 "Sistemos pavadinimas" + +#: searx/templates/courgette/preferences.html:101 +#: searx/templates/legacy/preferences.html:98 +msgid "Category" +msgstr "Kategorija" + +#: 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 "Leisti" + +#: 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 "Blokuoti" + +#: 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 "Šie nustatymai yra laikomi jūsų slapukuose, tai leidžia mums nesaugoti šių duomenų apie jus." + +#: 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 "Šie slapukai yra naudojami išskirtinai jūsų patogumui, mes nenaudojame jų, kad jus sektume." + +#: 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 "Įrašyti" + +#: 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 "Atstatyti numatytuosius" + +#: 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 "Atgal" + +#: 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 "Paieškos 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 "Atsisiųsti rezultatus" + +#: searx/templates/courgette/results.html:34 +#: searx/templates/legacy/results.html:35 +#: searx/templates/simple/results.html:10 +msgid "Answers" +msgstr "Atsakymai" + +#: 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 "Pasiūlymai" + +#: 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 "ankstesnis puslapis" + +#: 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 "kitas puslapis" + +#: 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 "Ko ieškoti..." + +#: 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 "Sistemos statistika" + +#: 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 "pradinis kontekstas" + +#: 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 "Skleidėjai" + +#: 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 "Siuntėjai" + +#: 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 nuoroda" + +#: 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 failas" + +#: searx/templates/legacy/categories.html:8 +#: searx/templates/simple/categories.html:6 +msgid "Click on the magnifier to perform search" +msgstr "Norėdami atlikti paiešką, spustelėkite ant didinamojo stiklo" + +#: searx/templates/legacy/preferences.html:84 +#: searx/templates/oscar/preferences.html:113 +#: searx/templates/simple/preferences.html:142 +msgid "Results on new tabs" +msgstr "Rezultatai naujose kortelėse" + +#: searx/templates/legacy/preferences.html:87 +#: searx/templates/oscar/preferences.html:117 +#: searx/templates/simple/preferences.html:145 +msgid "On" +msgstr "Įjungta" + +#: searx/templates/legacy/preferences.html:88 +#: searx/templates/oscar/preferences.html:118 +#: searx/templates/simple/preferences.html:146 +msgid "Off" +msgstr "Išjungta" + +#: 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 "podėlio versija" + +#: searx/templates/oscar/advanced.html:4 +msgid "Advanced settings" +msgstr "Išplėstiniai nustatymai" + +#: 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 "Užverti" + +#: 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 "Klaida!" + +#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55 +msgid "Powered by" +msgstr "Veikia su" + +#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55 +msgid "a privacy-respecting, hackable metasearch engine" +msgstr "gerbianti privatumą, programuojama metapaieškos sistema" + +#: searx/templates/oscar/macros.html:36 searx/templates/oscar/macros.html:50 +#: searx/templates/simple/macros.html:43 +msgid "proxied" +msgstr "per įgaliotąjį serverį" + +#: searx/templates/oscar/macros.html:92 +msgid "supported" +msgstr "palaikoma" + +#: searx/templates/oscar/macros.html:96 +msgid "not supported" +msgstr "nepalaikoma" + +#: searx/templates/oscar/preferences.html:13 +#: searx/templates/oscar/preferences.html:22 +#: searx/templates/simple/preferences.html:32 +msgid "General" +msgstr "Bendra" + +#: searx/templates/oscar/preferences.html:14 +#: searx/templates/oscar/preferences.html:134 +#: searx/templates/simple/preferences.html:76 +msgid "Engines" +msgstr "Sistemos" + +#: searx/templates/oscar/preferences.html:15 +#: searx/templates/oscar/preferences.html:207 +msgid "Plugins" +msgstr "Įskiepiai" + +#: searx/templates/oscar/preferences.html:16 +#: searx/templates/oscar/preferences.html:233 +msgid "Answerers" +msgstr "Atsakikliai" + +#: searx/templates/oscar/preferences.html:17 +#: searx/templates/oscar/preferences.html:260 +msgid "Cookies" +msgstr "Slapukai" + +#: searx/templates/oscar/preferences.html:42 +#: searx/templates/simple/preferences.html:48 +msgid "What language do you prefer for search?" +msgstr "Kokią kalbą pageidaujate paieškai?" + +#: searx/templates/oscar/preferences.html:48 +#: searx/templates/simple/preferences.html:128 +msgid "Change the language of the layout" +msgstr "Keisti išdėstymo kalbą" + +#: searx/templates/oscar/preferences.html:58 +#: searx/templates/simple/preferences.html:60 +msgid "Find stuff as you type" +msgstr "Rasti medžiagą berašant" + +#: searx/templates/oscar/preferences.html:69 +#: searx/templates/simple/preferences.html:173 +msgid "Proxying image results through searx" +msgstr "Paveikslų persiuntimas įgaliotuoju serveriu 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 "Keisti kaip yra pateikiamos formos, <a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">sužinokite daugiau apie užklausos metodus</a>" + +#: searx/templates/oscar/preferences.html:87 +#: searx/templates/simple/preferences.html:71 +msgid "Filter content" +msgstr "Filtruoti turinį" + +#: searx/templates/oscar/preferences.html:97 +#: searx/templates/simple/preferences.html:139 +msgid "Change searx layout" +msgstr "Keisti searx išdėstymą" + +#: searx/templates/oscar/preferences.html:106 +#: searx/templates/oscar/preferences.html:111 +msgid "Choose style for this theme" +msgstr "Pasirinkti šio apipavidalinimo stilių" + +#: searx/templates/oscar/preferences.html:106 +#: searx/templates/oscar/preferences.html:111 +msgid "Style" +msgstr "Stilius" + +#: searx/templates/oscar/preferences.html:151 +#: searx/templates/oscar/preferences.html:163 +#: searx/templates/simple/preferences.html:88 +msgid "Shortcut" +msgstr "Trumpinys" + +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 +msgid "Selected language" +msgstr "Pasirinkta kalba" + +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 +#: searx/templates/simple/preferences.html:91 +msgid "Time range" +msgstr "Laiko rėžis" + +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 +#: searx/templates/simple/preferences.html:92 +msgid "Avg. time" +msgstr "Vid. laikas" + +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 +#: searx/templates/simple/preferences.html:93 +msgid "Max time" +msgstr "Maks. laikas" + +#: searx/templates/oscar/preferences.html:236 +msgid "This is the list of searx's instant answering modules." +msgstr "Tai yra searx greitų atsakiklių modulių sąrašas." + +#: searx/templates/oscar/preferences.html:240 +msgid "Name" +msgstr "Pavadinimas" + +#: searx/templates/oscar/preferences.html:241 +msgid "Keywords" +msgstr "Raktažodžiai" + +#: searx/templates/oscar/preferences.html:242 +msgid "Description" +msgstr "Aprašas" + +#: searx/templates/oscar/preferences.html:243 +msgid "Examples" +msgstr "Pavyzdžiai" + +#: searx/templates/oscar/preferences.html:263 +msgid "" +"This is the list of cookies and their values searx is storing on your " +"computer." +msgstr "Tai yra slapukų ir jų reikšmių, kuriuos searx laiko jūsų kompiuteryje, sąrašas." + +#: searx/templates/oscar/preferences.html:264 +msgid "With that list, you can assess searx transparency." +msgstr "Naudodami sąrašą, galite įvertinti searx skaidrumą." + +#: searx/templates/oscar/preferences.html:269 +msgid "Cookie name" +msgstr "Slapuko pavadinimas" + +#: searx/templates/oscar/preferences.html:270 +msgid "Value" +msgstr "Reikšmė" + +#: searx/templates/oscar/preferences.html:289 +msgid "Search URL of the currently saved preferences" +msgstr "Šiuo metu įrašytų nuostatų paieškos URL" + +#: 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 "Pastaba: paieškos URL adrese nurodant tinkintus nustatymus, gali būti sumažintas jūsų privatumas, atskleidžiant duomenis toms rezultatų svetainėms, ant kurių spustelėjate." + +#: searx/templates/oscar/results.html:17 +msgid "Search results" +msgstr "Paieškos rezultatai" + +#: searx/templates/oscar/results.html:21 +#: searx/templates/simple/results.html:84 +msgid "Try searching for:" +msgstr "Bandykite ieškoti:" + +#: searx/templates/oscar/results.html:100 +#: searx/templates/simple/results.html:25 +msgid "Engines cannot retrieve results" +msgstr "Sistemos negali gauti rezultatų" + +#: searx/templates/oscar/results.html:131 +msgid "Links" +msgstr "Nuorodos" + +#: searx/templates/oscar/search.html:8 +#: searx/templates/oscar/search_full.html:11 +#: searx/templates/simple/search.html:5 +msgid "Start search" +msgstr "Pradėti paiešką" + +#: searx/templates/oscar/stats.html:2 +msgid "stats" +msgstr "statistika" + +#: searx/templates/oscar/time-range.html:3 +#: searx/templates/simple/time-range.html:3 +msgid "Anytime" +msgstr "Bet kada" + +#: searx/templates/oscar/time-range.html:6 +#: searx/templates/simple/time-range.html:6 +msgid "Last day" +msgstr "Praeitą dieną" + +#: searx/templates/oscar/time-range.html:9 +#: searx/templates/simple/time-range.html:9 +msgid "Last week" +msgstr "Praeitą savaitę" + +#: searx/templates/oscar/time-range.html:12 +#: searx/templates/simple/time-range.html:12 +msgid "Last month" +msgstr "Praeitą mėnesį" + +#: searx/templates/oscar/time-range.html:15 +#: searx/templates/simple/time-range.html:15 +msgid "Last year" +msgstr "Praeitais metais" + +#: searx/templates/oscar/messages/first_time.html:6 +#: searx/templates/oscar/messages/no_data_available.html:3 +msgid "Heads up!" +msgstr "Dėmesio!" + +#: searx/templates/oscar/messages/first_time.html:7 +msgid "It look like you are using searx first time." +msgstr "Atrodo, kad pirmą kartą naudojate searx." + +#: searx/templates/oscar/messages/no_cookies.html:3 +msgid "Information!" +msgstr "Informacija!" + +#: searx/templates/oscar/messages/no_cookies.html:4 +msgid "currently, there are no cookies defined." +msgstr "Šiuo metu nėra jokių apibrėžtų slapukų." + +#: searx/templates/oscar/messages/no_data_available.html:4 +msgid "There is currently no data available. " +msgstr "Šiuo metu nėra jokių prieinamų duomenų." + +#: searx/templates/oscar/messages/no_results.html:4 +#: searx/templates/simple/messages/no_results.html:4 +msgid "Engines cannot retrieve results." +msgstr "Sistemos negali gauti rezultatų." + +#: 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 "Vėliau bandykite dar kartą arba raskite kitą searx egzempliorių." + +#: searx/templates/oscar/messages/no_results.html:14 +#: searx/templates/simple/messages/no_results.html:14 +msgid "Sorry!" +msgstr "Atleiskite!" + +#: 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 "Mes neradome jokių rezultatų. Naudokite kitokią užklausą arba ieškokite kitose kategorijose." + +#: searx/templates/oscar/messages/save_settings_successfull.html:7 +msgid "Well done!" +msgstr "Gerai padirbėta!" + +#: searx/templates/oscar/messages/save_settings_successfull.html:8 +msgid "Settings saved successfully." +msgstr "Nustatymai sėkmingai įrašyti." + +#: searx/templates/oscar/messages/unknow_error.html:7 +msgid "Oh snap!" +msgstr "O, ne!" + +#: searx/templates/oscar/messages/unknow_error.html:8 +msgid "Something went wrong." +msgstr "Kažkas nutiko." + +#: searx/templates/oscar/result_templates/default.html:7 +#: searx/templates/simple/result_templates/default.html:6 +msgid "show media" +msgstr "rodyti mediją" + +#: searx/templates/oscar/result_templates/default.html:7 +#: searx/templates/simple/result_templates/default.html:6 +msgid "hide media" +msgstr "slėpti mediją" + +#: searx/templates/oscar/result_templates/images.html:30 +msgid "Get image" +msgstr "Gauti paveikslą" + +#: searx/templates/oscar/result_templates/images.html:33 +msgid "View source" +msgstr "Rodyti šaltinį" + +#: searx/templates/oscar/result_templates/map.html:7 +#: searx/templates/simple/result_templates/map.html:7 +msgid "show map" +msgstr "rodyti žemėlapį" + +#: searx/templates/oscar/result_templates/map.html:7 +#: searx/templates/simple/result_templates/map.html:7 +msgid "hide map" +msgstr "slėpti žemėlapį" + +#: searx/templates/oscar/result_templates/map.html:11 +#: searx/templates/simple/result_templates/map.html:11 +msgid "show details" +msgstr "rodyti informaciją" + +#: searx/templates/oscar/result_templates/map.html:11 +#: searx/templates/simple/result_templates/map.html:11 +msgid "hide details" +msgstr "slėpti informaciją" + +#: searx/templates/oscar/result_templates/torrent.html:7 +#: searx/templates/simple/result_templates/torrent.html:11 +msgid "Filesize" +msgstr "Failo dydis" + +#: searx/templates/oscar/result_templates/torrent.html:9 +#: searx/templates/simple/result_templates/torrent.html:12 +msgid "Bytes" +msgstr "Baitai" + +#: 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 "Failų skaičius" + +#: searx/templates/oscar/result_templates/videos.html:7 +#: searx/templates/simple/result_templates/videos.html:6 +msgid "show video" +msgstr "rodyti vaizdo įrašą" + +#: searx/templates/oscar/result_templates/videos.html:7 +#: searx/templates/simple/result_templates/videos.html:6 +msgid "hide video" +msgstr "slėpti vaizdo įrašą" + +#: searx/templates/pix-art/results.html:28 +msgid "Load more..." +msgstr "Įkelti daugiau..." + +#: searx/templates/simple/base.html:31 +msgid "No item found" +msgstr "Elementų nerasta" + +#: searx/templates/simple/preferences.html:89 +msgid "Supports selected language" +msgstr "Palaiko pasirinktą kalbą" + +#: searx/templates/simple/preferences.html:118 +msgid "User interface" +msgstr "Naudotojo sąsaja" + +#: searx/templates/simple/preferences.html:154 +msgid "Privacy" +msgstr "Privatumas" diff --git a/searx/translations/nl/LC_MESSAGES/messages.mo b/searx/translations/nl/LC_MESSAGES/messages.mo Binary files differindex 057853be5..55f7230bb 100644 --- a/searx/translations/nl/LC_MESSAGES/messages.mo +++ b/searx/translations/nl/LC_MESSAGES/messages.mo diff --git a/searx/translations/nl/LC_MESSAGES/messages.po b/searx/translations/nl/LC_MESSAGES/messages.po index b4e061402..be2438b84 100644 --- a/searx/translations/nl/LC_MESSAGES/messages.po +++ b/searx/translations/nl/LC_MESSAGES/messages.po @@ -10,8 +10,8 @@ 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-22 06:46+0000\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-04-27 08:22+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" @@ -33,63 +33,63 @@ msgstr "aanvraaguitzondering" msgid "unexpected crash" msgstr "onverwachte crash" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "bestanden" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "algemeen" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "muziek" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "sociale media" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "afbeeldingen" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "video’s" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "IT" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "nieuws" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "kaart" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "wetenschap" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Ongeldige instellingen, werk je voorkeuren bij" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Ongeldige instellingen" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "zoekfout" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} min geleden" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} uur, {minutes} min geleden" @@ -109,29 +109,28 @@ msgstr "Statistische functies" msgid "Compute {functions} of the arguments" msgstr "Bereken {functions} van de argumenten" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Snelheid zoekmachine (sec)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 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/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Scores" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Scores per zoekresultaat" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Fouten" @@ -143,9 +142,15 @@ msgstr "{title} (VEROUDERD)" 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/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "DOAI herschrijven" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Omzeil betaalmuren met een doorverwijzing naar vrij toegankelijke versies van publicaties indien beschikbaar" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -159,16 +164,6 @@ msgstr "Oneindig scrollen" msgid "Automatically load next page when scrolling to bottom of current page" msgstr "Volgende pagina automatisch laden bij bereiken van de 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 "Omzeil 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 @@ -331,8 +326,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -404,8 +399,8 @@ msgstr "Momenteel gebruikte zoekmachines" #: 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/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" @@ -420,8 +415,8 @@ msgstr "Categorie" #: 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/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 @@ -439,7 +434,7 @@ msgstr "Blokkeren" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -449,7 +444,7 @@ msgstr "Deze instellingen worden bewaard in je cookies. Hierdoor hoeven wij niet #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -459,7 +454,7 @@ msgstr "Deze cookies zijn alleen voor je eigen gemak, we gebruiken deze cookies #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -467,14 +462,14 @@ msgstr "bewaren" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: 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/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -645,23 +640,23 @@ msgid "General" msgstr "Algemeen" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Zoekmachines" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Plug-ins" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Beantwoorders" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Cookies" @@ -712,88 +707,78 @@ msgstr "Kies een stijl voor dit thema" 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:151 #: 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 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Geselecteerde taal" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: 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/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: 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/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Max. duur" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 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 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Naam" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Kernwoorden" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Beschrijving" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Voorbeelden" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 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 je computer opslaat." -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "Met deze lijst kan je de openheid van searx beoordelen." -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Cookienaam" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Waarde" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "Zoek-URL van de huidig opgeslagen voorkeuren" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/nl_BE/LC_MESSAGES/messages.mo b/searx/translations/nl_BE/LC_MESSAGES/messages.mo Binary files differindex e233f5c89..e37b9e272 100644 --- a/searx/translations/nl_BE/LC_MESSAGES/messages.mo +++ b/searx/translations/nl_BE/LC_MESSAGES/messages.mo diff --git a/searx/translations/nl_BE/LC_MESSAGES/messages.po b/searx/translations/nl_BE/LC_MESSAGES/messages.po index c4ef0228a..21fa68cf1 100644 --- a/searx/translations/nl_BE/LC_MESSAGES/messages.po +++ b/searx/translations/nl_BE/LC_MESSAGES/messages.po @@ -3,13 +3,13 @@ # This file is distributed under the same license as the PROJECT project. # # Translators: -# Nathan Follens, 2018 +# Nathan Follens, 2018-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: 2018-06-24 07:59+0000\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 19:47+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" @@ -31,63 +31,63 @@ msgstr "aanvraaguitzondering" msgid "unexpected crash" msgstr "onverwachte crash" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "bestanden" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "algemeen" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "muziek" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "sociale media" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "afbeeldingen" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "video’s" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "IT" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "nieuws" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "kaart" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "wetenschap" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Ongeldige instellingen, werkt uw voorkeuren bij" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Ongeldige instellingen" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "zoekfout" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} min geleden" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} uur, {minutes} min geleden" @@ -107,29 +107,28 @@ msgstr "Statistische functies" msgid "Compute {functions} of the arguments" msgstr "Berekent {functions} van de argumenten" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Snelheid zoekmachien (sec)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 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/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Scores" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Scores per zoekresultaat" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Fouten" @@ -141,9 +140,15 @@ msgstr "{title} (VEROUDERD)" 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/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "DOAI herschrijven" + +#: searx/plugins/doai_rewrite.py:8 +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/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -157,16 +162,6 @@ msgstr "Oneindig scrollen" 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 @@ -329,8 +324,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -402,8 +397,8 @@ 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/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" @@ -418,8 +413,8 @@ msgstr "Categorie" #: 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/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 @@ -437,7 +432,7 @@ msgstr "Blokkeren" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -447,7 +442,7 @@ msgstr "Deze instellingen worden bewaard in uw cookies. Hierdoor hoeven wij niks #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -457,7 +452,7 @@ msgstr "Deze cookies zijn alleen voor uw eigen gemak, we gebruiken deze cookies #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -465,14 +460,14 @@ msgstr "opslaan" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: 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/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -643,23 +638,23 @@ msgid "General" msgstr "Algemeen" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Zoekmachienen" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Plug-ins" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Beantwoorders" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Cookies" @@ -710,88 +705,78 @@ msgstr "Kiest ne stijl voor dit thema" 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:151 #: 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 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Geselecteerde taal" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: 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/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: 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/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Max. duur" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 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 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Naam" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Kernwoorden" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Beschrijving" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Voorbeelden" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 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 +#: searx/templates/oscar/preferences.html:264 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 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Cookienaam" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Waarde" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "Zoek-URL van de momenteel opgeslagen voorkeuren" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/oc/LC_MESSAGES/messages.mo b/searx/translations/oc/LC_MESSAGES/messages.mo Binary files differnew file mode 100644 index 000000000..a9519a677 --- /dev/null +++ b/searx/translations/oc/LC_MESSAGES/messages.mo diff --git a/searx/translations/oc/LC_MESSAGES/messages.po b/searx/translations/oc/LC_MESSAGES/messages.po new file mode 100644 index 000000000..404343938 --- /dev/null +++ b/searx/translations/oc/LC_MESSAGES/messages.po @@ -0,0 +1,999 @@ +# Translations template for PROJECT. +# Copyright (C) 2017 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# +# Translators: +# Quentin, 2016,2018 +# Marc Abonce Seguin, 2019 +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-04-12 23:05+0000\n" +"Last-Translator: Marc Abonce Seguin\n" +"Language-Team: Occitan (post 1500) (http://www.transifex.com/asciimoo/searx/language/oc/)\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: oc\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: searx/search.py:137 searx/search.py:182 +msgid "timeout" +msgstr "relambi passat" + +#: searx/search.py:144 +msgid "request exception" +msgstr "excepcion de requèsta" + +#: searx/search.py:151 +msgid "unexpected crash" +msgstr "fracàs pas previst" + +#: searx/webapp.py:135 +msgid "files" +msgstr "fichièrs" + +#: searx/webapp.py:136 +msgid "general" +msgstr "general" + +#: searx/webapp.py:137 +msgid "music" +msgstr "musica" + +#: searx/webapp.py:138 +msgid "social media" +msgstr "mèdias socials" + +#: searx/webapp.py:139 +msgid "images" +msgstr "imatges" + +#: searx/webapp.py:140 +msgid "videos" +msgstr "vidèos" + +#: searx/webapp.py:141 +msgid "it" +msgstr "tecnologia" + +#: searx/webapp.py:142 +msgid "news" +msgstr "actualitat" + +#: searx/webapp.py:143 +msgid "map" +msgstr "mapa" + +#: searx/webapp.py:144 +msgid "science" +msgstr "sciéncia" + +#: searx/webapp.py:398 searx/webapp.py:653 +msgid "Invalid settings, please edit your preferences" +msgstr "Paramètre pas valide, mercés de modificar vòstras preferéncias" + +#: searx/webapp.py:410 +msgid "Invalid settings" +msgstr "Paramètres invalids" + +#: searx/webapp.py:444 searx/webapp.py:488 +msgid "search error" +msgstr "error de recèrca" + +#: searx/webapp.py:525 +msgid "{minutes} minute(s) ago" +msgstr "fa {minutes} minuta(s)" + +#: searx/webapp.py:527 +msgid "{hours} hour(s), {minutes} minute(s) ago" +msgstr "Fa {hours} ora(s), {minutes} minuta(s)" + +#: searx/answerers/random/answerer.py:53 +msgid "Random value generator" +msgstr "Generator aleatòri" + +#: searx/answerers/random/answerer.py:54 +msgid "Generate different random values" +msgstr "Crèa de valors aleatòrias diferentas" + +#: searx/answerers/statistics/answerer.py:53 +msgid "Statistics functions" +msgstr "Foncions estatisticas" + +#: searx/answerers/statistics/answerer.py:54 +msgid "Compute {functions} of the arguments" +msgstr "Calcula las {functions} dels arguments" + +#: searx/engines/__init__.py:194 +msgid "Engine time (sec)" +msgstr "Temps del motor (sec)" + +#: searx/engines/__init__.py:198 +msgid "Page loads (sec)" +msgstr "Pagina cargada en (sec) segondas" + +#: searx/engines/__init__.py:202 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 +msgid "Scores" +msgstr "Marcas" + +#: searx/engines/__init__.py:210 +msgid "Scores per result" +msgstr "Marcas per resultat" + +#: searx/engines/__init__.py:214 +msgid "Errors" +msgstr "Errors" + +#: searx/engines/pdbe.py:87 +msgid "{title} (OBSOLETE)" +msgstr "{titre} (OBSOLETE)" + +#: searx/engines/pdbe.py:91 +msgid "This entry has been superseded by" +msgstr "Aqueste element es estat remplaçat per" + +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "Reescritura DOAI" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Evitar las paginas de pagament ne virant sus la version en accès liure quand es disponibla" + +#: searx/plugins/https_rewrite.py:32 +msgid "Rewrite HTTP links to HTTPS if possible" +msgstr "Reescritura de los ligam HTTP en HTTPS s'es possible." + +#: searx/plugins/infinite_scroll.py:3 +msgid "Infinite scroll" +msgstr "Desfilament sens fin" + +#: searx/plugins/infinite_scroll.py:4 +msgid "Automatically load next page when scrolling to bottom of current page" +msgstr "Carga automaticament la pagina seguenta quand arribatz en fin de pagina" + +#: 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 "Dubrir los ligams de resultats dins un nòu onglet" + +#: 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 "Los resultats son dobèrts dins una nòva fenestra per defaut. Aquesta extension càmbia lo comportement per defaut per dobrir los ligams dins de nòus onglets o fenestras (Javascript es necessari)" + +#: searx/plugins/search_on_category_select.py:18 +msgid "Search on category select" +msgstr "Cercar dins la categoria causida" + +#: searx/plugins/search_on_category_select.py:19 +msgid "" +"Perform search immediately if a category selected. Disable to select " +"multiple categories. (JavaScript required)" +msgstr "Lança la recèrca sul còp se una categoria es seleccionada. Desactivar per seleccionar mai d'una categoria (Javascript 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 "Aficha vòstre adreça IP se la demanda es \"ip\", e aficha vòstre user-agent se la demanda conten \"user agent\"." + +#: searx/plugins/tracker_url_remover.py:26 +msgid "Tracker URL remover" +msgstr "Netejador d'URL de traçat" + +#: searx/plugins/tracker_url_remover.py:27 +msgid "Remove trackers arguments from the returned URL" +msgstr "Lèva los arguments de las URL utilizats per vos traçar" + +#: searx/plugins/vim_hotkeys.py:3 +msgid "Vim-like hotkeys" +msgstr "Acorchis coma 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 "Percorrètz los resultats de recèrca amb d'acorchis clavièr coma sus Vim (Javascript necessari). Picatz sus \"h\" dins la fenestra principala de resultats per afichar l'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 "Pagina pas trobada" + +#: 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 "Anar 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 "cercar dins la pagina" + +#: 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éncias" + +#: 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 prepaus" + +#: 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éncias" + +#: 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 "Categoria per defaut" + +#: 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 "Lenga de 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 "Lenga per defaut" + +#: 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 "Lenga de l'interfàcia" + +#: 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 pels 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 "Metòde" + +#: 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 "Recèrca segurizada" + +#: 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 "Estricte" + +#: 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 "Moderat" + +#: 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 "Tèmas" + +#: searx/templates/courgette/preferences.html:83 +msgid "Color" +msgstr "Color" + +#: searx/templates/courgette/preferences.html:86 +msgid "Blue (default)" +msgstr "Blau (defaut)" + +#: searx/templates/courgette/preferences.html:87 +msgid "Violet" +msgstr "Violet" + +#: searx/templates/courgette/preferences.html:88 +msgid "Green" +msgstr "Verd" + +#: searx/templates/courgette/preferences.html:89 +msgid "Cyan" +msgstr "Blau" + +#: searx/templates/courgette/preferences.html:90 +msgid "Orange" +msgstr "Irange" + +#: searx/templates/courgette/preferences.html:91 +msgid "Red" +msgstr "Roge" + +#: 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 recèrca utilizat actualament" + +#: 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 "Nom del motor de cerca" + +#: 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 "Autorizar" + +#: 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 "Aquestes paramètres son gardats dins vòstres cookies : aquò nos permet pas de collectar vòstras donadas." + +#: 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 "Aquestes cookies existon per vòstre confòrt d'utilizacion, los empleguem pas per vos espiar." + +#: 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 "enregistrar" + +#: 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 "Reïnicializar per defaut" + +#: 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 "tornar" + +#: 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 recèrca" + +#: 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 "Telecargar los resultats" + +#: searx/templates/courgette/results.html:34 +#: searx/templates/legacy/results.html:35 +#: searx/templates/simple/results.html:10 +msgid "Answers" +msgstr "Responsas" + +#: 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 "Suggestions" + +#: 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 precedenta" + +#: 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 seguenta" + +#: 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 per..." + +#: 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 "Estatistica 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 "contèxte d'origina" + +#: 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 "Fonts" + +#: 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 "Telecargaires" + +#: 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 "ligam 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 "fichièr torrent" + +#: searx/templates/legacy/categories.html:8 +#: searx/templates/simple/categories.html:6 +msgid "Click on the magnifier to perform search" +msgstr "Clicatz sus la lópia per lançar una recèrca" + +#: searx/templates/legacy/preferences.html:84 +#: searx/templates/oscar/preferences.html:113 +#: searx/templates/simple/preferences.html:142 +msgid "Results on new tabs" +msgstr "Resultat dins de nòus onglets" + +#: searx/templates/legacy/preferences.html:87 +#: searx/templates/oscar/preferences.html:117 +#: searx/templates/simple/preferences.html:145 +msgid "On" +msgstr "Òc" + +#: searx/templates/legacy/preferences.html:88 +#: searx/templates/oscar/preferences.html:118 +#: searx/templates/simple/preferences.html:146 +msgid "Off" +msgstr "Non" + +#: 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 version locala" + +#: searx/templates/oscar/advanced.html:4 +msgid "Advanced settings" +msgstr "Paramètres avançats" + +#: 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 "Tampar" + +#: 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 "Propulsat per" + +#: searx/templates/oscar/base.html:90 searx/templates/simple/base.html:55 +msgid "a privacy-respecting, hackable metasearch engine" +msgstr "un meta-motor de recèrca hackable e respectuós de la vida privada" + +#: searx/templates/oscar/macros.html:36 searx/templates/oscar/macros.html:50 +#: searx/templates/simple/macros.html:43 +msgid "proxied" +msgstr "proxifiat" + +#: searx/templates/oscar/macros.html:92 +msgid "supported" +msgstr "compatible" + +#: searx/templates/oscar/macros.html:96 +msgid "not supported" +msgstr "pas compatible" + +#: 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 "Motors de cerca" + +#: searx/templates/oscar/preferences.html:15 +#: searx/templates/oscar/preferences.html:207 +msgid "Plugins" +msgstr "Extensions" + +#: searx/templates/oscar/preferences.html:16 +#: searx/templates/oscar/preferences.html:233 +msgid "Answerers" +msgstr "Respondaires" + +#: 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 "Dins quina lenga vos agrada mai cercar ?" + +#: searx/templates/oscar/preferences.html:48 +#: searx/templates/simple/preferences.html:128 +msgid "Change the language of the layout" +msgstr "Cambiar la lenga de l'interfàcia" + +#: searx/templates/oscar/preferences.html:58 +#: searx/templates/simple/preferences.html:60 +msgid "Find stuff as you type" +msgstr "Trobar de causas pendent que picatz" + +#: searx/templates/oscar/preferences.html:69 +#: searx/templates/simple/preferences.html:173 +msgid "Proxying image results through searx" +msgstr "Proxifiar los imatges de resultats a travers 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 "Permet de causir cossí la recèrca es mandada, <a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\"> per ne saber mai suls metòdes HTTP</a>" + +#: searx/templates/oscar/preferences.html:87 +#: searx/templates/simple/preferences.html:71 +msgid "Filter content" +msgstr "Filtrar lo contengut" + +#: searx/templates/oscar/preferences.html:97 +#: searx/templates/simple/preferences.html:139 +msgid "Change searx layout" +msgstr "Cambiar l'interfàcia de searx" + +#: searx/templates/oscar/preferences.html:106 +#: searx/templates/oscar/preferences.html:111 +msgid "Choose style for this theme" +msgstr "Causir un estil per aqueste tèma" + +#: searx/templates/oscar/preferences.html:106 +#: searx/templates/oscar/preferences.html:111 +msgid "Style" +msgstr "Estil" + +#: searx/templates/oscar/preferences.html:151 +#: searx/templates/oscar/preferences.html:163 +#: searx/templates/simple/preferences.html:88 +msgid "Shortcut" +msgstr "Acorchis" + +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 +msgid "Selected language" +msgstr "Seleccionatz una lenga" + +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 +#: searx/templates/simple/preferences.html:91 +msgid "Time range" +msgstr "Espaci temporal" + +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 +#: searx/templates/simple/preferences.html:92 +msgid "Avg. time" +msgstr "Temps mejan" + +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 +#: searx/templates/simple/preferences.html:93 +msgid "Max time" +msgstr "Temps max" + +#: searx/templates/oscar/preferences.html:236 +msgid "This is the list of searx's instant answering modules." +msgstr "Vaquí la lista dels module de searx que dònan de responsa instantanèas." + +#: searx/templates/oscar/preferences.html:240 +msgid "Name" +msgstr "Nom" + +#: searx/templates/oscar/preferences.html:241 +msgid "Keywords" +msgstr "Mots claus" + +#: searx/templates/oscar/preferences.html:242 +msgid "Description" +msgstr "Descripcion" + +#: searx/templates/oscar/preferences.html:243 +msgid "Examples" +msgstr "Exemples" + +#: searx/templates/oscar/preferences.html:263 +msgid "" +"This is the list of cookies and their values searx is storing on your " +"computer." +msgstr "S'agís de la lista dels cookies e de lors valors que searx enregistra sus vòstre ordinador." + +#: searx/templates/oscar/preferences.html:264 +msgid "With that list, you can assess searx transparency." +msgstr "Amb aquesta lista, podètz jutjar de la transparéncia de searx." + +#: searx/templates/oscar/preferences.html:269 +msgid "Cookie name" +msgstr "Nom del 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 "URL de recèrca actuala dels paramètres enregistrats" + +#: 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 "Nòta : especificar de paramètres personalizats en l’URL pòt reduire la privacitat en revelar de donadas als sites de resultat clicats." + +#: searx/templates/oscar/results.html:17 +msgid "Search results" +msgstr "Resultats de la recerca" + +#: searx/templates/oscar/results.html:21 +#: searx/templates/simple/results.html:84 +msgid "Try searching for:" +msgstr "Ensajatz de cercar :" + +#: searx/templates/oscar/results.html:100 +#: searx/templates/simple/results.html:25 +msgid "Engines cannot retrieve results" +msgstr "Los cercadors pòdons pas recuperar los resultats" + +#: searx/templates/oscar/results.html:131 +msgid "Links" +msgstr "Ligams" + +#: searx/templates/oscar/search.html:8 +#: searx/templates/oscar/search_full.html:11 +#: searx/templates/simple/search.html:5 +msgid "Start search" +msgstr "Començar de cercar" + +#: searx/templates/oscar/stats.html:2 +msgid "stats" +msgstr "estatisticas" + +#: searx/templates/oscar/time-range.html:3 +#: searx/templates/simple/time-range.html:3 +msgid "Anytime" +msgstr "Impòrta pas quand" + +#: searx/templates/oscar/time-range.html:6 +#: searx/templates/simple/time-range.html:6 +msgid "Last day" +msgstr "Ièr" + +#: 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 "Lo mes passat" + +#: searx/templates/oscar/time-range.html:15 +#: searx/templates/simple/time-range.html:15 +msgid "Last year" +msgstr "L'an passat" + +#: searx/templates/oscar/messages/first_time.html:6 +#: searx/templates/oscar/messages/no_data_available.html:3 +msgid "Heads up!" +msgstr "Astúcia !" + +#: searx/templates/oscar/messages/first_time.html:7 +msgid "It look like you are using searx first time." +msgstr "Sembla qu'utilizatz searx pel primièr còp." + +#: searx/templates/oscar/messages/no_cookies.html:3 +msgid "Information!" +msgstr "Informacion !" + +#: searx/templates/oscar/messages/no_cookies.html:4 +msgid "currently, there are no cookies defined." +msgstr "pel moment i a pas cap de cookie definit" + +#: searx/templates/oscar/messages/no_data_available.html:4 +msgid "There is currently no data available. " +msgstr "Pel moment i a pas cap de donada disponibla." + +#: searx/templates/oscar/messages/no_results.html:4 +#: searx/templates/simple/messages/no_results.html:4 +msgid "Engines cannot retrieve results." +msgstr "Los cercadors pòdons pas recuperar los resultats." + +#: 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 "Mercés de tornar ensajar o de trobar una instància searx mai" + +#: searx/templates/oscar/messages/no_results.html:14 +#: searx/templates/simple/messages/no_results.html:14 +msgid "Sorry!" +msgstr "O planhèm !" + +#: 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 "avèm pas trobat cap de resultat. Mercés d'utilizar une autre mot clau o de cercar dins autras categorias." + +#: searx/templates/oscar/messages/save_settings_successfull.html:7 +msgid "Well done!" +msgstr "Òsca !" + +#: searx/templates/oscar/messages/save_settings_successfull.html:8 +msgid "Settings saved successfully." +msgstr "Paramètres salvagardats amb succès." + +#: searx/templates/oscar/messages/unknow_error.html:7 +msgid "Oh snap!" +msgstr "Bondu!" + +#: searx/templates/oscar/messages/unknow_error.html:8 +msgid "Something went wrong." +msgstr "Quicòm a fracassat." + +#: searx/templates/oscar/result_templates/default.html:7 +#: searx/templates/simple/result_templates/default.html:6 +msgid "show media" +msgstr "mostrar mèdias" + +#: searx/templates/oscar/result_templates/default.html:7 +#: searx/templates/simple/result_templates/default.html:6 +msgid "hide media" +msgstr "escondre mèdias" + +#: searx/templates/oscar/result_templates/images.html:30 +msgid "Get image" +msgstr "Obténer l'imatge" + +#: searx/templates/oscar/result_templates/images.html:33 +msgid "View source" +msgstr "Veire font" + +#: searx/templates/oscar/result_templates/map.html:7 +#: searx/templates/simple/result_templates/map.html:7 +msgid "show map" +msgstr "mostrar la mapa" + +#: searx/templates/oscar/result_templates/map.html:7 +#: searx/templates/simple/result_templates/map.html:7 +msgid "hide map" +msgstr "escondre la mapa" + +#: searx/templates/oscar/result_templates/map.html:11 +#: searx/templates/simple/result_templates/map.html:11 +msgid "show details" +msgstr "mostrar detalhs" + +#: searx/templates/oscar/result_templates/map.html:11 +#: searx/templates/simple/result_templates/map.html:11 +msgid "hide details" +msgstr "escondre detalhs" + +#: searx/templates/oscar/result_templates/torrent.html:7 +#: searx/templates/simple/result_templates/torrent.html:11 +msgid "Filesize" +msgstr "Talha del fichièr" + +#: searx/templates/oscar/result_templates/torrent.html:9 +#: searx/templates/simple/result_templates/torrent.html:12 +msgid "Bytes" +msgstr "octets" + +#: searx/templates/oscar/result_templates/torrent.html:10 +#: searx/templates/simple/result_templates/torrent.html:13 +msgid "kiB" +msgstr "kiO" + +#: searx/templates/oscar/result_templates/torrent.html:11 +#: searx/templates/simple/result_templates/torrent.html:14 +msgid "MiB" +msgstr "MiO" + +#: searx/templates/oscar/result_templates/torrent.html:12 +#: searx/templates/simple/result_templates/torrent.html:15 +msgid "GiB" +msgstr "GiO" + +#: searx/templates/oscar/result_templates/torrent.html:13 +#: searx/templates/simple/result_templates/torrent.html:16 +msgid "TiB" +msgstr "TiO" + +#: searx/templates/oscar/result_templates/torrent.html:15 +#: searx/templates/simple/result_templates/torrent.html:20 +msgid "Number of Files" +msgstr "Nombre de fichièrs" + +#: searx/templates/oscar/result_templates/videos.html:7 +#: searx/templates/simple/result_templates/videos.html:6 +msgid "show video" +msgstr "mostrar la vidèo" + +#: searx/templates/oscar/result_templates/videos.html:7 +#: searx/templates/simple/result_templates/videos.html:6 +msgid "hide video" +msgstr "escondre la vidèo" + +#: searx/templates/pix-art/results.html:28 +msgid "Load more..." +msgstr "Ne cargar mai..." + +#: searx/templates/simple/base.html:31 +msgid "No item found" +msgstr "Cap d’element pas trobat" + +#: searx/templates/simple/preferences.html:89 +msgid "Supports selected language" +msgstr "Compatible amb las lengas seleccionadas" + +#: searx/templates/simple/preferences.html:118 +msgid "User interface" +msgstr "Interfàcia utilizaire" + +#: searx/templates/simple/preferences.html:154 +msgid "Privacy" +msgstr "Privacitat" diff --git a/searx/translations/pl/LC_MESSAGES/messages.mo b/searx/translations/pl/LC_MESSAGES/messages.mo Binary files differindex e4a451013..595154a68 100644 --- a/searx/translations/pl/LC_MESSAGES/messages.mo +++ b/searx/translations/pl/LC_MESSAGES/messages.mo diff --git a/searx/translations/pt/LC_MESSAGES/messages.mo b/searx/translations/pt/LC_MESSAGES/messages.mo Binary files differindex d88c449f1..e6fa6dc5b 100644 --- a/searx/translations/pt/LC_MESSAGES/messages.mo +++ b/searx/translations/pt/LC_MESSAGES/messages.mo diff --git a/searx/translations/pt/LC_MESSAGES/messages.po b/searx/translations/pt/LC_MESSAGES/messages.po index d8446731a..f9342cd29 100644 --- a/searx/translations/pt/LC_MESSAGES/messages.po +++ b/searx/translations/pt/LC_MESSAGES/messages.po @@ -4,14 +4,14 @@ # # Translators: # Dickprince, 2017 -# Chacal Exodius, 2018 +# C. E., 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-26 22:43+0000\n" -"Last-Translator: Chacal Exodius\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" +"Last-Translator: Dickprince\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" @@ -32,63 +32,63 @@ msgstr "solicitar exceção" msgid "unexpected crash" msgstr "acidente inesperado" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "ficheiros" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "geral" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "música" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "redes sociais" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "imagens" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "vídeos" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "ti" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "notícias" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "mapa" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "ciência" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Definições inválidas, por favor edite as suas preferências" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Configurações inválidas" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "erro de procura" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} minuto(s) atrás" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} hora(s), {minutes} minuto(s) atrás" @@ -108,29 +108,28 @@ msgstr "Funções de estatística" msgid "Compute {functions} of the arguments" msgstr "Calcular {functions} dos argumentos" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Tempo de pesquisa (seg)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Página carregada (seg)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Contagens" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Contagens por resultado" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Erros" @@ -142,9 +141,15 @@ msgstr "{title} (OBSOLETE)" msgid "This entry has been superseded by" msgstr "Esta entrada foi substituída por" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "Nenhum resumo está disponível para esta publicação." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "Reformulação DOAI" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Evite acessos pagos acedendo a versões de livre acesso sempre que disponível" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -158,16 +163,6 @@ msgstr "Deslocação Infinita" msgid "Automatically load next page when scrolling to bottom of current page" msgstr "Carregar automaticamente a próxima página assim que se desloque para o fim da página atual" -#: searx/plugins/oa_doi_rewrite.py:9 -msgid "Open Access DOI rewrite" -msgstr "Reescrita DOI de acesso aberto" - -#: searx/plugins/oa_doi_rewrite.py:10 -msgid "" -"Avoid paywalls by redirecting to open-access versions of publications when " -"available" -msgstr "Evite acessos pagos acedendo a versões de livre acesso sempre que disponível" - #: searx/plugins/open_results_on_new_tab.py:18 #: searx/templates/oscar/preferences.html:114 #: searx/templates/simple/preferences.html:149 @@ -330,8 +325,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -403,8 +398,8 @@ msgstr "Motores de pesquisa utilizados" #: 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/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" @@ -419,8 +414,8 @@ msgstr "Categoria" #: 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/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 @@ -438,7 +433,7 @@ msgstr "Bloquear" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -448,7 +443,7 @@ msgstr "Estas definições são guardadas nos seus cookies, isto permite-nos que #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -458,7 +453,7 @@ msgstr "Estes cookies servem somente para sua conveniência, não os utilizamos #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -466,14 +461,14 @@ msgstr "Guardar" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: searx/templates/simple/preferences.html:186 msgid "Reset defaults" msgstr "Repor predefinições" #: searx/templates/courgette/preferences.html:129 #: searx/templates/legacy/preferences.html:126 -#: searx/templates/oscar/preferences.html:306 +#: searx/templates/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -644,23 +639,23 @@ msgid "General" msgstr "Geral" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Motores de pesquisa" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Extensões" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Remetente" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Cookies" @@ -711,88 +706,78 @@ msgstr "Escolher estilo para este tema" msgid "Style" msgstr "Estilo" -#: searx/templates/oscar/preferences.html:122 -msgid "Open Access DOI resolver" -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 "Redirecionar para versões de acesso aberto de publicações quando disponíveis (requer plug-in)" - +#: searx/templates/oscar/preferences.html:151 #: searx/templates/oscar/preferences.html:163 -#: searx/templates/oscar/preferences.html:175 #: searx/templates/simple/preferences.html:88 msgid "Shortcut" msgstr "Atalho" -#: searx/templates/oscar/preferences.html:164 -#: searx/templates/oscar/preferences.html:174 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Idioma selecionado" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "Período de tempo" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "Tempo médio" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Tempo máximo" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "Esta é a lista dos modulos instantâneos de resposta do searx" -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Nome" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Palavras-chave" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Descrição" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Exemplos" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "Esta é a lista de cookies e os valores que o searx está a guardar no seu computador." -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "Com essa lista pode aceder à transparência do searx." -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Nome de cookie" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Valor" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "URL de pesquisa das preferências salvas atualmente" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/pt_BR/LC_MESSAGES/messages.mo b/searx/translations/pt_BR/LC_MESSAGES/messages.mo Binary files differindex 03eb74f4e..c37882dc6 100644 --- a/searx/translations/pt_BR/LC_MESSAGES/messages.mo +++ b/searx/translations/pt_BR/LC_MESSAGES/messages.mo diff --git a/searx/translations/pt_BR/LC_MESSAGES/messages.po b/searx/translations/pt_BR/LC_MESSAGES/messages.po index 6a0a6b837..18bae82a9 100644 --- a/searx/translations/pt_BR/LC_MESSAGES/messages.po +++ b/searx/translations/pt_BR/LC_MESSAGES/messages.po @@ -4,9 +4,9 @@ # # Translators: # Adam Tauber <asciimoo@gmail.com>, 2017 -# Chacal Exodius, 2018 +# C. E., 2018 # Gabriel Nunes <gabriel.hkr@gmail.com>, 2017 -# Guimarães Mello <maeslor@cryptolab.net>, 2017 +# Guimarães Mello <matheus.mello@disroot.org>, 2017 # Neton Brício <fervelinux@gmail.com>, 2015 # pizzaiolo, 2016 # shizuka, 2018 @@ -14,9 +14,9 @@ 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-08-06 05:21+0000\n" -"Last-Translator: Chacal Exodius\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" +"Last-Translator: pizzaiolo\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" @@ -37,63 +37,63 @@ msgstr "falha na requisição" msgid "unexpected crash" msgstr "erro inesperado" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "arquivos" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "geral" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "áudio" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "redes sociais" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "imagens" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "vídeos" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "códigos" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "notícias" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "mapas" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "ciência" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Configurações inválidas, por favor, edite suas preferências" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Configurações inválidas" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "erro de busca" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutos} minuto(s) atrás" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} hora(s), {minutes} minuto(s) atrás" @@ -113,29 +113,28 @@ msgstr "Funções estatísticas" msgid "Compute {functions} of the arguments" msgstr "Compute {functions} dos argumentos" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Tempo do motor (segundos)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Carregamento da página (sec)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Pontuações" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Pontuações por resultado" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Erros" @@ -147,9 +146,15 @@ msgstr "{title} (OBSOLETA)" msgid "This entry has been superseded by" msgstr "Esta entrada foi substituída por" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "Nenhum resumo disponível para essa publicação." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "Redirecionamento ao DOAI" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Evita \"paywalls\" ao redirecionar para versões de acesso livre de publicações, quando possível" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -163,16 +168,6 @@ msgstr "Scroll infinito" msgid "Automatically load next page when scrolling to bottom of current page" msgstr "Automaticamente carregar a próxima página quando ir até o fim da página atual" -#: searx/plugins/oa_doi_rewrite.py:9 -msgid "Open Access DOI rewrite" -msgstr "Reescrita DOI de acesso aberto" - -#: searx/plugins/oa_doi_rewrite.py:10 -msgid "" -"Avoid paywalls by redirecting to open-access versions of publications when " -"available" -msgstr "Evita \"paywalls\" ao redirecionar para versões de acesso livre de publicações, quando possível" - #: searx/plugins/open_results_on_new_tab.py:18 #: searx/templates/oscar/preferences.html:114 #: searx/templates/simple/preferences.html:149 @@ -335,8 +330,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -408,8 +403,8 @@ msgstr "Serviço de busca usado atualmente" #: 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/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" @@ -424,8 +419,8 @@ msgstr "Categoria" #: 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/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 @@ -443,7 +438,7 @@ msgstr "Bloqueado" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -453,7 +448,7 @@ msgstr "Essas configurações são armazenadas em seus cookies, nos não armazen #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -463,7 +458,7 @@ msgstr "Estes cookies servem ao seu único propósito, nós não usamos esses co #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -471,14 +466,14 @@ msgstr "salvar" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: searx/templates/simple/preferences.html:186 msgid "Reset defaults" msgstr "Redefinir configurações" #: searx/templates/courgette/preferences.html:129 #: searx/templates/legacy/preferences.html:126 -#: searx/templates/oscar/preferences.html:306 +#: searx/templates/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -649,23 +644,23 @@ msgid "General" msgstr "Geral" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Buscadores" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Complementos" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Operadores de Resposta" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Cookies" @@ -716,88 +711,78 @@ msgstr "Escolher um estilo para este tema" msgid "Style" msgstr "Estilo" -#: searx/templates/oscar/preferences.html:122 -msgid "Open Access DOI resolver" -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 "Quando disponível, redirecionar para as versões de acesso livre das publicações (necessário plugin)" - +#: searx/templates/oscar/preferences.html:151 #: searx/templates/oscar/preferences.html:163 -#: searx/templates/oscar/preferences.html:175 #: searx/templates/simple/preferences.html:88 msgid "Shortcut" msgstr "Atalhos" -#: searx/templates/oscar/preferences.html:164 -#: searx/templates/oscar/preferences.html:174 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Idioma selecionado" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "Intervalo de tempo" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "Tempo médio" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Tempo máximo" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "Esta é a lista do módulos de resposta instantânea do searx." -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Nome" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Palavras-chave" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Descrição" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Exemplos" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "Esta é a lista de cookies que o searx está armazenando em seu computador." -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "Com essa lista, você pode avaliar a transparência do searx." -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Nome do cookie" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Valor" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "URL de Pesquisa das configurações salvas atuais" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/ro/LC_MESSAGES/messages.mo b/searx/translations/ro/LC_MESSAGES/messages.mo Binary files differindex f39068576..d90ed5144 100644 --- a/searx/translations/ro/LC_MESSAGES/messages.mo +++ b/searx/translations/ro/LC_MESSAGES/messages.mo diff --git a/searx/translations/ro/LC_MESSAGES/messages.po b/searx/translations/ro/LC_MESSAGES/messages.po index 7cfd1be37..625feea8f 100644 --- a/searx/translations/ro/LC_MESSAGES/messages.po +++ b/searx/translations/ro/LC_MESSAGES/messages.po @@ -4,14 +4,16 @@ # # Translators: # adrian.fita <adrian.fita@gmail.com>, 2015 +# adrian.fita <adrian.fita@gmail.com>, 2015 # Daniel Șerbănescu <daniel@serbanescu.dk>, 2018 +# Mihai Pora <mihai.pora@gmail.com>, 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: 2018-11-15 21:18+0000\n" -"Last-Translator: Daniel Șerbănescu <daniel@serbanescu.dk>\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-08-31 18:38+0000\n" +"Last-Translator: Mihai Pora <mihai.pora@gmail.com>\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" @@ -32,63 +34,63 @@ msgstr "excepție la cerere" msgid "unexpected crash" msgstr "terminare prematură neașteptată" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "fișiere" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "generale" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "muzică" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "rețele sociale" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "imagini" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "videouri" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "informatică" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "știri" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "hărți" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "știință" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Configurări nevalide, editați preferințele" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Configurări nevalide" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "eroare de căutare" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} minut(e) în urmă" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} oră(e), {minutes} minut(e) în urmă" @@ -108,29 +110,28 @@ msgstr "Funcții statistice" msgid "Compute {functions} of the arguments" msgstr "Calculează {functions} din argumente" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Timpul motorului (sec)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Încărcarea paginii (sec)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 searx/templates/oscar/results.html:95 #: searx/templates/simple/results.html:20 msgid "Number of results" msgstr "Numărul de rezultate" -#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Scoruri" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Scoruri per rezultat" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Erori" @@ -142,9 +143,15 @@ msgstr "{title} (ÎNVECHIT)" msgid "This entry has been superseded by" msgstr "Această intrare a fost perimată de" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "Niciun abstract disponibil pentru această publicație." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "Rescriere DOAI" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Evită „zidurile de plată” redirecționând către versiuni cu acces deschis ale publicațiilor când sunt disponibile" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -158,16 +165,6 @@ msgstr "Derulare infinită" msgid "Automatically load next page when scrolling to bottom of current page" 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 "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 "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 @@ -330,8 +327,8 @@ msgstr "Metodă" #: 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -403,8 +400,8 @@ msgstr "Motoarele de căutare folosite curent" #: 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/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" @@ -419,8 +416,8 @@ msgstr "Categorie" #: 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/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 @@ -438,7 +435,7 @@ msgstr "Blochează" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -448,7 +445,7 @@ msgstr "Aceste configurări sunt stocate în cookie-uri, ceea ce ne permite să #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -458,7 +455,7 @@ msgstr "Aceste cookie-uri servesc doar pentru conveniența dumneavoastră, noi n #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -466,14 +463,14 @@ msgstr "salvează" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: searx/templates/simple/preferences.html:186 msgid "Reset defaults" msgstr "Restabilește la valorile implicite" #: searx/templates/courgette/preferences.html:129 #: searx/templates/legacy/preferences.html:126 -#: searx/templates/oscar/preferences.html:306 +#: searx/templates/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -644,23 +641,23 @@ msgid "General" msgstr "Generale" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Motoare" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Module" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Răspunzători" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Cookie-uri" @@ -711,88 +708,78 @@ msgstr "Alegeți stilul pentru această temă" msgid "Style" msgstr "Stil" -#: searx/templates/oscar/preferences.html:122 -msgid "Open Access DOI resolver" -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 "Redirecționează către versiuni cu acces deschis ale publicațiilor când sunt disponibile (modul necesar)" - +#: searx/templates/oscar/preferences.html:151 #: searx/templates/oscar/preferences.html:163 -#: searx/templates/oscar/preferences.html:175 #: searx/templates/simple/preferences.html:88 msgid "Shortcut" msgstr "Scurtătură" -#: searx/templates/oscar/preferences.html:164 -#: searx/templates/oscar/preferences.html:174 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Limba selectată" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "Interval de timp" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "Timp mediu" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Timp maxim" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "Aceasta este lista de module de răspundere instantă a lui searx." -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Nume" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Cuvinte cheie" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Descriere" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Exemple" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "Aceasta este lista de cookie-uri și valorile lor pe care searx le stochează pe calculatorul dumneavoastră." -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "Cu acea listă puteți evalua nivelul de transparență al lui searx." -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Nume cookie" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Valuare" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "URL-ul de căutare al preferințelor salvate curent" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/ru/LC_MESSAGES/messages.mo b/searx/translations/ru/LC_MESSAGES/messages.mo Binary files differindex c6bcdd1b6..7132a8c1f 100644 --- a/searx/translations/ru/LC_MESSAGES/messages.mo +++ b/searx/translations/ru/LC_MESSAGES/messages.mo diff --git a/searx/translations/ru/LC_MESSAGES/messages.po b/searx/translations/ru/LC_MESSAGES/messages.po index befe7f963..ec7975b5f 100644 --- a/searx/translations/ru/LC_MESSAGES/messages.po +++ b/searx/translations/ru/LC_MESSAGES/messages.po @@ -5,7 +5,7 @@ # Translators: # Andrey, 2017-2019 # dimqua <dimqua@riseup.net>, 2015 -# dimqua <dimqua@riseup.net>, 2015 +# dimqua <dimqua@riseup.net>, 2015,2017 # dimqua <dimqua@riseup.net>, 2017 # John DOe <is-kir@ya.ru>, 2018 # Дмитрий Михирев, 2016-2017 @@ -13,8 +13,8 @@ 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 12:11+0000\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" "Last-Translator: Andrey\n" "Language-Team: Russian (http://www.transifex.com/asciimoo/searx/language/ru/)\n" "MIME-Version: 1.0\n" @@ -36,63 +36,63 @@ msgstr "ошибка выполнения запроса" msgid "unexpected crash" msgstr "неожиданный сбой" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "файлы" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "общие" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "музыка" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "социальные сети" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "картинки" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "видео" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "it" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "новости" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "карты" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "наука" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Неправильные параметры, измените настройки" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Настройки некорректны" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "ошибка поиска" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} минут(а) назад" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} час(ов), {minutes} минут(а) назад" @@ -112,29 +112,28 @@ msgstr "Статистические функции" msgid "Compute {functions} of the arguments" msgstr "Вычисляет {functions} от аргументов" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Время поиска (сек)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Загрузка страниц (сек)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Попаданий" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Попаданий за результат" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Ошибки" @@ -146,9 +145,15 @@ msgstr "{title} (УСТАРЕВШИЕ)" msgid "This entry has been superseded by" msgstr "Эта запись была заменена на" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "Нет аннотации для этой публикации." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "Перезапись DOAI" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Позволяет получить бесплатную версию запрашиваемой статьи, если таковая имеется" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -162,16 +167,6 @@ msgstr "Бесконечная прокрутка" 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 @@ -334,8 +329,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -407,8 +402,8 @@ 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/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" @@ -423,8 +418,8 @@ msgstr "Категория" #: 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/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 @@ -442,7 +437,7 @@ msgstr "Блокировать" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -452,7 +447,7 @@ msgstr "Настройки сохраняются в ваших файлах coo #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -462,7 +457,7 @@ msgstr "Эти файлы используются исключительно д #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -470,14 +465,14 @@ msgstr "сохранить" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: 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/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -648,23 +643,23 @@ msgid "General" msgstr "Общие" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Поисковые системы" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Плагины" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Ответчики" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Cookie" @@ -715,88 +710,78 @@ msgstr "Стиль для выбранной темы" 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:151 #: 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 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Выбранный язык" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "Временной диапазон" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "Среднее время" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Максимальное время" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "Это список модулей мгновенного ответа searx" -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Имя" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Ключевые слова" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Описание" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Примеры" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 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 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "С помощью этого списка можно оценить прозрачность searx." -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Имя файла cookie" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Значение" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "URL поиска для текущих сохраненных параметров" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/sk/LC_MESSAGES/messages.mo b/searx/translations/sk/LC_MESSAGES/messages.mo Binary files differindex 0d8f6fa70..7156b51dd 100644 --- a/searx/translations/sk/LC_MESSAGES/messages.mo +++ b/searx/translations/sk/LC_MESSAGES/messages.mo diff --git a/searx/translations/sk/LC_MESSAGES/messages.po b/searx/translations/sk/LC_MESSAGES/messages.po index ebf1bba55..60ef06461 100644 --- a/searx/translations/sk/LC_MESSAGES/messages.po +++ b/searx/translations/sk/LC_MESSAGES/messages.po @@ -8,16 +8,16 @@ 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" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" +"Last-Translator: Jan Hovancik\n" "Language-Team: Slovak (http://www.transifex.com/asciimoo/searx/language/sk/)\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: sk\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" #: searx/search.py:137 searx/search.py:182 msgid "timeout" @@ -31,63 +31,63 @@ msgstr "" msgid "unexpected crash" msgstr "" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "súbory" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "všeobecné" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "hudba" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "sociálne médiá" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "obrázky" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "videá" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "technika" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "správy" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "mapy" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "veda" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Neplatné nastavenia, upravte svoje hodnoty, prosím" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "chyba vyhľadávania" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} min. pred" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} hod., {minutes} min. pred" @@ -107,29 +107,28 @@ msgstr "Štatistické funkcie" msgid "Compute {functions} of the arguments" msgstr "Vypočítať {functions} argumentov" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Načítanie vyhľadávača (sek)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Načítanie stránky (sek)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 searx/templates/oscar/results.html:95 #: searx/templates/simple/results.html:20 msgid "Number of results" msgstr "Počet výsledkov" -#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Chyby" @@ -141,9 +140,15 @@ msgstr "{title} (ZASTARANÉ)" msgid "This entry has been superseded by" msgstr "Táto položka bola nahradená" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "" +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "Prepis DOAI" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Vyhnúť sa plateným bránam presmerovaním na verejne prístupné verzie publikácií ak sú k dispozícii" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -157,16 +162,6 @@ msgstr "Nekonečné posúvanie" msgid "Automatically load next page when scrolling to bottom of current page" msgstr "Automaticky načítať ďalšiu stránku pri posunutí na koniec aktuálnej stránky" -#: 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 "Vyhnúť sa plateným bránam presmerovaním na verejne prístupné verzie publikácií ak sú k dispozícii" - #: searx/plugins/open_results_on_new_tab.py:18 #: searx/templates/oscar/preferences.html:114 #: searx/templates/simple/preferences.html:149 @@ -329,8 +324,8 @@ msgstr "Metóda" #: 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -402,8 +397,8 @@ msgstr "poruba@contours.cz" #: 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/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" @@ -418,8 +413,8 @@ msgstr "Kategória" #: 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/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 @@ -437,7 +432,7 @@ msgstr "Blokovať" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -447,7 +442,7 @@ msgstr "Tieto nastavenia sú uložené v cookies, čo nám umožňuje neukladať #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -457,7 +452,7 @@ msgstr "Tieto cookies slúžia výhradné pre vaše pohodlie a nie sú používa #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -465,14 +460,14 @@ msgstr "uložiť" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: searx/templates/simple/preferences.html:186 msgid "Reset defaults" msgstr "Obnoviť predvolené" #: searx/templates/courgette/preferences.html:129 #: searx/templates/legacy/preferences.html:126 -#: searx/templates/oscar/preferences.html:306 +#: searx/templates/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -643,23 +638,23 @@ msgid "General" msgstr "Všeobecné" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Vyhľadávače" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Zásuvné moduly" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Rýchle odpovede" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Cookies" @@ -710,88 +705,78 @@ msgstr "Vyberte si štýl pre túto tému" msgid "Style" msgstr "Štýl" -#: 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:151 #: searx/templates/oscar/preferences.html:163 -#: searx/templates/oscar/preferences.html:175 #: searx/templates/simple/preferences.html:88 msgid "Shortcut" msgstr "Skratka" -#: searx/templates/oscar/preferences.html:164 -#: searx/templates/oscar/preferences.html:174 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "Časový rozsah" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "Priemerný čas" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Maximálny čas" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "Toto je zoznam modulov rýchlej odpovede pre searx." -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Názov" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Kľúčové slová" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Popis" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Príklady" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "Toto je zoznam cookies a ich hodnôt uložených searx na vašom počítači" -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "Pomocou tohto zoznamu môžte vidieť transparentnosť searx." -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Názov cookie" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Hodnota" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/sl/LC_MESSAGES/messages.mo b/searx/translations/sl/LC_MESSAGES/messages.mo Binary files differindex b2cf9e1b1..9e980f78c 100644 --- a/searx/translations/sl/LC_MESSAGES/messages.mo +++ b/searx/translations/sl/LC_MESSAGES/messages.mo diff --git a/searx/translations/sl/LC_MESSAGES/messages.po b/searx/translations/sl/LC_MESSAGES/messages.po index 3ce7f97d6..77ef61b8c 100644 --- a/searx/translations/sl/LC_MESSAGES/messages.po +++ b/searx/translations/sl/LC_MESSAGES/messages.po @@ -8,8 +8,8 @@ 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-05-01 08:59+0000\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+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" @@ -31,63 +31,63 @@ msgstr "napaka poizvedbe" msgid "unexpected crash" msgstr "nepričakovana napaka" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "datoteke" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "splošno" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "glasba" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "družabna omrežja" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "slike" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "videi" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "informatika" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "novice" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "zemljevid" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "znanost" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Neveljavne nastavitve. Prosimo, preverite vašo konfiguracijo" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Neveljavne nastavitve" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "napaka pri iskanju" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} minut nazaj" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "pred {hours} urami in {minutes} minut" @@ -107,29 +107,28 @@ msgstr "Statistične funkcije" msgid "Compute {functions} of the arguments" msgstr "Izračunaj {functions} argumentov" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Čas iskanja (sek.)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Čas nalaganja (sek.)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 searx/templates/oscar/results.html:95 #: searx/templates/simple/results.html:20 msgid "Number of results" msgstr "Število zadetkov" -#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Točke" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Točke na zadetek" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Napake" @@ -141,9 +140,15 @@ msgstr "{title} (ZASTARANO)" msgid "This entry has been superseded by" msgstr "Ta vnos je presegel" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "" +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "prepisovanje DOAI" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Izogibanje plačilom s preusmeritvijo na prostodostopne različice publikacij, ko so na voljo" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -157,16 +162,6 @@ msgstr "Neskončno drsenje" msgid "Automatically load next page when scrolling to bottom of current page" msgstr "Samodejno naloži naslednjo stran ob ogledu dna trenutne strani" -#: 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 "Izogibanje plačilom s preusmeritvijo na prostodostopne različice publikacij, ko so na voljo" - #: searx/plugins/open_results_on_new_tab.py:18 #: searx/templates/oscar/preferences.html:114 #: searx/templates/simple/preferences.html:149 @@ -329,8 +324,8 @@ msgstr "Metoda" #: 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -402,8 +397,8 @@ msgstr "Trenutno uporabljeni iskalniki" #: 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/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" @@ -418,8 +413,8 @@ msgstr "Kategorija" #: 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/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 @@ -437,7 +432,7 @@ msgstr "Blokiraj" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -447,7 +442,7 @@ msgstr "Te nastavitve so shranjene v vaših piškotkih; to nam omogoča, da ne h #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -457,7 +452,7 @@ msgstr "Ti piškotki so za boljšo izkušnjo, ne uporabljamo jih za sledenje." #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -465,14 +460,14 @@ msgstr "shrani" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: searx/templates/simple/preferences.html:186 msgid "Reset defaults" msgstr "Ponastavi na privzeto" #: searx/templates/courgette/preferences.html:129 #: searx/templates/legacy/preferences.html:126 -#: searx/templates/oscar/preferences.html:306 +#: searx/templates/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -643,23 +638,23 @@ msgid "General" msgstr "Splošno" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Iskalniki" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Vtičniki" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Ponudniki odgovorov" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Piškotki" @@ -710,88 +705,78 @@ msgstr "Izberite stil za trenutno temo" msgid "Style" msgstr "Stil" -#: 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 "Preusmeri na prosto dostopne različice publikacij, ko so na voljo (zahtevan vtičnik)" - +#: searx/templates/oscar/preferences.html:151 #: searx/templates/oscar/preferences.html:163 -#: searx/templates/oscar/preferences.html:175 #: searx/templates/simple/preferences.html:88 msgid "Shortcut" msgstr "Bližnjica" -#: searx/templates/oscar/preferences.html:164 -#: searx/templates/oscar/preferences.html:174 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Izbrani jezik" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "Časovni razpon" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "Povprečni čas" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Največji čas" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "To je seznam modulov searx za takojšnje odgovore." -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Ime" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Ključne besede" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Opis" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Primeri" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "To je seznam piškotkov in pripadajočih vrednosti, ki jih searx hrani na vašem računalniku." -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "S tem seznamom lahko ocenite transparentnost searx." -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Ime piškotka" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Vrednost" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "Iskalni URL trenutno shranjenih nastavitev" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/sr/LC_MESSAGES/messages.mo b/searx/translations/sr/LC_MESSAGES/messages.mo Binary files differindex 65efaaa1a..d7585916f 100644 --- a/searx/translations/sr/LC_MESSAGES/messages.mo +++ b/searx/translations/sr/LC_MESSAGES/messages.mo diff --git a/searx/translations/sr/LC_MESSAGES/messages.po b/searx/translations/sr/LC_MESSAGES/messages.po index b676f3dcc..01e36b1e8 100644 --- a/searx/translations/sr/LC_MESSAGES/messages.po +++ b/searx/translations/sr/LC_MESSAGES/messages.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PROJECT project. # # Translators: +# Marc Abonce Seguin, 2019 # jugi1, 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-03 11:24+0000\n" -"Last-Translator: jugi1\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-07-28 05:07+0000\n" +"Last-Translator: Marc Abonce Seguin\n" "Language-Team: Serbian (http://www.transifex.com/asciimoo/searx/language/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -31,63 +32,63 @@ msgstr "захтевај изузетак" msgid "unexpected crash" msgstr "неочекивани пад" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "фајлови" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "уопштено" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "музика" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "друштвени медији" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "слике" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "видео" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "ит" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "новости" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "мапа" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "наука" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Неважеће поставке, молимо уредите свој избор" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Неважећа подешавања" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "грешка у претрази" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} минут(а) назад" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} час(a), {minutes} минут(а) назад" @@ -105,31 +106,30 @@ msgstr "Статистичке функције" #: searx/answerers/statistics/answerer.py:54 msgid "Compute {functions} of the arguments" -msgstr "Израчунајте {функције} аргумената" +msgstr "Израчунајте {functions} аргумената" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Време претраге (сек)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Учитавање странице (сек)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Резултати" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Остварени резултати" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Грешке" @@ -141,9 +141,15 @@ msgstr "{наслов} (ЗАСТАРЕЛО)" msgid "This entry has been superseded by" msgstr "Овај унос је заменио" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "Абстракт није доступан за ову публикацију." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "Препис DOAI" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Избегните плаћање у случају да је доступна бесплатна публикација" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -157,16 +163,6 @@ msgstr "Бесконачно померање" 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 @@ -329,8 +325,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -402,8 +398,8 @@ 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/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" @@ -418,8 +414,8 @@ msgstr "Категорија" #: 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/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 @@ -437,7 +433,7 @@ msgstr "Блокирај" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -447,7 +443,7 @@ msgstr "Ова подешавања се чувају у вашим колачи #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -457,7 +453,7 @@ msgstr "Ови колачићи служе Вашој погодности, ми #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -465,14 +461,14 @@ msgstr "сними" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: 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/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -643,23 +639,23 @@ msgid "General" msgstr "Уопштено" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Претраживачи" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Плагини" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Одговори" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Колачићи" @@ -710,88 +706,78 @@ msgstr "Изаберите стил за ову тему" 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:151 #: 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 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Изабрани језик" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "Временски опсег" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "Просечно време" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Макс. време" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "Ово је листа searx инстант одговора." -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Име" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Кључне речи" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Опис" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Примери" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "Ово је листа колачића и њихова вредност се снима на вашем рачунару." -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "Са овом листом можете бити searx транспаренти" -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Име колачића" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Вредност" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "Pretražite URL адресу тренутно сачуваних поставки" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/sv/LC_MESSAGES/messages.mo b/searx/translations/sv/LC_MESSAGES/messages.mo Binary files differindex 73d36de8c..d432f219a 100644 --- a/searx/translations/sv/LC_MESSAGES/messages.mo +++ b/searx/translations/sv/LC_MESSAGES/messages.mo diff --git a/searx/translations/sv/LC_MESSAGES/messages.po b/searx/translations/sv/LC_MESSAGES/messages.po index e8b01c832..1949932d1 100644 --- a/searx/translations/sv/LC_MESSAGES/messages.po +++ b/searx/translations/sv/LC_MESSAGES/messages.po @@ -4,14 +4,14 @@ # # Translators: # Jonatan Nyberg, 2016-2017 -# Jonatan Nyberg, 2018 +# Jonatan Nyberg, 2018-2019 # 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-07-24 18:39+0000\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-28 20:53+0000\n" "Last-Translator: Jonatan Nyberg\n" "Language-Team: Swedish (http://www.transifex.com/asciimoo/searx/language/sv/)\n" "MIME-Version: 1.0\n" @@ -33,63 +33,63 @@ msgstr "begär undantag" msgid "unexpected crash" msgstr "oväntad krasch" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "filer" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "allmänt" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "musik" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "sociala medier" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "bilder" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "videor" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "it" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "nyheter" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "karta" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "vetenskap" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Ogiltiga inställningar, vänligen redigerar dina inställningar" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Ogiltiga inställningar" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "sökfel" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} minut(er) sedan" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} timm(e/ar), {minutes} minut(er) sedan" @@ -109,29 +109,28 @@ msgstr "Statistikfunktioner" msgid "Compute {functions} of the arguments" msgstr "Beräkna {functions} av argumenten" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Sökmotor tid (sek)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Sidan laddas (sek)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 searx/templates/oscar/results.html:95 #: searx/templates/simple/results.html:20 msgid "Number of results" msgstr "Antal resultat" -#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Poäng" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Poäng per resultat" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Fel" @@ -143,9 +142,15 @@ msgstr "{title} (FÖRÅLDRAD)" msgid "This entry has been superseded by" msgstr "Detta inlägg har ersatts av" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "Inget abstract är tillgänglig för denna publikation." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "DOAI-omskrivning" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Undvik betalväggar genom att omdirigera till öppen tillgång versioner av publikationer när de är tillgängliga" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -159,16 +164,6 @@ msgstr "Oändlig bläddring" msgid "Automatically load next page when scrolling to bottom of current page" msgstr "Automatiskt ladda nästa sida när du bläddrar till botten av aktuell sida" -#: searx/plugins/oa_doi_rewrite.py:9 -msgid "Open Access DOI rewrite" -msgstr "Open Access DOI-omskrivning" - -#: searx/plugins/oa_doi_rewrite.py:10 -msgid "" -"Avoid paywalls by redirecting to open-access versions of publications when " -"available" -msgstr "Undvik betalväggar genom att omdirigera till öppen tillgång versioner av publikationer när de är tillgängliga" - #: searx/plugins/open_results_on_new_tab.py:18 #: searx/templates/oscar/preferences.html:114 #: searx/templates/simple/preferences.html:149 @@ -331,8 +326,8 @@ msgstr "Metod" #: 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -404,8 +399,8 @@ msgstr "För tillfället används sökmotorer" #: 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/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" @@ -420,8 +415,8 @@ msgstr "Kategori" #: 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/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 @@ -439,7 +434,7 @@ msgstr "Blockera" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -449,7 +444,7 @@ msgstr "Dessa inställningar lagras i dina kakor, vilket gör att vi inte lagrar #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -459,7 +454,7 @@ msgstr "Dessa kakor tjänar din egen bekvämlighet, vi använder inte dessa kako #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -467,14 +462,14 @@ msgstr "spara" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: searx/templates/simple/preferences.html:186 msgid "Reset defaults" msgstr "Återställ standardvärden" #: searx/templates/courgette/preferences.html:129 #: searx/templates/legacy/preferences.html:126 -#: searx/templates/oscar/preferences.html:306 +#: searx/templates/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -645,23 +640,23 @@ msgid "General" msgstr "Allmänt" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Sökmotorer" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Insticksmoduler" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Besvarare" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Kakor" @@ -712,88 +707,78 @@ msgstr "Välj stil för detta tema" msgid "Style" msgstr "Stil" -#: searx/templates/oscar/preferences.html:122 -msgid "Open Access DOI resolver" -msgstr "Open Access DOI-lösare" - -#: searx/templates/oscar/preferences.html:123 -msgid "" -"Redirect to open-access versions of publications when available (plugin " -"required)" -msgstr "Omdirigera till öppna versioner av publikationer när de är tillgängliga (tillägg krävs)" - +#: searx/templates/oscar/preferences.html:151 #: searx/templates/oscar/preferences.html:163 -#: searx/templates/oscar/preferences.html:175 #: searx/templates/simple/preferences.html:88 msgid "Shortcut" msgstr "Genväg" -#: searx/templates/oscar/preferences.html:164 -#: searx/templates/oscar/preferences.html:174 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Valt språk" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "Tidsintervall" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "Genomsnittstid" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Max tid" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "Detta är en lista över searxs snabbsvarsmoduler." -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Namn" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Nyckelord" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Beskrivning" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Exempel" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "Detta är en lista över kakor och deras värden som searx lagrar på din dator." -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "Med denna lista kan du bedöma searx öppenhet." -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Kaknamn" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Värde" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "Sökadressen för de för nuvarande sparade inställningarna" -#: searx/templates/oscar/preferences.html:301 +#: 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." @@ -835,22 +820,22 @@ msgstr "Närsom" #: searx/templates/oscar/time-range.html:6 #: searx/templates/simple/time-range.html:6 msgid "Last day" -msgstr "Senaste dag" +msgstr "Igår" #: searx/templates/oscar/time-range.html:9 #: searx/templates/simple/time-range.html:9 msgid "Last week" -msgstr "Senaste vecka" +msgstr "Förra veckan" #: searx/templates/oscar/time-range.html:12 #: searx/templates/simple/time-range.html:12 msgid "Last month" -msgstr "Senaste månad" +msgstr "Förra månaden" #: searx/templates/oscar/time-range.html:15 #: searx/templates/simple/time-range.html:15 msgid "Last year" -msgstr "Senaste år" +msgstr "Förra året" #: searx/templates/oscar/messages/first_time.html:6 #: searx/templates/oscar/messages/no_data_available.html:3 diff --git a/searx/translations/ta/LC_MESSAGES/messages.mo b/searx/translations/ta/LC_MESSAGES/messages.mo Binary files differnew file mode 100644 index 000000000..356472f65 --- /dev/null +++ b/searx/translations/ta/LC_MESSAGES/messages.mo diff --git a/searx/translations/ta/LC_MESSAGES/messages.po b/searx/translations/ta/LC_MESSAGES/messages.po new file mode 100644 index 000000000..dbb9aa2ae --- /dev/null +++ b/searx/translations/ta/LC_MESSAGES/messages.po @@ -0,0 +1,1003 @@ +# Translations template for PROJECT. +# Copyright (C) 2017 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# +# Translators: +# Balaji Ravichandran <rbalajives@gmail.com>, 2019 +# gurulenin <guruleninn@gmail.com>, 2019 +# Manimaran.K <manimaraninam1027@gmail.com>, 2019 +# Nazigai Kallan <arn1291@gmail.com>, 2019 +# POORAJITH ST <gokulkannanst@gmail.com>, 2019 +# Prasanna Venkadesh <prasmailme@gmail.com>, 2019 +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: Noémi Ványi <sitbackandwait@gmail.com>\n" +"Language-Team: Tamil (http://www.transifex.com/asciimoo/searx/language/ta/)\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: ta\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 "கோப்புகள்" + +#: searx/webapp.py:136 +msgid "general" +msgstr "பொதுத் தேடல்" + +#: searx/webapp.py:137 +msgid "music" +msgstr "இசை" + +#: searx/webapp.py:138 +msgid "social media" +msgstr "சமூக தளங்கள்" + +#: searx/webapp.py:139 +msgid "images" +msgstr "படங்கள்" + +#: searx/webapp.py:140 +msgid "videos" +msgstr "காணொளிகள்" + +#: searx/webapp.py:141 +msgid "it" +msgstr "" + +#: searx/webapp.py:142 +msgid "news" +msgstr "செய்திகள்" + +#: searx/webapp.py:143 +msgid "map" +msgstr "வரைப்படம்" + +#: searx/webapp.py:144 +msgid "science" +msgstr "அறிவியல்" + +#: searx/webapp.py:398 searx/webapp.py:653 +msgid "Invalid settings, please edit your preferences" +msgstr "ஏற்க முடியாத அமைப்பு,உங்கள் விருப்பத்தை தொகுக்கவும்" + +#: searx/webapp.py:410 +msgid "Invalid settings" +msgstr "ஏற்கமுடியாத அமைப்பு" + +#: searx/webapp.py:444 searx/webapp.py:488 +msgid "search error" +msgstr "தேடல் பிழை" + +#: searx/webapp.py:525 +msgid "{minutes} minute(s) ago" +msgstr "{minutes} நிமிடங்களுக்கு முன்னால்" + +#: searx/webapp.py:527 +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 "" + +#: searx/engines/__init__.py:194 +msgid "Engine time (sec)" +msgstr "எந்திர நேரம் (நொடிகளில்)" + +#: searx/engines/__init__.py:198 +msgid "Page loads (sec)" +msgstr "" + +#: searx/engines/__init__.py:202 searx/templates/oscar/results.html:95 +#: searx/templates/simple/results.html:20 +msgid "Number of results" +msgstr "முடிவுகளின் எண்ணிக்கை" + +#: searx/engines/__init__.py:206 +msgid "Scores" +msgstr "மதிப்புகள்" + +#: searx/engines/__init__.py:210 +msgid "Scores per result" +msgstr "தேடல் மதிப்பு" + +#: searx/engines/__init__.py:214 +msgid "Errors" +msgstr "பிழைகள்" + +#: searx/engines/pdbe.py:87 +msgid "{title} (OBSOLETE)" +msgstr "" + +#: searx/engines/pdbe.py:91 +msgid "This entry has been superseded by" +msgstr "" + +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "பணம் பறிக்கும் தளங்களை தவிர்த்து முடிந்த வரையில் open-access பதிப்புகளை வழங்கும் தளங்களுக்கு செல்லவும்" + +#: 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/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 "இணைப்புகளை புதிய Tab-ல் திறக்கவும்" + +#: 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 "\"ip\" என்று தேடினால் உங்கள் ip முகவரியையும், \"user agent\" என்று தேடினால் உங்கள் user-agent-ம் காட்டப்படும்." + +#: 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 "Vim போன்ற hotkeys" + +#: 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:153 +#: searx/templates/oscar/preferences.html:161 +#: 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:150 +#: searx/templates/oscar/preferences.html:164 +#: 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: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 "அனுமதி" + +#: 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: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 "" + +#: 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 "இந்த நினைவிகள் உங்களின் வசதிக்காக மட்டுமே. இந்த நினைவிகள் உங்களை உளவு பார்க்காது." + +#: 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 "சேமி" + +#: 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 "இயல்புநிலைக்குத் திருப்பவும்" + +#: 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 "பின்செல்" + +#: 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 "தேடல் முடிவுகள் புதிய Tab-ல்" + +#: 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:134 +#: searx/templates/simple/preferences.html:76 +msgid "Engines" +msgstr "எந்திரங்கள்" + +#: searx/templates/oscar/preferences.html:15 +#: searx/templates/oscar/preferences.html:207 +msgid "Plugins" +msgstr "நீட்சி" + +#: searx/templates/oscar/preferences.html:16 +#: searx/templates/oscar/preferences.html:233 +msgid "Answerers" +msgstr "பதில்கள்" + +#: searx/templates/oscar/preferences.html:17 +#: searx/templates/oscar/preferences.html:260 +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-ன் வடிவமைப்பை மாற்று" + +#: 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:151 +#: searx/templates/oscar/preferences.html:163 +#: searx/templates/simple/preferences.html:88 +msgid "Shortcut" +msgstr "" + +#: 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 "நேர வரம்பு" + +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 +#: searx/templates/simple/preferences.html:92 +msgid "Avg. time" +msgstr "சராசரி நேரம்" + +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 +#: searx/templates/simple/preferences.html:93 +msgid "Max time" +msgstr "அதிகபட்ச நேரம்" + +#: searx/templates/oscar/preferences.html:236 +msgid "This is the list of searx's instant answering modules." +msgstr "இது searx-ன் உடனடி பதிலளிக்கும் தொகுதிகளின் பட்டியல்." + +#: searx/templates/oscar/preferences.html:240 +msgid "Name" +msgstr "பெயர்" + +#: searx/templates/oscar/preferences.html:241 +msgid "Keywords" +msgstr "குறிப்புச்சொற்கள்" + +#: searx/templates/oscar/preferences.html:242 +msgid "Description" +msgstr "விளக்கம்" + +#: searx/templates/oscar/preferences.html:243 +msgid "Examples" +msgstr "எடுத்துக்காட்டுகள்" + +#: searx/templates/oscar/preferences.html:263 +msgid "" +"This is the list of cookies and their values searx is storing on your " +"computer." +msgstr "இந்தப் பட்டியல் உங்கள் கணினியில் சேமிக்கப்பட்டுள்ள searx-ன் நினைவிகள் மற்றும் அதனுடைய மதிப்புகள்." + +#: searx/templates/oscar/preferences.html:264 +msgid "With that list, you can assess searx transparency." +msgstr "இந்தப் பட்டியல் மூலம் நீங்கள் searx-ன் வெளிப்படைத்தன்மையை மதிப்பிடலாம்." + +#: searx/templates/oscar/preferences.html:269 +msgid "Cookie name" +msgstr "நினைவியின் பெயர்" + +#: searx/templates/oscar/preferences.html:270 +msgid "Value" +msgstr "மதிப்பு" + +#: 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 "தேடல் முடிவுகள்" + +#: 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-யைத் தேடவும்" + +#: 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/translations/te/LC_MESSAGES/messages.mo b/searx/translations/te/LC_MESSAGES/messages.mo Binary files differindex 57488bf0b..f32870e9a 100644 --- a/searx/translations/te/LC_MESSAGES/messages.mo +++ b/searx/translations/te/LC_MESSAGES/messages.mo diff --git a/searx/translations/te/LC_MESSAGES/messages.po b/searx/translations/te/LC_MESSAGES/messages.po index 8da1506cc..20df5b791 100644 --- a/searx/translations/te/LC_MESSAGES/messages.po +++ b/searx/translations/te/LC_MESSAGES/messages.po @@ -8,9 +8,9 @@ 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" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" +"Last-Translator: Noémi Ványi <sitbackandwait@gmail.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" @@ -31,63 +31,63 @@ msgstr "" msgid "unexpected crash" msgstr "" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "ఫైళ్ళు" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "సాధారణ" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "సంగీతం" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "సోషల్ మీడియా" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "చిత్రాలు" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "వీడియోలు" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "ఐటి" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "వార్తలు" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "పటము" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "విజ్ఞానశాస్త్రం" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "చెల్లని అమరికలు" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "శోధనలో దోషము" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} నిమిషము(ల) క్రిందట" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "" @@ -107,29 +107,28 @@ msgstr "సాంఖ్యకశాస్త్ర ప్రమేయాలు" msgid "Compute {functions} of the arguments" msgstr "" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "దోషములు" @@ -141,8 +140,14 @@ msgstr "" msgid "This entry has been superseded by" msgstr "" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" msgstr "" #: searx/plugins/https_rewrite.py:32 @@ -157,16 +162,6 @@ msgstr "" 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 @@ -329,8 +324,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -402,8 +397,8 @@ 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/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" @@ -418,8 +413,8 @@ msgstr "వర్గము" #: 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/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 @@ -437,7 +432,7 @@ msgstr "అడ్డగించు" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -447,7 +442,7 @@ msgstr "" #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -457,7 +452,7 @@ msgstr "" #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -465,14 +460,14 @@ msgstr "దాచు" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: 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/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -643,23 +638,23 @@ msgid "General" msgstr "సాధారణ" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "యంత్రాలు" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "ప్లగిన్లు" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "జవాబులు" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "కుకీలు" @@ -710,88 +705,78 @@ msgstr "" 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:151 #: 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 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "ఎంచుకున్న భాష" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "కాల శ్రేణి" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "సగటు సమయం" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "గరిష్ఠ సమయం" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "" -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "పేరు" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "వర్ణన" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "ఉదాహరణలు" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "" -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "" -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "కుకీ పేరు" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "విలువ" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/tr/LC_MESSAGES/messages.mo b/searx/translations/tr/LC_MESSAGES/messages.mo Binary files differindex ec47020aa..8698157bd 100644 --- a/searx/translations/tr/LC_MESSAGES/messages.mo +++ b/searx/translations/tr/LC_MESSAGES/messages.mo diff --git a/searx/translations/tr/LC_MESSAGES/messages.po b/searx/translations/tr/LC_MESSAGES/messages.po index a15c85609..5217849ea 100644 --- a/searx/translations/tr/LC_MESSAGES/messages.po +++ b/searx/translations/tr/LC_MESSAGES/messages.po @@ -10,9 +10,9 @@ 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-06 17:22+0000\n" -"Last-Translator: Arda Kılıçdağı <ardakilicdagi@gmail.com>\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" +"Last-Translator: Noémi Ványi <sitbackandwait@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" @@ -33,63 +33,63 @@ msgstr "istekte bir hata oluştu" msgid "unexpected crash" msgstr "beklenmmeyen hata" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "dosyalar" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "genel" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "müzik" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "sosyal medya" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "görseller" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "videolar" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "bilişim" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "haberler" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "harita" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "bilim" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Hatalı ayar girildi, lütfen ayarlarınızı kontrol edin" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Hatalı ayar" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "arama hatası" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} dakika() önce" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} saat(), {minutes} dakika() önce" @@ -109,29 +109,28 @@ msgstr "İstatistik fonksiyonları" msgid "Compute {functions} of the arguments" msgstr "Argümanların {functions} değerlerini hesapla" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Motor cevap süresi (sn)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Sayfa yüklenmesi (sn)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 searx/templates/oscar/results.html:95 #: searx/templates/simple/results.html:20 msgid "Number of results" msgstr "Sonuç sayısı" -#: searx/engines/__init__.py:206 searx/engines/flycheck___init__.py:213 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Skor" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Sonuç başına skor" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Hatalar" @@ -143,8 +142,14 @@ msgstr "{title} (GEÇERSİZ)" msgid "This entry has been superseded by" msgstr "" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" msgstr "" #: searx/plugins/https_rewrite.py:32 @@ -159,16 +164,6 @@ msgstr "" 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 @@ -331,8 +326,8 @@ msgstr "Sorgu gönderim yöntemi" #: 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -404,8 +399,8 @@ msgstr "Şu anda kullanılan arama motorları" #: 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/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" @@ -420,8 +415,8 @@ msgstr "Türü" #: 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/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 @@ -439,7 +434,7 @@ msgstr "Engelle" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -449,7 +444,7 @@ msgstr "Ayarlar çerezlerinizde saklanır. Verdiğiniz izinler, sizin hakkınız #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -459,7 +454,7 @@ msgstr "Bu çerezler size kolaylık sağlar. Sizi takip etmek için kullanılmaz #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -467,14 +462,14 @@ msgstr "kaydet" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: searx/templates/simple/preferences.html:186 msgid "Reset defaults" msgstr "Varsayılanları sıfırla" #: searx/templates/courgette/preferences.html:129 #: searx/templates/legacy/preferences.html:126 -#: searx/templates/oscar/preferences.html:306 +#: searx/templates/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -645,23 +640,23 @@ msgid "General" msgstr "Genel" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Motorlar" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Eklentiler" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "" @@ -712,88 +707,78 @@ msgstr "" 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:151 #: 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 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "" -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "" -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "" -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/uk/LC_MESSAGES/messages.mo b/searx/translations/uk/LC_MESSAGES/messages.mo Binary files differindex 6610dfaa7..91b533456 100644 --- a/searx/translations/uk/LC_MESSAGES/messages.mo +++ b/searx/translations/uk/LC_MESSAGES/messages.mo diff --git a/searx/translations/uk/LC_MESSAGES/messages.po b/searx/translations/uk/LC_MESSAGES/messages.po index 7c6ac5aac..bd4b294c2 100644 --- a/searx/translations/uk/LC_MESSAGES/messages.po +++ b/searx/translations/uk/LC_MESSAGES/messages.po @@ -5,14 +5,15 @@ # Translators: # pvhn4 <pvhn4@protonmail.com>, 2017 # 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" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" +"Last-Translator: zubr139\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" @@ -33,63 +34,63 @@ msgstr "" msgid "unexpected crash" msgstr "" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "файли" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "загальні" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "музика" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "соцмережі" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "зображення" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "відео" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "IT" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "новини" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "карти" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "наука" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "Невірні налаштування, будь ласка, зробіть зміни в налаштуваннях" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "помилка пошуку" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} хвилин тому" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} годин, {minutes} хвилин тому" @@ -109,29 +110,28 @@ msgstr "Функції статистики" msgid "Compute {functions} of the arguments" msgstr "Розрахувати {functions} аргументів" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "Час пошуку (сек)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "Час завантадення (сек)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Влучань" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "Влучань за результат" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Помилок" @@ -143,9 +143,15 @@ msgstr "{title} (OBSOLETE)" msgid "This entry has been superseded by" msgstr "Цей запис був змінений" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "" +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "Переписати DOAI" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "Уникайте платіжних каналів шляхом переадресації на версії публікацій з відкритим доступом, коли це можливо" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -159,16 +165,6 @@ msgstr "Нескінченна прокрутка" 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 @@ -331,8 +327,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -404,8 +400,8 @@ 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/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" @@ -420,8 +416,8 @@ msgstr "Категорія" #: 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/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 @@ -439,7 +435,7 @@ msgstr "Заблокувати" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -449,7 +445,7 @@ msgstr "Налаштування зберігаються в ваших cookie- #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -459,7 +455,7 @@ msgstr "Ці cookie-файли необхідні винятково для ва #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -467,14 +463,14 @@ msgstr "зберегти" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: 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/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -645,23 +641,23 @@ msgid "General" msgstr "Загальні" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "Пошукові системи" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Плагіни" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Відповідачі" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Cookie-файли" @@ -712,88 +708,78 @@ msgstr "Обрати стиль для цієї теми" 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:151 #: 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 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "Часовий діапазон" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "Середній час" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Максимальний час" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "Список модулів миттєвих відповідей searx." -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Назва" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Ключові слова" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Опис" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Приклади" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 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 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "По цьому списку ви можете оцінити відкритість searx." -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Ім'я cookie" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Значення" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/vi/LC_MESSAGES/messages.mo b/searx/translations/vi/LC_MESSAGES/messages.mo Binary files differindex 07dc309ea..687a93d6c 100644 --- a/searx/translations/vi/LC_MESSAGES/messages.mo +++ b/searx/translations/vi/LC_MESSAGES/messages.mo diff --git a/searx/translations/vi/LC_MESSAGES/messages.po b/searx/translations/vi/LC_MESSAGES/messages.po index d8a1a0c94..4ad30d0b0 100644 --- a/searx/translations/vi/LC_MESSAGES/messages.po +++ b/searx/translations/vi/LC_MESSAGES/messages.po @@ -8,9 +8,9 @@ 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" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-02-23 17:39+0000\n" +"Last-Translator: Noémi Ványi <sitbackandwait@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" @@ -31,63 +31,63 @@ msgstr "ngoại lệ yêu cầu" msgid "unexpected crash" msgstr "lỗi bất ngờ" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "các tập tin" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "tổng quát" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "âm nhạc" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "mạng xã hội" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "hình ảnh" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "phim" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "CNTT" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "tin tức" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "bản đồ" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "khoa học" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 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 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "Cài đặt không hợp lệ" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "lỗi tìm kiếm" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} phút() trước" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} giờ(), {minutes} phút() trước" @@ -107,29 +107,28 @@ msgstr "Các hàm thống kê" 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 +#: searx/engines/__init__.py:194 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 +#: searx/engines/__init__.py:198 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/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "Điểm số" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 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 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "Các lỗi" @@ -141,9 +140,15 @@ msgstr "{title} (LỖI THỜI)" 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/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "" + +#: searx/plugins/doai_rewrite.py:8 +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/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -157,16 +162,6 @@ msgstr "Cuộn liên tục" 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 @@ -329,8 +324,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -402,8 +397,8 @@ 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/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" @@ -418,8 +413,8 @@ msgstr "Danh mục" #: 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/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 @@ -437,7 +432,7 @@ msgstr "Chặn" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -447,7 +442,7 @@ msgstr "Những cài đặt này được lưu trữ trong các cookie, điều #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -457,7 +452,7 @@ msgstr "Những cookie này chỉ phục vụ cho chính bạn, chúng tôi khô #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -465,14 +460,14 @@ msgstr "lưu" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: 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/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -643,23 +638,23 @@ msgid "General" msgstr "Tổng quát" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: 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 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "Các phần mở rộng" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "Trình trả lời nhanh" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Các cookie" @@ -710,88 +705,78 @@ msgstr "Chọn phong cách cho nền này" 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:151 #: 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 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "Ngôn ngữ được chọn" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: 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/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: 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/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "Thời gian tối đa" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 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 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "Tên" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "Các từ khoá" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "Mô tả" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "Các ví dụ" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 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 +#: searx/templates/oscar/preferences.html:264 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 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Tên cookie" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "Giá trị" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 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 +#: 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." diff --git a/searx/translations/zh_CN/LC_MESSAGES/messages.mo b/searx/translations/zh_CN/LC_MESSAGES/messages.mo Binary files differindex c2006aca1..081fc8818 100644 --- a/searx/translations/zh_CN/LC_MESSAGES/messages.mo +++ b/searx/translations/zh_CN/LC_MESSAGES/messages.mo diff --git a/searx/translations/zh_CN/LC_MESSAGES/messages.po b/searx/translations/zh_CN/LC_MESSAGES/messages.po index 78acb2d40..c37c65114 100644 --- a/searx/translations/zh_CN/LC_MESSAGES/messages.po +++ b/searx/translations/zh_CN/LC_MESSAGES/messages.po @@ -4,7 +4,9 @@ # # Translators: # Crystal RainSlide, 2018 +# Jsthon, 2019 # Mingye Wang <arthur200126@gmail.com>, 2018 +# Noémi Ványi <sitbackandwait@gmail.com>, 2019 # Sion Kazama, 2018 # wenke, 2015 # wenke, 2015-2018 @@ -12,9 +14,9 @@ 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-10 08:32+0000\n" -"Last-Translator: Crystal RainSlide\n" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-03-23 07:45+0000\n" +"Last-Translator: Jsthon\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" @@ -35,63 +37,63 @@ msgstr "请求异常" msgid "unexpected crash" msgstr "意外崩溃" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "文件" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "全部" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "音乐" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" -msgstr "社交媒体" +msgstr "社交" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "图片" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "视频" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" -msgstr "IT" +msgstr "技术" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "新闻" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "地图" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "学术" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "设置无效,请编辑您的首选项" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "设置无效" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "搜索错误" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} 分钟前" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} 小时 {minutes} 分钟前" @@ -111,29 +113,28 @@ msgstr "统计功能" msgid "Compute {functions} of the arguments" msgstr "计算 {functions} 参数" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "搜索引擎时间(秒)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "页面加载(秒)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "得分" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "每个结果的分数" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "错误" @@ -145,9 +146,15 @@ msgstr "{title} (过时)" msgid "This entry has been superseded by" msgstr "此条目已被取代" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "本出版物没有摘要。" +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "DOAI改写" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "尽量重定向到开放访问的文章以避免付费墙(如果可用)" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -161,16 +168,6 @@ msgstr "无限滚动" 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 @@ -333,8 +330,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -406,8 +403,8 @@ 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/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" @@ -422,8 +419,8 @@ msgstr "类别" #: 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/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 @@ -441,7 +438,7 @@ msgstr "阻止" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -451,7 +448,7 @@ msgstr "这些设置被存储在您的 cookie 中,这种保存设置的方式 #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -461,7 +458,7 @@ msgstr "这些 Cookie 信息可辅助您便捷地使用服务,我们不会利 #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -469,14 +466,14 @@ msgstr "保存" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: 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/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -647,23 +644,23 @@ msgid "General" msgstr "常规" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "搜索引擎" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "插件" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "智能答复" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Cookies" @@ -692,7 +689,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 "更改提交表单时使用的请求方法,<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>" +msgstr "更改提交表单时使用的请求方法,<a href=\"https://zh.wikipedia.org/wiki/超文本传输协议#请求方法\" rel=\"external\">深入了解请求方法</a>" #: searx/templates/oscar/preferences.html:87 #: searx/templates/simple/preferences.html:71 @@ -714,88 +711,78 @@ msgstr "选择此主题的样式" 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:151 #: 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 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "选择语言" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "时间范围" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "平均时间" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "最大时间" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "这是 searx 的即时回答模块列表。" -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "名称" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "关键词" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "描述" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "示例" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 msgid "" "This is the list of cookies and their values searx is storing on your " "computer." msgstr "此列表展示了 searx 在您设备上存储的 cookie 信息。" -#: searx/templates/oscar/preferences.html:276 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "您可以基于此表格来评估 searx 的透明度。" -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Cookie 名称" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "值" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "当前保存选项的搜索链接" -#: searx/templates/oscar/preferences.html:301 +#: 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." diff --git a/searx/translations/zh_Hant_TW/LC_MESSAGES/messages.mo b/searx/translations/zh_Hant_TW/LC_MESSAGES/messages.mo Binary files differindex 0b2a3c921..54e063875 100644 --- a/searx/translations/zh_Hant_TW/LC_MESSAGES/messages.mo +++ b/searx/translations/zh_Hant_TW/LC_MESSAGES/messages.mo diff --git a/searx/translations/zh_TW/LC_MESSAGES/messages.mo b/searx/translations/zh_TW/LC_MESSAGES/messages.mo Binary files differindex b6d43e2a8..ee24c1e77 100644 --- a/searx/translations/zh_TW/LC_MESSAGES/messages.mo +++ b/searx/translations/zh_TW/LC_MESSAGES/messages.mo diff --git a/searx/translations/zh_TW/LC_MESSAGES/messages.po b/searx/translations/zh_TW/LC_MESSAGES/messages.po index 0a4796f97..d09317ab2 100644 --- a/searx/translations/zh_TW/LC_MESSAGES/messages.po +++ b/searx/translations/zh_TW/LC_MESSAGES/messages.po @@ -4,15 +4,16 @@ # # Translators: # FIRST AUTHOR <EMAIL@ADDRESS>, 2016 -# Jeff Huang <s8321414@gmail.com>, 2017 +# 黃柏諺 <s8321414@gmail.com>, 2017,2019 +# Marc Abonce Seguin, 2019 # 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" +"POT-Creation-Date: 2017-10-07 19:18+0200\n" +"PO-Revision-Date: 2019-07-28 05:46+0000\n" +"Last-Translator: Marc Abonce Seguin\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" @@ -33,63 +34,63 @@ msgstr "請求例外" msgid "unexpected crash" msgstr "未預期的當機" -#: searx/webapp.py:136 +#: searx/webapp.py:135 msgid "files" msgstr "檔案" -#: searx/webapp.py:137 +#: searx/webapp.py:136 msgid "general" msgstr "一般" -#: searx/webapp.py:138 +#: searx/webapp.py:137 msgid "music" msgstr "音樂" -#: searx/webapp.py:139 +#: searx/webapp.py:138 msgid "social media" msgstr "社群媒體" -#: searx/webapp.py:140 +#: searx/webapp.py:139 msgid "images" msgstr "圖片" -#: searx/webapp.py:141 +#: searx/webapp.py:140 msgid "videos" msgstr "影片" -#: searx/webapp.py:142 +#: searx/webapp.py:141 msgid "it" msgstr "IT" -#: searx/webapp.py:143 +#: searx/webapp.py:142 msgid "news" msgstr "新聞" -#: searx/webapp.py:144 +#: searx/webapp.py:143 msgid "map" msgstr "地圖" -#: searx/webapp.py:145 +#: searx/webapp.py:144 msgid "science" msgstr "科學" -#: searx/webapp.py:399 searx/webapp.py:658 +#: searx/webapp.py:398 searx/webapp.py:653 msgid "Invalid settings, please edit your preferences" msgstr "無效的設定,請編輯您的偏好設定" -#: searx/webapp.py:415 +#: searx/webapp.py:410 msgid "Invalid settings" msgstr "無效的設定" -#: searx/webapp.py:449 searx/webapp.py:493 +#: searx/webapp.py:444 searx/webapp.py:488 msgid "search error" msgstr "搜尋錯誤" -#: searx/webapp.py:530 +#: searx/webapp.py:525 msgid "{minutes} minute(s) ago" msgstr "{minutes} 分鐘前" -#: searx/webapp.py:532 +#: searx/webapp.py:527 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} 小時 {minutes} 分鐘前" @@ -109,29 +110,28 @@ msgstr "統計功能" msgid "Compute {functions} of the arguments" msgstr "計算 {functions} 參數" -#: searx/engines/__init__.py:194 searx/engines/flycheck___init__.py:201 +#: searx/engines/__init__.py:194 msgid "Engine time (sec)" msgstr "引擎時間(秒)" -#: searx/engines/__init__.py:198 searx/engines/flycheck___init__.py:205 +#: searx/engines/__init__.py:198 msgid "Page loads (sec)" msgstr "頁面載入(秒)" -#: searx/engines/__init__.py:202 searx/engines/flycheck___init__.py:209 -#: searx/templates/oscar/results.html:95 +#: searx/engines/__init__.py:202 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 +#: searx/engines/__init__.py:206 msgid "Scores" msgstr "分數" -#: searx/engines/__init__.py:210 searx/engines/flycheck___init__.py:217 +#: searx/engines/__init__.py:210 msgid "Scores per result" msgstr "每個結果的分數" -#: searx/engines/__init__.py:214 searx/engines/flycheck___init__.py:221 +#: searx/engines/__init__.py:214 msgid "Errors" msgstr "錯誤" @@ -143,9 +143,15 @@ msgstr "{title} (已過時)" msgid "This entry has been superseded by" msgstr "此條目已被取代" -#: searx/engines/pubmed.py:74 -msgid "No abstract is available for this publication." -msgstr "此出版品無可用摘要。" +#: searx/plugins/doai_rewrite.py:7 +msgid "DOAI rewrite" +msgstr "DOAI 重寫" + +#: searx/plugins/doai_rewrite.py:8 +msgid "" +"Avoid paywalls by redirecting to open-access versions of publications when " +"available" +msgstr "盡可能重新導向至出版品的開放存取版本,來避免付費牆" #: searx/plugins/https_rewrite.py:32 msgid "Rewrite HTTP links to HTTPS if possible" @@ -159,16 +165,6 @@ msgstr "無限捲動" 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 @@ -331,8 +327,8 @@ 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/oscar/preferences.html:153 +#: searx/templates/oscar/preferences.html:161 #: searx/templates/simple/preferences.html:63 #: searx/templates/simple/preferences.html:90 msgid "SafeSearch" @@ -404,8 +400,8 @@ 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/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" @@ -420,8 +416,8 @@ msgstr "分類" #: 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/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 @@ -439,7 +435,7 @@ msgstr "封鎖" #: searx/templates/courgette/preferences.html:122 #: searx/templates/legacy/preferences.html:119 -#: searx/templates/oscar/preferences.html:297 +#: searx/templates/oscar/preferences.html:285 #: searx/templates/pix-art/preferences.html:73 #: searx/templates/simple/preferences.html:180 msgid "" @@ -449,7 +445,7 @@ msgstr "這些設定只會儲存在您的 cookies 中,這樣我們無需也不 #: searx/templates/courgette/preferences.html:124 #: searx/templates/legacy/preferences.html:121 -#: searx/templates/oscar/preferences.html:299 +#: searx/templates/oscar/preferences.html:287 #: searx/templates/pix-art/preferences.html:75 #: searx/templates/simple/preferences.html:182 msgid "" @@ -459,7 +455,7 @@ msgstr "這些 cookies 僅做為提供您方便之用,我們不會使用這些 #: searx/templates/courgette/preferences.html:127 #: searx/templates/legacy/preferences.html:124 -#: searx/templates/oscar/preferences.html:305 +#: searx/templates/oscar/preferences.html:293 #: searx/templates/pix-art/preferences.html:78 #: searx/templates/simple/preferences.html:185 msgid "save" @@ -467,14 +463,14 @@ msgstr "儲存" #: searx/templates/courgette/preferences.html:128 #: searx/templates/legacy/preferences.html:125 -#: searx/templates/oscar/preferences.html:307 +#: searx/templates/oscar/preferences.html:295 #: 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/oscar/preferences.html:294 #: searx/templates/pix-art/preferences.html:79 #: searx/templates/simple/preferences.html:187 msgid "back" @@ -645,23 +641,23 @@ msgid "General" msgstr "一般" #: searx/templates/oscar/preferences.html:14 -#: searx/templates/oscar/preferences.html:146 +#: searx/templates/oscar/preferences.html:134 #: searx/templates/simple/preferences.html:76 msgid "Engines" msgstr "引擎" #: searx/templates/oscar/preferences.html:15 -#: searx/templates/oscar/preferences.html:219 +#: searx/templates/oscar/preferences.html:207 msgid "Plugins" msgstr "外掛程式" #: searx/templates/oscar/preferences.html:16 -#: searx/templates/oscar/preferences.html:245 +#: searx/templates/oscar/preferences.html:233 msgid "Answerers" msgstr "答案" #: searx/templates/oscar/preferences.html:17 -#: searx/templates/oscar/preferences.html:272 +#: searx/templates/oscar/preferences.html:260 msgid "Cookies" msgstr "Cookies" @@ -690,7 +686,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 "變更遞交形式,<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>" +msgstr "變更遞交形式,<a href=\"https://zh.wikipedia.org/wiki/超文本传输协议#请求方法\" rel=\"external\">看看更多關於請求方法的介紹</a>" #: searx/templates/oscar/preferences.html:87 #: searx/templates/simple/preferences.html:71 @@ -712,88 +708,78 @@ msgstr "選擇這個主題的樣式" 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:151 #: 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 +#: searx/templates/oscar/preferences.html:152 +#: searx/templates/oscar/preferences.html:162 msgid "Selected language" msgstr "已選取的語言" -#: searx/templates/oscar/preferences.html:166 -#: searx/templates/oscar/preferences.html:172 +#: searx/templates/oscar/preferences.html:154 +#: searx/templates/oscar/preferences.html:160 #: searx/templates/simple/preferences.html:91 msgid "Time range" msgstr "時間範圍" -#: searx/templates/oscar/preferences.html:167 -#: searx/templates/oscar/preferences.html:171 +#: searx/templates/oscar/preferences.html:155 +#: searx/templates/oscar/preferences.html:159 #: searx/templates/simple/preferences.html:92 msgid "Avg. time" msgstr "平均時間" -#: searx/templates/oscar/preferences.html:168 -#: searx/templates/oscar/preferences.html:170 +#: searx/templates/oscar/preferences.html:156 +#: searx/templates/oscar/preferences.html:158 #: searx/templates/simple/preferences.html:93 msgid "Max time" msgstr "最大時間" -#: searx/templates/oscar/preferences.html:248 +#: searx/templates/oscar/preferences.html:236 msgid "This is the list of searx's instant answering modules." msgstr "這是 searx 的即時回覆模組清單。" -#: searx/templates/oscar/preferences.html:252 +#: searx/templates/oscar/preferences.html:240 msgid "Name" msgstr "名稱" -#: searx/templates/oscar/preferences.html:253 +#: searx/templates/oscar/preferences.html:241 msgid "Keywords" msgstr "關鍵字" -#: searx/templates/oscar/preferences.html:254 +#: searx/templates/oscar/preferences.html:242 msgid "Description" msgstr "描述" -#: searx/templates/oscar/preferences.html:255 +#: searx/templates/oscar/preferences.html:243 msgid "Examples" msgstr "範例" -#: searx/templates/oscar/preferences.html:275 +#: searx/templates/oscar/preferences.html:263 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 +#: searx/templates/oscar/preferences.html:264 msgid "With that list, you can assess searx transparency." msgstr "有了這份清單,您就可以評估 searx 的透明度。" -#: searx/templates/oscar/preferences.html:281 +#: searx/templates/oscar/preferences.html:269 msgid "Cookie name" msgstr "Cookie 名稱" -#: searx/templates/oscar/preferences.html:282 +#: searx/templates/oscar/preferences.html:270 msgid "Value" msgstr "值" -#: searx/templates/oscar/preferences.html:301 +#: searx/templates/oscar/preferences.html:289 msgid "Search URL of the currently saved preferences" msgstr "目前偏好設定的搜尋 URL" -#: searx/templates/oscar/preferences.html:301 +#: 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." 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 4e149722e..3fe3dba82 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 = 15 +VERSION_MINOR = 16 VERSION_BUILD = 0 VERSION_STRING = "{0}.{1}.{2}".format(VERSION_MAJOR, diff --git a/searx/webapp.py b/searx/webapp.py index 542c2c002..a856c07dd 100644 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -41,9 +41,13 @@ 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 werkzeug.contrib.fixers import ProxyFix +from time import time +from werkzeug.middleware.proxy_fix import ProxyFix from flask import ( Flask, request, render_template, url_for, Response, make_response, redirect, send_from_directory @@ -91,6 +95,8 @@ if sys.version_info[0] == 3: PY3 = True else: PY3 = False + logger.warning('\033[1;31m *** Deprecation Warning ***\033[0m') + logger.warning('\033[1;31m Python2 is deprecated\033[0m') # serve pages with HTTP/1.1 from werkzeug.serving import WSGIRequestHandler @@ -123,6 +129,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 \ @@ -409,6 +416,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) @@ -451,6 +460,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}), @@ -503,9 +527,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() @@ -528,19 +553,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: @@ -594,6 +624,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 = list(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, @@ -603,9 +648,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, @@ -614,7 +659,8 @@ def index(): fallback=request.preferences.get_value("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) ) @@ -650,8 +696,11 @@ 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 or language == 'all': @@ -701,8 +750,13 @@ def preferences(): # stats for preferences page stats = {} + engines_by_category = {} for c in categories: + engines_by_category[c] = [] for e in categories[c]: + if not request.preferences.validate_token(e): + continue + stats[e.name] = {'time': None, 'warn_timeout': False, 'warn_time': False} @@ -710,9 +764,11 @@ def preferences(): stats[e.name]['warn_timeout'] = True stats[e.name]['supports_selected_language'] = _is_selected_language_supported(e, request.preferences) + engines_by_category[c].append(e) + # get first element [0], the engine time, # and then the second element [1] : the time (the first one is the label) - for engine_stat in get_engines_stats()[0][1]: + for engine_stat in get_engines_stats(request.preferences)[0][1]: stats[engine_stat.get('name')]['time'] = round(engine_stat.get('avg'), 3) if engine_stat.get('avg') > settings['outgoing']['request_timeout']: stats[engine_stat.get('name')]['warn_time'] = True @@ -722,7 +778,7 @@ def preferences(): locales=settings['locales'], current_locale=request.preferences.get_value("locale"), image_proxy=image_proxy, - engines_by_category=categories, + engines_by_category=engines_by_category, stats=stats, answerers=[{'info': a.self_info(), 'keywords': a.keywords} for a in answerers], disabled_engines=disabled_engines, @@ -798,7 +854,7 @@ def image_proxy(): @app.route('/stats', methods=['GET']) def stats(): """Render engine statistics page.""" - stats = get_engines_stats() + stats = get_engines_stats(request.preferences) return render( 'stats.html', stats=stats, @@ -860,21 +916,21 @@ def clear_cookies(): @app.route('/config') def config(): - return jsonify({'categories': categories.keys(), - 'engines': [{'name': engine_name, + return jsonify({'categories': list(categories.keys()), + 'engines': [{'name': name, 'categories': engine.categories, 'shortcut': engine.shortcut, 'enabled': not engine.disabled, '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, 'time_range_support': engine.time_range_support, 'timeout': engine.timeout} - for engine_name, engine in engines.items()], + for name, engine in engines.items() if request.preferences.validate_token(engine)], 'plugins': [{'name': plugin.name, 'enabled': plugin.default_on} for plugin in plugins], @@ -896,7 +952,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, |