Merge remote-tracking branch 'origin/master'
This commit is contained in:
		
						commit
						ac8759cd3f
					
				| @ -1,3 +1,9 @@ | ||||
| sudo: false | ||||
| cache: | ||||
|   - pip | ||||
|   - npm | ||||
|   - directories: | ||||
|     - $HOME/.cache/pip | ||||
| language: python | ||||
| python: | ||||
|   - "2.7" | ||||
|  | ||||
| @ -34,3 +34,7 @@ generally made searx better: | ||||
| - @opi | ||||
| - @dimqua | ||||
| - Giorgos Logiotatidis | ||||
| - Luc Didry | ||||
| - Niklas Haas | ||||
| - @underr | ||||
| - Emmanuel Benazera | ||||
|  | ||||
| @ -1,3 +1,49 @@ | ||||
| 0.8.0 2015.09.08 | ||||
| ================ | ||||
| 
 | ||||
| - New engines | ||||
| 
 | ||||
|   - Blekko (image) | ||||
|   - Gigablast (general) | ||||
|   - Spotify (music) | ||||
|   - Swisscows (general, images) | ||||
|   - Qwant (general, images, news, social media) | ||||
| - Plugin system | ||||
| - New plugins | ||||
| 
 | ||||
|   - HTTPS rewrite | ||||
|   - Search on cagetory select | ||||
|   - User information | ||||
|   - Tracker url part remover | ||||
| - Multiple outgoing IP and HTTP/HTTPS proxy support | ||||
| - New autocompleter: startpage | ||||
| - New theme: pix-art | ||||
| - Settings file structure change | ||||
| - Fabfile, docker deployment | ||||
| - Optional safesearch result filter | ||||
| - Force HTTPS in engines if possible | ||||
| - Disabled HTTP referrer on outgoing links | ||||
| - Display cookie information | ||||
| - Prettier search URLs | ||||
| - Right-to-left text handling in themes | ||||
| - Translation updates (New locales: Chinese, Hebrew, Portuguese, Romanian) | ||||
| 
 | ||||
| 
 | ||||
| New dependencies | ||||
| ~~~~~~~~~~~~~~~~ | ||||
| 
 | ||||
| - pyopenssl | ||||
| - ndg-httpsclient | ||||
| - pyasn1 | ||||
| - pyasn1-modules | ||||
| - certifi | ||||
| 
 | ||||
| 
 | ||||
| News | ||||
| ~~~~ | ||||
| 
 | ||||
| @dalf joined the maintainer "team" | ||||
| 
 | ||||
| 0.7.0 2015.02.03 | ||||
| ================ | ||||
| 
 | ||||
|  | ||||
| @ -96,7 +96,7 @@ remember 'untested code is broken code'. | ||||
| Runs robot (Selenium) tests, you must have ``firefox`` installed because | ||||
| this functional tests actually run the browser and perform operations on | ||||
| it. Also searx is executed with | ||||
| `settings\_robot <https://github.com/asciimoo/searx/blob/master/searx/settings_robot.py>`__. | ||||
| `settings\_robot <https://github.com/asciimoo/searx/blob/master/searx/settings_robot.yml>`__. | ||||
| 
 | ||||
| ``make flake8`` | ||||
| ''''''''''''''' | ||||
|  | ||||
| @ -40,7 +40,7 @@ else: | ||||
| with open(settings_path) as settings_yaml: | ||||
|     settings = load(settings_yaml) | ||||
| 
 | ||||
| if settings.get('server', {}).get('debug'): | ||||
| if settings.get('general', {}).get('debug'): | ||||
|     logging.basicConfig(level=logging.DEBUG) | ||||
| else: | ||||
|     logging.basicConfig(level=logging.WARNING) | ||||
|  | ||||
| @ -29,7 +29,7 @@ from searx.poolrequests import get as http_get | ||||
| 
 | ||||
| def get(*args, **kwargs): | ||||
|     if 'timeout' not in kwargs: | ||||
|         kwargs['timeout'] = settings['server']['request_timeout'] | ||||
|         kwargs['timeout'] = settings['outgoing']['request_timeout'] | ||||
| 
 | ||||
|     return http_get(*args, **kwargs) | ||||
| 
 | ||||
|  | ||||
| @ -75,7 +75,7 @@ def load_engine(engine_data): | ||||
|         engine.safesearch = False | ||||
| 
 | ||||
|     if not hasattr(engine, 'timeout'): | ||||
|         engine.timeout = settings['server']['request_timeout'] | ||||
|         engine.timeout = settings['outgoing']['request_timeout'] | ||||
| 
 | ||||
|     if not hasattr(engine, 'shortcut'): | ||||
|         engine.shortcut = '' | ||||
|  | ||||
| @ -52,7 +52,7 @@ def request(query, params): | ||||
| def response(resp): | ||||
|     results = [] | ||||
| 
 | ||||
|     dom = html.fromstring(resp.content) | ||||
|     dom = html.fromstring(resp.text) | ||||
| 
 | ||||
|     # parse results | ||||
|     for result in dom.xpath('//div[@class="sa_cc"]'): | ||||
|  | ||||
| @ -63,7 +63,7 @@ def request(query, params): | ||||
| def response(resp): | ||||
|     results = [] | ||||
| 
 | ||||
|     dom = html.fromstring(resp.content) | ||||
|     dom = html.fromstring(resp.text) | ||||
| 
 | ||||
|     # init regex for yaml-parsing | ||||
|     p = re.compile('({|,)([a-z]+):(")') | ||||
|  | ||||
| @ -13,6 +13,8 @@ | ||||
| from urllib import urlencode | ||||
| from cgi import escape | ||||
| from lxml import etree | ||||
| from random import randint | ||||
| from time import time | ||||
| 
 | ||||
| # engine dependent config | ||||
| categories = ['general'] | ||||
| @ -21,7 +23,7 @@ number_of_results = 5 | ||||
| 
 | ||||
| # search-url, invalid HTTPS certificate | ||||
| base_url = 'http://gigablast.com/' | ||||
| search_string = 'search?{query}&n={number_of_results}&s={offset}&xml=1&qh=0' | ||||
| search_string = 'search?{query}&n={number_of_results}&s={offset}&xml=1&qh=0&uxid={uxid}&rand={rand}' | ||||
| 
 | ||||
| # specific xpath variables | ||||
| results_xpath = '//response//result' | ||||
| @ -37,7 +39,9 @@ def request(query, params): | ||||
|     search_path = search_string.format( | ||||
|         query=urlencode({'q': query}), | ||||
|         offset=offset, | ||||
|         number_of_results=number_of_results) | ||||
|         number_of_results=number_of_results, | ||||
|         uxid=randint(10000, 10000000), | ||||
|         rand=int(time())) | ||||
| 
 | ||||
|     params['url'] = base_url + search_path | ||||
| 
 | ||||
|  | ||||
| @ -9,11 +9,15 @@ | ||||
| # @parse       url, title, content, suggestion | ||||
| 
 | ||||
| import re | ||||
| from cgi import escape | ||||
| from urllib import urlencode | ||||
| from urlparse import urlparse, parse_qsl | ||||
| from lxml import html | ||||
| from lxml import html, etree | ||||
| from searx.poolrequests import get | ||||
| from searx.engines.xpath import extract_text, extract_url | ||||
| from searx.search import logger | ||||
| 
 | ||||
| logger = logger.getChild('google engine') | ||||
| 
 | ||||
| 
 | ||||
| # engine dependent config | ||||
| @ -167,7 +171,7 @@ def parse_url(url_string, google_hostname): | ||||
| def extract_text_from_dom(result, xpath): | ||||
|     r = result.xpath(xpath) | ||||
|     if len(r) > 0: | ||||
|         return extract_text(r[0]) | ||||
|         return escape(extract_text(r[0])) | ||||
|     return None | ||||
| 
 | ||||
| 
 | ||||
| @ -224,8 +228,8 @@ def response(resp): | ||||
| 
 | ||||
|     # parse results | ||||
|     for result in dom.xpath(results_xpath): | ||||
|         title = extract_text(result.xpath(title_xpath)[0]) | ||||
|         try: | ||||
|             title = extract_text(result.xpath(title_xpath)[0]) | ||||
|             url = parse_url(extract_url(result.xpath(url_xpath), google_url), google_hostname) | ||||
|             parsed_url = urlparse(url, google_hostname) | ||||
| 
 | ||||
| @ -268,12 +272,13 @@ def response(resp): | ||||
|                                 'content': content | ||||
|                                 }) | ||||
|         except: | ||||
|             logger.debug('result parse error in:\n%s', etree.tostring(result, pretty_print=True)) | ||||
|             continue | ||||
| 
 | ||||
|     # parse suggestion | ||||
|     for suggestion in dom.xpath(suggestion_xpath): | ||||
|         # append suggestion | ||||
|         results.append({'suggestion': extract_text(suggestion)}) | ||||
|         results.append({'suggestion': escape(extract_text(suggestion))}) | ||||
| 
 | ||||
|     # return results | ||||
|     return results | ||||
|  | ||||
| @ -20,7 +20,7 @@ categories = ['videos', 'music', 'files'] | ||||
| paging = True | ||||
| 
 | ||||
| # search-url | ||||
| url = 'https://thepiratebay.am/' | ||||
| url = 'https://thepiratebay.se/' | ||||
| search_url = url + 'search/{search_term}/{pageno}/99/{search_type}' | ||||
| 
 | ||||
| # piratebay specific type-definitions | ||||
|  | ||||
| @ -34,6 +34,11 @@ def request(query, params): | ||||
|     params['url'] = search_url.format(query=urlencode({'q': query}), | ||||
|                                       pageno=params['pageno']-1) | ||||
| 
 | ||||
|     # Disable SSL verification | ||||
|     # error: (60) SSL certificate problem: unable to get local issuer | ||||
|     # certificate | ||||
|     params['verify'] = False | ||||
| 
 | ||||
|     return params | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -27,6 +27,11 @@ def request(query, params): | ||||
|     params['url'] = search_url.format(query=urlencode({'q': query}), | ||||
|                                       pageno=params['pageno']-1) | ||||
| 
 | ||||
|     # Disable SSL verification | ||||
|     # error: (60) SSL certificate problem: unable to get local issuer | ||||
|     # certificate | ||||
|     params['verify'] = False | ||||
| 
 | ||||
|     return params | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -12,6 +12,8 @@ | ||||
| 
 | ||||
| from lxml import html | ||||
| from cgi import escape | ||||
| from dateutil import parser | ||||
| from datetime import datetime, timedelta | ||||
| import re | ||||
| from searx.engines.xpath import extract_text | ||||
| 
 | ||||
| @ -66,16 +68,53 @@ def response(resp): | ||||
|         url = link.attrib.get('href') | ||||
| 
 | ||||
|         # block google-ad url's | ||||
|         if re.match("^http(s|)://www.google.[a-z]+/aclk.*$", url): | ||||
|         if re.match("^http(s|)://(www\.)?google\.[a-z]+/aclk.*$", url): | ||||
|             continue | ||||
| 
 | ||||
|         # block startpage search url's | ||||
|         if re.match("^http(s|)://(www\.)?startpage\.com/do/search\?.*$", url): | ||||
|             continue | ||||
| 
 | ||||
|         # block ixquick search url's | ||||
|         if re.match("^http(s|)://(www\.)?ixquick\.com/do/search\?.*$", url): | ||||
|             continue | ||||
| 
 | ||||
|         title = escape(extract_text(link)) | ||||
| 
 | ||||
|         if result.xpath('./p[@class="desc"]'): | ||||
|             content = escape(extract_text(result.xpath('./p[@class="desc"]'))) | ||||
|         if result.xpath('./p[@class="desc clk"]'): | ||||
|             content = escape(extract_text(result.xpath('./p[@class="desc clk"]'))) | ||||
|         else: | ||||
|             content = '' | ||||
| 
 | ||||
|         published_date = None | ||||
| 
 | ||||
|         # check if search result starts with something like: "2 Sep 2014 ... " | ||||
|         if re.match("^([1-9]|[1-2][0-9]|3[0-1]) [A-Z][a-z]{2} [0-9]{4} \.\.\. ", content): | ||||
|             date_pos = content.find('...')+4 | ||||
|             date_string = content[0:date_pos-5] | ||||
|             published_date = parser.parse(date_string, dayfirst=True) | ||||
| 
 | ||||
|             # fix content string | ||||
|             content = content[date_pos:] | ||||
| 
 | ||||
|         # check if search result starts with something like: "5 days ago ... " | ||||
|         elif re.match("^[0-9]+ days? ago \.\.\. ", content): | ||||
|             date_pos = content.find('...')+4 | ||||
|             date_string = content[0:date_pos-5] | ||||
| 
 | ||||
|             # calculate datetime | ||||
|             published_date = datetime.now() - timedelta(days=int(re.match(r'\d+', date_string).group())) | ||||
| 
 | ||||
|             # fix content string | ||||
|             content = content[date_pos:] | ||||
| 
 | ||||
|         if published_date: | ||||
|             # append result | ||||
|             results.append({'url': url, | ||||
|                             'title': title, | ||||
|                             'content': content, | ||||
|                             'publishedDate': published_date}) | ||||
|         else: | ||||
|             # append result | ||||
|             results.append({'url': url, | ||||
|                             'title': title, | ||||
|  | ||||
| @ -55,10 +55,14 @@ def response(resp): | ||||
| 
 | ||||
|     # parse results | ||||
|     for tweet in dom.xpath(results_xpath): | ||||
|         try: | ||||
|             link = tweet.xpath(link_xpath)[0] | ||||
|             content = extract_text(tweet.xpath(content_xpath)[0]) | ||||
|         except Exception: | ||||
|             continue | ||||
| 
 | ||||
|         url = urljoin(base_url, link.attrib.get('href')) | ||||
|         title = extract_text(tweet.xpath(title_xpath)) | ||||
|         content = extract_text(tweet.xpath(content_xpath)[0]) | ||||
| 
 | ||||
|         pubdate = tweet.xpath(timestamp_xpath) | ||||
|         if len(pubdate) > 0: | ||||
|  | ||||
| @ -1,8 +1,15 @@ | ||||
| import json | ||||
| from urllib import urlencode | ||||
| 
 | ||||
| from searx import logger | ||||
| from searx.poolrequests import get | ||||
| from searx.utils import format_date_by_locale | ||||
| 
 | ||||
| from datetime import datetime | ||||
| from dateutil.parser import parse as dateutil_parse | ||||
| from urllib import urlencode | ||||
| 
 | ||||
| 
 | ||||
| logger = logger.getChild('wikidata') | ||||
| result_count = 1 | ||||
| wikidata_host = 'https://www.wikidata.org' | ||||
| wikidata_api = wikidata_host + '/w/api.php' | ||||
| @ -164,14 +171,12 @@ def getDetail(jsonresponse, wikidata_id, language, locale): | ||||
|     if postal_code is not None: | ||||
|         attributes.append({'label': 'Postal code(s)', 'value': postal_code}) | ||||
| 
 | ||||
|     date_of_birth = get_time(claims, 'P569', None) | ||||
|     date_of_birth = get_time(claims, 'P569', locale, None) | ||||
|     if date_of_birth is not None: | ||||
|         date_of_birth = format_date_by_locale(date_of_birth[8:], locale) | ||||
|         attributes.append({'label': 'Date of birth', 'value': date_of_birth}) | ||||
| 
 | ||||
|     date_of_death = get_time(claims, 'P570', None) | ||||
|     date_of_death = get_time(claims, 'P570', locale, None) | ||||
|     if date_of_death is not None: | ||||
|         date_of_death = format_date_by_locale(date_of_death[8:], locale) | ||||
|         attributes.append({'label': 'Date of death', 'value': date_of_death}) | ||||
| 
 | ||||
|     if len(attributes) == 0 and len(urls) == 2 and len(description) == 0: | ||||
| @ -229,7 +234,7 @@ def get_string(claims, propertyName, defaultValue=None): | ||||
|         return result[0] | ||||
| 
 | ||||
| 
 | ||||
| def get_time(claims, propertyName, defaultValue=None): | ||||
| def get_time(claims, propertyName, locale, defaultValue=None): | ||||
|     propValue = claims.get(propertyName, {}) | ||||
|     if len(propValue) == 0: | ||||
|         return defaultValue | ||||
| @ -244,9 +249,22 @@ def get_time(claims, propertyName, defaultValue=None): | ||||
|             result.append(value.get('time', '')) | ||||
| 
 | ||||
|     if len(result) == 0: | ||||
|         return defaultValue | ||||
|         date_string = defaultValue | ||||
|     else: | ||||
|         return ', '.join(result) | ||||
|         date_string = ', '.join(result) | ||||
| 
 | ||||
|     try: | ||||
|         parsed_date = datetime.strptime(date_string, "+%Y-%m-%dT%H:%M:%SZ") | ||||
|     except: | ||||
|         if date_string.startswith('-'): | ||||
|             return date_string.split('T')[0] | ||||
|         try: | ||||
|             parsed_date = dateutil_parse(date_string, fuzzy=False, default=False) | ||||
|         except: | ||||
|             logger.debug('could not parse date %s', date_string) | ||||
|             return date_string.split('T')[0] | ||||
| 
 | ||||
|     return format_date_by_locale(parsed_date, locale) | ||||
| 
 | ||||
| 
 | ||||
| def get_geolink(claims, propertyName, defaultValue=''): | ||||
|  | ||||
							
								
								
									
										62
									
								
								searx/engines/yandex.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								searx/engines/yandex.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,62 @@ | ||||
| """ | ||||
|  Yahoo (Web) | ||||
| 
 | ||||
|  @website     https://yandex.ru/ | ||||
|  @provide-api ? | ||||
|  @using-api   no | ||||
|  @results     HTML (using search portal) | ||||
|  @stable      no (HTML can change) | ||||
|  @parse       url, title, content | ||||
| """ | ||||
| 
 | ||||
| from urllib import urlencode | ||||
| from lxml import html | ||||
| from searx.search import logger | ||||
| 
 | ||||
| logger = logger.getChild('yandex engine') | ||||
| 
 | ||||
| # engine dependent config | ||||
| categories = ['general'] | ||||
| paging = True | ||||
| language_support = True  # TODO | ||||
| 
 | ||||
| default_tld = 'com' | ||||
| language_map = {'ru': 'ru', | ||||
|                 'ua': 'uk', | ||||
|                 'tr': 'com.tr'} | ||||
| 
 | ||||
| # search-url | ||||
| base_url = 'https://yandex.{tld}/' | ||||
| search_url = 'search/?{query}&p={page}' | ||||
| 
 | ||||
| results_xpath = '//div[@class="serp-item serp-item_plain_yes clearfix i-bem"]' | ||||
| url_xpath = './/h2/a/@href' | ||||
| title_xpath = './/h2/a//text()' | ||||
| content_xpath = './/div[@class="serp-item__text"]//text()' | ||||
| 
 | ||||
| 
 | ||||
| def request(query, params): | ||||
|     lang = params['language'].split('_')[0] | ||||
|     host = base_url.format(tld=language_map.get(lang) or default_tld) | ||||
|     params['url'] = host + search_url.format(page=params['pageno']-1, | ||||
|                                              query=urlencode({'text': query})) | ||||
|     return params | ||||
| 
 | ||||
| 
 | ||||
| # get response from search-request | ||||
| def response(resp): | ||||
|     dom = html.fromstring(resp.text) | ||||
|     results = [] | ||||
| 
 | ||||
|     for result in dom.xpath(results_xpath): | ||||
|         try: | ||||
|             res = {'url': result.xpath(url_xpath)[0], | ||||
|                    'title': ''.join(result.xpath(title_xpath)), | ||||
|                    'content': ''.join(result.xpath(content_xpath))} | ||||
|         except: | ||||
|             logger.exception('yandex parse crash') | ||||
|             continue | ||||
| 
 | ||||
|         results.append(res) | ||||
| 
 | ||||
|     return results | ||||
| @ -1,93 +0,0 @@ | ||||
| # Youtube (Videos) | ||||
| # | ||||
| # @website     https://www.youtube.com/ | ||||
| # @provide-api yes (http://gdata-samples-youtube-search-py.appspot.com/) | ||||
| # | ||||
| # @using-api   yes | ||||
| # @results     JSON | ||||
| # @stable      yes | ||||
| # @parse       url, title, content, publishedDate, thumbnail, embedded | ||||
| 
 | ||||
| from json import loads | ||||
| from urllib import urlencode | ||||
| from dateutil import parser | ||||
| 
 | ||||
| # engine dependent config | ||||
| categories = ['videos', 'music'] | ||||
| paging = True | ||||
| language_support = True | ||||
| 
 | ||||
| # search-url | ||||
| base_url = 'https://gdata.youtube.com/feeds/api/videos' | ||||
| search_url = base_url + '?alt=json&{query}&start-index={index}&max-results=5' | ||||
| 
 | ||||
| embedded_url = '<iframe width="540" height="304" ' +\ | ||||
|     'data-src="//www.youtube-nocookie.com/embed/{videoid}" ' +\ | ||||
|     'frameborder="0" allowfullscreen></iframe>' | ||||
| 
 | ||||
| 
 | ||||
| # do search-request | ||||
| def request(query, params): | ||||
|     index = (params['pageno'] - 1) * 5 + 1 | ||||
| 
 | ||||
|     params['url'] = search_url.format(query=urlencode({'q': query}), | ||||
|                                       index=index) | ||||
| 
 | ||||
|     # add language tag if specified | ||||
|     if params['language'] != 'all': | ||||
|         params['url'] += '&lr=' + params['language'].split('_')[0] | ||||
| 
 | ||||
|     return params | ||||
| 
 | ||||
| 
 | ||||
| # get response from search-request | ||||
| def response(resp): | ||||
|     results = [] | ||||
| 
 | ||||
|     search_results = loads(resp.text) | ||||
| 
 | ||||
|     # return empty array if there are no results | ||||
|     if 'feed' not in search_results: | ||||
|         return [] | ||||
| 
 | ||||
|     feed = search_results['feed'] | ||||
| 
 | ||||
|     # parse results | ||||
|     for result in feed['entry']: | ||||
|         url = [x['href'] for x in result['link'] if x['type'] == 'text/html'] | ||||
| 
 | ||||
|         if not url: | ||||
|             continue | ||||
| 
 | ||||
|         # remove tracking | ||||
|         url = url[0].replace('feature=youtube_gdata', '') | ||||
|         if url.endswith('&'): | ||||
|             url = url[:-1] | ||||
| 
 | ||||
|         videoid = url[32:] | ||||
| 
 | ||||
|         title = result['title']['$t'] | ||||
|         content = '' | ||||
|         thumbnail = '' | ||||
| 
 | ||||
|         pubdate = result['published']['$t'] | ||||
|         publishedDate = parser.parse(pubdate) | ||||
| 
 | ||||
|         if 'media$thumbnail' in result['media$group']: | ||||
|             thumbnail = result['media$group']['media$thumbnail'][0]['url'] | ||||
| 
 | ||||
|         content = result['content']['$t'] | ||||
| 
 | ||||
|         embedded = embedded_url.format(videoid=videoid) | ||||
| 
 | ||||
|         # append result | ||||
|         results.append({'url': url, | ||||
|                         'title': title, | ||||
|                         'content': content, | ||||
|                         'template': 'videos.html', | ||||
|                         'publishedDate': publishedDate, | ||||
|                         'embedded': embedded, | ||||
|                         'thumbnail': thumbnail}) | ||||
| 
 | ||||
|     # return results | ||||
|     return results | ||||
| @ -35,10 +35,10 @@ def post_search(request, ctx): | ||||
|             ip = x_forwarded_for[0] | ||||
|         else: | ||||
|             ip = request.remote_addr | ||||
|         ctx['search'].answers.clear() | ||||
|         ctx['search'].answers.add(ip) | ||||
|         ctx['search'].result_container.answers.clear() | ||||
|         ctx['search'].result_container.answers.add(ip) | ||||
|     elif p.match(ctx['search'].query): | ||||
|         ua = request.user_agent | ||||
|         ctx['search'].answers.clear() | ||||
|         ctx['search'].answers.add(ua) | ||||
|         ctx['search'].result_container.answers.clear() | ||||
|         ctx['search'].result_container.answers.add(ua) | ||||
|     return True | ||||
|  | ||||
| @ -1,5 +1,7 @@ | ||||
| import requests | ||||
| 
 | ||||
| from itertools import cycle | ||||
| from threading import RLock | ||||
| from searx import settings | ||||
| 
 | ||||
| 
 | ||||
| @ -39,11 +41,11 @@ class HTTPAdapterWithConnParams(requests.adapters.HTTPAdapter): | ||||
|                               block=self._pool_block, **self._conn_params) | ||||
| 
 | ||||
| 
 | ||||
| if settings.get('source_ips'): | ||||
| if settings['outgoing'].get('source_ips'): | ||||
|     http_adapters = cycle(HTTPAdapterWithConnParams(pool_connections=100, source_address=(source_ip, 0)) | ||||
|                           for source_ip in settings['source_ips']) | ||||
|                           for source_ip in settings['outgoing']['source_ips']) | ||||
|     https_adapters = cycle(HTTPAdapterWithConnParams(pool_connections=100, source_address=(source_ip, 0)) | ||||
|                            for source_ip in settings['source_ips']) | ||||
|                            for source_ip in settings['outgoing']['source_ips']) | ||||
| else: | ||||
|     http_adapters = cycle((HTTPAdapterWithConnParams(pool_connections=100), )) | ||||
|     https_adapters = cycle((HTTPAdapterWithConnParams(pool_connections=100), )) | ||||
| @ -55,6 +57,7 @@ class SessionSinglePool(requests.Session): | ||||
|         super(SessionSinglePool, self).__init__() | ||||
| 
 | ||||
|         # reuse the same adapters | ||||
|         with RLock(): | ||||
|             self.adapters.clear() | ||||
|             self.mount('https://', next(https_adapters)) | ||||
|             self.mount('http://', next(http_adapters)) | ||||
| @ -67,9 +70,8 @@ class SessionSinglePool(requests.Session): | ||||
| 
 | ||||
| def request(method, url, **kwargs): | ||||
|     """same as requests/requests/api.py request(...) except it use SessionSinglePool and force proxies""" | ||||
|     global settings | ||||
|     session = SessionSinglePool() | ||||
|     kwargs['proxies'] = settings.get('outgoing_proxies', None) | ||||
|     kwargs['proxies'] = settings['outgoing'].get('proxies', None) | ||||
|     response = session.request(method=method, url=url, **kwargs) | ||||
|     session.close() | ||||
|     return response | ||||
|  | ||||
							
								
								
									
										239
									
								
								searx/results.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										239
									
								
								searx/results.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,239 @@ | ||||
| import re | ||||
| from collections import defaultdict | ||||
| from operator import itemgetter | ||||
| from threading import RLock | ||||
| from urlparse import urlparse, unquote | ||||
| from searx.engines import engines | ||||
| 
 | ||||
| CONTENT_LEN_IGNORED_CHARS_REGEX = re.compile('[,;:!?\./\\\\ ()-_]', re.M | re.U) | ||||
| WHITESPACE_REGEX = re.compile('( |\t|\n)+', re.M | re.U) | ||||
| 
 | ||||
| 
 | ||||
| # return the meaningful length of the content for a result | ||||
| def result_content_len(content): | ||||
|     if isinstance(content, basestring): | ||||
|         return len(CONTENT_LEN_IGNORED_CHARS_REGEX.sub('', content)) | ||||
|     else: | ||||
|         return 0 | ||||
| 
 | ||||
| 
 | ||||
| def compare_urls(url_a, url_b): | ||||
|     if url_a.netloc != url_b.netloc or url_a.query != url_b.query: | ||||
|         return False | ||||
| 
 | ||||
|     # remove / from the end of the url if required | ||||
|     path_a = url_a.path[:-1]\ | ||||
|         if url_a.path.endswith('/')\ | ||||
|         else url_a.path | ||||
|     path_b = url_b.path[:-1]\ | ||||
|         if url_b.path.endswith('/')\ | ||||
|         else url_b.path | ||||
| 
 | ||||
|     return unquote(path_a) == unquote(path_b) | ||||
| 
 | ||||
| 
 | ||||
| def merge_two_infoboxes(infobox1, infobox2): | ||||
|     if 'urls' in infobox2: | ||||
|         urls1 = infobox1.get('urls', None) | ||||
|         if urls1 is None: | ||||
|             urls1 = [] | ||||
|             infobox1.set('urls', urls1) | ||||
| 
 | ||||
|         urlSet = set() | ||||
|         for url in infobox1.get('urls', []): | ||||
|             urlSet.add(url.get('url', None)) | ||||
| 
 | ||||
|         for url in infobox2.get('urls', []): | ||||
|             if url.get('url', None) not in urlSet: | ||||
|                 urls1.append(url) | ||||
| 
 | ||||
|     if 'attributes' in infobox2: | ||||
|         attributes1 = infobox1.get('attributes', None) | ||||
|         if attributes1 is None: | ||||
|             attributes1 = [] | ||||
|             infobox1.set('attributes', attributes1) | ||||
| 
 | ||||
|         attributeSet = set() | ||||
|         for attribute in infobox1.get('attributes', []): | ||||
|             if attribute.get('label', None) not in attributeSet: | ||||
|                 attributeSet.add(attribute.get('label', None)) | ||||
| 
 | ||||
|         for attribute in infobox2.get('attributes', []): | ||||
|             attributes1.append(attribute) | ||||
| 
 | ||||
|     if 'content' in infobox2: | ||||
|         content1 = infobox1.get('content', None) | ||||
|         content2 = infobox2.get('content', '') | ||||
|         if content1 is not None: | ||||
|             if result_content_len(content2) > result_content_len(content1): | ||||
|                 infobox1['content'] = content2 | ||||
|         else: | ||||
|             infobox1.set('content', content2) | ||||
| 
 | ||||
| 
 | ||||
| def result_score(result): | ||||
|     weight = 1.0 | ||||
| 
 | ||||
|     for result_engine in result['engines']: | ||||
|         if hasattr(engines[result_engine], 'weight'): | ||||
|             weight *= float(engines[result_engine].weight) | ||||
| 
 | ||||
|     occurences = len(result['positions']) | ||||
| 
 | ||||
|     return sum((occurences * weight) / position for position in result['positions']) | ||||
| 
 | ||||
| 
 | ||||
| class ResultContainer(object): | ||||
|     """docstring for ResultContainer""" | ||||
|     def __init__(self): | ||||
|         super(ResultContainer, self).__init__() | ||||
|         self.results = defaultdict(list) | ||||
|         self._merged_results = [] | ||||
|         self.infoboxes = [] | ||||
|         self._infobox_ids = {} | ||||
|         self.suggestions = set() | ||||
|         self.answers = set() | ||||
| 
 | ||||
|     def extend(self, engine_name, results): | ||||
|         for result in list(results): | ||||
|             if 'suggestion' in result: | ||||
|                 self.suggestions.add(result['suggestion']) | ||||
|                 results.remove(result) | ||||
|             elif 'answer' in result: | ||||
|                 self.answers.add(result['answer']) | ||||
|                 results.remove(result) | ||||
|             elif 'infobox' in result: | ||||
|                 self._merge_infobox(result) | ||||
|                 results.remove(result) | ||||
| 
 | ||||
|         with RLock(): | ||||
|             engines[engine_name].stats['search_count'] += 1 | ||||
|             engines[engine_name].stats['result_count'] += len(results) | ||||
| 
 | ||||
|         if not results: | ||||
|             return | ||||
| 
 | ||||
|         self.results[engine_name].extend(results) | ||||
| 
 | ||||
|         for i, result in enumerate(results): | ||||
|             position = i + 1 | ||||
|             self._merge_result(result, position) | ||||
| 
 | ||||
|     def _merge_infobox(self, infobox): | ||||
|         add_infobox = True | ||||
|         infobox_id = infobox.get('id', None) | ||||
|         if infobox_id is not None: | ||||
|             existingIndex = self._infobox_ids.get(infobox_id, None) | ||||
|             if existingIndex is not None: | ||||
|                 merge_two_infoboxes(self.infoboxes[existingIndex], infobox) | ||||
|                 add_infobox = False | ||||
| 
 | ||||
|         if add_infobox: | ||||
|             self.infoboxes.append(infobox) | ||||
|             self._infobox_ids[infobox_id] = len(self.infoboxes) - 1 | ||||
| 
 | ||||
|     def _merge_result(self, result, position): | ||||
|         result['parsed_url'] = urlparse(result['url']) | ||||
| 
 | ||||
|         # if the result has no scheme, use http as default | ||||
|         if not result['parsed_url'].scheme: | ||||
|             result['parsed_url'] = result['parsed_url']._replace(scheme="http") | ||||
| 
 | ||||
|         result['host'] = result['parsed_url'].netloc | ||||
| 
 | ||||
|         if result['host'].startswith('www.'): | ||||
|             result['host'] = result['host'].replace('www.', '', 1) | ||||
| 
 | ||||
|         result['engines'] = [result['engine']] | ||||
| 
 | ||||
|         # strip multiple spaces and cariage returns from content | ||||
|         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 | ||||
|         if duplicated: | ||||
|             # using content with more text | ||||
|             if result_content_len(result.get('content', '')) >\ | ||||
|                     result_content_len(duplicated.get('content', '')): | ||||
|                 duplicated['content'] = result['content'] | ||||
| 
 | ||||
|             # add the new position | ||||
|             duplicated['positions'].append(position) | ||||
| 
 | ||||
|             # add engine to list of result-engines | ||||
|             duplicated['engines'].append(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'] | ||||
| 
 | ||||
|         # if there is no duplicate found, append result | ||||
|         else: | ||||
|             result['positions'] = [position] | ||||
|             with RLock(): | ||||
|                 self._merged_results.append(result) | ||||
| 
 | ||||
|     def get_ordered_results(self): | ||||
|         for result in self._merged_results: | ||||
|             score = result_score(result) | ||||
|             result['score'] = score | ||||
|             with RLock(): | ||||
|                 for result_engine in result['engines']: | ||||
|                     engines[result_engine].stats['score_count'] += score | ||||
| 
 | ||||
|         results = sorted(self._merged_results, key=itemgetter('score'), reverse=True) | ||||
| 
 | ||||
|         # pass 2 : group results by category and template | ||||
|         gresults = [] | ||||
|         categoryPositions = {} | ||||
| 
 | ||||
|         for i, res in enumerate(results): | ||||
|             # FIXME : handle more than one category per engine | ||||
|             category = engines[res['engine']].categories[0] + ':' + ''\ | ||||
|                 if 'template' not in res\ | ||||
|                 else res['template'] | ||||
| 
 | ||||
|             current = None if category not in categoryPositions\ | ||||
|                 else categoryPositions[category] | ||||
| 
 | ||||
|             # group with previous results using the same category | ||||
|             # if the group can accept more result and is not too far | ||||
|             # from the current position | ||||
|             if current is not None and (current['count'] > 0)\ | ||||
|                     and (len(gresults) - current['index'] < 20): | ||||
|                 # group with the previous results using | ||||
|                 # the same category with this one | ||||
|                 index = current['index'] | ||||
|                 gresults.insert(index, res) | ||||
| 
 | ||||
|                 # update every index after the current one | ||||
|                 # (including the current one) | ||||
|                 for k in categoryPositions: | ||||
|                     v = categoryPositions[k]['index'] | ||||
|                     if v >= index: | ||||
|                         categoryPositions[k]['index'] = v + 1 | ||||
| 
 | ||||
|                 # update this category | ||||
|                 current['count'] -= 1 | ||||
| 
 | ||||
|             else: | ||||
|                 # same category | ||||
|                 gresults.append(res) | ||||
| 
 | ||||
|                 # update categoryIndex | ||||
|                 categoryPositions[category] = {'index': len(gresults), 'count': 8} | ||||
| 
 | ||||
|         # return gresults | ||||
|         return gresults | ||||
| 
 | ||||
|     def results_length(self): | ||||
|         return len(self._merged_results) | ||||
							
								
								
									
										280
									
								
								searx/search.py
									
									
									
									
									
								
							
							
						
						
									
										280
									
								
								searx/search.py
									
									
									
									
									
								
							| @ -16,19 +16,16 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >. | ||||
| ''' | ||||
| 
 | ||||
| import threading | ||||
| import re | ||||
| import searx.poolrequests as requests_lib | ||||
| from itertools import izip_longest, chain | ||||
| from operator import itemgetter | ||||
| from Queue import Queue | ||||
| from time import time | ||||
| from urlparse import urlparse, unquote | ||||
| from searx import settings | ||||
| from searx.engines import ( | ||||
|     categories, engines | ||||
| ) | ||||
| from searx.languages import language_codes | ||||
| from searx.utils import gen_useragent, get_blocked_engines | ||||
| from searx.query import Query | ||||
| from searx.results import ResultContainer | ||||
| from searx import logger | ||||
| 
 | ||||
| logger = logger.getChild('search') | ||||
| @ -41,6 +38,7 @@ def search_request_wrapper(fn, url, engine_name, **kwargs): | ||||
|         return fn(url, **kwargs) | ||||
|     except: | ||||
|         # increase errors stats | ||||
|         with threading.RLock(): | ||||
|             engines[engine_name].stats['errors'] += 1 | ||||
| 
 | ||||
|         # print engine name and specific error message | ||||
| @ -83,7 +81,7 @@ def default_request_params(): | ||||
| 
 | ||||
| 
 | ||||
| # create a callback wrapper for the search engine results | ||||
| def make_callback(engine_name, results_queue, callback, params): | ||||
| def make_callback(engine_name, callback, params, result_container): | ||||
| 
 | ||||
|     # creating a callback wrapper for the search engine results | ||||
|     def process_callback(response, **kwargs): | ||||
| @ -95,11 +93,16 @@ def make_callback(engine_name, results_queue, callback, params): | ||||
| 
 | ||||
|         response.search_params = params | ||||
| 
 | ||||
|         timeout_overhead = 0.2  # seconds | ||||
|         search_duration = time() - params['started'] | ||||
|         # update stats with current page-load-time | ||||
|         with threading.RLock(): | ||||
|             engines[engine_name].stats['page_load_time'] += search_duration | ||||
| 
 | ||||
|         timeout_overhead = 0.2  # seconds | ||||
|         timeout_limit = engines[engine_name].timeout + timeout_overhead | ||||
| 
 | ||||
|         if search_duration > timeout_limit: | ||||
|             engines[engine_name].stats['page_load_time'] += timeout_limit | ||||
|             with threading.RLock(): | ||||
|                 engines[engine_name].stats['errors'] += 1 | ||||
|             return | ||||
| 
 | ||||
| @ -110,207 +113,11 @@ def make_callback(engine_name, results_queue, callback, params): | ||||
|         for result in search_results: | ||||
|             result['engine'] = engine_name | ||||
| 
 | ||||
|         results_queue.put_nowait((engine_name, search_results)) | ||||
| 
 | ||||
|         # update stats with current page-load-time | ||||
|         engines[engine_name].stats['page_load_time'] += search_duration | ||||
|         result_container.extend(engine_name, search_results) | ||||
| 
 | ||||
|     return process_callback | ||||
| 
 | ||||
| 
 | ||||
| # return the meaningful length of the content for a result | ||||
| def content_result_len(content): | ||||
|     if isinstance(content, basestring): | ||||
|         content = re.sub('[,;:!?\./\\\\ ()-_]', '', content) | ||||
|         return len(content) | ||||
|     else: | ||||
|         return 0 | ||||
| 
 | ||||
| 
 | ||||
| # score results and remove duplications | ||||
| def score_results(results): | ||||
|     # calculate scoring parameters | ||||
|     flat_res = filter( | ||||
|         None, chain.from_iterable(izip_longest(*results.values()))) | ||||
|     flat_len = len(flat_res) | ||||
|     engines_len = len(results) | ||||
| 
 | ||||
|     results = [] | ||||
| 
 | ||||
|     # pass 1: deduplication + scoring | ||||
|     for i, res in enumerate(flat_res): | ||||
| 
 | ||||
|         res['parsed_url'] = urlparse(res['url']) | ||||
| 
 | ||||
|         res['host'] = res['parsed_url'].netloc | ||||
| 
 | ||||
|         if res['host'].startswith('www.'): | ||||
|             res['host'] = res['host'].replace('www.', '', 1) | ||||
| 
 | ||||
|         res['engines'] = [res['engine']] | ||||
| 
 | ||||
|         weight = 1.0 | ||||
| 
 | ||||
|         # strip multiple spaces and cariage returns from content | ||||
|         if res.get('content'): | ||||
|             res['content'] = re.sub(' +', ' ', | ||||
|                                     res['content'].strip().replace('\n', '')) | ||||
| 
 | ||||
|         # get weight of this engine if possible | ||||
|         if hasattr(engines[res['engine']], 'weight'): | ||||
|             weight = float(engines[res['engine']].weight) | ||||
| 
 | ||||
|         # calculate score for that engine | ||||
|         score = int((flat_len - i) / engines_len) * weight + 1 | ||||
| 
 | ||||
|         # check for duplicates | ||||
|         duplicated = False | ||||
|         for new_res in results: | ||||
|             # remove / from the end of the url if required | ||||
|             p1 = res['parsed_url'].path[:-1]\ | ||||
|                 if res['parsed_url'].path.endswith('/')\ | ||||
|                 else res['parsed_url'].path | ||||
|             p2 = new_res['parsed_url'].path[:-1]\ | ||||
|                 if new_res['parsed_url'].path.endswith('/')\ | ||||
|                 else new_res['parsed_url'].path | ||||
| 
 | ||||
|             # check if that result is a duplicate | ||||
|             if res['host'] == new_res['host'] and\ | ||||
|                unquote(p1) == unquote(p2) and\ | ||||
|                res['parsed_url'].query == new_res['parsed_url'].query and\ | ||||
|                res.get('template') == new_res.get('template'): | ||||
|                 duplicated = new_res | ||||
|                 break | ||||
| 
 | ||||
|         # merge duplicates together | ||||
|         if duplicated: | ||||
|             # using content with more text | ||||
|             if content_result_len(res.get('content', '')) >\ | ||||
|                     content_result_len(duplicated.get('content', '')): | ||||
|                 duplicated['content'] = res['content'] | ||||
| 
 | ||||
|             # increase result-score | ||||
|             duplicated['score'] += score | ||||
| 
 | ||||
|             # add engine to list of result-engines | ||||
|             duplicated['engines'].append(res['engine']) | ||||
| 
 | ||||
|             # using https if possible | ||||
|             if duplicated['parsed_url'].scheme == 'https': | ||||
|                 continue | ||||
|             elif res['parsed_url'].scheme == 'https': | ||||
|                 duplicated['url'] = res['parsed_url'].geturl() | ||||
|                 duplicated['parsed_url'] = res['parsed_url'] | ||||
| 
 | ||||
|         # if there is no duplicate found, append result | ||||
|         else: | ||||
|             res['score'] = score | ||||
|             results.append(res) | ||||
| 
 | ||||
|     results = sorted(results, key=itemgetter('score'), reverse=True) | ||||
| 
 | ||||
|     # pass 2 : group results by category and template | ||||
|     gresults = [] | ||||
|     categoryPositions = {} | ||||
| 
 | ||||
|     for i, res in enumerate(results): | ||||
|         # FIXME : handle more than one category per engine | ||||
|         category = engines[res['engine']].categories[0] + ':' + ''\ | ||||
|             if 'template' not in res\ | ||||
|             else res['template'] | ||||
| 
 | ||||
|         current = None if category not in categoryPositions\ | ||||
|             else categoryPositions[category] | ||||
| 
 | ||||
|         # group with previous results using the same category | ||||
|         # if the group can accept more result and is not too far | ||||
|         # from the current position | ||||
|         if current is not None and (current['count'] > 0)\ | ||||
|                 and (len(gresults) - current['index'] < 20): | ||||
|             # group with the previous results using | ||||
|             # the same category with this one | ||||
|             index = current['index'] | ||||
|             gresults.insert(index, res) | ||||
| 
 | ||||
|             # update every index after the current one | ||||
|             # (including the current one) | ||||
|             for k in categoryPositions: | ||||
|                 v = categoryPositions[k]['index'] | ||||
|                 if v >= index: | ||||
|                     categoryPositions[k]['index'] = v + 1 | ||||
| 
 | ||||
|             # update this category | ||||
|             current['count'] -= 1 | ||||
| 
 | ||||
|         else: | ||||
|             # same category | ||||
|             gresults.append(res) | ||||
| 
 | ||||
|             # update categoryIndex | ||||
|             categoryPositions[category] = {'index': len(gresults), 'count': 8} | ||||
| 
 | ||||
|     # return gresults | ||||
|     return gresults | ||||
| 
 | ||||
| 
 | ||||
| def merge_two_infoboxes(infobox1, infobox2): | ||||
|     if 'urls' in infobox2: | ||||
|         urls1 = infobox1.get('urls', None) | ||||
|         if urls1 is None: | ||||
|             urls1 = [] | ||||
|             infobox1.set('urls', urls1) | ||||
| 
 | ||||
|         urlSet = set() | ||||
|         for url in infobox1.get('urls', []): | ||||
|             urlSet.add(url.get('url', None)) | ||||
| 
 | ||||
|         for url in infobox2.get('urls', []): | ||||
|             if url.get('url', None) not in urlSet: | ||||
|                 urls1.append(url) | ||||
| 
 | ||||
|     if 'attributes' in infobox2: | ||||
|         attributes1 = infobox1.get('attributes', None) | ||||
|         if attributes1 is None: | ||||
|             attributes1 = [] | ||||
|             infobox1.set('attributes', attributes1) | ||||
| 
 | ||||
|         attributeSet = set() | ||||
|         for attribute in infobox1.get('attributes', []): | ||||
|             if attribute.get('label', None) not in attributeSet: | ||||
|                 attributeSet.add(attribute.get('label', None)) | ||||
| 
 | ||||
|         for attribute in infobox2.get('attributes', []): | ||||
|             attributes1.append(attribute) | ||||
| 
 | ||||
|     if 'content' in infobox2: | ||||
|         content1 = infobox1.get('content', None) | ||||
|         content2 = infobox2.get('content', '') | ||||
|         if content1 is not None: | ||||
|             if content_result_len(content2) > content_result_len(content1): | ||||
|                 infobox1['content'] = content2 | ||||
|         else: | ||||
|             infobox1.set('content', content2) | ||||
| 
 | ||||
| 
 | ||||
| def merge_infoboxes(infoboxes): | ||||
|     results = [] | ||||
|     infoboxes_id = {} | ||||
|     for infobox in infoboxes: | ||||
|         add_infobox = True | ||||
|         infobox_id = infobox.get('id', None) | ||||
|         if infobox_id is not None: | ||||
|             existingIndex = infoboxes_id.get(infobox_id, None) | ||||
|             if existingIndex is not None: | ||||
|                 merge_two_infoboxes(results[existingIndex], infobox) | ||||
|                 add_infobox = False | ||||
| 
 | ||||
|         if add_infobox: | ||||
|             results.append(infobox) | ||||
|             infoboxes_id[infobox_id] = len(results) - 1 | ||||
| 
 | ||||
|     return results | ||||
| 
 | ||||
| 
 | ||||
| class Search(object): | ||||
| 
 | ||||
|     """Search information container""" | ||||
| @ -328,10 +135,7 @@ class Search(object): | ||||
|         # set blocked engines | ||||
|         self.blocked_engines = get_blocked_engines(engines, request.cookies) | ||||
| 
 | ||||
|         self.results = [] | ||||
|         self.suggestions = set() | ||||
|         self.answers = set() | ||||
|         self.infoboxes = [] | ||||
|         self.result_container = ResultContainer() | ||||
|         self.request_data = {} | ||||
| 
 | ||||
|         # set specific language if set | ||||
| @ -386,11 +190,11 @@ class Search(object): | ||||
|             load_default_categories = True | ||||
|             for pd_name, pd in self.request_data.items(): | ||||
|                 if pd_name == 'categories': | ||||
|                     self.categories.extend(categ.strip() for categ in pd.split(',') if categ in categories) | ||||
|                     self.categories.extend(categ for categ in map(unicode.strip, pd.split(',')) if categ in categories) | ||||
|                 elif pd_name == 'engines': | ||||
|                     pd_engines = [{'category': engines[engine].categories[0], | ||||
|                                    'name': engine} | ||||
|                                   for engine in map(str.strip, pd.split(',')) if engine in engines] | ||||
|                                   for engine in map(unicode.strip, pd.split(',')) if engine in engines] | ||||
|                     if pd_engines: | ||||
|                         self.engines.extend(pd_engines) | ||||
|                         load_default_categories = False | ||||
| @ -409,6 +213,9 @@ class Search(object): | ||||
|                         self.categories.remove(category) | ||||
| 
 | ||||
|             if not load_default_categories: | ||||
|                 if not self.categories: | ||||
|                     self.categories = list(set(engine['category'] | ||||
|                                                for engine in self.engines)) | ||||
|                 return | ||||
| 
 | ||||
|             # if no category is specified for this search, | ||||
| @ -440,8 +247,6 @@ class Search(object): | ||||
| 
 | ||||
|         # init vars | ||||
|         requests = [] | ||||
|         results_queue = Queue() | ||||
|         results = {} | ||||
| 
 | ||||
|         # increase number of searches | ||||
|         number_of_searches += 1 | ||||
| @ -473,16 +278,16 @@ class Search(object): | ||||
|             request_params['started'] = time() | ||||
|             request_params['pageno'] = self.pageno | ||||
| 
 | ||||
|             if hasattr(engine, 'language'): | ||||
|             if hasattr(engine, 'language') and engine.language: | ||||
|                 request_params['language'] = engine.language | ||||
|             else: | ||||
|                 request_params['language'] = self.lang | ||||
| 
 | ||||
|             try: | ||||
|                 # 0 = None, 1 = Moderate, 2 = Strict | ||||
|                 request_params['safesearch'] = int(request.cookies.get('safesearch', 1)) | ||||
|             except ValueError: | ||||
|                 request_params['safesearch'] = 1 | ||||
|                 request_params['safesearch'] = int(request.cookies.get('safesearch')) | ||||
|             except Exception: | ||||
|                 request_params['safesearch'] = settings['search']['safe_search'] | ||||
| 
 | ||||
|             # update request parameters dependent on | ||||
|             # search-engine (contained in engines folder) | ||||
| @ -495,9 +300,9 @@ class Search(object): | ||||
|             # create a callback wrapper for the search engine results | ||||
|             callback = make_callback( | ||||
|                 selected_engine['name'], | ||||
|                 results_queue, | ||||
|                 engine.response, | ||||
|                 request_params) | ||||
|                 request_params, | ||||
|                 self.result_container) | ||||
| 
 | ||||
|             # create dictionary which contain all | ||||
|             # informations about the request | ||||
| @ -530,42 +335,5 @@ class Search(object): | ||||
|         # send all search-request | ||||
|         threaded_requests(requests) | ||||
| 
 | ||||
|         while not results_queue.empty(): | ||||
|             engine_name, engine_results = results_queue.get_nowait() | ||||
| 
 | ||||
|             # TODO type checks | ||||
|             [self.suggestions.add(x['suggestion']) | ||||
|              for x in list(engine_results) | ||||
|              if 'suggestion' in x | ||||
|              and engine_results.remove(x) is None] | ||||
| 
 | ||||
|             [self.answers.add(x['answer']) | ||||
|              for x in list(engine_results) | ||||
|              if 'answer' in x | ||||
|              and engine_results.remove(x) is None] | ||||
| 
 | ||||
|             self.infoboxes.extend(x for x in list(engine_results) | ||||
|                                   if 'infobox' in x | ||||
|                                   and engine_results.remove(x) is None) | ||||
| 
 | ||||
|             results[engine_name] = engine_results | ||||
| 
 | ||||
|         # update engine-specific stats | ||||
|         for engine_name, engine_results in results.items(): | ||||
|             engines[engine_name].stats['search_count'] += 1 | ||||
|             engines[engine_name].stats['result_count'] += len(engine_results) | ||||
| 
 | ||||
|         # score results and remove duplications | ||||
|         self.results = score_results(results) | ||||
| 
 | ||||
|         # merge infoboxes according to their ids | ||||
|         self.infoboxes = merge_infoboxes(self.infoboxes) | ||||
| 
 | ||||
|         # update engine stats, using calculated score | ||||
|         for result in self.results: | ||||
|             for res_engine in result['engines']: | ||||
|                 engines[result['engine']]\ | ||||
|                     .stats['score_count'] += result['score'] | ||||
| 
 | ||||
|         # return results, suggestions, answers and infoboxes | ||||
|         return self | ||||
|  | ||||
| @ -1,25 +1,34 @@ | ||||
| general: | ||||
|     debug : False # Debug mode, only for development | ||||
| 
 | ||||
| search: | ||||
|     safe_search : 0 # Filter results. 0: None, 1: Moderate, 2: Strict | ||||
|     autocomplete : "" # Existing autocomplete backends: "dbpedia", "duckduckgo", "google", "startpage", "wikipedia" - leave blank to turn it off by default | ||||
| 
 | ||||
| server: | ||||
|     port : 8888 | ||||
|     bind_address : "127.0.0.1" # address to listen on | ||||
|     secret_key : "ultrasecretkey" # change this! | ||||
|     debug : False # Debug mode, only for development | ||||
|     request_timeout : 2.0 # seconds | ||||
|     base_url : False # Set custom base_url. Possible values: False or "https://your.custom.host/location/" | ||||
|     image_proxy : False # Proxying image results through searx | ||||
| 
 | ||||
| ui: | ||||
|     themes_path : "" # Custom ui themes path - leave it blank if you didn't change | ||||
|     default_theme : oscar # ui theme | ||||
|     useragent_suffix : "" # suffix of searx_useragent, could contain informations like an email address to the administrator | ||||
|     image_proxy : False # Proxying image results through searx | ||||
|     default_locale : "" # Default interface locale - leave blank to detect from browser information or use codes from the 'locales' config section | ||||
| 
 | ||||
| outgoing: # communication with search engines | ||||
|     request_timeout : 2.0 # seconds | ||||
|     useragent_suffix : "" # suffix of searx_useragent, could contain informations like an email address to the administrator | ||||
| # uncomment below section if you want to use a proxy | ||||
| # see http://docs.python-requests.org/en/latest/user/advanced/#proxies | ||||
| # SOCKS proxies are not supported : see https://github.com/kennethreitz/requests/pull/478 | ||||
| #outgoing_proxies : | ||||
| #    proxies : | ||||
| #        http : http://127.0.0.1:8080 | ||||
| #        https: http://127.0.0.1:8080 | ||||
| 
 | ||||
| # uncomment below section only if you have more than one network interface | ||||
| # which can be the source of outgoing search requests | ||||
| #source_ips: | ||||
| #    source_ips: | ||||
| #        - 1.1.1.1 | ||||
| #        - 1.1.1.2 | ||||
| 
 | ||||
| @ -265,6 +274,11 @@ engines: | ||||
|     engine : yahoo | ||||
|     shortcut : yh | ||||
| 
 | ||||
|   - name : yandex | ||||
|     engine : yandex | ||||
|     shortcut : yn | ||||
|     disabled : True | ||||
| 
 | ||||
|   - name : yahoo news | ||||
|     engine : yahoo_news | ||||
|     shortcut : yhn | ||||
| @ -310,6 +324,7 @@ locales: | ||||
|     nl : Nederlands | ||||
|     ja : 日本語 (Japanese) | ||||
|     tr : Türkçe | ||||
|     pt: Português | ||||
|     pt : Português | ||||
|     ru : Russian | ||||
|     ro : Romanian | ||||
|     zh : 中文 (Chinese) | ||||
|  | ||||
| @ -1,13 +1,25 @@ | ||||
| general: | ||||
|     debug : False | ||||
| 
 | ||||
| search: | ||||
|     safe_search : 0 | ||||
|     autocomplete : 0 | ||||
| 
 | ||||
| server: | ||||
|     port : 11111 | ||||
|     bind_address : 127.0.0.1 | ||||
|     secret_key : "ultrasecretkey" # change this! | ||||
|     debug : False | ||||
|     request_timeout : 3.0 # seconds | ||||
|     base_url: False | ||||
|     base_url : False | ||||
|     image_proxy : False | ||||
| 
 | ||||
| ui: | ||||
|     themes_path : "" | ||||
|     default_theme : default | ||||
|     https_rewrite : True | ||||
|     image_proxy : False | ||||
|     default_locale : "" | ||||
| 
 | ||||
| outgoing: | ||||
|     request_timeout : 1.0 # seconds | ||||
|     useragent_suffix : "" | ||||
| 
 | ||||
| engines: | ||||
|   - name : general_dummy | ||||
|  | ||||
							
								
								
									
										
											BIN
										
									
								
								searx/static/themes/oscar/css/oscar.min.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								searx/static/themes/oscar/css/oscar.min.css
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -76,3 +76,8 @@ | ||||
|     margin-top: 30px; | ||||
|     padding-bottom: 50px; | ||||
| } | ||||
| 
 | ||||
| .label-default { | ||||
|     color: #AAA; | ||||
|     background: #FFF; | ||||
| } | ||||
|  | ||||
| @ -3,6 +3,7 @@ | ||||
|   <ShortName>searx</ShortName> | ||||
|   <Description>Search searx</Description> | ||||
|   <InputEncoding>UTF-8</InputEncoding> | ||||
|   <Image>{{ host }}{{ url_for('static', filename='img/favicon.png') | replace("/", "", 1) }}</Image> | ||||
|   <LongName>searx metasearch</LongName> | ||||
|   {% if opensearch_method == 'get' %} | ||||
|     <Url type="text/html" method="get" template="{{ host }}search?q={searchTerms}"/> | ||||
|  | ||||
| @ -3,6 +3,7 @@ | ||||
|   <ShortName>searx</ShortName> | ||||
|   <Description>Search searx</Description> | ||||
|   <InputEncoding>UTF-8</InputEncoding> | ||||
|   <Image>{{ host }}{{ url_for('static', filename='img/favicon.png') | replace("/", "", 1) }}</Image> | ||||
|   <LongName>searx metasearch</LongName> | ||||
|   {% if opensearch_method == 'get' %} | ||||
|     <Url type="text/html" method="get" template="{{ host }}search?q={searchTerms}"/> | ||||
|  | ||||
| @ -25,7 +25,11 @@ | ||||
| <!-- Draw result footer --> | ||||
| {% macro result_footer(result) -%} | ||||
|     <div class="clearfix"></div> | ||||
|     <span class="label label-default pull-right">{{ result.engine }}</span> | ||||
|     <div class="pull-right"> | ||||
|     {% for engine in result.engines %} | ||||
|         <span class="label label-default">{{ engine }}</span> | ||||
|     {% endfor %} | ||||
| </div> | ||||
|     <p class="text-muted">{{ result.pretty_url }}</p> | ||||
| {%- endmacro %} | ||||
| 
 | ||||
|  | ||||
| @ -3,6 +3,7 @@ | ||||
|   <ShortName>searx</ShortName> | ||||
|   <Description>Search searx</Description> | ||||
|   <InputEncoding>UTF-8</InputEncoding> | ||||
|   <Image>{{ host }}{{ url_for('static', filename='img/favicon.png') | replace("/", "", 1) }}</Image> | ||||
|   <LongName>searx metasearch</LongName> | ||||
|   {% if opensearch_method == 'get' %} | ||||
|     <Url type="text/html" method="get" template="{{ host }}search?q={searchTerms}"/> | ||||
|  | ||||
| @ -53,8 +53,8 @@ | ||||
|             <th>{{ _('Engine name') }}</th> | ||||
|             <th>{{ _('Allow') }} / {{ _('Block') }}</th> | ||||
|         </tr> | ||||
|     {% for (categ,search_engines) in categs %} | ||||
|         {% for search_engine in search_engines %} | ||||
|     {% for categ in all_categories %} | ||||
|         {% for search_engine in engines_by_category[categ] %} | ||||
| 
 | ||||
|             {% if not search_engine.private %} | ||||
|             <tr> | ||||
|  | ||||
| @ -29,10 +29,10 @@ class TestBingEngine(SearxTestCase): | ||||
|         self.assertRaises(AttributeError, bing.response, '') | ||||
|         self.assertRaises(AttributeError, bing.response, '[]') | ||||
| 
 | ||||
|         response = mock.Mock(content='<html></html>') | ||||
|         response = mock.Mock(text='<html></html>') | ||||
|         self.assertEqual(bing.response(response), []) | ||||
| 
 | ||||
|         response = mock.Mock(content='<html></html>') | ||||
|         response = mock.Mock(text='<html></html>') | ||||
|         self.assertEqual(bing.response(response), []) | ||||
| 
 | ||||
|         html = """ | ||||
| @ -54,7 +54,7 @@ class TestBingEngine(SearxTestCase): | ||||
|             </div> | ||||
|         </div> | ||||
|         """ | ||||
|         response = mock.Mock(content=html) | ||||
|         response = mock.Mock(text=html) | ||||
|         results = bing.response(response) | ||||
|         self.assertEqual(type(results), list) | ||||
|         self.assertEqual(len(results), 1) | ||||
| @ -81,7 +81,7 @@ class TestBingEngine(SearxTestCase): | ||||
|             </div> | ||||
|         </li> | ||||
|         """ | ||||
|         response = mock.Mock(content=html) | ||||
|         response = mock.Mock(text=html) | ||||
|         results = bing.response(response) | ||||
|         self.assertEqual(type(results), list) | ||||
|         self.assertEqual(len(results), 1) | ||||
|  | ||||
| @ -31,10 +31,10 @@ class TestBingImagesEngine(SearxTestCase): | ||||
|         self.assertRaises(AttributeError, bing_images.response, '') | ||||
|         self.assertRaises(AttributeError, bing_images.response, '[]') | ||||
| 
 | ||||
|         response = mock.Mock(content='<html></html>') | ||||
|         response = mock.Mock(text='<html></html>') | ||||
|         self.assertEqual(bing_images.response(response), []) | ||||
| 
 | ||||
|         response = mock.Mock(content='<html></html>') | ||||
|         response = mock.Mock(text='<html></html>') | ||||
|         self.assertEqual(bing_images.response(response), []) | ||||
| 
 | ||||
|         html = """ | ||||
| @ -52,7 +52,7 @@ oh:"238",tft:"0",oi:"http://www.image.url/Images/Test%2 | ||||
|         </div> | ||||
|         """ | ||||
|         html = html.replace('\r\n', '').replace('\n', '').replace('\r', '') | ||||
|         response = mock.Mock(content=html) | ||||
|         response = mock.Mock(text=html) | ||||
|         results = bing_images.response(response) | ||||
|         self.assertEqual(type(results), list) | ||||
|         self.assertEqual(len(results), 1) | ||||
| @ -75,7 +75,7 @@ oh:"238",tft:"0",oi:"http://www.image.url/Images/Test%2 | ||||
|             style="height:144px;" width="178" height="144"/> | ||||
|         </a> | ||||
|         """ | ||||
|         response = mock.Mock(content=html) | ||||
|         response = mock.Mock(text=html) | ||||
|         results = bing_images.response(response) | ||||
|         self.assertEqual(type(results), list) | ||||
|         self.assertEqual(len(results), 0) | ||||
| @ -263,7 +263,7 @@ oh:"238",tft:"0",oi:"http://www.image.url/Images/Test%2 | ||||
|         </div> | ||||
|         """ | ||||
|         html = html.replace('\r\n', '').replace('\n', '').replace('\r', '') | ||||
|         response = mock.Mock(content=html) | ||||
|         response = mock.Mock(text=html) | ||||
|         results = bing_images.response(response) | ||||
|         self.assertEqual(type(results), list) | ||||
|         self.assertEqual(len(results), 10) | ||||
|  | ||||
| @ -1,3 +1,4 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
| from collections import defaultdict | ||||
| import mock | ||||
| from searx.engines import duckduckgo | ||||
| @ -30,7 +31,7 @@ class TestDuckduckgoEngine(SearxTestCase): | ||||
|         response = mock.Mock(text='<html></html>') | ||||
|         self.assertEqual(duckduckgo.response(response), []) | ||||
| 
 | ||||
|         html = """ | ||||
|         html = u""" | ||||
|         <div class="results_links results_links_deep web-result"> | ||||
|             <div class="icon_fav" style="display: block;"> | ||||
|                 <a rel="nofollow" href="https://www.test.com/"> | ||||
| @ -39,7 +40,7 @@ class TestDuckduckgoEngine(SearxTestCase): | ||||
|                 </a> | ||||
|             </div> | ||||
|             <div class="links_main links_deep"> <!-- This is the visible part --> | ||||
|                 <a rel="nofollow" class="large" href="http://this.should.be.the.link/"> | ||||
|                 <a rel="nofollow" class="large" href="http://this.should.be.the.link/ű"> | ||||
|                     This <b>is</b> <b>the</b> title | ||||
|                 </a> | ||||
|                 <div class="snippet"><b>This</b> should be the content.</div> | ||||
| @ -54,7 +55,7 @@ class TestDuckduckgoEngine(SearxTestCase): | ||||
|         self.assertEqual(type(results), list) | ||||
|         self.assertEqual(len(results), 1) | ||||
|         self.assertEqual(results[0]['title'], 'This is the title') | ||||
|         self.assertEqual(results[0]['url'], 'http://this.should.be.the.link/') | ||||
|         self.assertEqual(results[0]['url'], u'http://this.should.be.the.link/ű') | ||||
|         self.assertEqual(results[0]['content'], 'This should be the content.') | ||||
| 
 | ||||
|         html = """ | ||||
|  | ||||
| @ -15,7 +15,7 @@ class TestPiratebayEngine(SearxTestCase): | ||||
|         params = piratebay.request(query, dicto) | ||||
|         self.assertIn('url', params) | ||||
|         self.assertIn(query, params['url']) | ||||
|         self.assertIn('piratebay.am', params['url']) | ||||
|         self.assertIn('piratebay.se', params['url']) | ||||
|         self.assertIn('0', params['url']) | ||||
| 
 | ||||
|         dicto['category'] = 'music' | ||||
| @ -99,7 +99,7 @@ class TestPiratebayEngine(SearxTestCase): | ||||
|         self.assertEqual(type(results), list) | ||||
|         self.assertEqual(len(results), 2) | ||||
|         self.assertEqual(results[0]['title'], 'This is the title') | ||||
|         self.assertEqual(results[0]['url'], 'https://thepiratebay.am/this.is.the.link') | ||||
|         self.assertEqual(results[0]['url'], 'https://thepiratebay.se/this.is.the.link') | ||||
|         self.assertEqual(results[0]['content'], 'This is the content and should be OK') | ||||
|         self.assertEqual(results[0]['seed'], 13) | ||||
|         self.assertEqual(results[0]['leech'], 334) | ||||
| @ -149,7 +149,7 @@ class TestPiratebayEngine(SearxTestCase): | ||||
|         self.assertEqual(type(results), list) | ||||
|         self.assertEqual(len(results), 1) | ||||
|         self.assertEqual(results[0]['title'], 'This is the title') | ||||
|         self.assertEqual(results[0]['url'], 'https://thepiratebay.am/this.is.the.link') | ||||
|         self.assertEqual(results[0]['url'], 'https://thepiratebay.se/this.is.the.link') | ||||
|         self.assertEqual(results[0]['content'], 'This is the content and should be OK') | ||||
|         self.assertEqual(results[0]['seed'], 0) | ||||
|         self.assertEqual(results[0]['leech'], 0) | ||||
|  | ||||
| @ -42,7 +42,7 @@ class TestStartpageEngine(SearxTestCase): | ||||
|                 </a> | ||||
|                 <span id='title_stars_2' name='title_stars_2'>  </span> | ||||
|             </h3> | ||||
|             <p class='desc'> | ||||
|             <p class='desc clk'> | ||||
|                 This should be the content. | ||||
|             </p> | ||||
|             <p> | ||||
| @ -78,7 +78,7 @@ class TestStartpageEngine(SearxTestCase): | ||||
|                 </a> | ||||
|                 <span id='title_stars_2' name='title_stars_2'>  </span> | ||||
|             </h3> | ||||
|             <p class='desc'> | ||||
|             <p class='desc clk'> | ||||
|                 This should be the content. | ||||
|             </p> | ||||
|             <p> | ||||
| @ -101,7 +101,7 @@ class TestStartpageEngine(SearxTestCase): | ||||
|             <h3> | ||||
|                 <span id='title_stars_2' name='title_stars_2'>  </span> | ||||
|             </h3> | ||||
|             <p class='desc'> | ||||
|             <p class='desc clk'> | ||||
|                 This should be the content. | ||||
|             </p> | ||||
|             <p> | ||||
|  | ||||
| @ -1,204 +0,0 @@ | ||||
| from collections import defaultdict | ||||
| import mock | ||||
| from searx.engines import youtube | ||||
| from searx.testing import SearxTestCase | ||||
| 
 | ||||
| 
 | ||||
| class TestYoutubeEngine(SearxTestCase): | ||||
| 
 | ||||
|     def test_request(self): | ||||
|         query = 'test_query' | ||||
|         dicto = defaultdict(dict) | ||||
|         dicto['pageno'] = 0 | ||||
|         dicto['language'] = 'fr_FR' | ||||
|         params = youtube.request(query, dicto) | ||||
|         self.assertTrue('url' in params) | ||||
|         self.assertTrue(query in params['url']) | ||||
|         self.assertTrue('youtube.com' in params['url']) | ||||
|         self.assertTrue('fr' in params['url']) | ||||
| 
 | ||||
|         dicto['language'] = 'all' | ||||
|         params = youtube.request(query, dicto) | ||||
|         self.assertFalse('fr' in params['url']) | ||||
| 
 | ||||
|     def test_response(self): | ||||
|         self.assertRaises(AttributeError, youtube.response, None) | ||||
|         self.assertRaises(AttributeError, youtube.response, []) | ||||
|         self.assertRaises(AttributeError, youtube.response, '') | ||||
|         self.assertRaises(AttributeError, youtube.response, '[]') | ||||
| 
 | ||||
|         response = mock.Mock(text='{}') | ||||
|         self.assertEqual(youtube.response(response), []) | ||||
| 
 | ||||
|         response = mock.Mock(text='{"data": []}') | ||||
|         self.assertEqual(youtube.response(response), []) | ||||
| 
 | ||||
|         json = """ | ||||
|         {"feed":{"entry":[{ | ||||
|             "id":{"$t":"http://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM"}, | ||||
|             "published":{"$t":"2015-01-23T21:25:00.000Z"}, | ||||
|             "updated":{"$t":"2015-01-26T14:38:15.000Z"}, | ||||
|             "title":{"$t":"Title", | ||||
|                 "type":"text"},"content":{"$t":"Description","type":"text"}, | ||||
|             "link":[{"rel":"alternate","type":"text/html", | ||||
|                 "href":"https://www.youtube.com/watch?v=DIVZCPfAOeM&feature=youtube_gdata"}, | ||||
|                 {"rel":"http://gdata.youtube.com/schemas/2007#video.related", | ||||
|                 "type":"application/atom+xml", | ||||
|                 "href":"https://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM/related"}, | ||||
|                 {"rel":"http://gdata.youtube.com/schemas/2007#mobile","type":"text/html", | ||||
|                 "href":"https://m.youtube.com/details?v=DIVZCPfAOeM"}, | ||||
|                 {"rel":"self","type":"application/atom+xml", | ||||
|                 "href":"https://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM"}], | ||||
|             "author":[{"name":{"$t":"Cauet"}, | ||||
|                 "uri":{"$t":"https://gdata.youtube.com/feeds/api/users/cauetofficiel"} }], | ||||
|             "gd$comments":{"gd$feedLink":{"rel":"http://gdata.youtube.com/schemas/2007#comments", | ||||
|                 "href":"https://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM/comments", | ||||
|                 "countHint":8} }, | ||||
|             "media$group":{"media$category":[{"$t":"Comedy","label":"Comedy", | ||||
|                 "scheme":"http://gdata.youtube.com/schemas/2007/categories.cat"}], | ||||
|             "media$content":[{"url":"https://www.youtube.com/v/DIVZCPfAOeM?version=3&f=videos&app=youtube_gdata", | ||||
|                 "type":"application/x-shockwave-flash","medium":"video", | ||||
|                 "isDefault":"true","expression":"full","duration":354,"yt$format":5}, | ||||
|     {"url":"rtsp://r1---sn-cg07luel.c.youtube.com/CiILENy73wIaGQnjOcD3CFmFDBMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp", | ||||
|                 "type":"video/3gpp","medium":"video","expression":"full","duration":354, | ||||
|                 "yt$format":1}, | ||||
|     {"url":"rtsp://r1---sn-cg07luel.c.youtube.com/CiILENy73wIaGQnjOcD3CFmFDBMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp", | ||||
|                 "type":"video/3gpp","medium":"video","expression":"full","duration":354,"yt$format":6}], | ||||
|             "media$description":{"$t":"Desc","type":"plain"}, | ||||
|             "media$keywords":{}, | ||||
|             "media$player":[{"url":"https://www.youtube.com/watch?v=DIVZCPfAOeM&feature=youtube_gdata_player"}], | ||||
|             "media$thumbnail":[{"url":"https://i.ytimg.com/vi/DIVZCPfAOeM/0.jpg", | ||||
|                     "height":360,"width":480,"time":"00:02:57"}, | ||||
|                 {"url":"https://i.ytimg.com/vi/DIVZCPfAOeM/1.jpg","height":90,"width":120,"time":"00:01:28.500"}, | ||||
|                 {"url":"https://i.ytimg.com/vi/DIVZCPfAOeM/2.jpg","height":90,"width":120,"time":"00:02:57"}, | ||||
|                 {"url":"https://i.ytimg.com/vi/DIVZCPfAOeM/3.jpg","height":90,"width":120,"time":"00:04:25.500"}], | ||||
|             "media$title":{"$t":"Title","type":"plain"}, | ||||
|             "yt$duration":{"seconds":"354"} }, | ||||
|             "gd$rating":{"average":4.932159,"max":5,"min":1,"numRaters":1533, | ||||
|                 "rel":"http://schemas.google.com/g/2005#overall"}, | ||||
|             "yt$statistics":{"favoriteCount":"0","viewCount":"92464"} } | ||||
|             ] | ||||
|         } | ||||
|         } | ||||
|         """ | ||||
|         response = mock.Mock(text=json) | ||||
|         results = youtube.response(response) | ||||
|         self.assertEqual(type(results), list) | ||||
|         self.assertEqual(len(results), 1) | ||||
|         self.assertEqual(results[0]['title'], 'Title') | ||||
|         self.assertEqual(results[0]['url'], 'https://www.youtube.com/watch?v=DIVZCPfAOeM') | ||||
|         self.assertEqual(results[0]['content'], 'Description') | ||||
|         self.assertEqual(results[0]['thumbnail'], 'https://i.ytimg.com/vi/DIVZCPfAOeM/0.jpg') | ||||
|         self.assertTrue('DIVZCPfAOeM' in results[0]['embedded']) | ||||
| 
 | ||||
|         json = """ | ||||
|         {"feed":{"entry":[{ | ||||
|             "id":{"$t":"http://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM"}, | ||||
|             "published":{"$t":"2015-01-23T21:25:00.000Z"}, | ||||
|             "updated":{"$t":"2015-01-26T14:38:15.000Z"}, | ||||
|             "title":{"$t":"Title", | ||||
|                 "type":"text"},"content":{"$t":"Description","type":"text"}, | ||||
|             "link":[{"rel":"http://gdata.youtube.com/schemas/2007#video.related", | ||||
|                 "type":"application/atom+xml", | ||||
|                 "href":"https://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM/related"}, | ||||
|                 {"rel":"self","type":"application/atom+xml", | ||||
|                 "href":"https://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM"}], | ||||
|             "author":[{"name":{"$t":"Cauet"}, | ||||
|                 "uri":{"$t":"https://gdata.youtube.com/feeds/api/users/cauetofficiel"} }], | ||||
|             "gd$comments":{"gd$feedLink":{"rel":"http://gdata.youtube.com/schemas/2007#comments", | ||||
|                 "href":"https://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM/comments", | ||||
|                 "countHint":8} }, | ||||
|             "media$group":{"media$category":[{"$t":"Comedy","label":"Comedy", | ||||
|                 "scheme":"http://gdata.youtube.com/schemas/2007/categories.cat"}], | ||||
|             "media$content":[{"url":"https://www.youtube.com/v/DIVZCPfAOeM?version=3&f=videos&app=youtube_gdata", | ||||
|                 "type":"application/x-shockwave-flash","medium":"video", | ||||
|                 "isDefault":"true","expression":"full","duration":354,"yt$format":5}, | ||||
|     {"url":"rtsp://r1---sn-cg07luel.c.youtube.com/CiILENy73wIaGQnjOcD3CFmFDBMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp", | ||||
|                 "type":"video/3gpp","medium":"video","expression":"full","duration":354, | ||||
|                 "yt$format":1}, | ||||
|     {"url":"rtsp://r1---sn-cg07luel.c.youtube.com/CiILENy73wIaGQnjOcD3CFmFDBMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp", | ||||
|                 "type":"video/3gpp","medium":"video","expression":"full","duration":354,"yt$format":6}], | ||||
|             "media$description":{"$t":"Desc","type":"plain"}, | ||||
|             "media$keywords":{}, | ||||
|             "media$player":[{"url":"https://www.youtube.com/watch?v=DIVZCPfAOeM&feature=youtube_gdata_player"}], | ||||
|             "media$thumbnail":[{"url":"https://i.ytimg.com/vi/DIVZCPfAOeM/0.jpg", | ||||
|                     "height":360,"width":480,"time":"00:02:57"}, | ||||
|                 {"url":"https://i.ytimg.com/vi/DIVZCPfAOeM/1.jpg","height":90,"width":120,"time":"00:01:28.500"}, | ||||
|                 {"url":"https://i.ytimg.com/vi/DIVZCPfAOeM/2.jpg","height":90,"width":120,"time":"00:02:57"}, | ||||
|                 {"url":"https://i.ytimg.com/vi/DIVZCPfAOeM/3.jpg","height":90,"width":120,"time":"00:04:25.500"}], | ||||
|             "media$title":{"$t":"Title","type":"plain"}, | ||||
|             "yt$duration":{"seconds":"354"} }, | ||||
|             "gd$rating":{"average":4.932159,"max":5,"min":1,"numRaters":1533, | ||||
|                 "rel":"http://schemas.google.com/g/2005#overall"}, | ||||
|             "yt$statistics":{"favoriteCount":"0","viewCount":"92464"} } | ||||
|             ] | ||||
|         } | ||||
|         } | ||||
|         """ | ||||
|         response = mock.Mock(text=json) | ||||
|         results = youtube.response(response) | ||||
|         self.assertEqual(type(results), list) | ||||
|         self.assertEqual(len(results), 0) | ||||
| 
 | ||||
|         json = """ | ||||
|         {"feed":{"entry":[{ | ||||
|             "id":{"$t":"http://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM"}, | ||||
|             "published":{"$t":"2015-01-23T21:25:00.000Z"}, | ||||
|             "updated":{"$t":"2015-01-26T14:38:15.000Z"}, | ||||
|             "title":{"$t":"Title", | ||||
|                 "type":"text"},"content":{"$t":"Description","type":"text"}, | ||||
|             "link":[{"rel":"alternate","type":"text/html", | ||||
|                 "href":"https://www.youtube.com/watch?v=DIVZCPfAOeM"}, | ||||
|                 {"rel":"http://gdata.youtube.com/schemas/2007#video.related", | ||||
|                 "type":"application/atom+xml", | ||||
|                 "href":"https://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM/related"}, | ||||
|                 {"rel":"http://gdata.youtube.com/schemas/2007#mobile","type":"text/html", | ||||
|                 "href":"https://m.youtube.com/details?v=DIVZCPfAOeM"}, | ||||
|                 {"rel":"self","type":"application/atom+xml", | ||||
|                 "href":"https://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM"}], | ||||
|             "author":[{"name":{"$t":"Cauet"}, | ||||
|                 "uri":{"$t":"https://gdata.youtube.com/feeds/api/users/cauetofficiel"} }], | ||||
|             "gd$comments":{"gd$feedLink":{"rel":"http://gdata.youtube.com/schemas/2007#comments", | ||||
|                 "href":"https://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM/comments", | ||||
|                 "countHint":8} }, | ||||
|             "media$group":{"media$category":[{"$t":"Comedy","label":"Comedy", | ||||
|                 "scheme":"http://gdata.youtube.com/schemas/2007/categories.cat"}], | ||||
|             "media$content":[{"url":"https://www.youtube.com/v/DIVZCPfAOeM?version=3&f=videos&app=youtube_gdata", | ||||
|                 "type":"application/x-shockwave-flash","medium":"video", | ||||
|                 "isDefault":"true","expression":"full","duration":354,"yt$format":5}, | ||||
|     {"url":"rtsp://r1---sn-cg07luel.c.youtube.com/CiILENy73wIaGQnjOcD3CFmFDBMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp", | ||||
|                 "type":"video/3gpp","medium":"video","expression":"full","duration":354, | ||||
|                 "yt$format":1}, | ||||
|     {"url":"rtsp://r1---sn-cg07luel.c.youtube.com/CiILENy73wIaGQnjOcD3CFmFDBMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp", | ||||
|                 "type":"video/3gpp","medium":"video","expression":"full","duration":354,"yt$format":6}], | ||||
|             "media$description":{"$t":"Desc","type":"plain"}, | ||||
|             "media$keywords":{}, | ||||
|             "media$player":[{"url":"https://www.youtube.com/watch?v=DIVZCPfAOeM&feature=youtube_gdata_player"}], | ||||
|             "media$title":{"$t":"Title","type":"plain"}, | ||||
|             "yt$duration":{"seconds":"354"} }, | ||||
|             "gd$rating":{"average":4.932159,"max":5,"min":1,"numRaters":1533, | ||||
|                 "rel":"http://schemas.google.com/g/2005#overall"}, | ||||
|             "yt$statistics":{"favoriteCount":"0","viewCount":"92464"} } | ||||
|             ] | ||||
|         } | ||||
|         } | ||||
|         """ | ||||
|         response = mock.Mock(text=json) | ||||
|         results = youtube.response(response) | ||||
|         self.assertEqual(type(results), list) | ||||
|         self.assertEqual(len(results), 1) | ||||
|         self.assertEqual(results[0]['title'], 'Title') | ||||
|         self.assertEqual(results[0]['url'], 'https://www.youtube.com/watch?v=DIVZCPfAOeM') | ||||
|         self.assertEqual(results[0]['content'], 'Description') | ||||
|         self.assertEqual(results[0]['thumbnail'], '') | ||||
|         self.assertTrue('DIVZCPfAOeM' in results[0]['embedded']) | ||||
| 
 | ||||
|         json = """ | ||||
|         {"toto":{"entry":[] | ||||
|         } | ||||
|         } | ||||
|         """ | ||||
|         response = mock.Mock(text=json) | ||||
|         results = youtube.response(response) | ||||
|         self.assertEqual(type(results), list) | ||||
|         self.assertEqual(len(results), 0) | ||||
| @ -40,7 +40,6 @@ from searx.tests.engines.test_www1x import *  # noqa | ||||
| from searx.tests.engines.test_www500px import *  # noqa | ||||
| from searx.tests.engines.test_yacy import *  # noqa | ||||
| from searx.tests.engines.test_yahoo import *  # noqa | ||||
| from searx.tests.engines.test_youtube import *  # noqa | ||||
| from searx.tests.engines.test_youtube_api import *  # noqa | ||||
| from searx.tests.engines.test_youtube_noapi import *  # noqa | ||||
| from searx.tests.engines.test_yahoo_news import *  # noqa | ||||
|  | ||||
| @ -5,6 +5,12 @@ from searx import plugins | ||||
| from mock import Mock | ||||
| 
 | ||||
| 
 | ||||
| def get_search_mock(query, **kwargs): | ||||
|     return {'search': Mock(query=query, | ||||
|                            result_container=Mock(answers=set()), | ||||
|                            **kwargs)} | ||||
| 
 | ||||
| 
 | ||||
| class PluginStoreTest(SearxTestCase): | ||||
| 
 | ||||
|     def test_PluginStore_init(self): | ||||
| @ -46,23 +52,23 @@ class SelfIPTest(SearxTestCase): | ||||
|         request = Mock(user_plugins=store.plugins, | ||||
|                        remote_addr='127.0.0.1') | ||||
|         request.headers.getlist.return_value = [] | ||||
|         ctx = {'search': Mock(answers=set(), | ||||
|                               query='ip')} | ||||
|         ctx = get_search_mock(query='ip') | ||||
|         store.call('post_search', request, ctx) | ||||
|         self.assertTrue('127.0.0.1' in ctx['search'].answers) | ||||
|         self.assertTrue('127.0.0.1' in ctx['search'].result_container.answers) | ||||
| 
 | ||||
|         # User agent test | ||||
|         request = Mock(user_plugins=store.plugins, | ||||
|                        user_agent='Mock') | ||||
|         request.headers.getlist.return_value = [] | ||||
|         ctx = {'search': Mock(answers=set(), | ||||
|                               query='user-agent')} | ||||
| 
 | ||||
|         ctx = get_search_mock(query='user-agent') | ||||
|         store.call('post_search', request, ctx) | ||||
|         self.assertTrue('Mock' in ctx['search'].answers) | ||||
|         ctx = {'search': Mock(answers=set(), | ||||
|                               query='user agent')} | ||||
|         self.assertTrue('Mock' in ctx['search'].result_container.answers) | ||||
| 
 | ||||
|         ctx = get_search_mock(query='user-agent') | ||||
|         store.call('post_search', request, ctx) | ||||
|         self.assertTrue('Mock' in ctx['search'].answers) | ||||
|         ctx = {'search': Mock(answers=set(), | ||||
|                               query='What is my User-Agent?')} | ||||
|         self.assertTrue('Mock' in ctx['search'].result_container.answers) | ||||
| 
 | ||||
|         ctx = get_search_mock(query='What is my User-Agent?') | ||||
|         store.call('post_search', request, ctx) | ||||
|         self.assertTrue('Mock' in ctx['search'].result_container.answers) | ||||
|  | ||||
							
								
								
									
										41
									
								
								searx/tests/test_results.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								searx/tests/test_results.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,41 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
| 
 | ||||
| from searx.results import ResultContainer | ||||
| from searx.testing import SearxTestCase | ||||
| 
 | ||||
| 
 | ||||
| def fake_result(url='https://aa.bb/cc?dd=ee#ff', | ||||
|                 title='aaa', | ||||
|                 content='bbb', | ||||
|                 engine='wikipedia', **kwargs): | ||||
|     result = {'url': url, | ||||
|               'title': title, | ||||
|               'content': content, | ||||
|               'engine': engine} | ||||
|     result.update(kwargs) | ||||
|     return result | ||||
| 
 | ||||
| 
 | ||||
| #  TODO | ||||
| class ResultContainerTestCase(SearxTestCase): | ||||
| 
 | ||||
|     def test_empty(self): | ||||
|         c = ResultContainer() | ||||
|         self.assertEqual(c.get_ordered_results(), []) | ||||
| 
 | ||||
|     def test_one_result(self): | ||||
|         c = ResultContainer() | ||||
|         c.extend('wikipedia', [fake_result()]) | ||||
|         self.assertEqual(c.results_length(), 1) | ||||
| 
 | ||||
|     def test_one_suggestion(self): | ||||
|         c = ResultContainer() | ||||
|         c.extend('wikipedia', [fake_result(suggestion=True)]) | ||||
|         self.assertEqual(len(c.suggestions), 1) | ||||
|         self.assertEqual(c.results_length(), 0) | ||||
| 
 | ||||
|     def test_result_merge(self): | ||||
|         c = ResultContainer() | ||||
|         c.extend('wikipedia', [fake_result()]) | ||||
|         c.extend('wikidata', [fake_result(), fake_result(url='https://example.com/')]) | ||||
|         self.assertEqual(c.results_length(), 2) | ||||
| @ -1,25 +1,10 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
| 
 | ||||
| from searx.search import score_results | ||||
| from searx.testing import SearxTestCase | ||||
| 
 | ||||
| 
 | ||||
| def fake_result(url='https://aa.bb/cc?dd=ee#ff', | ||||
|                 title='aaa', | ||||
|                 content='bbb', | ||||
|                 engine='wikipedia'): | ||||
|     return {'url': url, | ||||
|             'title': title, | ||||
|             'content': content, | ||||
|             'engine': engine} | ||||
| #  TODO | ||||
| class SearchTestCase(SearxTestCase): | ||||
| 
 | ||||
| 
 | ||||
| class ScoreResultsTestCase(SearxTestCase): | ||||
| 
 | ||||
|     def test_empty(self): | ||||
|         self.assertEqual(score_results(dict()), []) | ||||
| 
 | ||||
|     def test_urlparse(self): | ||||
|         results = score_results(dict(a=[fake_result(url='https://aa.bb/cc?dd=ee#ff')])) | ||||
|         parsed_url = results[0]['parsed_url'] | ||||
|         self.assertEqual(parsed_url.query, 'dd=ee') | ||||
|     def test_(self): | ||||
|         pass | ||||
|  | ||||
| @ -1,3 +1,4 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
| import mock | ||||
| from searx.testing import SearxTestCase | ||||
| from searx import utils | ||||
| @ -51,6 +52,15 @@ class TestUtils(SearxTestCase): | ||||
|         self.assertIsNotNone(utils.html_to_text(html)) | ||||
|         self.assertEqual(utils.html_to_text(html), "Test text") | ||||
| 
 | ||||
|     def test_prettify_url(self): | ||||
|         data = (('https://searx.me/', 'https://searx.me/'), | ||||
|                 (u'https://searx.me/ű', u'https://searx.me/ű'), | ||||
|                 ('https://searx.me/' + (100 * 'a'), 'https://searx.me/[...]aaaaaaaaaaaaaaaaa'), | ||||
|                 (u'https://searx.me/' + (100 * u'ű'), u'https://searx.me/[...]űűűűűűűűűűűűűűűűű')) | ||||
| 
 | ||||
|         for test_url, expected in data: | ||||
|             self.assertEqual(utils.prettify_url(test_url, max_length=32), expected) | ||||
| 
 | ||||
| 
 | ||||
| class TestHTMLTextExtractor(SearxTestCase): | ||||
| 
 | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
| 
 | ||||
| import json | ||||
| from mock import Mock | ||||
| from urlparse import ParseResult | ||||
| from searx import webapp | ||||
| from searx.testing import SearxTestCase | ||||
| @ -33,7 +34,12 @@ class ViewsTestCase(SearxTestCase): | ||||
|         ] | ||||
| 
 | ||||
|         def search_mock(search_self, *args): | ||||
|             search_self.results = self.test_results | ||||
|             search_self.result_container = Mock(get_ordered_results=lambda: self.test_results, | ||||
|                                                 answers=set(), | ||||
|                                                 suggestions=set(), | ||||
|                                                 infoboxes=[], | ||||
|                                                 results=self.test_results, | ||||
|                                                 results_length=lambda: len(self.test_results)) | ||||
| 
 | ||||
|         webapp.Search.search = search_mock | ||||
| 
 | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							| @ -14,10 +14,10 @@ msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: searx\n" | ||||
| "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" | ||||
| "POT-Creation-Date: 2015-04-26 18:57+0200\n" | ||||
| "PO-Revision-Date: 2015-04-26 19:24+0000\n" | ||||
| "POT-Creation-Date: 2015-08-24 11:44+0200\n" | ||||
| "PO-Revision-Date: 2015-08-24 10:00+0000\n" | ||||
| "Last-Translator: pointhi\n" | ||||
| "Language-Team: German (http://www.transifex.com/projects/p/searx/language/de/)\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" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| @ -25,67 +25,67 @@ msgstr "" | ||||
| "Language: de\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||
| 
 | ||||
| #: searx/webapp.py:104 | ||||
| #: searx/webapp.py:114 | ||||
| msgid "files" | ||||
| msgstr "Dateien" | ||||
| 
 | ||||
| #: searx/webapp.py:105 | ||||
| #: searx/webapp.py:115 | ||||
| msgid "general" | ||||
| msgstr "Allgemein" | ||||
| 
 | ||||
| #: searx/webapp.py:106 | ||||
| #: searx/webapp.py:116 | ||||
| msgid "music" | ||||
| msgstr "Musik" | ||||
| 
 | ||||
| #: searx/webapp.py:107 | ||||
| #: searx/webapp.py:117 | ||||
| msgid "social media" | ||||
| msgstr "Soziale Medien" | ||||
| 
 | ||||
| #: searx/webapp.py:108 | ||||
| #: searx/webapp.py:118 | ||||
| msgid "images" | ||||
| msgstr "Bilder" | ||||
| 
 | ||||
| #: searx/webapp.py:109 | ||||
| #: searx/webapp.py:119 | ||||
| msgid "videos" | ||||
| msgstr "Videos" | ||||
| 
 | ||||
| #: searx/webapp.py:110 | ||||
| #: searx/webapp.py:120 | ||||
| msgid "it" | ||||
| msgstr "IT" | ||||
| 
 | ||||
| #: searx/webapp.py:111 | ||||
| #: searx/webapp.py:121 | ||||
| msgid "news" | ||||
| msgstr "Neuigkeiten" | ||||
| 
 | ||||
| #: searx/webapp.py:112 | ||||
| #: searx/webapp.py:122 | ||||
| msgid "map" | ||||
| msgstr "Karte" | ||||
| 
 | ||||
| #: searx/webapp.py:396 | ||||
| #: searx/webapp.py:414 | ||||
| msgid "{minutes} minute(s) ago" | ||||
| msgstr "vor {minutes} Minute(n)" | ||||
| 
 | ||||
| #: searx/webapp.py:398 | ||||
| #: searx/webapp.py:416 | ||||
| msgid "{hours} hour(s), {minutes} minute(s) ago" | ||||
| msgstr "vor {hours} Stunde(n), {minutes} Minute(n)" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:182 | ||||
| #: searx/engines/__init__.py:185 | ||||
| msgid "Page loads (sec)" | ||||
| msgstr "Ladezeit (sek)" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:186 | ||||
| #: searx/engines/__init__.py:189 | ||||
| msgid "Number of results" | ||||
| msgstr "Trefferanzahl" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:190 | ||||
| #: searx/engines/__init__.py:193 | ||||
| msgid "Scores" | ||||
| msgstr "Punkte" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:194 | ||||
| #: searx/engines/__init__.py:197 | ||||
| msgid "Scores per result" | ||||
| msgstr "Punkte pro Treffer" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:198 | ||||
| #: searx/engines/__init__.py:201 | ||||
| msgid "Errors" | ||||
| msgstr "Fehler" | ||||
| 
 | ||||
| @ -100,12 +100,22 @@ msgstr "Starte Suche wenn Kategorie angeklickt wird" | ||||
| #: searx/plugins/search_on_category_select.py:19 | ||||
| msgid "" | ||||
| "Perform search immediately if a category selected. Disable to select " | ||||
| "multiple categories." | ||||
| msgstr "Startet eine Suche sofort, wenn eine Kategorie angeklickt wird. Deaktiviere dieses Plugin um mehrere Kategorien anzuwählen." | ||||
| "multiple categories. (JavaScript required)" | ||||
| msgstr "Starte die Suche sofort wenn eine Kategorie ausgewählt wird. Es ist nicht mehr möglich mehrere Kategorien auszuwählen. (JavaScript benötigt)" | ||||
| 
 | ||||
| #: searx/plugins/self_ip.py:19 | ||||
| msgid "Display your source IP address if the query expression is \"ip\"" | ||||
| msgstr "Zeigt deine IP-Adresse an wenn die Suchanfrage \"ip\" lautet" | ||||
| #: 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 "Zeigt deine IP-Adresse wenn die Suche \"ip\" lautet, und deinen User-Agent wenn deine Suche \"user agent\" beinhaltet." | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:26 | ||||
| msgid "Tracker URL remover" | ||||
| msgstr "Tracker-URL entferner" | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:27 | ||||
| msgid "Remove trackers arguments from the returned URL" | ||||
| msgstr "Entferne Tracker Argumente von den URLs" | ||||
| 
 | ||||
| #: searx/templates/courgette/index.html:9 | ||||
| #: searx/templates/courgette/index.html:13 | ||||
| @ -133,90 +143,92 @@ msgstr "Einstellungen" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:9 | ||||
| #: searx/templates/default/preferences.html:9 | ||||
| #: searx/templates/oscar/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:37 | ||||
| #: searx/templates/oscar/preferences.html:36 | ||||
| #: searx/templates/oscar/preferences.html:38 | ||||
| msgid "Default categories" | ||||
| msgstr "Standardkategorien" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:13 | ||||
| #: searx/templates/default/preferences.html:14 | ||||
| #: searx/templates/oscar/preferences.html:43 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/pix-art/preferences.html:9 | ||||
| msgid "Search language" | ||||
| msgstr "Suchsprache" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:16 | ||||
| #: searx/templates/default/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:47 | ||||
| #: searx/templates/oscar/preferences.html:48 | ||||
| #: searx/templates/pix-art/preferences.html:12 | ||||
| msgid "Automatic" | ||||
| msgstr "Automatisch" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:24 | ||||
| #: searx/templates/default/preferences.html:25 | ||||
| #: searx/templates/oscar/preferences.html:54 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/pix-art/preferences.html:20 | ||||
| msgid "Interface language" | ||||
| msgstr "Oberflächensprache" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:34 | ||||
| #: searx/templates/default/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| msgid "Autocomplete" | ||||
| msgstr "Autovervollständigung" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:45 | ||||
| #: searx/templates/default/preferences.html:46 | ||||
| #: searx/templates/oscar/preferences.html:75 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| msgid "Image proxy" | ||||
| msgstr "Bilder Proxy" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:48 | ||||
| #: searx/templates/default/preferences.html:49 | ||||
| #: searx/templates/oscar/preferences.html:79 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| msgid "Enabled" | ||||
| msgstr "Aktiviert" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:49 | ||||
| #: searx/templates/default/preferences.html:50 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| #: searx/templates/oscar/preferences.html:81 | ||||
| msgid "Disabled" | ||||
| msgstr "Deaktiviert" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:54 | ||||
| #: searx/templates/default/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:84 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/pix-art/preferences.html:30 | ||||
| msgid "Method" | ||||
| msgstr "Methode" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:63 | ||||
| #: searx/templates/default/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:93 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:144 | ||||
| #: searx/templates/oscar/preferences.html:150 | ||||
| msgid "SafeSearch" | ||||
| msgstr "Sichere Suche (SafeSearch)" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:66 | ||||
| #: searx/templates/default/preferences.html:67 | ||||
| #: searx/templates/oscar/preferences.html:97 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| msgid "Strict" | ||||
| msgstr "Streng" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:67 | ||||
| #: searx/templates/default/preferences.html:68 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| msgid "Moderate" | ||||
| msgstr "Moderat" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:68 | ||||
| #: searx/templates/default/preferences.html:69 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| #: searx/templates/oscar/preferences.html:100 | ||||
| msgid "None" | ||||
| msgstr "Keine" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:73 | ||||
| #: searx/templates/default/preferences.html:74 | ||||
| #: searx/templates/oscar/preferences.html:103 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/pix-art/preferences.html:39 | ||||
| msgid "Themes" | ||||
| msgstr "Designs" | ||||
| @ -257,6 +269,8 @@ msgstr "Aktuell benutzte Suchmaschinen" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:100 | ||||
| #: searx/templates/default/preferences.html:88 | ||||
| #: searx/templates/oscar/preferences.html:142 | ||||
| #: searx/templates/oscar/preferences.html:152 | ||||
| #: searx/templates/pix-art/preferences.html:53 | ||||
| msgid "Engine name" | ||||
| msgstr "Suchmaschinenname" | ||||
| @ -271,6 +285,8 @@ msgstr "Kategorie" | ||||
| #: searx/templates/default/preferences.html:90 | ||||
| #: searx/templates/default/preferences.html:101 | ||||
| #: searx/templates/oscar/macros.html:67 | ||||
| #: searx/templates/oscar/preferences.html:141 | ||||
| #: searx/templates/oscar/preferences.html:153 | ||||
| #: searx/templates/pix-art/preferences.html:54 | ||||
| #: searx/templates/pix-art/preferences.html:64 | ||||
| msgid "Allow" | ||||
| @ -288,7 +304,7 @@ msgstr "Blockieren" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:122 | ||||
| #: searx/templates/default/preferences.html:110 | ||||
| #: searx/templates/oscar/preferences.html:180 | ||||
| #: searx/templates/oscar/preferences.html:235 | ||||
| #: searx/templates/pix-art/preferences.html:73 | ||||
| msgid "" | ||||
| "These settings are stored in your cookies, this allows us not to store this " | ||||
| @ -297,7 +313,7 @@ msgstr "Diese Informationen werden in Cookies auf Ihrem Rechner gespeichert, dam | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:124 | ||||
| #: searx/templates/default/preferences.html:112 | ||||
| #: searx/templates/oscar/preferences.html:182 | ||||
| #: searx/templates/oscar/preferences.html:237 | ||||
| #: searx/templates/pix-art/preferences.html:75 | ||||
| msgid "" | ||||
| "These cookies serve your sole convenience, we don't use these cookies to " | ||||
| @ -306,20 +322,20 @@ msgstr "Diese Cookies dienen einzig Ihrem Komfort. Wir verwenden sie nicht, um S | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:127 | ||||
| #: searx/templates/default/preferences.html:115 | ||||
| #: searx/templates/oscar/preferences.html:185 | ||||
| #: searx/templates/oscar/preferences.html:240 | ||||
| #: searx/templates/pix-art/preferences.html:78 | ||||
| msgid "save" | ||||
| msgstr "Speichern" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:128 | ||||
| #: searx/templates/default/preferences.html:116 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| #: searx/templates/oscar/preferences.html:242 | ||||
| msgid "Reset defaults" | ||||
| msgstr "Zurücksetzen" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:129 | ||||
| #: searx/templates/default/preferences.html:117 | ||||
| #: searx/templates/oscar/preferences.html:186 | ||||
| #: searx/templates/oscar/preferences.html:241 | ||||
| #: searx/templates/pix-art/preferences.html:79 | ||||
| msgid "back" | ||||
| msgstr "Zurück" | ||||
| @ -429,51 +445,89 @@ msgid "Toggle navigation" | ||||
| msgstr "Navigation umschalten" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:24 | ||||
| #: searx/templates/oscar/preferences.html:25 | ||||
| msgid "General" | ||||
| msgstr "Allgemein" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:18 | ||||
| #: searx/templates/oscar/preferences.html:125 | ||||
| #: searx/templates/oscar/preferences.html:126 | ||||
| msgid "Engines" | ||||
| msgstr "Suchmaschinen" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:19 | ||||
| #: searx/templates/oscar/preferences.html:159 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| msgid "Plugins" | ||||
| msgstr "Erweiterungen" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/oscar/preferences.html:20 | ||||
| #: searx/templates/oscar/preferences.html:210 | ||||
| msgid "Cookies" | ||||
| msgstr "Cookies" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:45 | ||||
| msgid "What language do you prefer for search?" | ||||
| msgstr "welche Sprache bevorzugst du für die Suche?" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:56 | ||||
| msgid "Change the language of the layout" | ||||
| msgstr "ändere die Sprache des Layouts" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| #: searx/templates/oscar/preferences.html:66 | ||||
| msgid "Find stuff as you type" | ||||
| msgstr "zeige Vorschläge während der Eingabe an" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| #: searx/templates/oscar/preferences.html:77 | ||||
| msgid "Proxying image results through searx" | ||||
| msgstr "tunnel Bilder durch searx" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/oscar/preferences.html:86 | ||||
| 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 "ändere wie Formulare übertragen werden, <a href=\"https://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol#HTTP-Anfragemethoden\" rel=\"external\">lerne mehr über Anfragemethoden</a>" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:95 | ||||
| msgid "Filter content" | ||||
| msgstr "Inhalte filtern" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/oscar/preferences.html:105 | ||||
| msgid "Change searx layout" | ||||
| msgstr "ändere das Aussehen von searx" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:143 | ||||
| #: searx/templates/oscar/preferences.html:151 | ||||
| msgid "Shortcut" | ||||
| msgstr "Abkürzung" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:145 | ||||
| #: searx/templates/oscar/preferences.html:149 | ||||
| msgid "Avg. time" | ||||
| msgstr "mittlere Zeit" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:146 | ||||
| #: searx/templates/oscar/preferences.html:148 | ||||
| msgid "Max time" | ||||
| msgstr "max. Zeit" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:213 | ||||
| msgid "" | ||||
| "This is the list of cookies and their values searx is storing on your " | ||||
| "computer." | ||||
| msgstr "Diese Liste zeigt alle Daten welche searx auf deinem Computer speichert." | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:214 | ||||
| msgid "With that list, you can assess searx transparency." | ||||
| msgstr "Mit dieser Liste können Sie die Transparenz von searx bewerten" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:219 | ||||
| msgid "Cookie name" | ||||
| msgstr "Cookie Name" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:220 | ||||
| msgid "Value" | ||||
| msgstr "Wert" | ||||
| 
 | ||||
| #: searx/templates/oscar/results.html:7 | ||||
| msgid "Search results" | ||||
| msgstr "Suchergebnisse" | ||||
| @ -523,6 +577,14 @@ msgstr "Warnung!" | ||||
| msgid "Please enable JavaScript to use full functionality of this site." | ||||
| msgstr "Bitte aktiviere JavaScript, um alle Funktionen dieser Seite zu nutzen. " | ||||
| 
 | ||||
| #: 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 "derzeit sind keine Cookies gesetzt." | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/no_data_available.html:4 | ||||
| msgid "There is currently no data available. " | ||||
| msgstr "Es sind derzeit keine Daten vorhanden." | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -3,16 +3,18 @@ | ||||
| # This file is distributed under the same license as the PROJECT project. | ||||
| #  | ||||
| # Translators: | ||||
| # Adam Tauber <asciimoo@gmail.com>, 2015 | ||||
| # Alejandro León Aznar, 2014 | ||||
| # Alejandro León Aznar, 2014-2015 | ||||
| # Oscar Carrero <holaoscar@protonmail.ch>, 2015 | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: searx\n" | ||||
| "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" | ||||
| "POT-Creation-Date: 2015-04-26 18:57+0200\n" | ||||
| "PO-Revision-Date: 2015-04-27 23:48+0000\n" | ||||
| "Last-Translator: Alejandro León Aznar\n" | ||||
| "Language-Team: Spanish (http://www.transifex.com/projects/p/searx/language/es/)\n" | ||||
| "POT-Creation-Date: 2015-08-24 11:44+0200\n" | ||||
| "PO-Revision-Date: 2015-09-05 20:46+0000\n" | ||||
| "Last-Translator: Oscar Carrero <holaoscar@protonmail.ch>\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" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| @ -20,67 +22,67 @@ msgstr "" | ||||
| "Language: es\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||
| 
 | ||||
| #: searx/webapp.py:104 | ||||
| #: searx/webapp.py:114 | ||||
| msgid "files" | ||||
| msgstr "Archivos" | ||||
| 
 | ||||
| #: searx/webapp.py:105 | ||||
| #: searx/webapp.py:115 | ||||
| msgid "general" | ||||
| msgstr "General" | ||||
| 
 | ||||
| #: searx/webapp.py:106 | ||||
| #: searx/webapp.py:116 | ||||
| msgid "music" | ||||
| msgstr "Música" | ||||
| 
 | ||||
| #: searx/webapp.py:107 | ||||
| #: searx/webapp.py:117 | ||||
| msgid "social media" | ||||
| msgstr "Medios sociales" | ||||
| 
 | ||||
| #: searx/webapp.py:108 | ||||
| #: searx/webapp.py:118 | ||||
| msgid "images" | ||||
| msgstr "Imágenes" | ||||
| 
 | ||||
| #: searx/webapp.py:109 | ||||
| #: searx/webapp.py:119 | ||||
| msgid "videos" | ||||
| msgstr "Vídeos" | ||||
| 
 | ||||
| #: searx/webapp.py:110 | ||||
| #: searx/webapp.py:120 | ||||
| msgid "it" | ||||
| msgstr "TIC" | ||||
| 
 | ||||
| #: searx/webapp.py:111 | ||||
| #: searx/webapp.py:121 | ||||
| msgid "news" | ||||
| msgstr "noticias" | ||||
| 
 | ||||
| #: searx/webapp.py:112 | ||||
| #: searx/webapp.py:122 | ||||
| msgid "map" | ||||
| msgstr "mapa" | ||||
| 
 | ||||
| #: searx/webapp.py:396 | ||||
| #: searx/webapp.py:414 | ||||
| msgid "{minutes} minute(s) ago" | ||||
| msgstr "hace {minutes} minuto(s)" | ||||
| 
 | ||||
| #: searx/webapp.py:398 | ||||
| #: searx/webapp.py:416 | ||||
| msgid "{hours} hour(s), {minutes} minute(s) ago" | ||||
| msgstr "hace {hours} hora(s) y {minutes} minuto(s)" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:182 | ||||
| #: searx/engines/__init__.py:185 | ||||
| msgid "Page loads (sec)" | ||||
| msgstr "Tiempo de carga (segundos)" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:186 | ||||
| #: searx/engines/__init__.py:189 | ||||
| msgid "Number of results" | ||||
| msgstr "Número de resultados" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:190 | ||||
| #: searx/engines/__init__.py:193 | ||||
| msgid "Scores" | ||||
| msgstr "Puntuaciones" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:194 | ||||
| #: searx/engines/__init__.py:197 | ||||
| msgid "Scores per result" | ||||
| msgstr "Puntuaciones por resultado" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:198 | ||||
| #: searx/engines/__init__.py:201 | ||||
| msgid "Errors" | ||||
| msgstr "Errores" | ||||
| 
 | ||||
| @ -95,12 +97,22 @@ msgstr "Buscar en la categoría seleccionada" | ||||
| #: searx/plugins/search_on_category_select.py:19 | ||||
| msgid "" | ||||
| "Perform search immediately if a category selected. Disable to select " | ||||
| "multiple categories." | ||||
| msgstr "Realizar la búsqueda inmediatamente si se ha seleccionado una categoría. Desactivar la selección simultánea de varias categorías." | ||||
| "multiple categories. (JavaScript required)" | ||||
| msgstr "Realizar una búsqueda inmediatamente si se ha seleccionado una categoría. Desactivar para seleccionar varias categorías. (Se requiere JavaScript)" | ||||
| 
 | ||||
| #: searx/plugins/self_ip.py:19 | ||||
| msgid "Display your source IP address if the query expression is \"ip\"" | ||||
| msgstr "Mostrar tu dirección IP si el término de búsqueda es «ip»" | ||||
| #: 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 "Muestra tu dirección IP si la consulta es \"ip\" y tu Agente de Usuario si la consulta contiene \"agente de usuario\"." | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:26 | ||||
| msgid "Tracker URL remover" | ||||
| msgstr "Eliminador de URL rastreadora" | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:27 | ||||
| msgid "Remove trackers arguments from the returned URL" | ||||
| msgstr "Eliminar los argumentos de los rastreadores en la URL devuelta" | ||||
| 
 | ||||
| #: searx/templates/courgette/index.html:9 | ||||
| #: searx/templates/courgette/index.html:13 | ||||
| @ -128,90 +140,92 @@ msgstr "Preferencias" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:9 | ||||
| #: searx/templates/default/preferences.html:9 | ||||
| #: searx/templates/oscar/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:37 | ||||
| #: searx/templates/oscar/preferences.html:36 | ||||
| #: searx/templates/oscar/preferences.html:38 | ||||
| msgid "Default categories" | ||||
| msgstr "Categorías predeterminadas" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:13 | ||||
| #: searx/templates/default/preferences.html:14 | ||||
| #: searx/templates/oscar/preferences.html:43 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/pix-art/preferences.html:9 | ||||
| msgid "Search language" | ||||
| msgstr "Buscar idioma" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:16 | ||||
| #: searx/templates/default/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:47 | ||||
| #: searx/templates/oscar/preferences.html:48 | ||||
| #: searx/templates/pix-art/preferences.html:12 | ||||
| msgid "Automatic" | ||||
| msgstr "Automático" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:24 | ||||
| #: searx/templates/default/preferences.html:25 | ||||
| #: searx/templates/oscar/preferences.html:54 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/pix-art/preferences.html:20 | ||||
| msgid "Interface language" | ||||
| msgstr "Idioma de la interfaz" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:34 | ||||
| #: searx/templates/default/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| msgid "Autocomplete" | ||||
| msgstr "Autocompletar" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:45 | ||||
| #: searx/templates/default/preferences.html:46 | ||||
| #: searx/templates/oscar/preferences.html:75 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| msgid "Image proxy" | ||||
| msgstr "Imagen proxy" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:48 | ||||
| #: searx/templates/default/preferences.html:49 | ||||
| #: searx/templates/oscar/preferences.html:79 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| msgid "Enabled" | ||||
| msgstr "Activado" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:49 | ||||
| #: searx/templates/default/preferences.html:50 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| #: searx/templates/oscar/preferences.html:81 | ||||
| msgid "Disabled" | ||||
| msgstr "Desactivado" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:54 | ||||
| #: searx/templates/default/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:84 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/pix-art/preferences.html:30 | ||||
| msgid "Method" | ||||
| msgstr "Método" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:63 | ||||
| #: searx/templates/default/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:93 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:144 | ||||
| #: searx/templates/oscar/preferences.html:150 | ||||
| msgid "SafeSearch" | ||||
| msgstr "Búsqueda segura" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:66 | ||||
| #: searx/templates/default/preferences.html:67 | ||||
| #: searx/templates/oscar/preferences.html:97 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| msgid "Strict" | ||||
| msgstr "Riguroso" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:67 | ||||
| #: searx/templates/default/preferences.html:68 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| msgid "Moderate" | ||||
| msgstr "Moderado" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:68 | ||||
| #: searx/templates/default/preferences.html:69 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| #: searx/templates/oscar/preferences.html:100 | ||||
| msgid "None" | ||||
| msgstr "Ninguno" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:73 | ||||
| #: searx/templates/default/preferences.html:74 | ||||
| #: searx/templates/oscar/preferences.html:103 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/pix-art/preferences.html:39 | ||||
| msgid "Themes" | ||||
| msgstr "Temas" | ||||
| @ -252,6 +266,8 @@ msgstr "Motores de búsqueda actualmente en uso" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:100 | ||||
| #: searx/templates/default/preferences.html:88 | ||||
| #: searx/templates/oscar/preferences.html:142 | ||||
| #: searx/templates/oscar/preferences.html:152 | ||||
| #: searx/templates/pix-art/preferences.html:53 | ||||
| msgid "Engine name" | ||||
| msgstr "Nombre del motor de búsqueda" | ||||
| @ -266,6 +282,8 @@ msgstr "Categoría" | ||||
| #: searx/templates/default/preferences.html:90 | ||||
| #: searx/templates/default/preferences.html:101 | ||||
| #: searx/templates/oscar/macros.html:67 | ||||
| #: searx/templates/oscar/preferences.html:141 | ||||
| #: searx/templates/oscar/preferences.html:153 | ||||
| #: searx/templates/pix-art/preferences.html:54 | ||||
| #: searx/templates/pix-art/preferences.html:64 | ||||
| msgid "Allow" | ||||
| @ -283,7 +301,7 @@ msgstr "Bloquear" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:122 | ||||
| #: searx/templates/default/preferences.html:110 | ||||
| #: searx/templates/oscar/preferences.html:180 | ||||
| #: searx/templates/oscar/preferences.html:235 | ||||
| #: searx/templates/pix-art/preferences.html:73 | ||||
| msgid "" | ||||
| "These settings are stored in your cookies, this allows us not to store this " | ||||
| @ -292,7 +310,7 @@ msgstr "Esta configuración se guarda en sus cookies, lo que nos permite no alma | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:124 | ||||
| #: searx/templates/default/preferences.html:112 | ||||
| #: searx/templates/oscar/preferences.html:182 | ||||
| #: searx/templates/oscar/preferences.html:237 | ||||
| #: searx/templates/pix-art/preferences.html:75 | ||||
| msgid "" | ||||
| "These cookies serve your sole convenience, we don't use these cookies to " | ||||
| @ -301,20 +319,20 @@ msgstr "Estas cookies son para su propia comodidad, no las utilizamos para rastr | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:127 | ||||
| #: searx/templates/default/preferences.html:115 | ||||
| #: searx/templates/oscar/preferences.html:185 | ||||
| #: searx/templates/oscar/preferences.html:240 | ||||
| #: searx/templates/pix-art/preferences.html:78 | ||||
| msgid "save" | ||||
| msgstr "Guardar" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:128 | ||||
| #: searx/templates/default/preferences.html:116 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| #: searx/templates/oscar/preferences.html:242 | ||||
| msgid "Reset defaults" | ||||
| msgstr "Restablecer configuración por defecto" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:129 | ||||
| #: searx/templates/default/preferences.html:117 | ||||
| #: searx/templates/oscar/preferences.html:186 | ||||
| #: searx/templates/oscar/preferences.html:241 | ||||
| #: searx/templates/pix-art/preferences.html:79 | ||||
| msgid "back" | ||||
| msgstr "Atrás" | ||||
| @ -323,7 +341,7 @@ msgstr "Atrás" | ||||
| #: searx/templates/default/results.html:13 | ||||
| #: searx/templates/oscar/results.html:110 | ||||
| msgid "Search URL" | ||||
| msgstr "Buscar URL" | ||||
| msgstr "URL de la búsqueda" | ||||
| 
 | ||||
| #: searx/templates/courgette/results.html:16 | ||||
| #: searx/templates/default/results.html:17 | ||||
| @ -413,7 +431,7 @@ msgstr "Creado por" | ||||
| 
 | ||||
| #: searx/templates/oscar/base.html:78 | ||||
| msgid "a privacy-respecting, hackable metasearch engine" | ||||
| msgstr "un metabuscador hackeable que respeta la privacidad" | ||||
| msgstr "un metabuscador hackable que respeta la privacidad" | ||||
| 
 | ||||
| #: searx/templates/oscar/navbar.html:9 searx/templates/oscar/navbar.html:33 | ||||
| msgid "home" | ||||
| @ -424,51 +442,89 @@ msgid "Toggle navigation" | ||||
| msgstr "Cambiar navegación" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:24 | ||||
| #: searx/templates/oscar/preferences.html:25 | ||||
| msgid "General" | ||||
| msgstr "General" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:18 | ||||
| #: searx/templates/oscar/preferences.html:125 | ||||
| #: searx/templates/oscar/preferences.html:126 | ||||
| msgid "Engines" | ||||
| msgstr "Motores" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:19 | ||||
| #: searx/templates/oscar/preferences.html:159 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| msgid "Plugins" | ||||
| msgstr "Plugins" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/oscar/preferences.html:20 | ||||
| #: searx/templates/oscar/preferences.html:210 | ||||
| msgid "Cookies" | ||||
| msgstr "Cookies" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:45 | ||||
| msgid "What language do you prefer for search?" | ||||
| msgstr "¿Qué idioma prefieres para la búsqueda?" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:56 | ||||
| msgid "Change the language of the layout" | ||||
| msgstr "Cambiar idioma de la interfaz" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| #: searx/templates/oscar/preferences.html:66 | ||||
| msgid "Find stuff as you type" | ||||
| msgstr "Buscar mientras escribes" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| #: searx/templates/oscar/preferences.html:77 | ||||
| msgid "Proxying image results through searx" | ||||
| msgstr "Filtrando resultados de imágenes en searx" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/oscar/preferences.html:86 | ||||
| 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 "Modifica cómo se envian los formularios <a href=\"http://es.wikipedia.org/wiki/Hypertext_Transfer_Protocol#M.C3.A9todos_de_petici.C3.B3n\" rel=\"external\">más información sobre métodos de peticiones</a>" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:95 | ||||
| msgid "Filter content" | ||||
| msgstr "Filtro de contenido" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/oscar/preferences.html:105 | ||||
| msgid "Change searx layout" | ||||
| msgstr "Cambiar aspecto de searx" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:143 | ||||
| #: searx/templates/oscar/preferences.html:151 | ||||
| msgid "Shortcut" | ||||
| msgstr "Atajo" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:145 | ||||
| #: searx/templates/oscar/preferences.html:149 | ||||
| msgid "Avg. time" | ||||
| msgstr "Tiempo promedio" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:146 | ||||
| #: searx/templates/oscar/preferences.html:148 | ||||
| msgid "Max time" | ||||
| msgstr "Tiempo máximo" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:213 | ||||
| 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:214 | ||||
| msgid "With that list, you can assess searx transparency." | ||||
| msgstr "Con esa lista puedes valorar la transparencia de searx." | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:219 | ||||
| msgid "Cookie name" | ||||
| msgstr "Nombre de la cookie" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:220 | ||||
| msgid "Value" | ||||
| msgstr "Valor" | ||||
| 
 | ||||
| #: searx/templates/oscar/results.html:7 | ||||
| msgid "Search results" | ||||
| msgstr "Buscar" | ||||
| @ -516,7 +572,15 @@ msgstr "¡Cuidado!" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/js_disabled.html:3 | ||||
| msgid "Please enable JavaScript to use full functionality of this site." | ||||
| msgstr "Por favor, activa JavaScript para poder usar esta página al 100%." | ||||
| msgstr "Por favor, activa JavaScript para poder usar esta página al 100%%." | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/no_cookies.html:3 | ||||
| msgid "Information!" | ||||
| msgstr "¡Información!" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/no_cookies.html:4 | ||||
| msgid "currently, there are no cookies defined." | ||||
| msgstr "No existen cookies definidas actualmente." | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/no_data_available.html:4 | ||||
| msgid "There is currently no data available. " | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							| @ -13,10 +13,10 @@ msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: searx\n" | ||||
| "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" | ||||
| "POT-Creation-Date: 2015-04-26 18:57+0200\n" | ||||
| "PO-Revision-Date: 2015-05-14 00:01+0000\n" | ||||
| "POT-Creation-Date: 2015-08-24 11:44+0200\n" | ||||
| "PO-Revision-Date: 2015-08-24 15:35+0000\n" | ||||
| "Last-Translator: Cqoicebordel <david.barouh@wanadoo.fr>\n" | ||||
| "Language-Team: French (http://www.transifex.com/projects/p/searx/language/fr/)\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" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| @ -24,67 +24,67 @@ msgstr "" | ||||
| "Language: fr\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n > 1);\n" | ||||
| 
 | ||||
| #: searx/webapp.py:104 | ||||
| #: searx/webapp.py:114 | ||||
| msgid "files" | ||||
| msgstr "fichiers" | ||||
| 
 | ||||
| #: searx/webapp.py:105 | ||||
| #: searx/webapp.py:115 | ||||
| msgid "general" | ||||
| msgstr "général" | ||||
| 
 | ||||
| #: searx/webapp.py:106 | ||||
| #: searx/webapp.py:116 | ||||
| msgid "music" | ||||
| msgstr "musique" | ||||
| 
 | ||||
| #: searx/webapp.py:107 | ||||
| #: searx/webapp.py:117 | ||||
| msgid "social media" | ||||
| msgstr "réseaux sociaux" | ||||
| 
 | ||||
| #: searx/webapp.py:108 | ||||
| #: searx/webapp.py:118 | ||||
| msgid "images" | ||||
| msgstr "images" | ||||
| 
 | ||||
| #: searx/webapp.py:109 | ||||
| #: searx/webapp.py:119 | ||||
| msgid "videos" | ||||
| msgstr "vidéos" | ||||
| 
 | ||||
| #: searx/webapp.py:110 | ||||
| #: searx/webapp.py:120 | ||||
| msgid "it" | ||||
| msgstr "informatique" | ||||
| 
 | ||||
| #: searx/webapp.py:111 | ||||
| #: searx/webapp.py:121 | ||||
| msgid "news" | ||||
| msgstr "actus" | ||||
| 
 | ||||
| #: searx/webapp.py:112 | ||||
| #: searx/webapp.py:122 | ||||
| msgid "map" | ||||
| msgstr "carte" | ||||
| 
 | ||||
| #: searx/webapp.py:396 | ||||
| #: searx/webapp.py:414 | ||||
| msgid "{minutes} minute(s) ago" | ||||
| msgstr "il y a {minutes} minute(s)" | ||||
| 
 | ||||
| #: searx/webapp.py:398 | ||||
| #: searx/webapp.py:416 | ||||
| msgid "{hours} hour(s), {minutes} minute(s) ago" | ||||
| msgstr "il y a {hours} heure(s), {minutes} minute(s)" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:182 | ||||
| #: searx/engines/__init__.py:185 | ||||
| msgid "Page loads (sec)" | ||||
| msgstr "Chargement de la page (sec)" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:186 | ||||
| #: searx/engines/__init__.py:189 | ||||
| msgid "Number of results" | ||||
| msgstr "Nombre de résultats" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:190 | ||||
| #: searx/engines/__init__.py:193 | ||||
| msgid "Scores" | ||||
| msgstr "Score" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:194 | ||||
| #: searx/engines/__init__.py:197 | ||||
| msgid "Scores per result" | ||||
| msgstr "Score par résultat" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:198 | ||||
| #: searx/engines/__init__.py:201 | ||||
| msgid "Errors" | ||||
| msgstr "Erreurs" | ||||
| 
 | ||||
| @ -99,12 +99,22 @@ msgstr "Lancer la recherche lors du choix d'une catégorie" | ||||
| #: searx/plugins/search_on_category_select.py:19 | ||||
| msgid "" | ||||
| "Perform search immediately if a category selected. Disable to select " | ||||
| "multiple categories." | ||||
| msgstr "Exécute la recherche immédiatement si une catégorie est sélectionnée. Désactiver pour sélectionner plusieurs catégories." | ||||
| "multiple categories. (JavaScript required)" | ||||
| msgstr "Exécute la recherche immédiatement si une catégorie est sélectionnée. Désactiver pour sélectionner plusieurs catégories (nécessite JavaScript)." | ||||
| 
 | ||||
| #: searx/plugins/self_ip.py:19 | ||||
| msgid "Display your source IP address if the query expression is \"ip\"" | ||||
| msgstr "Afficher votre adresse IP si la requête contient \"ip\"." | ||||
| #: 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 "Affiche votre adresse IP si la requête est \"ip\", et affiche votre user-agent si la requete contient \"user agent\"." | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:26 | ||||
| msgid "Tracker URL remover" | ||||
| msgstr "Nettoyeur d'URL de suivis" | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:27 | ||||
| msgid "Remove trackers arguments from the returned URL" | ||||
| msgstr "Retire les arguments utilisés pour vous pister des URL retournées" | ||||
| 
 | ||||
| #: searx/templates/courgette/index.html:9 | ||||
| #: searx/templates/courgette/index.html:13 | ||||
| @ -132,90 +142,92 @@ msgstr "Préférences" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:9 | ||||
| #: searx/templates/default/preferences.html:9 | ||||
| #: searx/templates/oscar/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:37 | ||||
| #: searx/templates/oscar/preferences.html:36 | ||||
| #: searx/templates/oscar/preferences.html:38 | ||||
| msgid "Default categories" | ||||
| msgstr "Catégories par défaut" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:13 | ||||
| #: searx/templates/default/preferences.html:14 | ||||
| #: searx/templates/oscar/preferences.html:43 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/pix-art/preferences.html:9 | ||||
| msgid "Search language" | ||||
| msgstr "Langue de recherche" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:16 | ||||
| #: searx/templates/default/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:47 | ||||
| #: searx/templates/oscar/preferences.html:48 | ||||
| #: searx/templates/pix-art/preferences.html:12 | ||||
| msgid "Automatic" | ||||
| msgstr "Automatique" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:24 | ||||
| #: searx/templates/default/preferences.html:25 | ||||
| #: searx/templates/oscar/preferences.html:54 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/pix-art/preferences.html:20 | ||||
| msgid "Interface language" | ||||
| msgstr "Langue de l'interface" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:34 | ||||
| #: searx/templates/default/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| msgid "Autocomplete" | ||||
| msgstr "Complétion automatique" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:45 | ||||
| #: searx/templates/default/preferences.html:46 | ||||
| #: searx/templates/oscar/preferences.html:75 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| msgid "Image proxy" | ||||
| msgstr "Proxy d'images" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:48 | ||||
| #: searx/templates/default/preferences.html:49 | ||||
| #: searx/templates/oscar/preferences.html:79 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| msgid "Enabled" | ||||
| msgstr "Activé" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:49 | ||||
| #: searx/templates/default/preferences.html:50 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| #: searx/templates/oscar/preferences.html:81 | ||||
| msgid "Disabled" | ||||
| msgstr "Désactivé" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:54 | ||||
| #: searx/templates/default/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:84 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/pix-art/preferences.html:30 | ||||
| msgid "Method" | ||||
| msgstr "Méthode" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:63 | ||||
| #: searx/templates/default/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:93 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:144 | ||||
| #: searx/templates/oscar/preferences.html:150 | ||||
| msgid "SafeSearch" | ||||
| msgstr "Recherche sécurisée" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:66 | ||||
| #: searx/templates/default/preferences.html:67 | ||||
| #: searx/templates/oscar/preferences.html:97 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| msgid "Strict" | ||||
| msgstr "Stricte" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:67 | ||||
| #: searx/templates/default/preferences.html:68 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| msgid "Moderate" | ||||
| msgstr "Moyen" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:68 | ||||
| #: searx/templates/default/preferences.html:69 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| #: searx/templates/oscar/preferences.html:100 | ||||
| msgid "None" | ||||
| msgstr "Pas du tout" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:73 | ||||
| #: searx/templates/default/preferences.html:74 | ||||
| #: searx/templates/oscar/preferences.html:103 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/pix-art/preferences.html:39 | ||||
| msgid "Themes" | ||||
| msgstr "Thème" | ||||
| @ -256,6 +268,8 @@ msgstr "Moteurs de recherche actuellement utilisés" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:100 | ||||
| #: searx/templates/default/preferences.html:88 | ||||
| #: searx/templates/oscar/preferences.html:142 | ||||
| #: searx/templates/oscar/preferences.html:152 | ||||
| #: searx/templates/pix-art/preferences.html:53 | ||||
| msgid "Engine name" | ||||
| msgstr "Nom du moteur" | ||||
| @ -270,6 +284,8 @@ msgstr "Catégorie" | ||||
| #: searx/templates/default/preferences.html:90 | ||||
| #: searx/templates/default/preferences.html:101 | ||||
| #: searx/templates/oscar/macros.html:67 | ||||
| #: searx/templates/oscar/preferences.html:141 | ||||
| #: searx/templates/oscar/preferences.html:153 | ||||
| #: searx/templates/pix-art/preferences.html:54 | ||||
| #: searx/templates/pix-art/preferences.html:64 | ||||
| msgid "Allow" | ||||
| @ -287,7 +303,7 @@ msgstr "Bloquer" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:122 | ||||
| #: searx/templates/default/preferences.html:110 | ||||
| #: searx/templates/oscar/preferences.html:180 | ||||
| #: searx/templates/oscar/preferences.html:235 | ||||
| #: searx/templates/pix-art/preferences.html:73 | ||||
| msgid "" | ||||
| "These settings are stored in your cookies, this allows us not to store this " | ||||
| @ -296,7 +312,7 @@ msgstr "Ces paramètres sont stockés dans vos cookies ; ceci nous permet de ne | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:124 | ||||
| #: searx/templates/default/preferences.html:112 | ||||
| #: searx/templates/oscar/preferences.html:182 | ||||
| #: searx/templates/oscar/preferences.html:237 | ||||
| #: searx/templates/pix-art/preferences.html:75 | ||||
| msgid "" | ||||
| "These cookies serve your sole convenience, we don't use these cookies to " | ||||
| @ -305,20 +321,20 @@ msgstr "Ces cookies existent pour votre confort d'utilisation, nous ne les utili | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:127 | ||||
| #: searx/templates/default/preferences.html:115 | ||||
| #: searx/templates/oscar/preferences.html:185 | ||||
| #: searx/templates/oscar/preferences.html:240 | ||||
| #: searx/templates/pix-art/preferences.html:78 | ||||
| msgid "save" | ||||
| msgstr "enregistrer" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:128 | ||||
| #: searx/templates/default/preferences.html:116 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| #: searx/templates/oscar/preferences.html:242 | ||||
| msgid "Reset defaults" | ||||
| msgstr "Remettre les valeurs par défaut" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:129 | ||||
| #: searx/templates/default/preferences.html:117 | ||||
| #: searx/templates/oscar/preferences.html:186 | ||||
| #: searx/templates/oscar/preferences.html:241 | ||||
| #: searx/templates/pix-art/preferences.html:79 | ||||
| msgid "back" | ||||
| msgstr "retour" | ||||
| @ -428,51 +444,89 @@ msgid "Toggle navigation" | ||||
| msgstr "Afficher/Masquer la navigation" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:24 | ||||
| #: searx/templates/oscar/preferences.html:25 | ||||
| msgid "General" | ||||
| msgstr "Général" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:18 | ||||
| #: searx/templates/oscar/preferences.html:125 | ||||
| #: searx/templates/oscar/preferences.html:126 | ||||
| msgid "Engines" | ||||
| msgstr "Moteurs" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:19 | ||||
| #: searx/templates/oscar/preferences.html:159 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| msgid "Plugins" | ||||
| msgstr "Plugins" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/oscar/preferences.html:20 | ||||
| #: searx/templates/oscar/preferences.html:210 | ||||
| msgid "Cookies" | ||||
| msgstr "Cookies" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:45 | ||||
| msgid "What language do you prefer for search?" | ||||
| msgstr "Dans quelle langue préférez-vous effectuer la recherche ?" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:56 | ||||
| msgid "Change the language of the layout" | ||||
| msgstr "Changer la langue d'affichage" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| #: searx/templates/oscar/preferences.html:66 | ||||
| msgid "Find stuff as you type" | ||||
| msgstr "Chercher au fil de la saisie" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| #: searx/templates/oscar/preferences.html:77 | ||||
| msgid "Proxying image results through searx" | ||||
| msgstr "Proxifier les images de résultats à travers searx" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/oscar/preferences.html:86 | ||||
| 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 choisir comment la recherche est envoyée, <a href=\"https://fr.wikipedia.org/wiki/Hypertext_Transfer_Protocol#M.C3.A9thodes\" rel=\"external\">en savoir plus sur les méthodes HTTP</a>" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:95 | ||||
| msgid "Filter content" | ||||
| msgstr "Filtrer le contenu" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/oscar/preferences.html:105 | ||||
| msgid "Change searx layout" | ||||
| msgstr "Modifier l'affichage de searx" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:143 | ||||
| #: searx/templates/oscar/preferences.html:151 | ||||
| msgid "Shortcut" | ||||
| msgstr "Raccourcis" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:145 | ||||
| #: searx/templates/oscar/preferences.html:149 | ||||
| msgid "Avg. time" | ||||
| msgstr "Temps moy." | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:146 | ||||
| #: searx/templates/oscar/preferences.html:148 | ||||
| msgid "Max time" | ||||
| msgstr "Temps max" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:213 | ||||
| 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:214 | ||||
| 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:219 | ||||
| msgid "Cookie name" | ||||
| msgstr "Nom du cookie" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:220 | ||||
| msgid "Value" | ||||
| msgstr "Valeur" | ||||
| 
 | ||||
| #: searx/templates/oscar/results.html:7 | ||||
| msgid "Search results" | ||||
| msgstr "Résultats de recherche" | ||||
| @ -522,6 +576,14 @@ msgstr "Attention !" | ||||
| msgid "Please enable JavaScript to use full functionality of this site." | ||||
| msgstr "Merci d'activer JavaScript pour utiliser toutes les fonctionnalités de ce site." | ||||
| 
 | ||||
| #: 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 "il n'y a pas de cookies définit pour le moment." | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/no_data_available.html:4 | ||||
| msgid "There is currently no data available. " | ||||
| msgstr "Aucune donnée disponible pour l'instant. " | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							| @ -12,10 +12,10 @@ msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: searx\n" | ||||
| "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" | ||||
| "POT-Creation-Date: 2015-04-26 18:57+0200\n" | ||||
| "PO-Revision-Date: 2015-04-27 06:42+0000\n" | ||||
| "POT-Creation-Date: 2015-08-24 11:44+0200\n" | ||||
| "PO-Revision-Date: 2015-08-24 11:19+0000\n" | ||||
| "Last-Translator: GenghisKhan <genghiskhan@gmx.ca>\n" | ||||
| "Language-Team: Hebrew (http://www.transifex.com/projects/p/searx/language/he/)\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" | ||||
| @ -23,67 +23,67 @@ msgstr "" | ||||
| "Language: he\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||
| 
 | ||||
| #: searx/webapp.py:104 | ||||
| #: searx/webapp.py:114 | ||||
| msgid "files" | ||||
| msgstr "קבצים" | ||||
| 
 | ||||
| #: searx/webapp.py:105 | ||||
| #: searx/webapp.py:115 | ||||
| msgid "general" | ||||
| msgstr "כללי" | ||||
| 
 | ||||
| #: searx/webapp.py:106 | ||||
| #: searx/webapp.py:116 | ||||
| msgid "music" | ||||
| msgstr "מוזיקה" | ||||
| 
 | ||||
| #: searx/webapp.py:107 | ||||
| #: searx/webapp.py:117 | ||||
| msgid "social media" | ||||
| msgstr "מדיה חברתית" | ||||
| 
 | ||||
| #: searx/webapp.py:108 | ||||
| #: searx/webapp.py:118 | ||||
| msgid "images" | ||||
| msgstr "תמונות" | ||||
| 
 | ||||
| #: searx/webapp.py:109 | ||||
| #: searx/webapp.py:119 | ||||
| msgid "videos" | ||||
| msgstr "סרטונים" | ||||
| 
 | ||||
| #: searx/webapp.py:110 | ||||
| #: searx/webapp.py:120 | ||||
| msgid "it" | ||||
| msgstr "IT" | ||||
| 
 | ||||
| #: searx/webapp.py:111 | ||||
| #: searx/webapp.py:121 | ||||
| msgid "news" | ||||
| msgstr "חדשות" | ||||
| 
 | ||||
| #: searx/webapp.py:112 | ||||
| #: searx/webapp.py:122 | ||||
| msgid "map" | ||||
| msgstr "מפה" | ||||
| 
 | ||||
| #: searx/webapp.py:396 | ||||
| #: searx/webapp.py:414 | ||||
| msgid "{minutes} minute(s) ago" | ||||
| msgstr "לפני {minutes} דקות" | ||||
| 
 | ||||
| #: searx/webapp.py:398 | ||||
| #: searx/webapp.py:416 | ||||
| msgid "{hours} hour(s), {minutes} minute(s) ago" | ||||
| msgstr "לפני {hours} שעות, {minutes} דקות" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:182 | ||||
| #: searx/engines/__init__.py:185 | ||||
| msgid "Page loads (sec)" | ||||
| msgstr "עומס עמוד (שניות)" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:186 | ||||
| #: searx/engines/__init__.py:189 | ||||
| msgid "Number of results" | ||||
| msgstr "מספר תוצאות" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:190 | ||||
| #: searx/engines/__init__.py:193 | ||||
| msgid "Scores" | ||||
| msgstr "דירוג" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:194 | ||||
| #: searx/engines/__init__.py:197 | ||||
| msgid "Scores per result" | ||||
| msgstr "דירוג לכל תוצאה" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:198 | ||||
| #: searx/engines/__init__.py:201 | ||||
| msgid "Errors" | ||||
| msgstr "שגיאות" | ||||
| 
 | ||||
| @ -98,12 +98,22 @@ msgstr "חפש בעת בחירת קטגוריה" | ||||
| #: searx/plugins/search_on_category_select.py:19 | ||||
| msgid "" | ||||
| "Perform search immediately if a category selected. Disable to select " | ||||
| "multiple categories." | ||||
| msgstr "בצע חיפוש מיד לאחר שקטגוריה נבחרת. נטרל כדי לבחור מספר קטגוריות." | ||||
| "multiple categories. (JavaScript required)" | ||||
| msgstr "בצע חיפוש לאלתר כאשר קטגוריה נבחרת. נטרל כדי לבחור קטגוריות מרובות. (מצריך JavaScript)" | ||||
| 
 | ||||
| #: searx/plugins/self_ip.py:19 | ||||
| msgid "Display your source IP address if the query expression is \"ip\"" | ||||
| msgstr "הצג מקור כתובת IP כאשר מילת שאילתא היא \"ip\"" | ||||
| #: searx/plugins/self_info.py:20 | ||||
| msgid "" | ||||
| "Displays your IP if the query is \"ip\" and your user agent if the query " | ||||
| "contains \"user agent\"." | ||||
| msgstr "מציגה כתובת IP המשוייכת לך אם השאילתא היא \"ip\" וגם סוכן משתמש אם שאילתא מכילה \"user agent\"." | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:26 | ||||
| msgid "Tracker URL remover" | ||||
| msgstr "מסיר URL גשש" | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:27 | ||||
| msgid "Remove trackers arguments from the returned URL" | ||||
| msgstr "הסר ארגומנטים מאתרים מתוך URL מוחזר" | ||||
| 
 | ||||
| #: searx/templates/courgette/index.html:9 | ||||
| #: searx/templates/courgette/index.html:13 | ||||
| @ -131,90 +141,92 @@ msgstr "העדפות" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:9 | ||||
| #: searx/templates/default/preferences.html:9 | ||||
| #: searx/templates/oscar/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:37 | ||||
| #: searx/templates/oscar/preferences.html:36 | ||||
| #: searx/templates/oscar/preferences.html:38 | ||||
| msgid "Default categories" | ||||
| msgstr "קטגוריות ברירת מחדל" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:13 | ||||
| #: searx/templates/default/preferences.html:14 | ||||
| #: searx/templates/oscar/preferences.html:43 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/pix-art/preferences.html:9 | ||||
| msgid "Search language" | ||||
| msgstr "שפת חיפוש" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:16 | ||||
| #: searx/templates/default/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:47 | ||||
| #: searx/templates/oscar/preferences.html:48 | ||||
| #: searx/templates/pix-art/preferences.html:12 | ||||
| msgid "Automatic" | ||||
| msgstr "אוטומטי" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:24 | ||||
| #: searx/templates/default/preferences.html:25 | ||||
| #: searx/templates/oscar/preferences.html:54 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/pix-art/preferences.html:20 | ||||
| msgid "Interface language" | ||||
| msgstr "שפת ממשק" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:34 | ||||
| #: searx/templates/default/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| msgid "Autocomplete" | ||||
| msgstr "השלמה אוטומטית" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:45 | ||||
| #: searx/templates/default/preferences.html:46 | ||||
| #: searx/templates/oscar/preferences.html:75 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| msgid "Image proxy" | ||||
| msgstr "proxy תמונה" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:48 | ||||
| #: searx/templates/default/preferences.html:49 | ||||
| #: searx/templates/oscar/preferences.html:79 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| msgid "Enabled" | ||||
| msgstr "מאופשר" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:49 | ||||
| #: searx/templates/default/preferences.html:50 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| #: searx/templates/oscar/preferences.html:81 | ||||
| msgid "Disabled" | ||||
| msgstr "מנוטרל" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:54 | ||||
| #: searx/templates/default/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:84 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/pix-art/preferences.html:30 | ||||
| msgid "Method" | ||||
| msgstr "שיטה" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:63 | ||||
| #: searx/templates/default/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:93 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:144 | ||||
| #: searx/templates/oscar/preferences.html:150 | ||||
| msgid "SafeSearch" | ||||
| msgstr "חיפוש בטוח" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:66 | ||||
| #: searx/templates/default/preferences.html:67 | ||||
| #: searx/templates/oscar/preferences.html:97 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| msgid "Strict" | ||||
| msgstr "מחמיר" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:67 | ||||
| #: searx/templates/default/preferences.html:68 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| msgid "Moderate" | ||||
| msgstr "מתון" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:68 | ||||
| #: searx/templates/default/preferences.html:69 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| #: searx/templates/oscar/preferences.html:100 | ||||
| msgid "None" | ||||
| msgstr "בלי" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:73 | ||||
| #: searx/templates/default/preferences.html:74 | ||||
| #: searx/templates/oscar/preferences.html:103 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/pix-art/preferences.html:39 | ||||
| msgid "Themes" | ||||
| msgstr "מוטיבים" | ||||
| @ -251,10 +263,12 @@ msgstr "אדום" | ||||
| #: searx/templates/default/preferences.html:84 | ||||
| #: searx/templates/pix-art/preferences.html:49 | ||||
| msgid "Currently used search engines" | ||||
| msgstr "מנועי חיפוש שבשימוש עתה" | ||||
| msgstr "מנועי חיפוש בשימוש עתה" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:100 | ||||
| #: searx/templates/default/preferences.html:88 | ||||
| #: searx/templates/oscar/preferences.html:142 | ||||
| #: searx/templates/oscar/preferences.html:152 | ||||
| #: searx/templates/pix-art/preferences.html:53 | ||||
| msgid "Engine name" | ||||
| msgstr "שם מנוע" | ||||
| @ -269,6 +283,8 @@ msgstr "קטגוריה" | ||||
| #: searx/templates/default/preferences.html:90 | ||||
| #: searx/templates/default/preferences.html:101 | ||||
| #: searx/templates/oscar/macros.html:67 | ||||
| #: searx/templates/oscar/preferences.html:141 | ||||
| #: searx/templates/oscar/preferences.html:153 | ||||
| #: searx/templates/pix-art/preferences.html:54 | ||||
| #: searx/templates/pix-art/preferences.html:64 | ||||
| msgid "Allow" | ||||
| @ -286,7 +302,7 @@ msgstr "חסום" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:122 | ||||
| #: searx/templates/default/preferences.html:110 | ||||
| #: searx/templates/oscar/preferences.html:180 | ||||
| #: searx/templates/oscar/preferences.html:235 | ||||
| #: searx/templates/pix-art/preferences.html:73 | ||||
| msgid "" | ||||
| "These settings are stored in your cookies, this allows us not to store this " | ||||
| @ -295,7 +311,7 @@ msgstr "הגדרות אלו מאוחסנות בתוך העוגיות שלך, א | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:124 | ||||
| #: searx/templates/default/preferences.html:112 | ||||
| #: searx/templates/oscar/preferences.html:182 | ||||
| #: searx/templates/oscar/preferences.html:237 | ||||
| #: searx/templates/pix-art/preferences.html:75 | ||||
| msgid "" | ||||
| "These cookies serve your sole convenience, we don't use these cookies to " | ||||
| @ -304,20 +320,20 @@ msgstr "עוגיות אלו משרתות את נוחותך הבלעדית, אנ | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:127 | ||||
| #: searx/templates/default/preferences.html:115 | ||||
| #: searx/templates/oscar/preferences.html:185 | ||||
| #: searx/templates/oscar/preferences.html:240 | ||||
| #: searx/templates/pix-art/preferences.html:78 | ||||
| msgid "save" | ||||
| msgstr "שמור" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:128 | ||||
| #: searx/templates/default/preferences.html:116 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| #: searx/templates/oscar/preferences.html:242 | ||||
| msgid "Reset defaults" | ||||
| msgstr "אפס ברירות מחדל" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:129 | ||||
| #: searx/templates/default/preferences.html:117 | ||||
| #: searx/templates/oscar/preferences.html:186 | ||||
| #: searx/templates/oscar/preferences.html:241 | ||||
| #: searx/templates/pix-art/preferences.html:79 | ||||
| msgid "back" | ||||
| msgstr "חזור" | ||||
| @ -412,7 +428,7 @@ msgstr "מוטמן" | ||||
| 
 | ||||
| #: searx/templates/oscar/base.html:78 | ||||
| msgid "Powered by" | ||||
| msgstr "ממונע באמצעות" | ||||
| msgstr "מופעל באמצעות" | ||||
| 
 | ||||
| #: searx/templates/oscar/base.html:78 | ||||
| msgid "a privacy-respecting, hackable metasearch engine" | ||||
| @ -427,51 +443,89 @@ msgid "Toggle navigation" | ||||
| msgstr "Toggle ניווט" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:24 | ||||
| #: searx/templates/oscar/preferences.html:25 | ||||
| msgid "General" | ||||
| msgstr "כללי" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:18 | ||||
| #: searx/templates/oscar/preferences.html:125 | ||||
| #: searx/templates/oscar/preferences.html:126 | ||||
| msgid "Engines" | ||||
| msgstr "מנועים" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:19 | ||||
| #: searx/templates/oscar/preferences.html:159 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| msgid "Plugins" | ||||
| msgstr "תוספים" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/oscar/preferences.html:20 | ||||
| #: searx/templates/oscar/preferences.html:210 | ||||
| msgid "Cookies" | ||||
| msgstr "עוגיות" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:45 | ||||
| msgid "What language do you prefer for search?" | ||||
| msgstr "איזו שפה אתם מעדיפים לצורך חיפוש?" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:56 | ||||
| msgid "Change the language of the layout" | ||||
| msgstr "שינוי שפת הממשק" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| #: searx/templates/oscar/preferences.html:66 | ||||
| msgid "Find stuff as you type" | ||||
| msgstr "מציאת דברים בזמן הקלדה" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| #: searx/templates/oscar/preferences.html:77 | ||||
| msgid "Proxying image results through searx" | ||||
| msgstr "Proxying תוצאות תמונה מבעד searx" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/oscar/preferences.html:86 | ||||
| msgid "" | ||||
| "Change how forms are submited, <a " | ||||
| "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" | ||||
| " rel=\"external\">learn more about request methods</a>" | ||||
| msgstr "שינוי האופן בו טפסים נשלחים, <a href=\"http://he.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">למדו עוד אודות שיטות בקשה (request methods)</a>" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:95 | ||||
| msgid "Filter content" | ||||
| msgstr "סנן תוכן" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/oscar/preferences.html:105 | ||||
| msgid "Change searx layout" | ||||
| msgstr "שינוי ממשק searx" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:143 | ||||
| #: searx/templates/oscar/preferences.html:151 | ||||
| msgid "Shortcut" | ||||
| msgstr "קיצור דרך" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:145 | ||||
| #: searx/templates/oscar/preferences.html:149 | ||||
| msgid "Avg. time" | ||||
| msgstr "זמן ממוצע" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:146 | ||||
| #: searx/templates/oscar/preferences.html:148 | ||||
| msgid "Max time" | ||||
| msgstr "זמן מירבי" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:213 | ||||
| msgid "" | ||||
| "This is the list of cookies and their values searx is storing on your " | ||||
| "computer." | ||||
| msgstr "זוהי רשימה של עוגיות וערכיהן אשר searx מאחסנת על המחשב שלך." | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:214 | ||||
| msgid "With that list, you can assess searx transparency." | ||||
| msgstr "בעזרת רשימה זו, באפשרותך לגשת אל searx transparency." | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:219 | ||||
| msgid "Cookie name" | ||||
| msgstr "שם עוגייה" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:220 | ||||
| msgid "Value" | ||||
| msgstr "ערך" | ||||
| 
 | ||||
| #: searx/templates/oscar/results.html:7 | ||||
| msgid "Search results" | ||||
| msgstr "תוצאות חיפוש" | ||||
| @ -521,6 +575,14 @@ msgstr "אזהרה!" | ||||
| msgid "Please enable JavaScript to use full functionality of this site." | ||||
| msgstr "אנא אפשרו JavaScript כדי לנצל תפקודיות מלאה של אתר זה." | ||||
| 
 | ||||
| #: 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 "אין כעת מידע זמין. " | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							| @ -9,10 +9,10 @@ msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: searx\n" | ||||
| "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" | ||||
| "POT-Creation-Date: 2015-04-26 18:57+0200\n" | ||||
| "PO-Revision-Date: 2015-04-26 17:13+0000\n" | ||||
| "POT-Creation-Date: 2015-08-24 11:44+0200\n" | ||||
| "PO-Revision-Date: 2015-08-25 16:29+0000\n" | ||||
| "Last-Translator: Adam Tauber <asciimoo@gmail.com>\n" | ||||
| "Language-Team: Hungarian (http://www.transifex.com/projects/p/searx/language/hu/)\n" | ||||
| "Language-Team: Hungarian (http://www.transifex.com/asciimoo/searx/language/hu/)\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| @ -20,67 +20,67 @@ msgstr "" | ||||
| "Language: hu\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||
| 
 | ||||
| #: searx/webapp.py:104 | ||||
| #: searx/webapp.py:114 | ||||
| msgid "files" | ||||
| msgstr "fájlok" | ||||
| 
 | ||||
| #: searx/webapp.py:105 | ||||
| #: searx/webapp.py:115 | ||||
| msgid "general" | ||||
| msgstr "általános" | ||||
| 
 | ||||
| #: searx/webapp.py:106 | ||||
| #: searx/webapp.py:116 | ||||
| msgid "music" | ||||
| msgstr "zene" | ||||
| 
 | ||||
| #: searx/webapp.py:107 | ||||
| #: searx/webapp.py:117 | ||||
| msgid "social media" | ||||
| msgstr "közösségi média" | ||||
| 
 | ||||
| #: searx/webapp.py:108 | ||||
| #: searx/webapp.py:118 | ||||
| msgid "images" | ||||
| msgstr "képek" | ||||
| 
 | ||||
| #: searx/webapp.py:109 | ||||
| #: searx/webapp.py:119 | ||||
| msgid "videos" | ||||
| msgstr "videók" | ||||
| 
 | ||||
| #: searx/webapp.py:110 | ||||
| #: searx/webapp.py:120 | ||||
| msgid "it" | ||||
| msgstr "it" | ||||
| 
 | ||||
| #: searx/webapp.py:111 | ||||
| #: searx/webapp.py:121 | ||||
| msgid "news" | ||||
| msgstr "hírek" | ||||
| 
 | ||||
| #: searx/webapp.py:112 | ||||
| #: searx/webapp.py:122 | ||||
| msgid "map" | ||||
| msgstr "térkép" | ||||
| 
 | ||||
| #: searx/webapp.py:396 | ||||
| #: searx/webapp.py:414 | ||||
| msgid "{minutes} minute(s) ago" | ||||
| msgstr "{minutes} perce" | ||||
| 
 | ||||
| #: searx/webapp.py:398 | ||||
| #: searx/webapp.py:416 | ||||
| msgid "{hours} hour(s), {minutes} minute(s) ago" | ||||
| msgstr "{hours} óra, {minutes} perce" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:182 | ||||
| #: searx/engines/__init__.py:185 | ||||
| msgid "Page loads (sec)" | ||||
| msgstr "Válaszidők (sec)" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:186 | ||||
| #: searx/engines/__init__.py:189 | ||||
| msgid "Number of results" | ||||
| msgstr "Találatok száma" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:190 | ||||
| #: searx/engines/__init__.py:193 | ||||
| msgid "Scores" | ||||
| msgstr "Pontszámok" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:194 | ||||
| #: searx/engines/__init__.py:197 | ||||
| msgid "Scores per result" | ||||
| msgstr "Pontszámok találatonként" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:198 | ||||
| #: searx/engines/__init__.py:201 | ||||
| msgid "Errors" | ||||
| msgstr "Hibák" | ||||
| 
 | ||||
| @ -95,12 +95,22 @@ msgstr "Azonnal keresés kategória választással" | ||||
| #: searx/plugins/search_on_category_select.py:19 | ||||
| msgid "" | ||||
| "Perform search immediately if a category selected. Disable to select " | ||||
| "multiple categories." | ||||
| msgstr "Keresés megkezdése kategória kiválasztáskor. Több kategória kiválasztásához deaktiválás szükséges" | ||||
| "multiple categories. (JavaScript required)" | ||||
| msgstr "Keresés megkezdése kategória kiválasztáskor. Több kategória kiválasztásához deaktiválás szükséges. (Javascript szükséges)" | ||||
| 
 | ||||
| #: searx/plugins/self_ip.py:19 | ||||
| msgid "Display your source IP address if the query expression is \"ip\"" | ||||
| msgstr "Saját IP cím megjelenítése az \"ip\" kulcsszóra keresve" | ||||
| #: 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 "Saját IP cím, user agent megjelenítés az \"ip\", \"user agent\" szavakra keresve." | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:26 | ||||
| msgid "Tracker URL remover" | ||||
| msgstr "Tracker URL eltávolítás" | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:27 | ||||
| msgid "Remove trackers arguments from the returned URL" | ||||
| msgstr "Felhasználó követéshez használt találati URL paraméterek eltávolítása" | ||||
| 
 | ||||
| #: searx/templates/courgette/index.html:9 | ||||
| #: searx/templates/courgette/index.html:13 | ||||
| @ -128,90 +138,92 @@ msgstr "Beállítások" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:9 | ||||
| #: searx/templates/default/preferences.html:9 | ||||
| #: searx/templates/oscar/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:37 | ||||
| #: searx/templates/oscar/preferences.html:36 | ||||
| #: searx/templates/oscar/preferences.html:38 | ||||
| msgid "Default categories" | ||||
| msgstr "Alapértelmezett kategóriák" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:13 | ||||
| #: searx/templates/default/preferences.html:14 | ||||
| #: searx/templates/oscar/preferences.html:43 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/pix-art/preferences.html:9 | ||||
| msgid "Search language" | ||||
| msgstr "Keresés nyelve" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:16 | ||||
| #: searx/templates/default/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:47 | ||||
| #: searx/templates/oscar/preferences.html:48 | ||||
| #: searx/templates/pix-art/preferences.html:12 | ||||
| msgid "Automatic" | ||||
| msgstr "Automatikus" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:24 | ||||
| #: searx/templates/default/preferences.html:25 | ||||
| #: searx/templates/oscar/preferences.html:54 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/pix-art/preferences.html:20 | ||||
| msgid "Interface language" | ||||
| msgstr "Felület nyelve" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:34 | ||||
| #: searx/templates/default/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| msgid "Autocomplete" | ||||
| msgstr "Automatikus kiegészítés" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:45 | ||||
| #: searx/templates/default/preferences.html:46 | ||||
| #: searx/templates/oscar/preferences.html:75 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| msgid "Image proxy" | ||||
| msgstr "Kép proxy" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:48 | ||||
| #: searx/templates/default/preferences.html:49 | ||||
| #: searx/templates/oscar/preferences.html:79 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| msgid "Enabled" | ||||
| msgstr "Engedélyez" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:49 | ||||
| #: searx/templates/default/preferences.html:50 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| #: searx/templates/oscar/preferences.html:81 | ||||
| msgid "Disabled" | ||||
| msgstr "Inaktivál" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:54 | ||||
| #: searx/templates/default/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:84 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/pix-art/preferences.html:30 | ||||
| msgid "Method" | ||||
| msgstr "Method" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:63 | ||||
| #: searx/templates/default/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:93 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:144 | ||||
| #: searx/templates/oscar/preferences.html:150 | ||||
| msgid "SafeSearch" | ||||
| msgstr "Felnőtt tartalom szűrés" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:66 | ||||
| #: searx/templates/default/preferences.html:67 | ||||
| #: searx/templates/oscar/preferences.html:97 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| msgid "Strict" | ||||
| msgstr "Erős" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:67 | ||||
| #: searx/templates/default/preferences.html:68 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| msgid "Moderate" | ||||
| msgstr "Enyhe" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:68 | ||||
| #: searx/templates/default/preferences.html:69 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| #: searx/templates/oscar/preferences.html:100 | ||||
| msgid "None" | ||||
| msgstr "Nincs" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:73 | ||||
| #: searx/templates/default/preferences.html:74 | ||||
| #: searx/templates/oscar/preferences.html:103 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/pix-art/preferences.html:39 | ||||
| msgid "Themes" | ||||
| msgstr "Megjelenés" | ||||
| @ -252,6 +264,8 @@ msgstr "Jelenleg használt keresők" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:100 | ||||
| #: searx/templates/default/preferences.html:88 | ||||
| #: searx/templates/oscar/preferences.html:142 | ||||
| #: searx/templates/oscar/preferences.html:152 | ||||
| #: searx/templates/pix-art/preferences.html:53 | ||||
| msgid "Engine name" | ||||
| msgstr "Kereső neve" | ||||
| @ -266,6 +280,8 @@ msgstr "Kategória" | ||||
| #: searx/templates/default/preferences.html:90 | ||||
| #: searx/templates/default/preferences.html:101 | ||||
| #: searx/templates/oscar/macros.html:67 | ||||
| #: searx/templates/oscar/preferences.html:141 | ||||
| #: searx/templates/oscar/preferences.html:153 | ||||
| #: searx/templates/pix-art/preferences.html:54 | ||||
| #: searx/templates/pix-art/preferences.html:64 | ||||
| msgid "Allow" | ||||
| @ -283,7 +299,7 @@ msgstr "Tiltás" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:122 | ||||
| #: searx/templates/default/preferences.html:110 | ||||
| #: searx/templates/oscar/preferences.html:180 | ||||
| #: searx/templates/oscar/preferences.html:235 | ||||
| #: searx/templates/pix-art/preferences.html:73 | ||||
| msgid "" | ||||
| "These settings are stored in your cookies, this allows us not to store this " | ||||
| @ -292,7 +308,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/default/preferences.html:112 | ||||
| #: searx/templates/oscar/preferences.html:182 | ||||
| #: searx/templates/oscar/preferences.html:237 | ||||
| #: searx/templates/pix-art/preferences.html:75 | ||||
| msgid "" | ||||
| "These cookies serve your sole convenience, we don't use these cookies to " | ||||
| @ -301,20 +317,20 @@ 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/default/preferences.html:115 | ||||
| #: searx/templates/oscar/preferences.html:185 | ||||
| #: searx/templates/oscar/preferences.html:240 | ||||
| #: searx/templates/pix-art/preferences.html:78 | ||||
| msgid "save" | ||||
| msgstr "mentés" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:128 | ||||
| #: searx/templates/default/preferences.html:116 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| #: searx/templates/oscar/preferences.html:242 | ||||
| msgid "Reset defaults" | ||||
| msgstr "Alapbeállítások visszaállítása" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:129 | ||||
| #: searx/templates/default/preferences.html:117 | ||||
| #: searx/templates/oscar/preferences.html:186 | ||||
| #: searx/templates/oscar/preferences.html:241 | ||||
| #: searx/templates/pix-art/preferences.html:79 | ||||
| msgid "back" | ||||
| msgstr "vissza" | ||||
| @ -424,51 +440,89 @@ msgid "Toggle navigation" | ||||
| msgstr "Navigáció megjelenítés" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:24 | ||||
| #: searx/templates/oscar/preferences.html:25 | ||||
| msgid "General" | ||||
| msgstr "Általános" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:18 | ||||
| #: searx/templates/oscar/preferences.html:125 | ||||
| #: searx/templates/oscar/preferences.html:126 | ||||
| msgid "Engines" | ||||
| msgstr "Kereső motorok" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:19 | ||||
| #: searx/templates/oscar/preferences.html:159 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| msgid "Plugins" | ||||
| msgstr "Pluginek" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/oscar/preferences.html:20 | ||||
| #: searx/templates/oscar/preferences.html:210 | ||||
| msgid "Cookies" | ||||
| msgstr "Sütik" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:45 | ||||
| msgid "What language do you prefer for search?" | ||||
| msgstr "Preferált keresési nyelv" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:56 | ||||
| msgid "Change the language of the layout" | ||||
| msgstr "Felület nyelve" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| #: searx/templates/oscar/preferences.html:66 | ||||
| msgid "Find stuff as you type" | ||||
| msgstr "Autómatikus kereső kifejezés kiegészítés" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| #: searx/templates/oscar/preferences.html:77 | ||||
| msgid "Proxying image results through searx" | ||||
| msgstr "Kép találatok betöltése searx-ön keresztül" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/oscar/preferences.html:86 | ||||
| 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 "Keresés metódusa (<a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">bővebben</a>)" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:95 | ||||
| msgid "Filter content" | ||||
| msgstr "Tartalom szűrés" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/oscar/preferences.html:105 | ||||
| msgid "Change searx layout" | ||||
| msgstr "Megjelenés" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:143 | ||||
| #: searx/templates/oscar/preferences.html:151 | ||||
| msgid "Shortcut" | ||||
| msgstr "Rövidítés" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:145 | ||||
| #: searx/templates/oscar/preferences.html:149 | ||||
| msgid "Avg. time" | ||||
| msgstr "Átlag idő" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:146 | ||||
| #: searx/templates/oscar/preferences.html:148 | ||||
| msgid "Max time" | ||||
| msgstr "Maximális idő" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:213 | ||||
| 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:214 | ||||
| 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:219 | ||||
| msgid "Cookie name" | ||||
| msgstr "Süti név" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:220 | ||||
| msgid "Value" | ||||
| msgstr "Érték" | ||||
| 
 | ||||
| #: searx/templates/oscar/results.html:7 | ||||
| msgid "Search results" | ||||
| msgstr "Keresési eredmények" | ||||
| @ -518,6 +572,14 @@ msgstr "Figyelem!" | ||||
| msgid "Please enable JavaScript to use full functionality of this site." | ||||
| msgstr "Engedélyezze a javascript-et a teljes funkcionalitás használathoz" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/no_cookies.html:3 | ||||
| msgid "Information!" | ||||
| msgstr "Figyelem!" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/no_cookies.html:4 | ||||
| msgid "currently, there are no cookies defined." | ||||
| msgstr "jelenleg nincs süti definiálva" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/no_data_available.html:4 | ||||
| msgid "There is currently no data available. " | ||||
| msgstr "Nincs megjeleníthető adat." | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							| @ -9,10 +9,10 @@ msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: searx\n" | ||||
| "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" | ||||
| "POT-Creation-Date: 2015-04-26 18:57+0200\n" | ||||
| "PO-Revision-Date: 2015-04-26 17:02+0000\n" | ||||
| "Last-Translator: Adam Tauber <asciimoo@gmail.com>\n" | ||||
| "Language-Team: Italian (http://www.transifex.com/projects/p/searx/language/it/)\n" | ||||
| "POT-Creation-Date: 2015-08-24 11:44+0200\n" | ||||
| "PO-Revision-Date: 2015-08-24 09:45+0000\n" | ||||
| "Last-Translator: pointhi\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" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| @ -20,67 +20,67 @@ msgstr "" | ||||
| "Language: it\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||
| 
 | ||||
| #: searx/webapp.py:104 | ||||
| #: searx/webapp.py:114 | ||||
| msgid "files" | ||||
| msgstr "documenti" | ||||
| 
 | ||||
| #: searx/webapp.py:105 | ||||
| #: searx/webapp.py:115 | ||||
| msgid "general" | ||||
| msgstr "generale" | ||||
| 
 | ||||
| #: searx/webapp.py:106 | ||||
| #: searx/webapp.py:116 | ||||
| msgid "music" | ||||
| msgstr "musica" | ||||
| 
 | ||||
| #: searx/webapp.py:107 | ||||
| #: searx/webapp.py:117 | ||||
| msgid "social media" | ||||
| msgstr "social media" | ||||
| 
 | ||||
| #: searx/webapp.py:108 | ||||
| #: searx/webapp.py:118 | ||||
| msgid "images" | ||||
| msgstr "immagini" | ||||
| 
 | ||||
| #: searx/webapp.py:109 | ||||
| #: searx/webapp.py:119 | ||||
| msgid "videos" | ||||
| msgstr "video" | ||||
| 
 | ||||
| #: searx/webapp.py:110 | ||||
| #: searx/webapp.py:120 | ||||
| msgid "it" | ||||
| msgstr "it" | ||||
| 
 | ||||
| #: searx/webapp.py:111 | ||||
| #: searx/webapp.py:121 | ||||
| msgid "news" | ||||
| msgstr "notizie" | ||||
| 
 | ||||
| #: searx/webapp.py:112 | ||||
| #: searx/webapp.py:122 | ||||
| msgid "map" | ||||
| msgstr "mappe" | ||||
| 
 | ||||
| #: searx/webapp.py:396 | ||||
| #: searx/webapp.py:414 | ||||
| msgid "{minutes} minute(s) ago" | ||||
| msgstr "di {minutes} minuti fa" | ||||
| 
 | ||||
| #: searx/webapp.py:398 | ||||
| #: searx/webapp.py:416 | ||||
| msgid "{hours} hour(s), {minutes} minute(s) ago" | ||||
| msgstr "di {ore} h e {minutes} minuti fa" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:182 | ||||
| #: searx/engines/__init__.py:185 | ||||
| msgid "Page loads (sec)" | ||||
| msgstr " Caricamento della pagina (secondi)" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:186 | ||||
| #: searx/engines/__init__.py:189 | ||||
| msgid "Number of results" | ||||
| msgstr "Risultati ottenuti" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:190 | ||||
| #: searx/engines/__init__.py:193 | ||||
| msgid "Scores" | ||||
| msgstr "Punteggio" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:194 | ||||
| #: searx/engines/__init__.py:197 | ||||
| msgid "Scores per result" | ||||
| msgstr "Punteggio per risultato" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:198 | ||||
| #: searx/engines/__init__.py:201 | ||||
| msgid "Errors" | ||||
| msgstr "Errori" | ||||
| 
 | ||||
| @ -95,11 +95,21 @@ msgstr "" | ||||
| #: searx/plugins/search_on_category_select.py:19 | ||||
| msgid "" | ||||
| "Perform search immediately if a category selected. Disable to select " | ||||
| "multiple categories." | ||||
| "multiple categories. (JavaScript required)" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/plugins/self_ip.py:19 | ||||
| msgid "Display your source IP address if the query expression is \"ip\"" | ||||
| #: searx/plugins/self_info.py:20 | ||||
| msgid "" | ||||
| "Displays your IP if the query is \"ip\" and your user agent if the query " | ||||
| "contains \"user agent\"." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:26 | ||||
| msgid "Tracker URL remover" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:27 | ||||
| msgid "Remove trackers arguments from the returned URL" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/index.html:9 | ||||
| @ -128,90 +138,92 @@ msgstr "Preferenze" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:9 | ||||
| #: searx/templates/default/preferences.html:9 | ||||
| #: searx/templates/oscar/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:37 | ||||
| #: searx/templates/oscar/preferences.html:36 | ||||
| #: searx/templates/oscar/preferences.html:38 | ||||
| msgid "Default categories" | ||||
| msgstr "Categorie predefinite" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:13 | ||||
| #: searx/templates/default/preferences.html:14 | ||||
| #: searx/templates/oscar/preferences.html:43 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/pix-art/preferences.html:9 | ||||
| msgid "Search language" | ||||
| msgstr "Lingua di ricerca" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:16 | ||||
| #: searx/templates/default/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:47 | ||||
| #: searx/templates/oscar/preferences.html:48 | ||||
| #: searx/templates/pix-art/preferences.html:12 | ||||
| msgid "Automatic" | ||||
| msgstr "Automatico" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:24 | ||||
| #: searx/templates/default/preferences.html:25 | ||||
| #: searx/templates/oscar/preferences.html:54 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/pix-art/preferences.html:20 | ||||
| msgid "Interface language" | ||||
| msgstr "Linguaggio dell'interfaccia" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:34 | ||||
| #: searx/templates/default/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| msgid "Autocomplete" | ||||
| msgstr "Completamento automatico" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:45 | ||||
| #: searx/templates/default/preferences.html:46 | ||||
| #: searx/templates/oscar/preferences.html:75 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| msgid "Image proxy" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:48 | ||||
| #: searx/templates/default/preferences.html:49 | ||||
| #: searx/templates/oscar/preferences.html:79 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| msgid "Enabled" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:49 | ||||
| #: searx/templates/default/preferences.html:50 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| #: searx/templates/oscar/preferences.html:81 | ||||
| msgid "Disabled" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:54 | ||||
| #: searx/templates/default/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:84 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/pix-art/preferences.html:30 | ||||
| msgid "Method" | ||||
| msgstr "Metodo" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:63 | ||||
| #: searx/templates/default/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:93 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:144 | ||||
| #: searx/templates/oscar/preferences.html:150 | ||||
| msgid "SafeSearch" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:66 | ||||
| #: searx/templates/default/preferences.html:67 | ||||
| #: searx/templates/oscar/preferences.html:97 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| msgid "Strict" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:67 | ||||
| #: searx/templates/default/preferences.html:68 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| msgid "Moderate" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:68 | ||||
| #: searx/templates/default/preferences.html:69 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| #: searx/templates/oscar/preferences.html:100 | ||||
| msgid "None" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:73 | ||||
| #: searx/templates/default/preferences.html:74 | ||||
| #: searx/templates/oscar/preferences.html:103 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/pix-art/preferences.html:39 | ||||
| msgid "Themes" | ||||
| msgstr "Grafica" | ||||
| @ -252,6 +264,8 @@ msgstr "Motori di ricerca attualmente in uso" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:100 | ||||
| #: searx/templates/default/preferences.html:88 | ||||
| #: searx/templates/oscar/preferences.html:142 | ||||
| #: searx/templates/oscar/preferences.html:152 | ||||
| #: searx/templates/pix-art/preferences.html:53 | ||||
| msgid "Engine name" | ||||
| msgstr "Nome del motore" | ||||
| @ -266,6 +280,8 @@ msgstr "Categoria" | ||||
| #: searx/templates/default/preferences.html:90 | ||||
| #: searx/templates/default/preferences.html:101 | ||||
| #: searx/templates/oscar/macros.html:67 | ||||
| #: searx/templates/oscar/preferences.html:141 | ||||
| #: searx/templates/oscar/preferences.html:153 | ||||
| #: searx/templates/pix-art/preferences.html:54 | ||||
| #: searx/templates/pix-art/preferences.html:64 | ||||
| msgid "Allow" | ||||
| @ -283,7 +299,7 @@ msgstr "Blocca" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:122 | ||||
| #: searx/templates/default/preferences.html:110 | ||||
| #: searx/templates/oscar/preferences.html:180 | ||||
| #: searx/templates/oscar/preferences.html:235 | ||||
| #: searx/templates/pix-art/preferences.html:73 | ||||
| msgid "" | ||||
| "These settings are stored in your cookies, this allows us not to store this " | ||||
| @ -292,7 +308,7 @@ msgstr "Queste impostazioni sono salvate nei tuoi cookie, consentendoci di non c | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:124 | ||||
| #: searx/templates/default/preferences.html:112 | ||||
| #: searx/templates/oscar/preferences.html:182 | ||||
| #: searx/templates/oscar/preferences.html:237 | ||||
| #: searx/templates/pix-art/preferences.html:75 | ||||
| msgid "" | ||||
| "These cookies serve your sole convenience, we don't use these cookies to " | ||||
| @ -301,20 +317,20 @@ msgstr "I cookie sono funzionali ad un servizio migliore. Non usiamo i cookie pe | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:127 | ||||
| #: searx/templates/default/preferences.html:115 | ||||
| #: searx/templates/oscar/preferences.html:185 | ||||
| #: searx/templates/oscar/preferences.html:240 | ||||
| #: searx/templates/pix-art/preferences.html:78 | ||||
| msgid "save" | ||||
| msgstr "salva" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:128 | ||||
| #: searx/templates/default/preferences.html:116 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| #: searx/templates/oscar/preferences.html:242 | ||||
| msgid "Reset defaults" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:129 | ||||
| #: searx/templates/default/preferences.html:117 | ||||
| #: searx/templates/oscar/preferences.html:186 | ||||
| #: searx/templates/oscar/preferences.html:241 | ||||
| #: searx/templates/pix-art/preferences.html:79 | ||||
| msgid "back" | ||||
| msgstr "indietro" | ||||
| @ -424,51 +440,89 @@ msgid "Toggle navigation" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:24 | ||||
| #: searx/templates/oscar/preferences.html:25 | ||||
| msgid "General" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:18 | ||||
| #: searx/templates/oscar/preferences.html:125 | ||||
| #: searx/templates/oscar/preferences.html:126 | ||||
| msgid "Engines" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:19 | ||||
| #: searx/templates/oscar/preferences.html:159 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| msgid "Plugins" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/oscar/preferences.html:20 | ||||
| #: searx/templates/oscar/preferences.html:210 | ||||
| msgid "Cookies" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:45 | ||||
| msgid "What language do you prefer for search?" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:56 | ||||
| msgid "Change the language of the layout" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| #: searx/templates/oscar/preferences.html:66 | ||||
| msgid "Find stuff as you type" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| #: searx/templates/oscar/preferences.html:77 | ||||
| msgid "Proxying image results through searx" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/oscar/preferences.html:86 | ||||
| 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:94 | ||||
| #: searx/templates/oscar/preferences.html:95 | ||||
| msgid "Filter content" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/oscar/preferences.html:105 | ||||
| msgid "Change searx layout" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:143 | ||||
| #: searx/templates/oscar/preferences.html:151 | ||||
| msgid "Shortcut" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:145 | ||||
| #: searx/templates/oscar/preferences.html:149 | ||||
| msgid "Avg. time" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:146 | ||||
| #: searx/templates/oscar/preferences.html:148 | ||||
| msgid "Max time" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:213 | ||||
| msgid "" | ||||
| "This is the list of cookies and their values searx is storing on your " | ||||
| "computer." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:214 | ||||
| msgid "With that list, you can assess searx transparency." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:219 | ||||
| msgid "Cookie name" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:220 | ||||
| msgid "Value" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/results.html:7 | ||||
| msgid "Search results" | ||||
| msgstr "" | ||||
| @ -518,6 +572,14 @@ msgstr "" | ||||
| msgid "Please enable JavaScript to use full functionality of this site." | ||||
| 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 "" | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							| @ -12,10 +12,10 @@ msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: searx\n" | ||||
| "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" | ||||
| "POT-Creation-Date: 2015-04-26 18:57+0200\n" | ||||
| "PO-Revision-Date: 2015-04-26 17:02+0000\n" | ||||
| "Last-Translator: Adam Tauber <asciimoo@gmail.com>\n" | ||||
| "Language-Team: Japanese (http://www.transifex.com/projects/p/searx/language/ja/)\n" | ||||
| "POT-Creation-Date: 2015-08-24 11:44+0200\n" | ||||
| "PO-Revision-Date: 2015-09-03 07:37+0000\n" | ||||
| "Last-Translator: pointhi\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" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| @ -23,67 +23,67 @@ msgstr "" | ||||
| "Language: ja\n" | ||||
| "Plural-Forms: nplurals=1; plural=0;\n" | ||||
| 
 | ||||
| #: searx/webapp.py:104 | ||||
| #: searx/webapp.py:114 | ||||
| msgid "files" | ||||
| msgstr "ファイル" | ||||
| 
 | ||||
| #: searx/webapp.py:105 | ||||
| #: searx/webapp.py:115 | ||||
| msgid "general" | ||||
| msgstr "一般的な" | ||||
| 
 | ||||
| #: searx/webapp.py:106 | ||||
| #: searx/webapp.py:116 | ||||
| msgid "music" | ||||
| msgstr "音楽" | ||||
| 
 | ||||
| #: searx/webapp.py:107 | ||||
| #: searx/webapp.py:117 | ||||
| msgid "social media" | ||||
| msgstr "社会的ネットワーク" | ||||
| 
 | ||||
| #: searx/webapp.py:108 | ||||
| #: searx/webapp.py:118 | ||||
| msgid "images" | ||||
| msgstr "画像" | ||||
| 
 | ||||
| #: searx/webapp.py:109 | ||||
| #: searx/webapp.py:119 | ||||
| msgid "videos" | ||||
| msgstr "動画" | ||||
| 
 | ||||
| #: searx/webapp.py:110 | ||||
| #: searx/webapp.py:120 | ||||
| msgid "it" | ||||
| msgstr "情報技術" | ||||
| 
 | ||||
| #: searx/webapp.py:111 | ||||
| #: searx/webapp.py:121 | ||||
| msgid "news" | ||||
| msgstr "お知らせ" | ||||
| 
 | ||||
| #: searx/webapp.py:112 | ||||
| #: searx/webapp.py:122 | ||||
| msgid "map" | ||||
| msgstr "地図" | ||||
| 
 | ||||
| #: searx/webapp.py:396 | ||||
| #: searx/webapp.py:414 | ||||
| msgid "{minutes} minute(s) ago" | ||||
| msgstr "{minutes}分前" | ||||
| 
 | ||||
| #: searx/webapp.py:398 | ||||
| #: searx/webapp.py:416 | ||||
| msgid "{hours} hour(s), {minutes} minute(s) ago" | ||||
| msgstr "{hours}時間と{minutes}分前" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:182 | ||||
| #: searx/engines/__init__.py:185 | ||||
| msgid "Page loads (sec)" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:186 | ||||
| #: searx/engines/__init__.py:189 | ||||
| msgid "Number of results" | ||||
| msgstr "通知の数" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:190 | ||||
| #: searx/engines/__init__.py:193 | ||||
| msgid "Scores" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:194 | ||||
| #: searx/engines/__init__.py:197 | ||||
| msgid "Scores per result" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:198 | ||||
| #: searx/engines/__init__.py:201 | ||||
| msgid "Errors" | ||||
| msgstr "エラー" | ||||
| 
 | ||||
| @ -98,11 +98,21 @@ msgstr "" | ||||
| #: searx/plugins/search_on_category_select.py:19 | ||||
| msgid "" | ||||
| "Perform search immediately if a category selected. Disable to select " | ||||
| "multiple categories." | ||||
| "multiple categories. (JavaScript required)" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/plugins/self_ip.py:19 | ||||
| msgid "Display your source IP address if the query expression is \"ip\"" | ||||
| #: searx/plugins/self_info.py:20 | ||||
| msgid "" | ||||
| "Displays your IP if the query is \"ip\" and your user agent if the query " | ||||
| "contains \"user agent\"." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:26 | ||||
| msgid "Tracker URL remover" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:27 | ||||
| msgid "Remove trackers arguments from the returned URL" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/index.html:9 | ||||
| @ -131,93 +141,95 @@ msgstr "設定" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:9 | ||||
| #: searx/templates/default/preferences.html:9 | ||||
| #: searx/templates/oscar/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:37 | ||||
| #: searx/templates/oscar/preferences.html:36 | ||||
| #: searx/templates/oscar/preferences.html:38 | ||||
| msgid "Default categories" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:13 | ||||
| #: searx/templates/default/preferences.html:14 | ||||
| #: searx/templates/oscar/preferences.html:43 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/pix-art/preferences.html:9 | ||||
| msgid "Search language" | ||||
| msgstr "検索の言語" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:16 | ||||
| #: searx/templates/default/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:47 | ||||
| #: searx/templates/oscar/preferences.html:48 | ||||
| #: searx/templates/pix-art/preferences.html:12 | ||||
| msgid "Automatic" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:24 | ||||
| #: searx/templates/default/preferences.html:25 | ||||
| #: searx/templates/oscar/preferences.html:54 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/pix-art/preferences.html:20 | ||||
| msgid "Interface language" | ||||
| msgstr "界面の言語" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:34 | ||||
| #: searx/templates/default/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| msgid "Autocomplete" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:45 | ||||
| #: searx/templates/default/preferences.html:46 | ||||
| #: searx/templates/oscar/preferences.html:75 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| msgid "Image proxy" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:48 | ||||
| #: searx/templates/default/preferences.html:49 | ||||
| #: searx/templates/oscar/preferences.html:79 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| msgid "Enabled" | ||||
| msgstr "" | ||||
| msgstr "活性化する" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:49 | ||||
| #: searx/templates/default/preferences.html:50 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| #: searx/templates/oscar/preferences.html:81 | ||||
| msgid "Disabled" | ||||
| msgstr "" | ||||
| msgstr "使用不可能にする" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:54 | ||||
| #: searx/templates/default/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:84 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/pix-art/preferences.html:30 | ||||
| msgid "Method" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:63 | ||||
| #: searx/templates/default/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:93 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:144 | ||||
| #: searx/templates/oscar/preferences.html:150 | ||||
| msgid "SafeSearch" | ||||
| msgstr "安全な検索" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:66 | ||||
| #: searx/templates/default/preferences.html:67 | ||||
| #: searx/templates/oscar/preferences.html:97 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| msgid "Strict" | ||||
| msgstr "たくさん。" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:67 | ||||
| #: searx/templates/default/preferences.html:68 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| msgid "Moderate" | ||||
| msgstr "少し" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:68 | ||||
| #: searx/templates/default/preferences.html:69 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| #: searx/templates/oscar/preferences.html:100 | ||||
| msgid "None" | ||||
| msgstr "なし" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:73 | ||||
| #: searx/templates/default/preferences.html:74 | ||||
| #: searx/templates/oscar/preferences.html:103 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/pix-art/preferences.html:39 | ||||
| msgid "Themes" | ||||
| msgstr "" | ||||
| msgstr "図様" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:83 | ||||
| msgid "Color" | ||||
| @ -255,6 +267,8 @@ msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:100 | ||||
| #: searx/templates/default/preferences.html:88 | ||||
| #: searx/templates/oscar/preferences.html:142 | ||||
| #: searx/templates/oscar/preferences.html:152 | ||||
| #: searx/templates/pix-art/preferences.html:53 | ||||
| msgid "Engine name" | ||||
| msgstr "" | ||||
| @ -269,6 +283,8 @@ msgstr "カテゴリー" | ||||
| #: searx/templates/default/preferences.html:90 | ||||
| #: searx/templates/default/preferences.html:101 | ||||
| #: searx/templates/oscar/macros.html:67 | ||||
| #: searx/templates/oscar/preferences.html:141 | ||||
| #: searx/templates/oscar/preferences.html:153 | ||||
| #: searx/templates/pix-art/preferences.html:54 | ||||
| #: searx/templates/pix-art/preferences.html:64 | ||||
| msgid "Allow" | ||||
| @ -282,11 +298,11 @@ msgstr "許可する" | ||||
| #: searx/templates/pix-art/preferences.html:54 | ||||
| #: searx/templates/pix-art/preferences.html:65 | ||||
| msgid "Block" | ||||
| msgstr "" | ||||
| msgstr "封鎖する" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:122 | ||||
| #: searx/templates/default/preferences.html:110 | ||||
| #: searx/templates/oscar/preferences.html:180 | ||||
| #: searx/templates/oscar/preferences.html:235 | ||||
| #: searx/templates/pix-art/preferences.html:73 | ||||
| msgid "" | ||||
| "These settings are stored in your cookies, this allows us not to store this " | ||||
| @ -295,7 +311,7 @@ msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:124 | ||||
| #: searx/templates/default/preferences.html:112 | ||||
| #: searx/templates/oscar/preferences.html:182 | ||||
| #: searx/templates/oscar/preferences.html:237 | ||||
| #: searx/templates/pix-art/preferences.html:75 | ||||
| msgid "" | ||||
| "These cookies serve your sole convenience, we don't use these cookies to " | ||||
| @ -304,20 +320,20 @@ msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:127 | ||||
| #: searx/templates/default/preferences.html:115 | ||||
| #: searx/templates/oscar/preferences.html:185 | ||||
| #: searx/templates/oscar/preferences.html:240 | ||||
| #: searx/templates/pix-art/preferences.html:78 | ||||
| msgid "save" | ||||
| msgstr "保存" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:128 | ||||
| #: searx/templates/default/preferences.html:116 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| #: searx/templates/oscar/preferences.html:242 | ||||
| msgid "Reset defaults" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:129 | ||||
| #: searx/templates/default/preferences.html:117 | ||||
| #: searx/templates/oscar/preferences.html:186 | ||||
| #: searx/templates/oscar/preferences.html:241 | ||||
| #: searx/templates/pix-art/preferences.html:79 | ||||
| msgid "back" | ||||
| msgstr "バック" | ||||
| @ -427,51 +443,89 @@ msgid "Toggle navigation" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:24 | ||||
| #: searx/templates/oscar/preferences.html:25 | ||||
| msgid "General" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:18 | ||||
| #: searx/templates/oscar/preferences.html:125 | ||||
| #: searx/templates/oscar/preferences.html:126 | ||||
| msgid "Engines" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:19 | ||||
| #: searx/templates/oscar/preferences.html:159 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| msgid "Plugins" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/oscar/preferences.html:20 | ||||
| #: searx/templates/oscar/preferences.html:210 | ||||
| msgid "Cookies" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:45 | ||||
| msgid "What language do you prefer for search?" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:56 | ||||
| msgid "Change the language of the layout" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| #: searx/templates/oscar/preferences.html:66 | ||||
| msgid "Find stuff as you type" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| #: searx/templates/oscar/preferences.html:77 | ||||
| msgid "Proxying image results through searx" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/oscar/preferences.html:86 | ||||
| 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:94 | ||||
| #: searx/templates/oscar/preferences.html:95 | ||||
| msgid "Filter content" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/oscar/preferences.html:105 | ||||
| msgid "Change searx layout" | ||||
| msgstr "レイアウトのsearxの変更" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:143 | ||||
| #: searx/templates/oscar/preferences.html:151 | ||||
| msgid "Shortcut" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:145 | ||||
| #: searx/templates/oscar/preferences.html:149 | ||||
| msgid "Avg. time" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:146 | ||||
| #: searx/templates/oscar/preferences.html:148 | ||||
| msgid "Max time" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:213 | ||||
| msgid "" | ||||
| "This is the list of cookies and their values searx is storing on your " | ||||
| "computer." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:214 | ||||
| msgid "With that list, you can assess searx transparency." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:219 | ||||
| msgid "Cookie name" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:220 | ||||
| msgid "Value" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/results.html:7 | ||||
| msgid "Search results" | ||||
| msgstr "検索結果" | ||||
| @ -515,12 +569,20 @@ msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/js_disabled.html:2 | ||||
| msgid "Warning!" | ||||
| msgstr "" | ||||
| msgstr "意見" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/js_disabled.html:3 | ||||
| msgid "Please enable JavaScript to use full functionality of this site." | ||||
| 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 "" | ||||
| @ -537,7 +599,7 @@ msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/save_settings_successfull.html:7 | ||||
| msgid "Well done!" | ||||
| msgstr "" | ||||
| msgstr "あっぱれ。" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/save_settings_successfull.html:8 | ||||
| msgid "Settings saved successfully." | ||||
| @ -545,7 +607,7 @@ msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/unknow_error.html:7 | ||||
| msgid "Oh snap!" | ||||
| msgstr "" | ||||
| msgstr "ちぇっ" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/unknow_error.html:8 | ||||
| msgid "Something went wrong." | ||||
| @ -585,7 +647,7 @@ msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/result_templates/torrent.html:7 | ||||
| msgid "Filesize" | ||||
| msgstr "" | ||||
| msgstr "ファイル・サイズ" | ||||
| 
 | ||||
| #: searx/templates/oscar/result_templates/torrent.html:9 | ||||
| msgid "Bytes" | ||||
| @ -609,7 +671,7 @@ msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/result_templates/torrent.html:15 | ||||
| msgid "Number of Files" | ||||
| msgstr "" | ||||
| msgstr "ファイル数" | ||||
| 
 | ||||
| #: searx/templates/oscar/result_templates/videos.html:7 | ||||
| msgid "show video" | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							| @ -9,10 +9,10 @@ msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: searx\n" | ||||
| "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" | ||||
| "POT-Creation-Date: 2015-04-26 18:57+0200\n" | ||||
| "PO-Revision-Date: 2015-04-27 07:45+0000\n" | ||||
| "POT-Creation-Date: 2015-08-24 11:44+0200\n" | ||||
| "PO-Revision-Date: 2015-08-24 14:41+0000\n" | ||||
| "Last-Translator: Nathan Follens\n" | ||||
| "Language-Team: Dutch (http://www.transifex.com/projects/p/searx/language/nl/)\n" | ||||
| "Language-Team: Dutch (http://www.transifex.com/asciimoo/searx/language/nl/)\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| @ -20,67 +20,67 @@ msgstr "" | ||||
| "Language: nl\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||
| 
 | ||||
| #: searx/webapp.py:104 | ||||
| #: searx/webapp.py:114 | ||||
| msgid "files" | ||||
| msgstr "bestanden" | ||||
| 
 | ||||
| #: searx/webapp.py:105 | ||||
| #: searx/webapp.py:115 | ||||
| msgid "general" | ||||
| msgstr "algemeen" | ||||
| 
 | ||||
| #: searx/webapp.py:106 | ||||
| #: searx/webapp.py:116 | ||||
| msgid "music" | ||||
| msgstr "muziek" | ||||
| 
 | ||||
| #: searx/webapp.py:107 | ||||
| #: searx/webapp.py:117 | ||||
| msgid "social media" | ||||
| msgstr "social media" | ||||
| 
 | ||||
| #: searx/webapp.py:108 | ||||
| #: searx/webapp.py:118 | ||||
| msgid "images" | ||||
| msgstr "afbeeldingen" | ||||
| 
 | ||||
| #: searx/webapp.py:109 | ||||
| #: searx/webapp.py:119 | ||||
| msgid "videos" | ||||
| msgstr "video's" | ||||
| 
 | ||||
| #: searx/webapp.py:110 | ||||
| #: searx/webapp.py:120 | ||||
| msgid "it" | ||||
| msgstr "it" | ||||
| 
 | ||||
| #: searx/webapp.py:111 | ||||
| #: searx/webapp.py:121 | ||||
| msgid "news" | ||||
| msgstr "nieuws" | ||||
| 
 | ||||
| #: searx/webapp.py:112 | ||||
| #: searx/webapp.py:122 | ||||
| msgid "map" | ||||
| msgstr "kaart" | ||||
| 
 | ||||
| #: searx/webapp.py:396 | ||||
| #: searx/webapp.py:414 | ||||
| msgid "{minutes} minute(s) ago" | ||||
| msgstr "{minutes} min geleden" | ||||
| 
 | ||||
| #: searx/webapp.py:398 | ||||
| #: searx/webapp.py:416 | ||||
| msgid "{hours} hour(s), {minutes} minute(s) ago" | ||||
| msgstr "{hours} uur, {minutes} min geleden" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:182 | ||||
| #: searx/engines/__init__.py:185 | ||||
| msgid "Page loads (sec)" | ||||
| msgstr "Pagina laadt (sec)" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:186 | ||||
| #: searx/engines/__init__.py:189 | ||||
| msgid "Number of results" | ||||
| msgstr "Aantal zoekresultaten" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:190 | ||||
| #: searx/engines/__init__.py:193 | ||||
| msgid "Scores" | ||||
| msgstr "Scores" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:194 | ||||
| #: searx/engines/__init__.py:197 | ||||
| msgid "Scores per result" | ||||
| msgstr "Scores per zoekresultaat" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:198 | ||||
| #: searx/engines/__init__.py:201 | ||||
| msgid "Errors" | ||||
| msgstr "Fouten" | ||||
| 
 | ||||
| @ -95,12 +95,22 @@ msgstr "Zoeken bij selecteren van categorie" | ||||
| #: searx/plugins/search_on_category_select.py:19 | ||||
| msgid "" | ||||
| "Perform search immediately if a category selected. Disable to select " | ||||
| "multiple categories." | ||||
| msgstr "Zoekopdracht onmiddellijk uitvoeren wanneer een categorie geselecteerd wordt. Zet dit uit om meerdere categorieën te selecteren." | ||||
| "multiple categories. (JavaScript required)" | ||||
| msgstr "Zoekopdracht onmiddellijk uitvoeren wanneer een categorie geselecteerd wordt. Zet dit uit om meerdere categorieën te selecteren. (JavaScript vereist)" | ||||
| 
 | ||||
| #: searx/plugins/self_ip.py:19 | ||||
| msgid "Display your source IP address if the query expression is \"ip\"" | ||||
| msgstr "Geef je IP-adres weer wanneer de zoekopdracht \"ip\" is" | ||||
| #: searx/plugins/self_info.py:20 | ||||
| msgid "" | ||||
| "Displays your IP if the query is \"ip\" and your user agent if the query " | ||||
| "contains \"user agent\"." | ||||
| msgstr "Geeft je IP-adres weer als de zoekopdracht \"ip\" is en je gebruikersagent als de zoekopdracht \"user agent\" bevat." | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:26 | ||||
| msgid "Tracker URL remover" | ||||
| msgstr "Tracker-URL verwijderaar" | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:27 | ||||
| msgid "Remove trackers arguments from the returned URL" | ||||
| msgstr "Verwijdert trackerargumenten van de gekregen URL" | ||||
| 
 | ||||
| #: searx/templates/courgette/index.html:9 | ||||
| #: searx/templates/courgette/index.html:13 | ||||
| @ -128,90 +138,92 @@ msgstr "Voorkeuren" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:9 | ||||
| #: searx/templates/default/preferences.html:9 | ||||
| #: searx/templates/oscar/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:37 | ||||
| #: searx/templates/oscar/preferences.html:36 | ||||
| #: searx/templates/oscar/preferences.html:38 | ||||
| msgid "Default categories" | ||||
| msgstr "Standaardcategorieën" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:13 | ||||
| #: searx/templates/default/preferences.html:14 | ||||
| #: searx/templates/oscar/preferences.html:43 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/pix-art/preferences.html:9 | ||||
| msgid "Search language" | ||||
| msgstr "Zoektaal" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:16 | ||||
| #: searx/templates/default/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:47 | ||||
| #: searx/templates/oscar/preferences.html:48 | ||||
| #: searx/templates/pix-art/preferences.html:12 | ||||
| msgid "Automatic" | ||||
| msgstr "Automatisch" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:24 | ||||
| #: searx/templates/default/preferences.html:25 | ||||
| #: searx/templates/oscar/preferences.html:54 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/pix-art/preferences.html:20 | ||||
| msgid "Interface language" | ||||
| msgstr "Interfacetaal" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:34 | ||||
| #: searx/templates/default/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| msgid "Autocomplete" | ||||
| msgstr "Auto-aanvullen" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:45 | ||||
| #: searx/templates/default/preferences.html:46 | ||||
| #: searx/templates/oscar/preferences.html:75 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| msgid "Image proxy" | ||||
| msgstr "Afbeeldingen proxy" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:48 | ||||
| #: searx/templates/default/preferences.html:49 | ||||
| #: searx/templates/oscar/preferences.html:79 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| msgid "Enabled" | ||||
| msgstr "Ingeschakeld" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:49 | ||||
| #: searx/templates/default/preferences.html:50 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| #: searx/templates/oscar/preferences.html:81 | ||||
| msgid "Disabled" | ||||
| msgstr "Uitgeschakeld" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:54 | ||||
| #: searx/templates/default/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:84 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/pix-art/preferences.html:30 | ||||
| msgid "Method" | ||||
| msgstr "Methode" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:63 | ||||
| #: searx/templates/default/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:93 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:144 | ||||
| #: searx/templates/oscar/preferences.html:150 | ||||
| msgid "SafeSearch" | ||||
| msgstr "SafeSearch" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:66 | ||||
| #: searx/templates/default/preferences.html:67 | ||||
| #: searx/templates/oscar/preferences.html:97 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| msgid "Strict" | ||||
| msgstr "Strikt" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:67 | ||||
| #: searx/templates/default/preferences.html:68 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| msgid "Moderate" | ||||
| msgstr "Gemiddeld" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:68 | ||||
| #: searx/templates/default/preferences.html:69 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| #: searx/templates/oscar/preferences.html:100 | ||||
| msgid "None" | ||||
| msgstr "Geen" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:73 | ||||
| #: searx/templates/default/preferences.html:74 | ||||
| #: searx/templates/oscar/preferences.html:103 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/pix-art/preferences.html:39 | ||||
| msgid "Themes" | ||||
| msgstr "Thema's" | ||||
| @ -252,6 +264,8 @@ msgstr "Momenteel gebruikte zoekmachines" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:100 | ||||
| #: searx/templates/default/preferences.html:88 | ||||
| #: searx/templates/oscar/preferences.html:142 | ||||
| #: searx/templates/oscar/preferences.html:152 | ||||
| #: searx/templates/pix-art/preferences.html:53 | ||||
| msgid "Engine name" | ||||
| msgstr "Naam zoekmachine" | ||||
| @ -266,6 +280,8 @@ msgstr "Categorie" | ||||
| #: searx/templates/default/preferences.html:90 | ||||
| #: searx/templates/default/preferences.html:101 | ||||
| #: searx/templates/oscar/macros.html:67 | ||||
| #: searx/templates/oscar/preferences.html:141 | ||||
| #: searx/templates/oscar/preferences.html:153 | ||||
| #: searx/templates/pix-art/preferences.html:54 | ||||
| #: searx/templates/pix-art/preferences.html:64 | ||||
| msgid "Allow" | ||||
| @ -283,7 +299,7 @@ msgstr "Blokkeren" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:122 | ||||
| #: searx/templates/default/preferences.html:110 | ||||
| #: searx/templates/oscar/preferences.html:180 | ||||
| #: searx/templates/oscar/preferences.html:235 | ||||
| #: searx/templates/pix-art/preferences.html:73 | ||||
| msgid "" | ||||
| "These settings are stored in your cookies, this allows us not to store this " | ||||
| @ -292,7 +308,7 @@ msgstr "Deze instellingen worden bewaard in je cookies. Hierdoor hoeven wij niet | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:124 | ||||
| #: searx/templates/default/preferences.html:112 | ||||
| #: searx/templates/oscar/preferences.html:182 | ||||
| #: searx/templates/oscar/preferences.html:237 | ||||
| #: searx/templates/pix-art/preferences.html:75 | ||||
| msgid "" | ||||
| "These cookies serve your sole convenience, we don't use these cookies to " | ||||
| @ -301,20 +317,20 @@ msgstr "Deze cookies zijn alleen voor je eigen gemak, we gebruiken deze cookies | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:127 | ||||
| #: searx/templates/default/preferences.html:115 | ||||
| #: searx/templates/oscar/preferences.html:185 | ||||
| #: searx/templates/oscar/preferences.html:240 | ||||
| #: searx/templates/pix-art/preferences.html:78 | ||||
| msgid "save" | ||||
| msgstr "bewaren" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:128 | ||||
| #: searx/templates/default/preferences.html:116 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| #: searx/templates/oscar/preferences.html:242 | ||||
| msgid "Reset defaults" | ||||
| msgstr "Standaardinstellingen herstellen" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:129 | ||||
| #: searx/templates/default/preferences.html:117 | ||||
| #: searx/templates/oscar/preferences.html:186 | ||||
| #: searx/templates/oscar/preferences.html:241 | ||||
| #: searx/templates/pix-art/preferences.html:79 | ||||
| msgid "back" | ||||
| msgstr "terug" | ||||
| @ -424,51 +440,89 @@ msgid "Toggle navigation" | ||||
| msgstr "Omschakelen navigatie" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:24 | ||||
| #: searx/templates/oscar/preferences.html:25 | ||||
| msgid "General" | ||||
| msgstr "Algemeen" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:18 | ||||
| #: searx/templates/oscar/preferences.html:125 | ||||
| #: searx/templates/oscar/preferences.html:126 | ||||
| msgid "Engines" | ||||
| msgstr "Zoekmachines" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:19 | ||||
| #: searx/templates/oscar/preferences.html:159 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| msgid "Plugins" | ||||
| msgstr "Plugins" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/oscar/preferences.html:20 | ||||
| #: searx/templates/oscar/preferences.html:210 | ||||
| msgid "Cookies" | ||||
| msgstr "Cookies" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:45 | ||||
| msgid "What language do you prefer for search?" | ||||
| msgstr "Welke taal wil je gebruiken voor het zoeken?" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:56 | ||||
| msgid "Change the language of the layout" | ||||
| msgstr "Wijzig de taal van de layout" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| #: searx/templates/oscar/preferences.html:66 | ||||
| msgid "Find stuff as you type" | ||||
| msgstr "Zoek tijdens het typen" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| #: searx/templates/oscar/preferences.html:77 | ||||
| msgid "Proxying image results through searx" | ||||
| msgstr "Proxyen afbeeldingen resultaat via searx" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/oscar/preferences.html:86 | ||||
| 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 "Bepaal hoe de formulieren worden ingestuurd, <a href=\"http://nl.wikipedia.org/wiki/Hypertext_Transfer_Protocol#HTTP-requests\" rel=\"external\">lees meer over request methodes</a>" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:95 | ||||
| msgid "Filter content" | ||||
| msgstr "Filteren content" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/oscar/preferences.html:105 | ||||
| msgid "Change searx layout" | ||||
| msgstr "Wijzig searx layout" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:143 | ||||
| #: searx/templates/oscar/preferences.html:151 | ||||
| msgid "Shortcut" | ||||
| msgstr "Snelkoppeling" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:145 | ||||
| #: searx/templates/oscar/preferences.html:149 | ||||
| msgid "Avg. time" | ||||
| msgstr "Gem. duur" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:146 | ||||
| #: searx/templates/oscar/preferences.html:148 | ||||
| msgid "Max time" | ||||
| msgstr "Max. duur" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:213 | ||||
| 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:214 | ||||
| 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:219 | ||||
| msgid "Cookie name" | ||||
| msgstr "Cookienaam" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:220 | ||||
| msgid "Value" | ||||
| msgstr "Waarde" | ||||
| 
 | ||||
| #: searx/templates/oscar/results.html:7 | ||||
| msgid "Search results" | ||||
| msgstr "Zoekresultaten" | ||||
| @ -518,6 +572,14 @@ msgstr "Waarschuwing!" | ||||
| msgid "Please enable JavaScript to use full functionality of this site." | ||||
| msgstr "Activeer JavaScript om alle functionaliteit van deze site te gebruiken." | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/no_cookies.html:3 | ||||
| msgid "Information!" | ||||
| msgstr "Informatie!" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/no_cookies.html:4 | ||||
| msgid "currently, there are no cookies defined." | ||||
| msgstr "er zijn momenteel geen cookies gedefinieerd." | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/no_data_available.html:4 | ||||
| msgid "There is currently no data available. " | ||||
| msgstr "Er zijn momenteel geen gegevens beschikbaar." | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -8,10 +8,10 @@ msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: searx\n" | ||||
| "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" | ||||
| "POT-Creation-Date: 2015-04-26 18:57+0200\n" | ||||
| "PO-Revision-Date: 2015-05-02 22:23+0000\n" | ||||
| "Last-Translator: adrian.fita <adrian.fita@gmail.com>\n" | ||||
| "Language-Team: Romanian (http://www.transifex.com/projects/p/searx/language/ro/)\n" | ||||
| "POT-Creation-Date: 2015-08-24 11:44+0200\n" | ||||
| "PO-Revision-Date: 2015-08-24 09:45+0000\n" | ||||
| "Last-Translator: pointhi\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" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| @ -19,67 +19,67 @@ msgstr "" | ||||
| "Language: ro\n" | ||||
| "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" | ||||
| 
 | ||||
| #: searx/webapp.py:104 | ||||
| #: searx/webapp.py:114 | ||||
| msgid "files" | ||||
| msgstr "fișiere" | ||||
| 
 | ||||
| #: searx/webapp.py:105 | ||||
| #: searx/webapp.py:115 | ||||
| msgid "general" | ||||
| msgstr "general" | ||||
| 
 | ||||
| #: searx/webapp.py:106 | ||||
| #: searx/webapp.py:116 | ||||
| msgid "music" | ||||
| msgstr "muzică" | ||||
| 
 | ||||
| #: searx/webapp.py:107 | ||||
| #: searx/webapp.py:117 | ||||
| msgid "social media" | ||||
| msgstr "rețele sociale" | ||||
| 
 | ||||
| #: searx/webapp.py:108 | ||||
| #: searx/webapp.py:118 | ||||
| msgid "images" | ||||
| msgstr "imagini" | ||||
| 
 | ||||
| #: searx/webapp.py:109 | ||||
| #: searx/webapp.py:119 | ||||
| msgid "videos" | ||||
| msgstr "videouri" | ||||
| 
 | ||||
| #: searx/webapp.py:110 | ||||
| #: searx/webapp.py:120 | ||||
| msgid "it" | ||||
| msgstr "el(ea)" | ||||
| 
 | ||||
| #: searx/webapp.py:111 | ||||
| #: searx/webapp.py:121 | ||||
| msgid "news" | ||||
| msgstr "știri" | ||||
| 
 | ||||
| #: searx/webapp.py:112 | ||||
| #: searx/webapp.py:122 | ||||
| msgid "map" | ||||
| msgstr "hartă" | ||||
| 
 | ||||
| #: searx/webapp.py:396 | ||||
| #: searx/webapp.py:414 | ||||
| msgid "{minutes} minute(s) ago" | ||||
| msgstr "{minutes} minut(e) în urmă" | ||||
| 
 | ||||
| #: searx/webapp.py:398 | ||||
| #: searx/webapp.py:416 | ||||
| msgid "{hours} hour(s), {minutes} minute(s) ago" | ||||
| msgstr "{hours} oră(e), {minutes} minut(e) în urmă" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:182 | ||||
| #: searx/engines/__init__.py:185 | ||||
| msgid "Page loads (sec)" | ||||
| msgstr "Încărcarea paginilor (sec)" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:186 | ||||
| #: searx/engines/__init__.py:189 | ||||
| msgid "Number of results" | ||||
| msgstr "Numărul de rezultate" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:190 | ||||
| #: searx/engines/__init__.py:193 | ||||
| msgid "Scores" | ||||
| msgstr "Scoruri" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:194 | ||||
| #: searx/engines/__init__.py:197 | ||||
| msgid "Scores per result" | ||||
| msgstr "Scoruri per rezultat" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:198 | ||||
| #: searx/engines/__init__.py:201 | ||||
| msgid "Errors" | ||||
| msgstr "Erori" | ||||
| 
 | ||||
| @ -94,12 +94,22 @@ msgstr "Căutare în categoria selectată" | ||||
| #: searx/plugins/search_on_category_select.py:19 | ||||
| msgid "" | ||||
| "Perform search immediately if a category selected. Disable to select " | ||||
| "multiple categories." | ||||
| msgstr "Realizează căutarea imediat dacă s-a selectat o categorie. Dezactivați pentru a selecta mai multe categorii." | ||||
| "multiple categories. (JavaScript required)" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/plugins/self_ip.py:19 | ||||
| msgid "Display your source IP address if the query expression is \"ip\"" | ||||
| msgstr "Afișează adresa voastră IP sursă dacă expresia interogării este „ip”" | ||||
| #: searx/plugins/self_info.py:20 | ||||
| msgid "" | ||||
| "Displays your IP if the query is \"ip\" and your user agent if the query " | ||||
| "contains \"user agent\"." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:26 | ||||
| msgid "Tracker URL remover" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:27 | ||||
| msgid "Remove trackers arguments from the returned URL" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/index.html:9 | ||||
| #: searx/templates/courgette/index.html:13 | ||||
| @ -127,90 +137,92 @@ msgstr "Preferințe" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:9 | ||||
| #: searx/templates/default/preferences.html:9 | ||||
| #: searx/templates/oscar/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:37 | ||||
| #: searx/templates/oscar/preferences.html:36 | ||||
| #: searx/templates/oscar/preferences.html:38 | ||||
| msgid "Default categories" | ||||
| msgstr "Categorii implicite" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:13 | ||||
| #: searx/templates/default/preferences.html:14 | ||||
| #: searx/templates/oscar/preferences.html:43 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/pix-art/preferences.html:9 | ||||
| msgid "Search language" | ||||
| msgstr "Limba de căutare" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:16 | ||||
| #: searx/templates/default/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:47 | ||||
| #: searx/templates/oscar/preferences.html:48 | ||||
| #: searx/templates/pix-art/preferences.html:12 | ||||
| msgid "Automatic" | ||||
| msgstr "Automat" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:24 | ||||
| #: searx/templates/default/preferences.html:25 | ||||
| #: searx/templates/oscar/preferences.html:54 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/pix-art/preferences.html:20 | ||||
| msgid "Interface language" | ||||
| msgstr "Limba interfeței" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:34 | ||||
| #: searx/templates/default/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| msgid "Autocomplete" | ||||
| msgstr "Completare automată" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:45 | ||||
| #: searx/templates/default/preferences.html:46 | ||||
| #: searx/templates/oscar/preferences.html:75 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| msgid "Image proxy" | ||||
| msgstr "Proxy de imagini" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:48 | ||||
| #: searx/templates/default/preferences.html:49 | ||||
| #: searx/templates/oscar/preferences.html:79 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| msgid "Enabled" | ||||
| msgstr "Activat" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:49 | ||||
| #: searx/templates/default/preferences.html:50 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| #: searx/templates/oscar/preferences.html:81 | ||||
| msgid "Disabled" | ||||
| msgstr "Dezactivat" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:54 | ||||
| #: searx/templates/default/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:84 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/pix-art/preferences.html:30 | ||||
| msgid "Method" | ||||
| msgstr "Metodă" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:63 | ||||
| #: searx/templates/default/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:93 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:144 | ||||
| #: searx/templates/oscar/preferences.html:150 | ||||
| msgid "SafeSearch" | ||||
| msgstr "CăutareSigură" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:66 | ||||
| #: searx/templates/default/preferences.html:67 | ||||
| #: searx/templates/oscar/preferences.html:97 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| msgid "Strict" | ||||
| msgstr "Strict" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:67 | ||||
| #: searx/templates/default/preferences.html:68 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| msgid "Moderate" | ||||
| msgstr "Moderat" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:68 | ||||
| #: searx/templates/default/preferences.html:69 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| #: searx/templates/oscar/preferences.html:100 | ||||
| msgid "None" | ||||
| msgstr "Nimic" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:73 | ||||
| #: searx/templates/default/preferences.html:74 | ||||
| #: searx/templates/oscar/preferences.html:103 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/pix-art/preferences.html:39 | ||||
| msgid "Themes" | ||||
| msgstr "Teme" | ||||
| @ -251,6 +263,8 @@ msgstr "Motoarele de căutare folosite curent" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:100 | ||||
| #: searx/templates/default/preferences.html:88 | ||||
| #: searx/templates/oscar/preferences.html:142 | ||||
| #: searx/templates/oscar/preferences.html:152 | ||||
| #: searx/templates/pix-art/preferences.html:53 | ||||
| msgid "Engine name" | ||||
| msgstr "Numele motorului" | ||||
| @ -265,6 +279,8 @@ msgstr "Categorie" | ||||
| #: searx/templates/default/preferences.html:90 | ||||
| #: searx/templates/default/preferences.html:101 | ||||
| #: searx/templates/oscar/macros.html:67 | ||||
| #: searx/templates/oscar/preferences.html:141 | ||||
| #: searx/templates/oscar/preferences.html:153 | ||||
| #: searx/templates/pix-art/preferences.html:54 | ||||
| #: searx/templates/pix-art/preferences.html:64 | ||||
| msgid "Allow" | ||||
| @ -282,7 +298,7 @@ msgstr "Blochează" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:122 | ||||
| #: searx/templates/default/preferences.html:110 | ||||
| #: searx/templates/oscar/preferences.html:180 | ||||
| #: searx/templates/oscar/preferences.html:235 | ||||
| #: searx/templates/pix-art/preferences.html:73 | ||||
| msgid "" | ||||
| "These settings are stored in your cookies, this allows us not to store this " | ||||
| @ -291,7 +307,7 @@ msgstr "Aceste setări sunt stocate în cookie-urile d-voastră, aceasta ne perm | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:124 | ||||
| #: searx/templates/default/preferences.html:112 | ||||
| #: searx/templates/oscar/preferences.html:182 | ||||
| #: searx/templates/oscar/preferences.html:237 | ||||
| #: searx/templates/pix-art/preferences.html:75 | ||||
| msgid "" | ||||
| "These cookies serve your sole convenience, we don't use these cookies to " | ||||
| @ -300,20 +316,20 @@ msgstr "Aceste cookie-uri servesc doar pentru confortul d-voastră, noi nu stoc | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:127 | ||||
| #: searx/templates/default/preferences.html:115 | ||||
| #: searx/templates/oscar/preferences.html:185 | ||||
| #: searx/templates/oscar/preferences.html:240 | ||||
| #: searx/templates/pix-art/preferences.html:78 | ||||
| msgid "save" | ||||
| msgstr "salvează" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:128 | ||||
| #: searx/templates/default/preferences.html:116 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| #: searx/templates/oscar/preferences.html:242 | ||||
| msgid "Reset defaults" | ||||
| msgstr "Resetează valorile implicite" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:129 | ||||
| #: searx/templates/default/preferences.html:117 | ||||
| #: searx/templates/oscar/preferences.html:186 | ||||
| #: searx/templates/oscar/preferences.html:241 | ||||
| #: searx/templates/pix-art/preferences.html:79 | ||||
| msgid "back" | ||||
| msgstr "înapoi" | ||||
| @ -423,51 +439,89 @@ msgid "Toggle navigation" | ||||
| msgstr "Comută navigarea" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:24 | ||||
| #: searx/templates/oscar/preferences.html:25 | ||||
| msgid "General" | ||||
| msgstr "General" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:18 | ||||
| #: searx/templates/oscar/preferences.html:125 | ||||
| #: searx/templates/oscar/preferences.html:126 | ||||
| msgid "Engines" | ||||
| msgstr "Motoare" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:19 | ||||
| #: searx/templates/oscar/preferences.html:159 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| msgid "Plugins" | ||||
| msgstr "Module" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/oscar/preferences.html:20 | ||||
| #: searx/templates/oscar/preferences.html:210 | ||||
| msgid "Cookies" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:45 | ||||
| msgid "What language do you prefer for search?" | ||||
| msgstr "Ce limbă preferați pentru căutare?" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:56 | ||||
| msgid "Change the language of the layout" | ||||
| msgstr "Schimbă limba aspectului" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| #: searx/templates/oscar/preferences.html:66 | ||||
| msgid "Find stuff as you type" | ||||
| msgstr "Găsește lucruri în timp ce tastezi" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| #: searx/templates/oscar/preferences.html:77 | ||||
| msgid "Proxying image results through searx" | ||||
| msgstr "Transferă rezultatele cu imagini prin searx" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/oscar/preferences.html:86 | ||||
| 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 "Modificați cum sunt trimise formularele, <a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">învățați mai multe despre metodele de transfer</a>" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:95 | ||||
| msgid "Filter content" | ||||
| msgstr "Filtrează conținutul" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/oscar/preferences.html:105 | ||||
| msgid "Change searx layout" | ||||
| msgstr "Schimbă aspectul lui searx" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:143 | ||||
| #: searx/templates/oscar/preferences.html:151 | ||||
| msgid "Shortcut" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:145 | ||||
| #: searx/templates/oscar/preferences.html:149 | ||||
| msgid "Avg. time" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:146 | ||||
| #: searx/templates/oscar/preferences.html:148 | ||||
| msgid "Max time" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:213 | ||||
| msgid "" | ||||
| "This is the list of cookies and their values searx is storing on your " | ||||
| "computer." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:214 | ||||
| msgid "With that list, you can assess searx transparency." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:219 | ||||
| msgid "Cookie name" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:220 | ||||
| msgid "Value" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/results.html:7 | ||||
| msgid "Search results" | ||||
| msgstr "Rezultatele căutării" | ||||
| @ -517,6 +571,14 @@ msgstr "Avertizare!" | ||||
| msgid "Please enable JavaScript to use full functionality of this site." | ||||
| msgstr "Vă rog activați JavaScript pentru a utiliza funcționalitatea completă a acestui site." | ||||
| 
 | ||||
| #: 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 "Deocamdată nu există date disponibile." | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							| @ -9,10 +9,10 @@ msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: searx\n" | ||||
| "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" | ||||
| "POT-Creation-Date: 2015-04-26 18:57+0200\n" | ||||
| "PO-Revision-Date: 2015-04-26 17:02+0000\n" | ||||
| "Last-Translator: Adam Tauber <asciimoo@gmail.com>\n" | ||||
| "Language-Team: Russian (http://www.transifex.com/projects/p/searx/language/ru/)\n" | ||||
| "POT-Creation-Date: 2015-08-24 11:44+0200\n" | ||||
| "PO-Revision-Date: 2015-08-24 09:45+0000\n" | ||||
| "Last-Translator: pointhi\n" | ||||
| "Language-Team: Russian (http://www.transifex.com/asciimoo/searx/language/ru/)\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| @ -20,67 +20,67 @@ msgstr "" | ||||
| "Language: ru\n" | ||||
| "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" | ||||
| 
 | ||||
| #: searx/webapp.py:104 | ||||
| #: searx/webapp.py:114 | ||||
| msgid "files" | ||||
| msgstr "файлы" | ||||
| 
 | ||||
| #: searx/webapp.py:105 | ||||
| #: searx/webapp.py:115 | ||||
| msgid "general" | ||||
| msgstr "общие" | ||||
| 
 | ||||
| #: searx/webapp.py:106 | ||||
| #: searx/webapp.py:116 | ||||
| msgid "music" | ||||
| msgstr "музыка" | ||||
| 
 | ||||
| #: searx/webapp.py:107 | ||||
| #: searx/webapp.py:117 | ||||
| msgid "social media" | ||||
| msgstr "соцсети" | ||||
| 
 | ||||
| #: searx/webapp.py:108 | ||||
| #: searx/webapp.py:118 | ||||
| msgid "images" | ||||
| msgstr "картинки" | ||||
| 
 | ||||
| #: searx/webapp.py:109 | ||||
| #: searx/webapp.py:119 | ||||
| msgid "videos" | ||||
| msgstr "видео" | ||||
| 
 | ||||
| #: searx/webapp.py:110 | ||||
| #: searx/webapp.py:120 | ||||
| msgid "it" | ||||
| msgstr "IT" | ||||
| 
 | ||||
| #: searx/webapp.py:111 | ||||
| #: searx/webapp.py:121 | ||||
| msgid "news" | ||||
| msgstr "новости" | ||||
| 
 | ||||
| #: searx/webapp.py:112 | ||||
| #: searx/webapp.py:122 | ||||
| msgid "map" | ||||
| msgstr "карты" | ||||
| 
 | ||||
| #: searx/webapp.py:396 | ||||
| #: searx/webapp.py:414 | ||||
| msgid "{minutes} minute(s) ago" | ||||
| msgstr "{minutes} минут назад" | ||||
| 
 | ||||
| #: searx/webapp.py:398 | ||||
| #: searx/webapp.py:416 | ||||
| msgid "{hours} hour(s), {minutes} minute(s) ago" | ||||
| msgstr "{hours} час, {minutes} минут назад" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:182 | ||||
| #: searx/engines/__init__.py:185 | ||||
| msgid "Page loads (sec)" | ||||
| msgstr "Время загрузки (сек)" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:186 | ||||
| #: searx/engines/__init__.py:189 | ||||
| msgid "Number of results" | ||||
| msgstr "Число результатов" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:190 | ||||
| #: searx/engines/__init__.py:193 | ||||
| msgid "Scores" | ||||
| msgstr "Попаданий" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:194 | ||||
| #: searx/engines/__init__.py:197 | ||||
| msgid "Scores per result" | ||||
| msgstr "Попаданий за результат" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:198 | ||||
| #: searx/engines/__init__.py:201 | ||||
| msgid "Errors" | ||||
| msgstr "Ошибок" | ||||
| 
 | ||||
| @ -95,11 +95,21 @@ msgstr "" | ||||
| #: searx/plugins/search_on_category_select.py:19 | ||||
| msgid "" | ||||
| "Perform search immediately if a category selected. Disable to select " | ||||
| "multiple categories." | ||||
| "multiple categories. (JavaScript required)" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/plugins/self_ip.py:19 | ||||
| msgid "Display your source IP address if the query expression is \"ip\"" | ||||
| #: searx/plugins/self_info.py:20 | ||||
| msgid "" | ||||
| "Displays your IP if the query is \"ip\" and your user agent if the query " | ||||
| "contains \"user agent\"." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:26 | ||||
| msgid "Tracker URL remover" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:27 | ||||
| msgid "Remove trackers arguments from the returned URL" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/index.html:9 | ||||
| @ -128,90 +138,92 @@ msgstr "Опции" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:9 | ||||
| #: searx/templates/default/preferences.html:9 | ||||
| #: searx/templates/oscar/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:37 | ||||
| #: searx/templates/oscar/preferences.html:36 | ||||
| #: searx/templates/oscar/preferences.html:38 | ||||
| msgid "Default categories" | ||||
| msgstr "Категории по-умолчанию" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:13 | ||||
| #: searx/templates/default/preferences.html:14 | ||||
| #: searx/templates/oscar/preferences.html:43 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/pix-art/preferences.html:9 | ||||
| msgid "Search language" | ||||
| msgstr "Язык поиска" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:16 | ||||
| #: searx/templates/default/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:47 | ||||
| #: searx/templates/oscar/preferences.html:48 | ||||
| #: searx/templates/pix-art/preferences.html:12 | ||||
| msgid "Automatic" | ||||
| msgstr "Выбирать автоматически" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:24 | ||||
| #: searx/templates/default/preferences.html:25 | ||||
| #: searx/templates/oscar/preferences.html:54 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/pix-art/preferences.html:20 | ||||
| msgid "Interface language" | ||||
| msgstr "Язык интерфейса" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:34 | ||||
| #: searx/templates/default/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| msgid "Autocomplete" | ||||
| msgstr "Авто-подсказки" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:45 | ||||
| #: searx/templates/default/preferences.html:46 | ||||
| #: searx/templates/oscar/preferences.html:75 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| msgid "Image proxy" | ||||
| msgstr "Прокси для картинок" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:48 | ||||
| #: searx/templates/default/preferences.html:49 | ||||
| #: searx/templates/oscar/preferences.html:79 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| msgid "Enabled" | ||||
| msgstr "Включен" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:49 | ||||
| #: searx/templates/default/preferences.html:50 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| #: searx/templates/oscar/preferences.html:81 | ||||
| msgid "Disabled" | ||||
| msgstr "Выключен" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:54 | ||||
| #: searx/templates/default/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:84 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/pix-art/preferences.html:30 | ||||
| msgid "Method" | ||||
| msgstr "Метод" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:63 | ||||
| #: searx/templates/default/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:93 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:144 | ||||
| #: searx/templates/oscar/preferences.html:150 | ||||
| msgid "SafeSearch" | ||||
| msgstr "Безопасный поиск" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:66 | ||||
| #: searx/templates/default/preferences.html:67 | ||||
| #: searx/templates/oscar/preferences.html:97 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| msgid "Strict" | ||||
| msgstr "Строгий" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:67 | ||||
| #: searx/templates/default/preferences.html:68 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| msgid "Moderate" | ||||
| msgstr "Умеренный" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:68 | ||||
| #: searx/templates/default/preferences.html:69 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| #: searx/templates/oscar/preferences.html:100 | ||||
| msgid "None" | ||||
| msgstr "Выключен" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:73 | ||||
| #: searx/templates/default/preferences.html:74 | ||||
| #: searx/templates/oscar/preferences.html:103 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/pix-art/preferences.html:39 | ||||
| msgid "Themes" | ||||
| msgstr "Темы" | ||||
| @ -252,6 +264,8 @@ msgstr "Используемые поисковые движки" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:100 | ||||
| #: searx/templates/default/preferences.html:88 | ||||
| #: searx/templates/oscar/preferences.html:142 | ||||
| #: searx/templates/oscar/preferences.html:152 | ||||
| #: searx/templates/pix-art/preferences.html:53 | ||||
| msgid "Engine name" | ||||
| msgstr "Имя движка" | ||||
| @ -266,6 +280,8 @@ msgstr "Категория" | ||||
| #: searx/templates/default/preferences.html:90 | ||||
| #: searx/templates/default/preferences.html:101 | ||||
| #: searx/templates/oscar/macros.html:67 | ||||
| #: searx/templates/oscar/preferences.html:141 | ||||
| #: searx/templates/oscar/preferences.html:153 | ||||
| #: searx/templates/pix-art/preferences.html:54 | ||||
| #: searx/templates/pix-art/preferences.html:64 | ||||
| msgid "Allow" | ||||
| @ -283,7 +299,7 @@ msgstr "Блокировать" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:122 | ||||
| #: searx/templates/default/preferences.html:110 | ||||
| #: searx/templates/oscar/preferences.html:180 | ||||
| #: searx/templates/oscar/preferences.html:235 | ||||
| #: searx/templates/pix-art/preferences.html:73 | ||||
| msgid "" | ||||
| "These settings are stored in your cookies, this allows us not to store this " | ||||
| @ -292,7 +308,7 @@ msgstr "Настройки хранятся в ваших cookies-файлах, | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:124 | ||||
| #: searx/templates/default/preferences.html:112 | ||||
| #: searx/templates/oscar/preferences.html:182 | ||||
| #: searx/templates/oscar/preferences.html:237 | ||||
| #: searx/templates/pix-art/preferences.html:75 | ||||
| msgid "" | ||||
| "These cookies serve your sole convenience, we don't use these cookies to " | ||||
| @ -301,20 +317,20 @@ msgstr "Данные cookies применяются для вашего удоб | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:127 | ||||
| #: searx/templates/default/preferences.html:115 | ||||
| #: searx/templates/oscar/preferences.html:185 | ||||
| #: searx/templates/oscar/preferences.html:240 | ||||
| #: searx/templates/pix-art/preferences.html:78 | ||||
| msgid "save" | ||||
| msgstr "сохранить" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:128 | ||||
| #: searx/templates/default/preferences.html:116 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| #: searx/templates/oscar/preferences.html:242 | ||||
| msgid "Reset defaults" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:129 | ||||
| #: searx/templates/default/preferences.html:117 | ||||
| #: searx/templates/oscar/preferences.html:186 | ||||
| #: searx/templates/oscar/preferences.html:241 | ||||
| #: searx/templates/pix-art/preferences.html:79 | ||||
| msgid "back" | ||||
| msgstr "назад" | ||||
| @ -424,51 +440,89 @@ msgid "Toggle navigation" | ||||
| msgstr "Переключить навигацию" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:24 | ||||
| #: searx/templates/oscar/preferences.html:25 | ||||
| msgid "General" | ||||
| msgstr "Общие" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:18 | ||||
| #: searx/templates/oscar/preferences.html:125 | ||||
| #: searx/templates/oscar/preferences.html:126 | ||||
| msgid "Engines" | ||||
| msgstr "Движки" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:19 | ||||
| #: searx/templates/oscar/preferences.html:159 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| msgid "Plugins" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/oscar/preferences.html:20 | ||||
| #: searx/templates/oscar/preferences.html:210 | ||||
| msgid "Cookies" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:45 | ||||
| msgid "What language do you prefer for search?" | ||||
| msgstr "На каком языке вы предпочитаете искать?" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:56 | ||||
| msgid "Change the language of the layout" | ||||
| msgstr "Изменить язык сайта" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| #: searx/templates/oscar/preferences.html:66 | ||||
| msgid "Find stuff as you type" | ||||
| msgstr "Поисковые предложения при наборе" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| #: searx/templates/oscar/preferences.html:77 | ||||
| msgid "Proxying image results through searx" | ||||
| msgstr "Проксировать найденные изображения с помощью searx" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/oscar/preferences.html:86 | ||||
| msgid "" | ||||
| "Change how forms are submited, <a " | ||||
| "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" | ||||
| " rel=\"external\">learn more about request methods</a>" | ||||
| msgstr "Изменяет способ отправки запросов (<a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">подробней о методах запросов</a>)" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:95 | ||||
| msgid "Filter content" | ||||
| msgstr "Использовать ли фильтр контента" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/oscar/preferences.html:105 | ||||
| msgid "Change searx layout" | ||||
| msgstr "Изменить тему сайта" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:143 | ||||
| #: searx/templates/oscar/preferences.html:151 | ||||
| msgid "Shortcut" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:145 | ||||
| #: searx/templates/oscar/preferences.html:149 | ||||
| msgid "Avg. time" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:146 | ||||
| #: searx/templates/oscar/preferences.html:148 | ||||
| msgid "Max time" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:213 | ||||
| msgid "" | ||||
| "This is the list of cookies and their values searx is storing on your " | ||||
| "computer." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:214 | ||||
| msgid "With that list, you can assess searx transparency." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:219 | ||||
| msgid "Cookie name" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:220 | ||||
| msgid "Value" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/results.html:7 | ||||
| msgid "Search results" | ||||
| msgstr "Результаты поиска" | ||||
| @ -518,6 +572,14 @@ msgstr "Внимание!" | ||||
| msgid "Please enable JavaScript to use full functionality of this site." | ||||
| msgstr "Пожалуйста включите JavaScript, чтобы использовать все функции сайта." | ||||
| 
 | ||||
| #: 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 "На данный момент данные недоступны." | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							| @ -9,10 +9,10 @@ msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: searx\n" | ||||
| "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" | ||||
| "POT-Creation-Date: 2015-04-26 18:57+0200\n" | ||||
| "PO-Revision-Date: 2015-04-28 17:33+0000\n" | ||||
| "Last-Translator: Caner Başaran <basaran.caner@gmail.com>\n" | ||||
| "Language-Team: Turkish (http://www.transifex.com/projects/p/searx/language/tr/)\n" | ||||
| "POT-Creation-Date: 2015-08-24 11:44+0200\n" | ||||
| "PO-Revision-Date: 2015-08-24 09:45+0000\n" | ||||
| "Last-Translator: pointhi\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" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| @ -20,67 +20,67 @@ msgstr "" | ||||
| "Language: tr\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n > 1);\n" | ||||
| 
 | ||||
| #: searx/webapp.py:104 | ||||
| #: searx/webapp.py:114 | ||||
| msgid "files" | ||||
| msgstr "dosyalar" | ||||
| 
 | ||||
| #: searx/webapp.py:105 | ||||
| #: searx/webapp.py:115 | ||||
| msgid "general" | ||||
| msgstr "genel" | ||||
| 
 | ||||
| #: searx/webapp.py:106 | ||||
| #: searx/webapp.py:116 | ||||
| msgid "music" | ||||
| msgstr "müzik" | ||||
| 
 | ||||
| #: searx/webapp.py:107 | ||||
| #: searx/webapp.py:117 | ||||
| msgid "social media" | ||||
| msgstr "sosyal medya" | ||||
| 
 | ||||
| #: searx/webapp.py:108 | ||||
| #: searx/webapp.py:118 | ||||
| msgid "images" | ||||
| msgstr "görseller" | ||||
| 
 | ||||
| #: searx/webapp.py:109 | ||||
| #: searx/webapp.py:119 | ||||
| msgid "videos" | ||||
| msgstr "videolar" | ||||
| 
 | ||||
| #: searx/webapp.py:110 | ||||
| #: searx/webapp.py:120 | ||||
| msgid "it" | ||||
| msgstr "bilişim" | ||||
| 
 | ||||
| #: searx/webapp.py:111 | ||||
| #: searx/webapp.py:121 | ||||
| msgid "news" | ||||
| msgstr "haberler" | ||||
| 
 | ||||
| #: searx/webapp.py:112 | ||||
| #: searx/webapp.py:122 | ||||
| msgid "map" | ||||
| msgstr "harita" | ||||
| 
 | ||||
| #: searx/webapp.py:396 | ||||
| #: searx/webapp.py:414 | ||||
| msgid "{minutes} minute(s) ago" | ||||
| msgstr "{minutes} dakika() önce" | ||||
| 
 | ||||
| #: searx/webapp.py:398 | ||||
| #: searx/webapp.py:416 | ||||
| msgid "{hours} hour(s), {minutes} minute(s) ago" | ||||
| msgstr "{hours} saat(), {minutes} dakika() önce" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:182 | ||||
| #: searx/engines/__init__.py:185 | ||||
| msgid "Page loads (sec)" | ||||
| msgstr "Yüklenen sayfa (sn)" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:186 | ||||
| #: searx/engines/__init__.py:189 | ||||
| msgid "Number of results" | ||||
| msgstr "Sonuç sayısı" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:190 | ||||
| #: searx/engines/__init__.py:193 | ||||
| msgid "Scores" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:194 | ||||
| #: searx/engines/__init__.py:197 | ||||
| msgid "Scores per result" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:198 | ||||
| #: searx/engines/__init__.py:201 | ||||
| msgid "Errors" | ||||
| msgstr "Hatalar" | ||||
| 
 | ||||
| @ -95,11 +95,21 @@ msgstr "" | ||||
| #: searx/plugins/search_on_category_select.py:19 | ||||
| msgid "" | ||||
| "Perform search immediately if a category selected. Disable to select " | ||||
| "multiple categories." | ||||
| "multiple categories. (JavaScript required)" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/plugins/self_ip.py:19 | ||||
| msgid "Display your source IP address if the query expression is \"ip\"" | ||||
| #: searx/plugins/self_info.py:20 | ||||
| msgid "" | ||||
| "Displays your IP if the query is \"ip\" and your user agent if the query " | ||||
| "contains \"user agent\"." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:26 | ||||
| msgid "Tracker URL remover" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:27 | ||||
| msgid "Remove trackers arguments from the returned URL" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/index.html:9 | ||||
| @ -128,90 +138,92 @@ msgstr "Tercihler" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:9 | ||||
| #: searx/templates/default/preferences.html:9 | ||||
| #: searx/templates/oscar/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:37 | ||||
| #: searx/templates/oscar/preferences.html:36 | ||||
| #: searx/templates/oscar/preferences.html:38 | ||||
| msgid "Default categories" | ||||
| msgstr "Öntanımlı kategoriler" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:13 | ||||
| #: searx/templates/default/preferences.html:14 | ||||
| #: searx/templates/oscar/preferences.html:43 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/pix-art/preferences.html:9 | ||||
| msgid "Search language" | ||||
| msgstr "Arama dili" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:16 | ||||
| #: searx/templates/default/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:47 | ||||
| #: searx/templates/oscar/preferences.html:48 | ||||
| #: searx/templates/pix-art/preferences.html:12 | ||||
| msgid "Automatic" | ||||
| msgstr "Otomatik" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:24 | ||||
| #: searx/templates/default/preferences.html:25 | ||||
| #: searx/templates/oscar/preferences.html:54 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/pix-art/preferences.html:20 | ||||
| msgid "Interface language" | ||||
| msgstr "Arayüz dili" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:34 | ||||
| #: searx/templates/default/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| msgid "Autocomplete" | ||||
| msgstr "Otomatik tamamlama" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:45 | ||||
| #: searx/templates/default/preferences.html:46 | ||||
| #: searx/templates/oscar/preferences.html:75 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| msgid "Image proxy" | ||||
| msgstr "Görsel vekil sunucu" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:48 | ||||
| #: searx/templates/default/preferences.html:49 | ||||
| #: searx/templates/oscar/preferences.html:79 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| msgid "Enabled" | ||||
| msgstr "Etkin" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:49 | ||||
| #: searx/templates/default/preferences.html:50 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| #: searx/templates/oscar/preferences.html:81 | ||||
| msgid "Disabled" | ||||
| msgstr "Devre dışı" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:54 | ||||
| #: searx/templates/default/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:84 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/pix-art/preferences.html:30 | ||||
| msgid "Method" | ||||
| msgstr "Sorgu gönderim yöntemi" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:63 | ||||
| #: searx/templates/default/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:93 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:144 | ||||
| #: searx/templates/oscar/preferences.html:150 | ||||
| msgid "SafeSearch" | ||||
| msgstr "Güvenli Arama" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:66 | ||||
| #: searx/templates/default/preferences.html:67 | ||||
| #: searx/templates/oscar/preferences.html:97 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| msgid "Strict" | ||||
| msgstr "Sıkı" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:67 | ||||
| #: searx/templates/default/preferences.html:68 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| msgid "Moderate" | ||||
| msgstr "Orta" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:68 | ||||
| #: searx/templates/default/preferences.html:69 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| #: searx/templates/oscar/preferences.html:100 | ||||
| msgid "None" | ||||
| msgstr "Yok" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:73 | ||||
| #: searx/templates/default/preferences.html:74 | ||||
| #: searx/templates/oscar/preferences.html:103 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/pix-art/preferences.html:39 | ||||
| msgid "Themes" | ||||
| msgstr "Temalar" | ||||
| @ -252,6 +264,8 @@ msgstr "Şu anda kullanılan arama motorları" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:100 | ||||
| #: searx/templates/default/preferences.html:88 | ||||
| #: searx/templates/oscar/preferences.html:142 | ||||
| #: searx/templates/oscar/preferences.html:152 | ||||
| #: searx/templates/pix-art/preferences.html:53 | ||||
| msgid "Engine name" | ||||
| msgstr "Motor adı" | ||||
| @ -266,6 +280,8 @@ msgstr "Türü" | ||||
| #: searx/templates/default/preferences.html:90 | ||||
| #: searx/templates/default/preferences.html:101 | ||||
| #: searx/templates/oscar/macros.html:67 | ||||
| #: searx/templates/oscar/preferences.html:141 | ||||
| #: searx/templates/oscar/preferences.html:153 | ||||
| #: searx/templates/pix-art/preferences.html:54 | ||||
| #: searx/templates/pix-art/preferences.html:64 | ||||
| msgid "Allow" | ||||
| @ -283,7 +299,7 @@ msgstr "Engelle" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:122 | ||||
| #: searx/templates/default/preferences.html:110 | ||||
| #: searx/templates/oscar/preferences.html:180 | ||||
| #: searx/templates/oscar/preferences.html:235 | ||||
| #: searx/templates/pix-art/preferences.html:73 | ||||
| msgid "" | ||||
| "These settings are stored in your cookies, this allows us not to store this " | ||||
| @ -292,7 +308,7 @@ msgstr "Ayarlar çerezlerinizde saklanır. Verdiğiniz izinler, sizin hakkınız | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:124 | ||||
| #: searx/templates/default/preferences.html:112 | ||||
| #: searx/templates/oscar/preferences.html:182 | ||||
| #: searx/templates/oscar/preferences.html:237 | ||||
| #: searx/templates/pix-art/preferences.html:75 | ||||
| msgid "" | ||||
| "These cookies serve your sole convenience, we don't use these cookies to " | ||||
| @ -301,20 +317,20 @@ msgstr "Bu çerezler size kolaylık sağlar. Sizi takip etmek için kullanılmaz | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:127 | ||||
| #: searx/templates/default/preferences.html:115 | ||||
| #: searx/templates/oscar/preferences.html:185 | ||||
| #: searx/templates/oscar/preferences.html:240 | ||||
| #: searx/templates/pix-art/preferences.html:78 | ||||
| msgid "save" | ||||
| msgstr "kaydet" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:128 | ||||
| #: searx/templates/default/preferences.html:116 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| #: searx/templates/oscar/preferences.html:242 | ||||
| msgid "Reset defaults" | ||||
| msgstr "" | ||||
| msgstr "Varsayılanları sıfırla" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:129 | ||||
| #: searx/templates/default/preferences.html:117 | ||||
| #: searx/templates/oscar/preferences.html:186 | ||||
| #: searx/templates/oscar/preferences.html:241 | ||||
| #: searx/templates/pix-art/preferences.html:79 | ||||
| msgid "back" | ||||
| msgstr "geri" | ||||
| @ -424,51 +440,89 @@ msgid "Toggle navigation" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:24 | ||||
| #: searx/templates/oscar/preferences.html:25 | ||||
| msgid "General" | ||||
| msgstr "Genel" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:18 | ||||
| #: searx/templates/oscar/preferences.html:125 | ||||
| #: searx/templates/oscar/preferences.html:126 | ||||
| msgid "Engines" | ||||
| msgstr "Motorlar" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:19 | ||||
| #: searx/templates/oscar/preferences.html:159 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| msgid "Plugins" | ||||
| msgstr "Eklentiler" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/oscar/preferences.html:20 | ||||
| #: searx/templates/oscar/preferences.html:210 | ||||
| msgid "Cookies" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:45 | ||||
| msgid "What language do you prefer for search?" | ||||
| msgstr "Tercih ettiğiniz arama sonuçları dili" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:56 | ||||
| msgid "Change the language of the layout" | ||||
| msgstr "Site dilini değiştir" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| #: searx/templates/oscar/preferences.html:66 | ||||
| msgid "Find stuff as you type" | ||||
| msgstr "Leb demeden leblebiyi anlasın" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| #: searx/templates/oscar/preferences.html:77 | ||||
| msgid "Proxying image results through searx" | ||||
| msgstr "Görsel arama sonuçlarını, searx vekil sunucusu üzerinden geçir" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/oscar/preferences.html:86 | ||||
| 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 "Aramaların nasıl gönderildiğini değiştir, <a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">istek yöntemleri hakkında daha fazla bilgi</a>" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:95 | ||||
| msgid "Filter content" | ||||
| msgstr "İçeriyi süz" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/oscar/preferences.html:105 | ||||
| msgid "Change searx layout" | ||||
| msgstr "searx yerleşim düzenini değiştir" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:143 | ||||
| #: searx/templates/oscar/preferences.html:151 | ||||
| msgid "Shortcut" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:145 | ||||
| #: searx/templates/oscar/preferences.html:149 | ||||
| msgid "Avg. time" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:146 | ||||
| #: searx/templates/oscar/preferences.html:148 | ||||
| msgid "Max time" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:213 | ||||
| msgid "" | ||||
| "This is the list of cookies and their values searx is storing on your " | ||||
| "computer." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:214 | ||||
| msgid "With that list, you can assess searx transparency." | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:219 | ||||
| msgid "Cookie name" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:220 | ||||
| msgid "Value" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/oscar/results.html:7 | ||||
| msgid "Search results" | ||||
| msgstr "Arama sonuçları" | ||||
| @ -518,6 +572,14 @@ msgstr "Uyarı!" | ||||
| msgid "Please enable JavaScript to use full functionality of this site." | ||||
| msgstr "Lütfen, bu sitenin tüm işlevlerini kullanmak için JavaScript'i etkinleştirin." | ||||
| 
 | ||||
| #: 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 "Şuan uygun veri yok." | ||||
|  | ||||
							
								
								
									
										
											BIN
										
									
								
								searx/translations/zh_CN/LC_MESSAGES/messages.mo
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								searx/translations/zh_CN/LC_MESSAGES/messages.mo
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										682
									
								
								searx/translations/zh_CN/LC_MESSAGES/messages.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										682
									
								
								searx/translations/zh_CN/LC_MESSAGES/messages.po
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,682 @@ | ||||
| # Translations template for PROJECT. | ||||
| # Copyright (C) 2015 ORGANIZATION | ||||
| # This file is distributed under the same license as the PROJECT project. | ||||
| #  | ||||
| # Translators: | ||||
| # 文科, 2015 | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: searx\n" | ||||
| "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" | ||||
| "POT-Creation-Date: 2015-08-24 11:44+0200\n" | ||||
| "PO-Revision-Date: 2015-08-29 07:35+0000\n" | ||||
| "Last-Translator: 文科\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" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Generated-By: Babel 1.3\n" | ||||
| "Language: zh_CN\n" | ||||
| "Plural-Forms: nplurals=1; plural=0;\n" | ||||
| 
 | ||||
| #: searx/webapp.py:114 | ||||
| msgid "files" | ||||
| msgstr "文件" | ||||
| 
 | ||||
| #: searx/webapp.py:115 | ||||
| msgid "general" | ||||
| msgstr "一般" | ||||
| 
 | ||||
| #: searx/webapp.py:116 | ||||
| msgid "music" | ||||
| msgstr "音乐" | ||||
| 
 | ||||
| #: searx/webapp.py:117 | ||||
| msgid "social media" | ||||
| msgstr "社交媒体" | ||||
| 
 | ||||
| #: searx/webapp.py:118 | ||||
| msgid "images" | ||||
| msgstr "图片" | ||||
| 
 | ||||
| #: searx/webapp.py:119 | ||||
| msgid "videos" | ||||
| msgstr "视频" | ||||
| 
 | ||||
| #: searx/webapp.py:120 | ||||
| msgid "it" | ||||
| msgstr "it" | ||||
| 
 | ||||
| #: searx/webapp.py:121 | ||||
| msgid "news" | ||||
| msgstr "新闻" | ||||
| 
 | ||||
| #: searx/webapp.py:122 | ||||
| msgid "map" | ||||
| msgstr "地图" | ||||
| 
 | ||||
| #: searx/webapp.py:414 | ||||
| msgid "{minutes} minute(s) ago" | ||||
| msgstr "{minutes}分钟之前" | ||||
| 
 | ||||
| #: searx/webapp.py:416 | ||||
| msgid "{hours} hour(s), {minutes} minute(s) ago" | ||||
| msgstr "{hours}小时{minutes}分钟之前" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:185 | ||||
| msgid "Page loads (sec)" | ||||
| msgstr "页面加载 (秒)" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:189 | ||||
| msgid "Number of results" | ||||
| msgstr "结果数" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:193 | ||||
| msgid "Scores" | ||||
| msgstr "得分" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:197 | ||||
| msgid "Scores per result" | ||||
| msgstr "每个结果等分" | ||||
| 
 | ||||
| #: searx/engines/__init__.py:201 | ||||
| msgid "Errors" | ||||
| msgstr "错误" | ||||
| 
 | ||||
| #: searx/plugins/https_rewrite.py:29 | ||||
| msgid "Rewrite HTTP links to HTTPS if possible" | ||||
| msgstr "如果可能的话重定向HTTP链接到HTTPS" | ||||
| 
 | ||||
| #: searx/plugins/search_on_category_select.py:18 | ||||
| msgid "Search on category select" | ||||
| msgstr "搜索类别选择" | ||||
| 
 | ||||
| #: searx/plugins/search_on_category_select.py:19 | ||||
| msgid "" | ||||
| "Perform search immediately if a category selected. Disable to select " | ||||
| "multiple categories. (JavaScript required)" | ||||
| msgstr "如果选中一个类别立即搜索。禁用选择多个类别功能。(JavaScript 启用)" | ||||
| 
 | ||||
| #: searx/plugins/self_info.py:20 | ||||
| msgid "" | ||||
| "Displays your IP if the query is \"ip\" and your user agent if the query " | ||||
| "contains \"user agent\"." | ||||
| msgstr "搜索“ip”显示你的ip和搜索内容包括“user agent”显示你的user agent。" | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:26 | ||||
| msgid "Tracker URL remover" | ||||
| msgstr "移除跟踪链接" | ||||
| 
 | ||||
| #: searx/plugins/tracker_url_remover.py:27 | ||||
| msgid "Remove trackers arguments from the returned URL" | ||||
| msgstr "从返回的链接中移除跟踪参数" | ||||
| 
 | ||||
| #: searx/templates/courgette/index.html:9 | ||||
| #: searx/templates/courgette/index.html:13 | ||||
| #: searx/templates/courgette/results.html:5 | ||||
| #: searx/templates/default/index.html:8 searx/templates/default/index.html:12 | ||||
| #: searx/templates/oscar/navbar.html:7 searx/templates/oscar/navbar.html:35 | ||||
| #: searx/templates/oscar/preferences.html:3 | ||||
| #: searx/templates/pix-art/index.html:8 | ||||
| msgid "preferences" | ||||
| msgstr "首选项" | ||||
| 
 | ||||
| #: searx/templates/courgette/index.html:11 | ||||
| #: searx/templates/default/index.html:10 searx/templates/oscar/about.html:3 | ||||
| #: searx/templates/oscar/navbar.html:8 searx/templates/oscar/navbar.html:34 | ||||
| #: searx/templates/pix-art/index.html:7 | ||||
| msgid "about" | ||||
| msgstr "关于" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:5 | ||||
| #: searx/templates/default/preferences.html:5 | ||||
| #: searx/templates/oscar/preferences.html:12 | ||||
| #: searx/templates/pix-art/preferences.html:5 | ||||
| msgid "Preferences" | ||||
| msgstr "首选项" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:9 | ||||
| #: searx/templates/default/preferences.html:9 | ||||
| #: searx/templates/oscar/preferences.html:36 | ||||
| #: searx/templates/oscar/preferences.html:38 | ||||
| msgid "Default categories" | ||||
| msgstr "默认类别" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:13 | ||||
| #: searx/templates/default/preferences.html:14 | ||||
| #: searx/templates/oscar/preferences.html:44 | ||||
| #: searx/templates/pix-art/preferences.html:9 | ||||
| msgid "Search language" | ||||
| msgstr "搜索语言" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:16 | ||||
| #: searx/templates/default/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:48 | ||||
| #: searx/templates/pix-art/preferences.html:12 | ||||
| msgid "Automatic" | ||||
| msgstr "自动" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:24 | ||||
| #: searx/templates/default/preferences.html:25 | ||||
| #: searx/templates/oscar/preferences.html:55 | ||||
| #: searx/templates/pix-art/preferences.html:20 | ||||
| msgid "Interface language" | ||||
| msgstr "界面语言" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:34 | ||||
| #: searx/templates/default/preferences.html:35 | ||||
| #: searx/templates/oscar/preferences.html:65 | ||||
| msgid "Autocomplete" | ||||
| msgstr "自动完成" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:45 | ||||
| #: searx/templates/default/preferences.html:46 | ||||
| #: searx/templates/oscar/preferences.html:76 | ||||
| msgid "Image proxy" | ||||
| msgstr "代理图片" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:48 | ||||
| #: searx/templates/default/preferences.html:49 | ||||
| #: searx/templates/oscar/preferences.html:80 | ||||
| msgid "Enabled" | ||||
| msgstr "启用" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:49 | ||||
| #: searx/templates/default/preferences.html:50 | ||||
| #: searx/templates/oscar/preferences.html:81 | ||||
| msgid "Disabled" | ||||
| msgstr "禁用" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:54 | ||||
| #: searx/templates/default/preferences.html:55 | ||||
| #: searx/templates/oscar/preferences.html:85 | ||||
| #: searx/templates/pix-art/preferences.html:30 | ||||
| msgid "Method" | ||||
| msgstr "方法" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:63 | ||||
| #: searx/templates/default/preferences.html:64 | ||||
| #: searx/templates/oscar/preferences.html:94 | ||||
| #: searx/templates/oscar/preferences.html:144 | ||||
| #: searx/templates/oscar/preferences.html:150 | ||||
| msgid "SafeSearch" | ||||
| msgstr "安全搜索" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:66 | ||||
| #: searx/templates/default/preferences.html:67 | ||||
| #: searx/templates/oscar/preferences.html:98 | ||||
| msgid "Strict" | ||||
| msgstr "严格模式" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:67 | ||||
| #: searx/templates/default/preferences.html:68 | ||||
| #: searx/templates/oscar/preferences.html:99 | ||||
| msgid "Moderate" | ||||
| msgstr "中等" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:68 | ||||
| #: searx/templates/default/preferences.html:69 | ||||
| #: searx/templates/oscar/preferences.html:100 | ||||
| msgid "None" | ||||
| msgstr "不过滤" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:73 | ||||
| #: searx/templates/default/preferences.html:74 | ||||
| #: searx/templates/oscar/preferences.html:104 | ||||
| #: searx/templates/pix-art/preferences.html:39 | ||||
| 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/default/preferences.html:84 | ||||
| #: searx/templates/pix-art/preferences.html:49 | ||||
| msgid "Currently used search engines" | ||||
| msgstr "目前使用的搜索引擎" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:100 | ||||
| #: searx/templates/default/preferences.html:88 | ||||
| #: searx/templates/oscar/preferences.html:142 | ||||
| #: searx/templates/oscar/preferences.html:152 | ||||
| #: searx/templates/pix-art/preferences.html:53 | ||||
| msgid "Engine name" | ||||
| msgstr "搜索引擎名字" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:101 | ||||
| #: searx/templates/default/preferences.html:89 | ||||
| msgid "Category" | ||||
| msgstr "类别" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:102 | ||||
| #: searx/templates/courgette/preferences.html:113 | ||||
| #: searx/templates/default/preferences.html:90 | ||||
| #: searx/templates/default/preferences.html:101 | ||||
| #: searx/templates/oscar/macros.html:67 | ||||
| #: searx/templates/oscar/preferences.html:141 | ||||
| #: searx/templates/oscar/preferences.html:153 | ||||
| #: searx/templates/pix-art/preferences.html:54 | ||||
| #: searx/templates/pix-art/preferences.html:64 | ||||
| msgid "Allow" | ||||
| msgstr "允许" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:102 | ||||
| #: searx/templates/courgette/preferences.html:114 | ||||
| #: searx/templates/default/preferences.html:90 | ||||
| #: searx/templates/default/preferences.html:102 | ||||
| #: searx/templates/oscar/macros.html:66 | ||||
| #: 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/default/preferences.html:110 | ||||
| #: searx/templates/oscar/preferences.html:235 | ||||
| #: searx/templates/pix-art/preferences.html:73 | ||||
| msgid "" | ||||
| "These settings are stored in your cookies, this allows us not to store this " | ||||
| "data about you." | ||||
| msgstr "这些设置保存你的cookie,这代表我们不能储存你的数据。" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:124 | ||||
| #: searx/templates/default/preferences.html:112 | ||||
| #: searx/templates/oscar/preferences.html:237 | ||||
| #: searx/templates/pix-art/preferences.html:75 | ||||
| msgid "" | ||||
| "These cookies serve your sole convenience, we don't use these cookies to " | ||||
| "track you." | ||||
| msgstr "这些cookie是为了让你更加方便,我们不会使用这些cookie跟踪你。" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:127 | ||||
| #: searx/templates/default/preferences.html:115 | ||||
| #: searx/templates/oscar/preferences.html:240 | ||||
| #: searx/templates/pix-art/preferences.html:78 | ||||
| msgid "save" | ||||
| msgstr "保存" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:128 | ||||
| #: searx/templates/default/preferences.html:116 | ||||
| #: searx/templates/oscar/preferences.html:242 | ||||
| msgid "Reset defaults" | ||||
| msgstr "恢复默认" | ||||
| 
 | ||||
| #: searx/templates/courgette/preferences.html:129 | ||||
| #: searx/templates/default/preferences.html:117 | ||||
| #: searx/templates/oscar/preferences.html:241 | ||||
| #: searx/templates/pix-art/preferences.html:79 | ||||
| msgid "back" | ||||
| msgstr "后" | ||||
| 
 | ||||
| #: searx/templates/courgette/results.html:12 | ||||
| #: searx/templates/default/results.html:13 | ||||
| #: searx/templates/oscar/results.html:110 | ||||
| msgid "Search URL" | ||||
| msgstr "搜索链接" | ||||
| 
 | ||||
| #: searx/templates/courgette/results.html:16 | ||||
| #: searx/templates/default/results.html:17 | ||||
| #: searx/templates/oscar/results.html:115 | ||||
| msgid "Download results" | ||||
| msgstr "下载结果" | ||||
| 
 | ||||
| #: searx/templates/courgette/results.html:34 | ||||
| #: searx/templates/default/results.html:35 | ||||
| msgid "Answers" | ||||
| msgstr "回答" | ||||
| 
 | ||||
| #: searx/templates/courgette/results.html:42 | ||||
| #: searx/templates/default/results.html:43 | ||||
| #: searx/templates/oscar/results.html:90 | ||||
| msgid "Suggestions" | ||||
| msgstr "搜索建议" | ||||
| 
 | ||||
| #: searx/templates/courgette/results.html:70 | ||||
| #: searx/templates/default/results.html:81 | ||||
| #: searx/templates/oscar/results.html:51 searx/templates/oscar/results.html:63 | ||||
| msgid "previous page" | ||||
| msgstr "上一页" | ||||
| 
 | ||||
| #: searx/templates/courgette/results.html:81 | ||||
| #: searx/templates/default/results.html:92 | ||||
| #: searx/templates/oscar/results.html:44 searx/templates/oscar/results.html:71 | ||||
| msgid "next page" | ||||
| msgstr "下一页" | ||||
| 
 | ||||
| #: searx/templates/courgette/search.html:3 | ||||
| #: searx/templates/default/search.html:3 searx/templates/oscar/search.html:4 | ||||
| #: searx/templates/oscar/search_full.html:9 | ||||
| #: searx/templates/pix-art/search.html:3 | ||||
| msgid "Search for..." | ||||
| msgstr "搜索..." | ||||
| 
 | ||||
| #: searx/templates/courgette/stats.html:4 searx/templates/default/stats.html:4 | ||||
| #: searx/templates/oscar/stats.html:5 searx/templates/pix-art/stats.html:4 | ||||
| msgid "Engine stats" | ||||
| msgstr "搜索引擎统计" | ||||
| 
 | ||||
| #: searx/templates/courgette/result_templates/images.html:4 | ||||
| #: searx/templates/default/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/default/result_templates/torrent.html:11 | ||||
| #: searx/templates/oscar/result_templates/torrent.html:6 | ||||
| msgid "Seeder" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/result_templates/torrent.html:7 | ||||
| #: searx/templates/default/result_templates/torrent.html:11 | ||||
| #: searx/templates/oscar/result_templates/torrent.html:6 | ||||
| msgid "Leecher" | ||||
| msgstr "" | ||||
| 
 | ||||
| #: searx/templates/courgette/result_templates/torrent.html:9 | ||||
| #: searx/templates/default/result_templates/torrent.html:9 | ||||
| #: searx/templates/oscar/macros.html:21 | ||||
| msgid "magnet link" | ||||
| msgstr "磁力链接" | ||||
| 
 | ||||
| #: searx/templates/courgette/result_templates/torrent.html:10 | ||||
| #: searx/templates/default/result_templates/torrent.html:10 | ||||
| #: searx/templates/oscar/macros.html:22 | ||||
| msgid "torrent file" | ||||
| msgstr "种子文件" | ||||
| 
 | ||||
| #: searx/templates/default/categories.html:8 | ||||
| msgid "Click on the magnifier to perform search" | ||||
| msgstr "点击放大镜执行搜索" | ||||
| 
 | ||||
| #: searx/templates/default/result_templates/code.html:3 | ||||
| #: searx/templates/default/result_templates/default.html:3 | ||||
| #: searx/templates/default/result_templates/map.html:9 | ||||
| #: searx/templates/oscar/macros.html:20 | ||||
| msgid "cached" | ||||
| msgstr "缓存" | ||||
| 
 | ||||
| #: searx/templates/oscar/base.html:78 | ||||
| msgid "Powered by" | ||||
| msgstr "Powered by" | ||||
| 
 | ||||
| #: searx/templates/oscar/base.html:78 | ||||
| msgid "a privacy-respecting, hackable metasearch engine" | ||||
| msgstr "一个尊重隐私,可再开发的元搜索引擎" | ||||
| 
 | ||||
| #: searx/templates/oscar/navbar.html:9 searx/templates/oscar/navbar.html:33 | ||||
| msgid "home" | ||||
| msgstr "主页" | ||||
| 
 | ||||
| #: searx/templates/oscar/navbar.html:14 searx/templates/oscar/navbar.html:24 | ||||
| msgid "Toggle navigation" | ||||
| msgstr "切换导航" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:17 | ||||
| #: searx/templates/oscar/preferences.html:25 | ||||
| msgid "General" | ||||
| msgstr "常规" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:18 | ||||
| #: searx/templates/oscar/preferences.html:126 | ||||
| msgid "Engines" | ||||
| msgstr "搜索引擎" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:19 | ||||
| #: searx/templates/oscar/preferences.html:187 | ||||
| msgid "Plugins" | ||||
| msgstr "插件" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:20 | ||||
| #: searx/templates/oscar/preferences.html:210 | ||||
| msgid "Cookies" | ||||
| msgstr "Cookie" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:45 | ||||
| msgid "What language do you prefer for search?" | ||||
| msgstr "你更喜欢搜索什么语言?" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:56 | ||||
| msgid "Change the language of the layout" | ||||
| msgstr "改变界面语言" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:66 | ||||
| msgid "Find stuff as you type" | ||||
| msgstr "找到你的搜索的东西" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:77 | ||||
| msgid "Proxying image results through searx" | ||||
| msgstr "通过searx代理图片" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:86 | ||||
| msgid "" | ||||
| "Change how forms are submited, <a " | ||||
| "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" | ||||
| " rel=\"external\">learn more about request methods</a>" | ||||
| msgstr "更改请求方法,<a href=\"http://zh.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">关于请求方法了解更多</a>" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:95 | ||||
| msgid "Filter content" | ||||
| msgstr "过滤内容" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:105 | ||||
| msgid "Change searx layout" | ||||
| msgstr "改变searx布局" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:143 | ||||
| #: searx/templates/oscar/preferences.html:151 | ||||
| msgid "Shortcut" | ||||
| msgstr "快捷键" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:145 | ||||
| #: searx/templates/oscar/preferences.html:149 | ||||
| msgid "Avg. time" | ||||
| msgstr "平均时间" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:146 | ||||
| #: searx/templates/oscar/preferences.html:148 | ||||
| msgid "Max time" | ||||
| msgstr "最大时间" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:213 | ||||
| msgid "" | ||||
| "This is the list of cookies and their values searx is storing on your " | ||||
| "computer." | ||||
| msgstr "这是searx保存在你的电脑上的cookie列表。" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:214 | ||||
| msgid "With that list, you can assess searx transparency." | ||||
| msgstr "有了这个列表,你可以评价searx透明度。" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:219 | ||||
| msgid "Cookie name" | ||||
| msgstr "cookie名称" | ||||
| 
 | ||||
| #: searx/templates/oscar/preferences.html:220 | ||||
| msgid "Value" | ||||
| msgstr "值" | ||||
| 
 | ||||
| #: searx/templates/oscar/results.html:7 | ||||
| msgid "Search results" | ||||
| msgstr "搜索结果" | ||||
| 
 | ||||
| #: searx/templates/oscar/results.html:105 | ||||
| msgid "Links" | ||||
| msgstr "链接" | ||||
| 
 | ||||
| #: searx/templates/oscar/search.html:6 | ||||
| #: searx/templates/oscar/search_full.html:11 | ||||
| msgid "Start search" | ||||
| msgstr "开始搜索" | ||||
| 
 | ||||
| #: searx/templates/oscar/search_full.html:15 | ||||
| msgid "Show search filters" | ||||
| msgstr "显示搜索过滤器" | ||||
| 
 | ||||
| #: searx/templates/oscar/search_full.html:15 | ||||
| msgid "Hide search filters" | ||||
| msgstr "隐藏搜索过滤器" | ||||
| 
 | ||||
| #: searx/templates/oscar/stats.html:2 | ||||
| msgid "stats" | ||||
| msgstr "统计" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/first_time.html:4 | ||||
| #: searx/templates/oscar/messages/no_results.html:5 | ||||
| #: searx/templates/oscar/messages/save_settings_successfull.html:5 | ||||
| #: searx/templates/oscar/messages/unknow_error.html:5 | ||||
| msgid "Close" | ||||
| msgstr "关闭" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/first_time.html:6 | ||||
| #: searx/templates/oscar/messages/no_data_available.html:3 | ||||
| msgid "Heads up!" | ||||
| msgstr "小心!" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/first_time.html:7 | ||||
| msgid "It look like you are using searx first time." | ||||
| msgstr "看起来你是第一次使用searx。" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/js_disabled.html:2 | ||||
| msgid "Warning!" | ||||
| msgstr "警告!" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/js_disabled.html:3 | ||||
| msgid "Please enable JavaScript to use full functionality of this site." | ||||
| msgstr "请启用JavaScript来使用本网站全部功能。" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/no_cookies.html:3 | ||||
| msgid "Information!" | ||||
| msgstr "信息!" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/no_cookies.html:4 | ||||
| msgid "currently, there are no cookies defined." | ||||
| msgstr "目前还未保存cookie。" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/no_data_available.html:4 | ||||
| msgid "There is currently no data available. " | ||||
| msgstr "目前没有数据可用。" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/no_results.html:7 | ||||
| msgid "Sorry!" | ||||
| msgstr "抱歉!" | ||||
| 
 | ||||
| #: searx/templates/oscar/messages/no_results.html:8 | ||||
| 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 | ||||
| msgid "show media" | ||||
| msgstr "显示媒体" | ||||
| 
 | ||||
| #: searx/templates/oscar/result_templates/default.html:7 | ||||
| msgid "hide media" | ||||
| msgstr "隐藏媒体" | ||||
| 
 | ||||
| #: searx/templates/oscar/result_templates/images.html:23 | ||||
| msgid "Get image" | ||||
| msgstr "获取图片" | ||||
| 
 | ||||
| #: searx/templates/oscar/result_templates/images.html:24 | ||||
| msgid "View source" | ||||
| msgstr "查看来源" | ||||
| 
 | ||||
| #: searx/templates/oscar/result_templates/map.html:7 | ||||
| msgid "show map" | ||||
| msgstr "显示地图" | ||||
| 
 | ||||
| #: searx/templates/oscar/result_templates/map.html:7 | ||||
| msgid "hide map" | ||||
| msgstr "隐藏地图" | ||||
| 
 | ||||
| #: searx/templates/oscar/result_templates/map.html:11 | ||||
| msgid "show details" | ||||
| msgstr "显示详细信息" | ||||
| 
 | ||||
| #: searx/templates/oscar/result_templates/map.html:11 | ||||
| msgid "hide details" | ||||
| msgstr "隐藏详细信息" | ||||
| 
 | ||||
| #: searx/templates/oscar/result_templates/torrent.html:7 | ||||
| msgid "Filesize" | ||||
| msgstr "文件大小" | ||||
| 
 | ||||
| #: searx/templates/oscar/result_templates/torrent.html:9 | ||||
| msgid "Bytes" | ||||
| msgstr "B" | ||||
| 
 | ||||
| #: searx/templates/oscar/result_templates/torrent.html:10 | ||||
| msgid "kiB" | ||||
| msgstr "KB" | ||||
| 
 | ||||
| #: searx/templates/oscar/result_templates/torrent.html:11 | ||||
| msgid "MiB" | ||||
| msgstr "MB" | ||||
| 
 | ||||
| #: searx/templates/oscar/result_templates/torrent.html:12 | ||||
| msgid "GiB" | ||||
| msgstr "GB" | ||||
| 
 | ||||
| #: searx/templates/oscar/result_templates/torrent.html:13 | ||||
| msgid "TiB" | ||||
| msgstr "TB" | ||||
| 
 | ||||
| #: searx/templates/oscar/result_templates/torrent.html:15 | ||||
| msgid "Number of Files" | ||||
| msgstr "文件数" | ||||
| 
 | ||||
| #: searx/templates/oscar/result_templates/videos.html:7 | ||||
| msgid "show video" | ||||
| msgstr "显示视频" | ||||
| 
 | ||||
| #: searx/templates/oscar/result_templates/videos.html:7 | ||||
| msgid "hide video" | ||||
| msgstr "隐藏视频" | ||||
| 
 | ||||
| #: searx/templates/pix-art/results.html:28 | ||||
| msgid "Load more..." | ||||
| msgstr "载入更多..." | ||||
| @ -1,11 +1,9 @@ | ||||
| # import htmlentitydefs | ||||
| import locale | ||||
| import dateutil.parser | ||||
| import cStringIO | ||||
| import csv | ||||
| import os | ||||
| import re | ||||
| 
 | ||||
| from babel.dates import format_date | ||||
| from codecs import getincrementalencoder | ||||
| from HTMLParser import HTMLParser | ||||
| from random import choice | ||||
| @ -21,11 +19,15 @@ ua_versions = ('33.0', | ||||
|                '34.0', | ||||
|                '35.0', | ||||
|                '36.0', | ||||
|                '37.0') | ||||
|                '37.0', | ||||
|                '38.0', | ||||
|                '39.0', | ||||
|                '40.0') | ||||
| 
 | ||||
| ua_os = ('Windows NT 6.3; WOW64', | ||||
|          'X11; Linux x86_64', | ||||
|          'X11; Linux x86') | ||||
| 
 | ||||
| ua = "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}" | ||||
| 
 | ||||
| blocked_tags = ('script', | ||||
| @ -40,7 +42,7 @@ def gen_useragent(): | ||||
| def searx_useragent(): | ||||
|     return 'searx/{searx_version} {suffix}'.format( | ||||
|            searx_version=VERSION_STRING, | ||||
|            suffix=settings['server'].get('useragent_suffix', '')) | ||||
|            suffix=settings['outgoing'].get('useragent_suffix', '')) | ||||
| 
 | ||||
| 
 | ||||
| def highlight_content(content, query): | ||||
| @ -194,23 +196,16 @@ def get_result_templates(base_path): | ||||
|     return result_templates | ||||
| 
 | ||||
| 
 | ||||
| def format_date_by_locale(date_string, locale_string): | ||||
| def format_date_by_locale(date, locale_string): | ||||
|     # strftime works only on dates after 1900 | ||||
|     parsed_date = dateutil.parser.parse(date_string) | ||||
|     if parsed_date.year <= 1900: | ||||
|         return parsed_date.isoformat().split('T')[0] | ||||
| 
 | ||||
|     orig_locale = locale.getlocale()[0] | ||||
|     try: | ||||
|         locale.setlocale(locale.LC_ALL, locale_string) | ||||
|     except: | ||||
|         logger.warning('cannot set locale: {0}'.format(locale_string)) | ||||
|     formatted_date = parsed_date.strftime(locale.nl_langinfo(locale.D_FMT)) | ||||
|     try: | ||||
|         locale.setlocale(locale.LC_ALL, orig_locale) | ||||
|     except: | ||||
|         logger.warning('cannot set original locale: {0}'.format(orig_locale)) | ||||
|     return formatted_date | ||||
|     if date.year <= 1900: | ||||
|         return date.isoformat().split('T')[0] | ||||
| 
 | ||||
|     if locale_string == 'all': | ||||
|         locale_string = settings['ui']['default_locale'] or 'en_US' | ||||
| 
 | ||||
|     return format_date(date, locale=locale_string) | ||||
| 
 | ||||
| 
 | ||||
| def dict_subset(d, properties): | ||||
| @ -221,9 +216,10 @@ def dict_subset(d, properties): | ||||
|     return result | ||||
| 
 | ||||
| 
 | ||||
| def prettify_url(url): | ||||
|     if len(url) > 74: | ||||
|         return u'{0}[...]{1}'.format(url[:35], url[-35:]) | ||||
| def prettify_url(url, max_length=74): | ||||
|     if len(url) > max_length: | ||||
|         chunk_len = max_length / 2 + 1 | ||||
|         return u'{0}[...]{1}'.format(url[:chunk_len], url[-chunk_len:]) | ||||
|     else: | ||||
|         return url | ||||
| 
 | ||||
|  | ||||
| @ -18,7 +18,7 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >. | ||||
| 
 | ||||
| # version of searx | ||||
| VERSION_MAJOR = 0 | ||||
| VERSION_MINOR = 7 | ||||
| VERSION_MINOR = 8 | ||||
| VERSION_BUILD = 0 | ||||
| 
 | ||||
| VERSION_STRING = "{0}.{1}.{2}".format(VERSION_MAJOR, | ||||
|  | ||||
| @ -42,7 +42,7 @@ except: | ||||
| 
 | ||||
| from datetime import datetime, timedelta | ||||
| from urllib import urlencode | ||||
| from urlparse import urlparse | ||||
| from urlparse import urlparse, urljoin | ||||
| from werkzeug.contrib.fixers import ProxyFix | ||||
| from flask import ( | ||||
|     Flask, request, render_template, url_for, Response, make_response, | ||||
| @ -77,11 +77,11 @@ except ImportError: | ||||
| 
 | ||||
| 
 | ||||
| static_path, templates_path, themes =\ | ||||
|     get_themes(settings['themes_path'] | ||||
|                if settings.get('themes_path') | ||||
|     get_themes(settings['ui']['themes_path'] | ||||
|                if settings['ui']['themes_path'] | ||||
|                else searx_dir) | ||||
| 
 | ||||
| default_theme = settings['server'].get('default_theme', 'default') | ||||
| default_theme = settings['ui']['default_theme'] | ||||
| 
 | ||||
| static_files = get_static_files(searx_dir) | ||||
| 
 | ||||
| @ -121,15 +121,15 @@ _category_names = (gettext('files'), | ||||
|                    gettext('news'), | ||||
|                    gettext('map')) | ||||
| 
 | ||||
| outgoing_proxies = settings.get('outgoing_proxies', None) | ||||
| outgoing_proxies = settings['outgoing'].get('proxies', None) | ||||
| 
 | ||||
| 
 | ||||
| @babel.localeselector | ||||
| def get_locale(): | ||||
|     locale = request.accept_languages.best_match(settings['locales'].keys()) | ||||
| 
 | ||||
|     if settings['server'].get('default_locale'): | ||||
|         locale = settings['server']['default_locale'] | ||||
|     if settings['ui'].get('default_locale'): | ||||
|         locale = settings['ui']['default_locale'] | ||||
| 
 | ||||
|     if request.cookies.get('locale', '') in settings['locales']: | ||||
|         locale = request.cookies.get('locale', '') | ||||
| @ -263,7 +263,7 @@ def image_proxify(url): | ||||
| def render(template_name, override_theme=None, **kwargs): | ||||
|     blocked_engines = get_blocked_engines(engines, request.cookies) | ||||
| 
 | ||||
|     autocomplete = request.cookies.get('autocomplete') | ||||
|     autocomplete = request.cookies.get('autocomplete', settings['search']['autocomplete']) | ||||
| 
 | ||||
|     if autocomplete not in autocomplete_backends: | ||||
|         autocomplete = None | ||||
| @ -312,7 +312,7 @@ def render(template_name, override_theme=None, **kwargs): | ||||
| 
 | ||||
|     kwargs['method'] = request.cookies.get('method', 'POST') | ||||
| 
 | ||||
|     kwargs['safesearch'] = request.cookies.get('safesearch', '1') | ||||
|     kwargs['safesearch'] = request.cookies.get('safesearch', str(settings['search']['safe_search'])) | ||||
| 
 | ||||
|     # override url_for function in templates | ||||
|     kwargs['url_for'] = url_for_theme | ||||
| @ -383,7 +383,7 @@ def index(): | ||||
| 
 | ||||
|     plugins.call('post_search', request, locals()) | ||||
| 
 | ||||
|     for result in search.results: | ||||
|     for result in search.result_container.get_ordered_results(): | ||||
| 
 | ||||
|         plugins.call('on_result', request, locals()) | ||||
|         if not search.paging and engines[result['engine']].paging: | ||||
| @ -411,7 +411,7 @@ def index(): | ||||
|                 minutes = int((timedifference.seconds / 60) % 60) | ||||
|                 hours = int(timedifference.seconds / 60 / 60) | ||||
|                 if hours == 0: | ||||
|                     result['publishedDate'] = gettext(u'{minutes} minute(s) ago').format(minutes=minutes)  # noqa | ||||
|                     result['publishedDate'] = gettext(u'{minutes} minute(s) ago').format(minutes=minutes) | ||||
|                 else: | ||||
|                     result['publishedDate'] = gettext(u'{hours} hour(s), {minutes} minute(s) ago').format(hours=hours, minutes=minutes)  # noqa | ||||
|             else: | ||||
| @ -419,14 +419,13 @@ def index(): | ||||
| 
 | ||||
|     if search.request_data.get('format') == 'json': | ||||
|         return Response(json.dumps({'query': search.query, | ||||
|                                     'results': search.results}), | ||||
|                                     'results': search.result_container.get_ordered_results()}), | ||||
|                         mimetype='application/json') | ||||
|     elif search.request_data.get('format') == 'csv': | ||||
|         csv = UnicodeWriter(cStringIO.StringIO()) | ||||
|         keys = ('title', 'url', 'content', 'host', 'engine', 'score') | ||||
|         if search.results: | ||||
|         csv.writerow(keys) | ||||
|             for row in search.results: | ||||
|         for row in search.result_container.get_ordered_results(): | ||||
|             row['host'] = row['parsed_url'].netloc | ||||
|             csv.writerow([row.get(key, '') for key in keys]) | ||||
|         csv.stream.seek(0) | ||||
| @ -437,24 +436,24 @@ def index(): | ||||
|     elif search.request_data.get('format') == 'rss': | ||||
|         response_rss = render( | ||||
|             'opensearch_response_rss.xml', | ||||
|             results=search.results, | ||||
|             results=search.result_container.get_ordered_results(), | ||||
|             q=search.request_data['q'], | ||||
|             number_of_results=len(search.results), | ||||
|             number_of_results=search.result_container.results_length(), | ||||
|             base_url=get_base_url() | ||||
|         ) | ||||
|         return Response(response_rss, mimetype='text/xml') | ||||
| 
 | ||||
|     return render( | ||||
|         'results.html', | ||||
|         results=search.results, | ||||
|         results=search.result_container.get_ordered_results(), | ||||
|         q=search.request_data['q'], | ||||
|         selected_categories=search.categories, | ||||
|         paging=search.paging, | ||||
|         pageno=search.pageno, | ||||
|         base_url=get_base_url(), | ||||
|         suggestions=search.suggestions, | ||||
|         answers=search.answers, | ||||
|         infoboxes=search.infoboxes, | ||||
|         suggestions=search.result_container.suggestions, | ||||
|         answers=search.result_container.answers, | ||||
|         infoboxes=search.result_container.infoboxes, | ||||
|         theme=get_current_theme_name(), | ||||
|         favicons=global_favicons[themes.index(get_current_theme_name())] | ||||
|     ) | ||||
| @ -491,7 +490,7 @@ def autocompleter(): | ||||
|         return '', 400 | ||||
| 
 | ||||
|     # run autocompleter | ||||
|     completer = autocomplete_backends.get(request.cookies.get('autocomplete')) | ||||
|     completer = autocomplete_backends.get(request.cookies.get('autocomplete', settings['search']['autocomplete'])) | ||||
| 
 | ||||
|     # parse searx specific autocompleter results like !bang | ||||
|     raw_results = searx_bang(query) | ||||
| @ -532,7 +531,7 @@ def preferences(): | ||||
| 
 | ||||
|     blocked_engines = [] | ||||
| 
 | ||||
|     resp = make_response(redirect(url_for('index'))) | ||||
|     resp = make_response(redirect(urljoin(settings['server']['base_url'], url_for('index')))) | ||||
| 
 | ||||
|     if request.method == 'GET': | ||||
|         blocked_engines = get_blocked_engines(engines, request.cookies) | ||||
| @ -542,7 +541,7 @@ def preferences(): | ||||
|         locale = None | ||||
|         autocomplete = '' | ||||
|         method = 'POST' | ||||
|         safesearch = '1' | ||||
|         safesearch = settings['search']['safe_search'] | ||||
|         for pd_name, pd in request.form.items(): | ||||
|             if pd_name.startswith('category_'): | ||||
|                 category = pd_name[9:] | ||||
| @ -624,7 +623,7 @@ def preferences(): | ||||
| 
 | ||||
|         resp.set_cookie('method', method, max_age=cookie_max_age) | ||||
| 
 | ||||
|         resp.set_cookie('safesearch', safesearch, max_age=cookie_max_age) | ||||
|         resp.set_cookie('safesearch', str(safesearch), max_age=cookie_max_age) | ||||
| 
 | ||||
|         resp.set_cookie('image_proxy', image_proxy, max_age=cookie_max_age) | ||||
| 
 | ||||
| @ -640,12 +639,12 @@ def preferences(): | ||||
|             stats[e.name] = {'time': None, | ||||
|                              'warn_timeout': False, | ||||
|                              'warn_time': False} | ||||
|             if e.timeout > settings['server']['request_timeout']: | ||||
|             if e.timeout > settings['outgoing']['request_timeout']: | ||||
|                 stats[e.name]['warn_timeout'] = True | ||||
| 
 | ||||
|     for engine_stat in get_engines_stats()[0][1]: | ||||
|         stats[engine_stat.get('name')]['time'] = round(engine_stat.get('avg'), 3) | ||||
|         if engine_stat.get('avg') > settings['server']['request_timeout']: | ||||
|         if engine_stat.get('avg') > settings['outgoing']['request_timeout']: | ||||
|             stats[engine_stat.get('name')]['warn_time'] = True | ||||
|     # end of stats | ||||
| 
 | ||||
| @ -683,7 +682,7 @@ def image_proxy(): | ||||
| 
 | ||||
|     resp = requests.get(url, | ||||
|                         stream=True, | ||||
|                         timeout=settings['server'].get('request_timeout', 2), | ||||
|                         timeout=settings['outgoing']['request_timeout'], | ||||
|                         headers=headers, | ||||
|                         proxies=outgoing_proxies) | ||||
| 
 | ||||
| @ -767,7 +766,7 @@ def favicon(): | ||||
| 
 | ||||
| @app.route('/clear_cookies') | ||||
| def clear_cookies(): | ||||
|     resp = make_response(redirect(url_for('index'))) | ||||
|     resp = make_response(redirect(urljoin(settings['server']['base_url'], url_for('index')))) | ||||
|     for cookie_name in request.cookies: | ||||
|         resp.delete_cookie(cookie_name) | ||||
|     return resp | ||||
| @ -775,9 +774,10 @@ def clear_cookies(): | ||||
| 
 | ||||
| def run(): | ||||
|     app.run( | ||||
|         debug=settings['server']['debug'], | ||||
|         use_debugger=settings['server']['debug'], | ||||
|         port=settings['server']['port'] | ||||
|         debug=settings['general']['debug'], | ||||
|         use_debugger=settings['general']['debug'], | ||||
|         port=settings['server']['port'], | ||||
|         host=settings['server']['bind_address'] | ||||
|     ) | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user