Merge remote-tracking branch 'origin/master'

This commit is contained in:
Kang-min Liu 2015-11-14 00:05:44 +01:00
commit ac8759cd3f
73 changed files with 2780 additions and 1334 deletions

View File

@ -1,3 +1,9 @@
sudo: false
cache:
- pip
- npm
- directories:
- $HOME/.cache/pip
language: python language: python
python: python:
- "2.7" - "2.7"

View File

@ -34,3 +34,7 @@ generally made searx better:
- @opi - @opi
- @dimqua - @dimqua
- Giorgos Logiotatidis - Giorgos Logiotatidis
- Luc Didry
- Niklas Haas
- @underr
- Emmanuel Benazera

View File

@ -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 0.7.0 2015.02.03
================ ================

View File

@ -96,7 +96,7 @@ remember 'untested code is broken code'.
Runs robot (Selenium) tests, you must have ``firefox`` installed because Runs robot (Selenium) tests, you must have ``firefox`` installed because
this functional tests actually run the browser and perform operations on this functional tests actually run the browser and perform operations on
it. Also searx is executed with 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`` ``make flake8``
''''''''''''''' '''''''''''''''

View File

@ -40,7 +40,7 @@ else:
with open(settings_path) as settings_yaml: with open(settings_path) as settings_yaml:
settings = load(settings_yaml) settings = load(settings_yaml)
if settings.get('server', {}).get('debug'): if settings.get('general', {}).get('debug'):
logging.basicConfig(level=logging.DEBUG) logging.basicConfig(level=logging.DEBUG)
else: else:
logging.basicConfig(level=logging.WARNING) logging.basicConfig(level=logging.WARNING)

View File

@ -29,7 +29,7 @@ from searx.poolrequests import get as http_get
def get(*args, **kwargs): def get(*args, **kwargs):
if 'timeout' not in kwargs: if 'timeout' not in kwargs:
kwargs['timeout'] = settings['server']['request_timeout'] kwargs['timeout'] = settings['outgoing']['request_timeout']
return http_get(*args, **kwargs) return http_get(*args, **kwargs)

View File

@ -75,7 +75,7 @@ def load_engine(engine_data):
engine.safesearch = False engine.safesearch = False
if not hasattr(engine, 'timeout'): if not hasattr(engine, 'timeout'):
engine.timeout = settings['server']['request_timeout'] engine.timeout = settings['outgoing']['request_timeout']
if not hasattr(engine, 'shortcut'): if not hasattr(engine, 'shortcut'):
engine.shortcut = '' engine.shortcut = ''

View File

@ -52,7 +52,7 @@ def request(query, params):
def response(resp): def response(resp):
results = [] results = []
dom = html.fromstring(resp.content) dom = html.fromstring(resp.text)
# parse results # parse results
for result in dom.xpath('//div[@class="sa_cc"]'): for result in dom.xpath('//div[@class="sa_cc"]'):

View File

@ -63,7 +63,7 @@ def request(query, params):
def response(resp): def response(resp):
results = [] results = []
dom = html.fromstring(resp.content) dom = html.fromstring(resp.text)
# init regex for yaml-parsing # init regex for yaml-parsing
p = re.compile('({|,)([a-z]+):(")') p = re.compile('({|,)([a-z]+):(")')

View File

@ -13,6 +13,8 @@
from urllib import urlencode from urllib import urlencode
from cgi import escape from cgi import escape
from lxml import etree from lxml import etree
from random import randint
from time import time
# engine dependent config # engine dependent config
categories = ['general'] categories = ['general']
@ -21,7 +23,7 @@ number_of_results = 5
# search-url, invalid HTTPS certificate # search-url, invalid HTTPS certificate
base_url = 'http://gigablast.com/' 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 # specific xpath variables
results_xpath = '//response//result' results_xpath = '//response//result'
@ -37,7 +39,9 @@ def request(query, params):
search_path = search_string.format( search_path = search_string.format(
query=urlencode({'q': query}), query=urlencode({'q': query}),
offset=offset, 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 params['url'] = base_url + search_path

View File

@ -9,11 +9,15 @@
# @parse url, title, content, suggestion # @parse url, title, content, suggestion
import re import re
from cgi import escape
from urllib import urlencode from urllib import urlencode
from urlparse import urlparse, parse_qsl from urlparse import urlparse, parse_qsl
from lxml import html from lxml import html, etree
from searx.poolrequests import get from searx.poolrequests import get
from searx.engines.xpath import extract_text, extract_url from searx.engines.xpath import extract_text, extract_url
from searx.search import logger
logger = logger.getChild('google engine')
# engine dependent config # engine dependent config
@ -167,7 +171,7 @@ def parse_url(url_string, google_hostname):
def extract_text_from_dom(result, xpath): def extract_text_from_dom(result, xpath):
r = result.xpath(xpath) r = result.xpath(xpath)
if len(r) > 0: if len(r) > 0:
return extract_text(r[0]) return escape(extract_text(r[0]))
return None return None
@ -224,8 +228,8 @@ def response(resp):
# parse results # parse results
for result in dom.xpath(results_xpath): for result in dom.xpath(results_xpath):
title = extract_text(result.xpath(title_xpath)[0])
try: try:
title = extract_text(result.xpath(title_xpath)[0])
url = parse_url(extract_url(result.xpath(url_xpath), google_url), google_hostname) url = parse_url(extract_url(result.xpath(url_xpath), google_url), google_hostname)
parsed_url = urlparse(url, google_hostname) parsed_url = urlparse(url, google_hostname)
@ -268,12 +272,13 @@ def response(resp):
'content': content 'content': content
}) })
except: except:
logger.debug('result parse error in:\n%s', etree.tostring(result, pretty_print=True))
continue continue
# parse suggestion # parse suggestion
for suggestion in dom.xpath(suggestion_xpath): for suggestion in dom.xpath(suggestion_xpath):
# append suggestion # append suggestion
results.append({'suggestion': extract_text(suggestion)}) results.append({'suggestion': escape(extract_text(suggestion))})
# return results # return results
return results return results

View File

@ -20,7 +20,7 @@ categories = ['videos', 'music', 'files']
paging = True paging = True
# search-url # search-url
url = 'https://thepiratebay.am/' url = 'https://thepiratebay.se/'
search_url = url + 'search/{search_term}/{pageno}/99/{search_type}' search_url = url + 'search/{search_term}/{pageno}/99/{search_type}'
# piratebay specific type-definitions # piratebay specific type-definitions

View File

@ -34,6 +34,11 @@ def request(query, params):
params['url'] = search_url.format(query=urlencode({'q': query}), params['url'] = search_url.format(query=urlencode({'q': query}),
pageno=params['pageno']-1) pageno=params['pageno']-1)
# Disable SSL verification
# error: (60) SSL certificate problem: unable to get local issuer
# certificate
params['verify'] = False
return params return params

View File

@ -27,6 +27,11 @@ def request(query, params):
params['url'] = search_url.format(query=urlencode({'q': query}), params['url'] = search_url.format(query=urlencode({'q': query}),
pageno=params['pageno']-1) pageno=params['pageno']-1)
# Disable SSL verification
# error: (60) SSL certificate problem: unable to get local issuer
# certificate
params['verify'] = False
return params return params

View File

@ -12,6 +12,8 @@
from lxml import html from lxml import html
from cgi import escape from cgi import escape
from dateutil import parser
from datetime import datetime, timedelta
import re import re
from searx.engines.xpath import extract_text from searx.engines.xpath import extract_text
@ -66,20 +68,57 @@ def response(resp):
url = link.attrib.get('href') url = link.attrib.get('href')
# block google-ad url's # 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 continue
title = escape(extract_text(link)) title = escape(extract_text(link))
if result.xpath('./p[@class="desc"]'): if result.xpath('./p[@class="desc clk"]'):
content = escape(extract_text(result.xpath('./p[@class="desc"]'))) content = escape(extract_text(result.xpath('./p[@class="desc clk"]')))
else: else:
content = '' content = ''
# append result published_date = None
results.append({'url': url,
'title': title, # check if search result starts with something like: "2 Sep 2014 ... "
'content': content}) 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,
'content': content})
# return results # return results
return results return results

View File

@ -55,10 +55,14 @@ def response(resp):
# parse results # parse results
for tweet in dom.xpath(results_xpath): for tweet in dom.xpath(results_xpath):
link = tweet.xpath(link_xpath)[0] 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')) url = urljoin(base_url, link.attrib.get('href'))
title = extract_text(tweet.xpath(title_xpath)) title = extract_text(tweet.xpath(title_xpath))
content = extract_text(tweet.xpath(content_xpath)[0])
pubdate = tweet.xpath(timestamp_xpath) pubdate = tweet.xpath(timestamp_xpath)
if len(pubdate) > 0: if len(pubdate) > 0:

View File

@ -1,8 +1,15 @@
import json import json
from urllib import urlencode
from searx import logger
from searx.poolrequests import get from searx.poolrequests import get
from searx.utils import format_date_by_locale 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 result_count = 1
wikidata_host = 'https://www.wikidata.org' wikidata_host = 'https://www.wikidata.org'
wikidata_api = wikidata_host + '/w/api.php' wikidata_api = wikidata_host + '/w/api.php'
@ -164,14 +171,12 @@ def getDetail(jsonresponse, wikidata_id, language, locale):
if postal_code is not None: if postal_code is not None:
attributes.append({'label': 'Postal code(s)', 'value': postal_code}) 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: 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}) 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: 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}) attributes.append({'label': 'Date of death', 'value': date_of_death})
if len(attributes) == 0 and len(urls) == 2 and len(description) == 0: 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] return result[0]
def get_time(claims, propertyName, defaultValue=None): def get_time(claims, propertyName, locale, defaultValue=None):
propValue = claims.get(propertyName, {}) propValue = claims.get(propertyName, {})
if len(propValue) == 0: if len(propValue) == 0:
return defaultValue return defaultValue
@ -244,9 +249,22 @@ def get_time(claims, propertyName, defaultValue=None):
result.append(value.get('time', '')) result.append(value.get('time', ''))
if len(result) == 0: if len(result) == 0:
return defaultValue date_string = defaultValue
else: 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=''): def get_geolink(claims, propertyName, defaultValue=''):

62
searx/engines/yandex.py Normal file
View 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

View File

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

View File

@ -35,10 +35,10 @@ def post_search(request, ctx):
ip = x_forwarded_for[0] ip = x_forwarded_for[0]
else: else:
ip = request.remote_addr ip = request.remote_addr
ctx['search'].answers.clear() ctx['search'].result_container.answers.clear()
ctx['search'].answers.add(ip) ctx['search'].result_container.answers.add(ip)
elif p.match(ctx['search'].query): elif p.match(ctx['search'].query):
ua = request.user_agent ua = request.user_agent
ctx['search'].answers.clear() ctx['search'].result_container.answers.clear()
ctx['search'].answers.add(ua) ctx['search'].result_container.answers.add(ua)
return True return True

View File

@ -1,5 +1,7 @@
import requests import requests
from itertools import cycle from itertools import cycle
from threading import RLock
from searx import settings from searx import settings
@ -39,11 +41,11 @@ class HTTPAdapterWithConnParams(requests.adapters.HTTPAdapter):
block=self._pool_block, **self._conn_params) 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)) 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)) 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: else:
http_adapters = cycle((HTTPAdapterWithConnParams(pool_connections=100), )) http_adapters = cycle((HTTPAdapterWithConnParams(pool_connections=100), ))
https_adapters = cycle((HTTPAdapterWithConnParams(pool_connections=100), )) https_adapters = cycle((HTTPAdapterWithConnParams(pool_connections=100), ))
@ -55,9 +57,10 @@ class SessionSinglePool(requests.Session):
super(SessionSinglePool, self).__init__() super(SessionSinglePool, self).__init__()
# reuse the same adapters # reuse the same adapters
self.adapters.clear() with RLock():
self.mount('https://', next(https_adapters)) self.adapters.clear()
self.mount('http://', next(http_adapters)) self.mount('https://', next(https_adapters))
self.mount('http://', next(http_adapters))
def close(self): def close(self):
"""Call super, but clear adapters since there are managed globaly""" """Call super, but clear adapters since there are managed globaly"""
@ -67,9 +70,8 @@ class SessionSinglePool(requests.Session):
def request(method, url, **kwargs): def request(method, url, **kwargs):
"""same as requests/requests/api.py request(...) except it use SessionSinglePool and force proxies""" """same as requests/requests/api.py request(...) except it use SessionSinglePool and force proxies"""
global settings
session = SessionSinglePool() session = SessionSinglePool()
kwargs['proxies'] = settings.get('outgoing_proxies', None) kwargs['proxies'] = settings['outgoing'].get('proxies', None)
response = session.request(method=method, url=url, **kwargs) response = session.request(method=method, url=url, **kwargs)
session.close() session.close()
return response return response

239
searx/results.py Normal file
View 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)

View File

@ -16,19 +16,16 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >.
''' '''
import threading import threading
import re
import searx.poolrequests as requests_lib 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 time import time
from urlparse import urlparse, unquote from searx import settings
from searx.engines import ( from searx.engines import (
categories, engines categories, engines
) )
from searx.languages import language_codes from searx.languages import language_codes
from searx.utils import gen_useragent, get_blocked_engines from searx.utils import gen_useragent, get_blocked_engines
from searx.query import Query from searx.query import Query
from searx.results import ResultContainer
from searx import logger from searx import logger
logger = logger.getChild('search') logger = logger.getChild('search')
@ -41,7 +38,8 @@ def search_request_wrapper(fn, url, engine_name, **kwargs):
return fn(url, **kwargs) return fn(url, **kwargs)
except: except:
# increase errors stats # increase errors stats
engines[engine_name].stats['errors'] += 1 with threading.RLock():
engines[engine_name].stats['errors'] += 1
# print engine name and specific error message # print engine name and specific error message
logger.exception('engine crash: {0}'.format(engine_name)) logger.exception('engine crash: {0}'.format(engine_name))
@ -83,7 +81,7 @@ def default_request_params():
# create a callback wrapper for the search engine results # 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 # creating a callback wrapper for the search engine results
def process_callback(response, **kwargs): def process_callback(response, **kwargs):
@ -95,12 +93,17 @@ def make_callback(engine_name, results_queue, callback, params):
response.search_params = params response.search_params = params
timeout_overhead = 0.2 # seconds
search_duration = time() - params['started'] 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 timeout_limit = engines[engine_name].timeout + timeout_overhead
if search_duration > timeout_limit: if search_duration > timeout_limit:
engines[engine_name].stats['page_load_time'] += timeout_limit with threading.RLock():
engines[engine_name].stats['errors'] += 1 engines[engine_name].stats['errors'] += 1
return return
# callback # callback
@ -110,207 +113,11 @@ def make_callback(engine_name, results_queue, callback, params):
for result in search_results: for result in search_results:
result['engine'] = engine_name result['engine'] = engine_name
results_queue.put_nowait((engine_name, search_results)) result_container.extend(engine_name, search_results)
# update stats with current page-load-time
engines[engine_name].stats['page_load_time'] += search_duration
return process_callback 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): class Search(object):
"""Search information container""" """Search information container"""
@ -328,10 +135,7 @@ class Search(object):
# set blocked engines # set blocked engines
self.blocked_engines = get_blocked_engines(engines, request.cookies) self.blocked_engines = get_blocked_engines(engines, request.cookies)
self.results = [] self.result_container = ResultContainer()
self.suggestions = set()
self.answers = set()
self.infoboxes = []
self.request_data = {} self.request_data = {}
# set specific language if set # set specific language if set
@ -386,11 +190,11 @@ class Search(object):
load_default_categories = True load_default_categories = True
for pd_name, pd in self.request_data.items(): for pd_name, pd in self.request_data.items():
if pd_name == 'categories': 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': elif pd_name == 'engines':
pd_engines = [{'category': engines[engine].categories[0], pd_engines = [{'category': engines[engine].categories[0],
'name': engine} '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: if pd_engines:
self.engines.extend(pd_engines) self.engines.extend(pd_engines)
load_default_categories = False load_default_categories = False
@ -409,6 +213,9 @@ class Search(object):
self.categories.remove(category) self.categories.remove(category)
if not load_default_categories: if not load_default_categories:
if not self.categories:
self.categories = list(set(engine['category']
for engine in self.engines))
return return
# if no category is specified for this search, # if no category is specified for this search,
@ -440,8 +247,6 @@ class Search(object):
# init vars # init vars
requests = [] requests = []
results_queue = Queue()
results = {}
# increase number of searches # increase number of searches
number_of_searches += 1 number_of_searches += 1
@ -473,16 +278,16 @@ class Search(object):
request_params['started'] = time() request_params['started'] = time()
request_params['pageno'] = self.pageno request_params['pageno'] = self.pageno
if hasattr(engine, 'language'): if hasattr(engine, 'language') and engine.language:
request_params['language'] = engine.language request_params['language'] = engine.language
else: else:
request_params['language'] = self.lang request_params['language'] = self.lang
try: try:
# 0 = None, 1 = Moderate, 2 = Strict # 0 = None, 1 = Moderate, 2 = Strict
request_params['safesearch'] = int(request.cookies.get('safesearch', 1)) request_params['safesearch'] = int(request.cookies.get('safesearch'))
except ValueError: except Exception:
request_params['safesearch'] = 1 request_params['safesearch'] = settings['search']['safe_search']
# update request parameters dependent on # update request parameters dependent on
# search-engine (contained in engines folder) # search-engine (contained in engines folder)
@ -495,9 +300,9 @@ class Search(object):
# create a callback wrapper for the search engine results # create a callback wrapper for the search engine results
callback = make_callback( callback = make_callback(
selected_engine['name'], selected_engine['name'],
results_queue,
engine.response, engine.response,
request_params) request_params,
self.result_container)
# create dictionary which contain all # create dictionary which contain all
# informations about the request # informations about the request
@ -530,42 +335,5 @@ class Search(object):
# send all search-request # send all search-request
threaded_requests(requests) 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 results, suggestions, answers and infoboxes
return self return self

View File

@ -1,27 +1,36 @@
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: server:
port : 8888 port : 8888
bind_address : "127.0.0.1" # address to listen on
secret_key : "ultrasecretkey" # change this! 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/" 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 themes_path : "" # Custom ui themes path - leave it blank if you didn't change
default_theme : oscar # ui theme 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 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 # uncomment below section if you want to use a proxy
# see http://docs.python-requests.org/en/latest/user/advanced/#proxies # see http://docs.python-requests.org/en/latest/user/advanced/#proxies
# SOCKS proxies are not supported : see https://github.com/kennethreitz/requests/pull/478 # SOCKS proxies are not supported : see https://github.com/kennethreitz/requests/pull/478
#outgoing_proxies : # proxies :
# http : http://127.0.0.1:8080 # http : http://127.0.0.1:8080
# https: 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 # uncomment below section only if you have more than one network interface
# which can be the source of outgoing search requests # which can be the source of outgoing search requests
#source_ips: # source_ips:
# - 1.1.1.1 # - 1.1.1.1
# - 1.1.1.2 # - 1.1.1.2
engines: engines:
- name : wikipedia - name : wikipedia
@ -265,6 +274,11 @@ engines:
engine : yahoo engine : yahoo
shortcut : yh shortcut : yh
- name : yandex
engine : yandex
shortcut : yn
disabled : True
- name : yahoo news - name : yahoo news
engine : yahoo_news engine : yahoo_news
shortcut : yhn shortcut : yhn
@ -310,6 +324,7 @@ locales:
nl : Nederlands nl : Nederlands
ja : 日本語 (Japanese) ja : 日本語 (Japanese)
tr : Türkçe tr : Türkçe
pt: Português pt : Português
ru : Russian ru : Russian
ro : Romanian ro : Romanian
zh : 中文 (Chinese)

View File

@ -1,13 +1,25 @@
general:
debug : False
search:
safe_search : 0
autocomplete : 0
server: server:
port : 11111 port : 11111
bind_address : 127.0.0.1
secret_key : "ultrasecretkey" # change this! secret_key : "ultrasecretkey" # change this!
debug : False base_url : False
request_timeout : 3.0 # seconds image_proxy : False
base_url: False
ui:
themes_path : "" themes_path : ""
default_theme : default default_theme : default
https_rewrite : True default_locale : ""
image_proxy : False
outgoing:
request_timeout : 1.0 # seconds
useragent_suffix : ""
engines: engines:
- name : general_dummy - name : general_dummy

View File

@ -1 +1,88 @@
html{position:relative;min-height:100%}body{margin-bottom:80px}.footer{position:absolute;bottom:0;width:100%;height:60px}input[type=checkbox]:checked+.label_hide_if_checked,input[type=checkbox]:checked+.label_hide_if_not_checked+.label_hide_if_checked{display:none}input[type=checkbox]:not(:checked)+.label_hide_if_not_checked,input[type=checkbox]:not(:checked)+.label_hide_if_checked+.label_hide_if_not_checked{display:none}.result_header{margin-bottom:5px;margin-top:20px}.result_header .favicon{margin-bottom:-3px}.result_header a{vertical-align:bottom}.result_header a .highlight{font-weight:bold}.result-content{margin-top:5px;word-wrap:break-word}.result-content .highlight{font-weight:bold}.result-default{clear:both}.result-images{float:left !important}.img-thumbnail{margin:5px;max-height:128px;min-height:128px}.result-videos{clear:both}.result-torrents{clear:both}.result-map{clear:both}.result-code{clear:both}.suggestion_item{margin:2px 5px}.result_download{margin-right:5px}#pagination{margin-top:30px;padding-bottom:50px}.infobox .infobox_part{margin-bottom:20px;word-wrap:break-word}.infobox .infobox_part:last-child{margin-bottom:0}.search_categories{margin:10px 0;text-transform:capitalize}.cursor-text{cursor:text !important}.cursor-pointer{cursor:pointer !important}.highlight .hll{background-color:#ffc}.highlight{background:#f8f8f8}.highlight .c{color:#408080;font-style:italic}.highlight .err{border:1px solid #f00}.highlight .k{color:#008000;font-weight:bold}.highlight .o{color:#666}.highlight .cm{color:#408080;font-style:italic}.highlight .cp{color:#bc7a00}.highlight .c1{color:#408080;font-style:italic}.highlight .cs{color:#408080;font-style:italic}.highlight .gd{color:#a00000}.highlight .ge{font-style:italic}.highlight .gr{color:#f00}.highlight .gh{color:#000080;font-weight:bold}.highlight .gi{color:#00a000}.highlight .go{color:#888}.highlight .gp{color:#000080;font-weight:bold}.highlight .gs{font-weight:bold}.highlight .gu{color:#800080;font-weight:bold}.highlight .gt{color:#04d}.highlight .kc{color:#008000;font-weight:bold}.highlight .kd{color:#008000;font-weight:bold}.highlight .kn{color:#008000;font-weight:bold}.highlight .kp{color:#008000}.highlight .kr{color:#008000;font-weight:bold}.highlight .kt{color:#b00040}.highlight .m{color:#666}.highlight .s{color:#ba2121}.highlight .na{color:#7d9029}.highlight .nb{color:#008000}.highlight .nc{color:#00f;font-weight:bold}.highlight .no{color:#800}.highlight .nd{color:#a2f}.highlight .ni{color:#999;font-weight:bold}.highlight .ne{color:#d2413a;font-weight:bold}.highlight .nf{color:#00f}.highlight .nl{color:#a0a000}.highlight .nn{color:#00f;font-weight:bold}.highlight .nt{color:#008000;font-weight:bold}.highlight .nv{color:#19177c}.highlight .ow{color:#a2f;font-weight:bold}.highlight .w{color:#bbb}.highlight .mf{color:#666}.highlight .mh{color:#666}.highlight .mi{color:#666}.highlight .mo{color:#666}.highlight .sb{color:#ba2121}.highlight .sc{color:#ba2121}.highlight .sd{color:#ba2121;font-style:italic}.highlight .s2{color:#ba2121}.highlight .se{color:#b62;font-weight:bold}.highlight .sh{color:#ba2121}.highlight .si{color:#b68;font-weight:bold}.highlight .sx{color:#008000}.highlight .sr{color:#b68}.highlight .s1{color:#ba2121}.highlight .ss{color:#19177c}.highlight .bp{color:#008000}.highlight .vc{color:#19177c}.highlight .vg{color:#19177c}.highlight .vi{color:#19177c}.highlight .il{color:#666}.highlight .lineno{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.highlight .lineno::selection{background:transparent}.highlight .lineno::-moz-selection{background:transparent} html{position:relative;min-height:100%}
body{margin-bottom:80px}
.footer{position:absolute;bottom:0;width:100%;height:60px}
input[type=checkbox]:checked+.label_hide_if_checked,input[type=checkbox]:checked+.label_hide_if_not_checked+.label_hide_if_checked{display:none}
input[type=checkbox]:not(:checked)+.label_hide_if_not_checked,input[type=checkbox]:not(:checked)+.label_hide_if_checked+.label_hide_if_not_checked{display:none}
.result_header{margin-bottom:5px;margin-top:20px}.result_header .favicon{margin-bottom:-3px}
.result_header a{vertical-align:bottom}.result_header a .highlight{font-weight:bold}
.result-content{margin-top:5px;word-wrap:break-word}.result-content .highlight{font-weight:bold}
.result-default{clear:both}
.result-images{float:left !important}
.img-thumbnail{margin:5px;max-height:128px;min-height:128px}
.result-videos{clear:both}
.result-torrents{clear:both}
.result-map{clear:both}
.result-code{clear:both}
.suggestion_item{margin:2px 5px}
.result_download{margin-right:5px}
#pagination{margin-top:30px;padding-bottom:50px}
.label-default{color:#aaa;background:#fff}
.infobox .infobox_part{margin-bottom:20px;word-wrap:break-word}
.infobox .infobox_part:last-child{margin-bottom:0}
.search_categories{margin:10px 0;text-transform:capitalize}
.cursor-text{cursor:text !important}
.cursor-pointer{cursor:pointer !important}
.highlight .hll{background-color:#ffc}
.highlight{background:#f8f8f8}
.highlight .c{color:#408080;font-style:italic}
.highlight .err{border:1px solid #f00}
.highlight .k{color:#008000;font-weight:bold}
.highlight .o{color:#666}
.highlight .cm{color:#408080;font-style:italic}
.highlight .cp{color:#bc7a00}
.highlight .c1{color:#408080;font-style:italic}
.highlight .cs{color:#408080;font-style:italic}
.highlight .gd{color:#a00000}
.highlight .ge{font-style:italic}
.highlight .gr{color:#f00}
.highlight .gh{color:#000080;font-weight:bold}
.highlight .gi{color:#00a000}
.highlight .go{color:#888}
.highlight .gp{color:#000080;font-weight:bold}
.highlight .gs{font-weight:bold}
.highlight .gu{color:#800080;font-weight:bold}
.highlight .gt{color:#04d}
.highlight .kc{color:#008000;font-weight:bold}
.highlight .kd{color:#008000;font-weight:bold}
.highlight .kn{color:#008000;font-weight:bold}
.highlight .kp{color:#008000}
.highlight .kr{color:#008000;font-weight:bold}
.highlight .kt{color:#b00040}
.highlight .m{color:#666}
.highlight .s{color:#ba2121}
.highlight .na{color:#7d9029}
.highlight .nb{color:#008000}
.highlight .nc{color:#00f;font-weight:bold}
.highlight .no{color:#800}
.highlight .nd{color:#a2f}
.highlight .ni{color:#999;font-weight:bold}
.highlight .ne{color:#d2413a;font-weight:bold}
.highlight .nf{color:#00f}
.highlight .nl{color:#a0a000}
.highlight .nn{color:#00f;font-weight:bold}
.highlight .nt{color:#008000;font-weight:bold}
.highlight .nv{color:#19177c}
.highlight .ow{color:#a2f;font-weight:bold}
.highlight .w{color:#bbb}
.highlight .mf{color:#666}
.highlight .mh{color:#666}
.highlight .mi{color:#666}
.highlight .mo{color:#666}
.highlight .sb{color:#ba2121}
.highlight .sc{color:#ba2121}
.highlight .sd{color:#ba2121;font-style:italic}
.highlight .s2{color:#ba2121}
.highlight .se{color:#b62;font-weight:bold}
.highlight .sh{color:#ba2121}
.highlight .si{color:#b68;font-weight:bold}
.highlight .sx{color:#008000}
.highlight .sr{color:#b68}
.highlight .s1{color:#ba2121}
.highlight .ss{color:#19177c}
.highlight .bp{color:#008000}
.highlight .vc{color:#19177c}
.highlight .vg{color:#19177c}
.highlight .vi{color:#19177c}
.highlight .il{color:#666}
.highlight .lineno{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.highlight .lineno::selection{background:transparent;}
.highlight .lineno::-moz-selection{background:transparent;}

View File

@ -76,3 +76,8 @@
margin-top: 30px; margin-top: 30px;
padding-bottom: 50px; padding-bottom: 50px;
} }
.label-default {
color: #AAA;
background: #FFF;
}

View File

@ -3,6 +3,7 @@
<ShortName>searx</ShortName> <ShortName>searx</ShortName>
<Description>Search searx</Description> <Description>Search searx</Description>
<InputEncoding>UTF-8</InputEncoding> <InputEncoding>UTF-8</InputEncoding>
<Image>{{ host }}{{ url_for('static', filename='img/favicon.png') | replace("/", "", 1) }}</Image>
<LongName>searx metasearch</LongName> <LongName>searx metasearch</LongName>
{% if opensearch_method == 'get' %} {% if opensearch_method == 'get' %}
<Url type="text/html" method="get" template="{{ host }}search?q={searchTerms}"/> <Url type="text/html" method="get" template="{{ host }}search?q={searchTerms}"/>

View File

@ -3,6 +3,7 @@
<ShortName>searx</ShortName> <ShortName>searx</ShortName>
<Description>Search searx</Description> <Description>Search searx</Description>
<InputEncoding>UTF-8</InputEncoding> <InputEncoding>UTF-8</InputEncoding>
<Image>{{ host }}{{ url_for('static', filename='img/favicon.png') | replace("/", "", 1) }}</Image>
<LongName>searx metasearch</LongName> <LongName>searx metasearch</LongName>
{% if opensearch_method == 'get' %} {% if opensearch_method == 'get' %}
<Url type="text/html" method="get" template="{{ host }}search?q={searchTerms}"/> <Url type="text/html" method="get" template="{{ host }}search?q={searchTerms}"/>

View File

@ -25,7 +25,11 @@
<!-- Draw result footer --> <!-- Draw result footer -->
{% macro result_footer(result) -%} {% macro result_footer(result) -%}
<div class="clearfix"></div> <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> <p class="text-muted">{{ result.pretty_url }}</p>
{%- endmacro %} {%- endmacro %}

View File

@ -3,6 +3,7 @@
<ShortName>searx</ShortName> <ShortName>searx</ShortName>
<Description>Search searx</Description> <Description>Search searx</Description>
<InputEncoding>UTF-8</InputEncoding> <InputEncoding>UTF-8</InputEncoding>
<Image>{{ host }}{{ url_for('static', filename='img/favicon.png') | replace("/", "", 1) }}</Image>
<LongName>searx metasearch</LongName> <LongName>searx metasearch</LongName>
{% if opensearch_method == 'get' %} {% if opensearch_method == 'get' %}
<Url type="text/html" method="get" template="{{ host }}search?q={searchTerms}"/> <Url type="text/html" method="get" template="{{ host }}search?q={searchTerms}"/>

View File

@ -53,8 +53,8 @@
<th>{{ _('Engine name') }}</th> <th>{{ _('Engine name') }}</th>
<th>{{ _('Allow') }} / {{ _('Block') }}</th> <th>{{ _('Allow') }} / {{ _('Block') }}</th>
</tr> </tr>
{% for (categ,search_engines) in categs %} {% for categ in all_categories %}
{% for search_engine in search_engines %} {% for search_engine in engines_by_category[categ] %}
{% if not search_engine.private %} {% if not search_engine.private %}
<tr> <tr>

View File

@ -29,10 +29,10 @@ class TestBingEngine(SearxTestCase):
self.assertRaises(AttributeError, bing.response, '') self.assertRaises(AttributeError, bing.response, '')
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), []) self.assertEqual(bing.response(response), [])
response = mock.Mock(content='<html></html>') response = mock.Mock(text='<html></html>')
self.assertEqual(bing.response(response), []) self.assertEqual(bing.response(response), [])
html = """ html = """
@ -54,7 +54,7 @@ class TestBingEngine(SearxTestCase):
</div> </div>
</div> </div>
""" """
response = mock.Mock(content=html) response = mock.Mock(text=html)
results = bing.response(response) results = bing.response(response)
self.assertEqual(type(results), list) self.assertEqual(type(results), list)
self.assertEqual(len(results), 1) self.assertEqual(len(results), 1)
@ -81,7 +81,7 @@ class TestBingEngine(SearxTestCase):
</div> </div>
</li> </li>
""" """
response = mock.Mock(content=html) response = mock.Mock(text=html)
results = bing.response(response) results = bing.response(response)
self.assertEqual(type(results), list) self.assertEqual(type(results), list)
self.assertEqual(len(results), 1) self.assertEqual(len(results), 1)

View File

@ -31,10 +31,10 @@ class TestBingImagesEngine(SearxTestCase):
self.assertRaises(AttributeError, bing_images.response, '') self.assertRaises(AttributeError, bing_images.response, '')
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), []) self.assertEqual(bing_images.response(response), [])
response = mock.Mock(content='<html></html>') response = mock.Mock(text='<html></html>')
self.assertEqual(bing_images.response(response), []) self.assertEqual(bing_images.response(response), [])
html = """ html = """
@ -52,7 +52,7 @@ oh:&quot;238&quot;,tft:&quot;0&quot;,oi:&quot;http://www.image.url/Images/Test%2
</div> </div>
""" """
html = html.replace('\r\n', '').replace('\n', '').replace('\r', '') html = html.replace('\r\n', '').replace('\n', '').replace('\r', '')
response = mock.Mock(content=html) response = mock.Mock(text=html)
results = bing_images.response(response) results = bing_images.response(response)
self.assertEqual(type(results), list) self.assertEqual(type(results), list)
self.assertEqual(len(results), 1) self.assertEqual(len(results), 1)
@ -75,7 +75,7 @@ oh:&quot;238&quot;,tft:&quot;0&quot;,oi:&quot;http://www.image.url/Images/Test%2
style="height:144px;" width="178" height="144"/> style="height:144px;" width="178" height="144"/>
</a> </a>
""" """
response = mock.Mock(content=html) response = mock.Mock(text=html)
results = bing_images.response(response) results = bing_images.response(response)
self.assertEqual(type(results), list) self.assertEqual(type(results), list)
self.assertEqual(len(results), 0) self.assertEqual(len(results), 0)
@ -263,7 +263,7 @@ oh:&quot;238&quot;,tft:&quot;0&quot;,oi:&quot;http://www.image.url/Images/Test%2
</div> </div>
""" """
html = html.replace('\r\n', '').replace('\n', '').replace('\r', '') html = html.replace('\r\n', '').replace('\n', '').replace('\r', '')
response = mock.Mock(content=html) response = mock.Mock(text=html)
results = bing_images.response(response) results = bing_images.response(response)
self.assertEqual(type(results), list) self.assertEqual(type(results), list)
self.assertEqual(len(results), 10) self.assertEqual(len(results), 10)

View File

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
from collections import defaultdict from collections import defaultdict
import mock import mock
from searx.engines import duckduckgo from searx.engines import duckduckgo
@ -30,7 +31,7 @@ class TestDuckduckgoEngine(SearxTestCase):
response = mock.Mock(text='<html></html>') response = mock.Mock(text='<html></html>')
self.assertEqual(duckduckgo.response(response), []) self.assertEqual(duckduckgo.response(response), [])
html = """ html = u"""
<div class="results_links results_links_deep web-result"> <div class="results_links results_links_deep web-result">
<div class="icon_fav" style="display: block;"> <div class="icon_fav" style="display: block;">
<a rel="nofollow" href="https://www.test.com/"> <a rel="nofollow" href="https://www.test.com/">
@ -39,7 +40,7 @@ class TestDuckduckgoEngine(SearxTestCase):
</a> </a>
</div> </div>
<div class="links_main links_deep"> <!-- This is the visible part --> <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 This <b>is</b> <b>the</b> title
</a> </a>
<div class="snippet"><b>This</b> should be the content.</div> <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(type(results), list)
self.assertEqual(len(results), 1) self.assertEqual(len(results), 1)
self.assertEqual(results[0]['title'], 'This is the title') 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.') self.assertEqual(results[0]['content'], 'This should be the content.')
html = """ html = """

View File

@ -15,7 +15,7 @@ class TestPiratebayEngine(SearxTestCase):
params = piratebay.request(query, dicto) params = piratebay.request(query, dicto)
self.assertIn('url', params) self.assertIn('url', params)
self.assertIn(query, params['url']) self.assertIn(query, params['url'])
self.assertIn('piratebay.am', params['url']) self.assertIn('piratebay.se', params['url'])
self.assertIn('0', params['url']) self.assertIn('0', params['url'])
dicto['category'] = 'music' dicto['category'] = 'music'
@ -99,7 +99,7 @@ class TestPiratebayEngine(SearxTestCase):
self.assertEqual(type(results), list) self.assertEqual(type(results), list)
self.assertEqual(len(results), 2) self.assertEqual(len(results), 2)
self.assertEqual(results[0]['title'], 'This is the title') 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]['content'], 'This is the content and should be OK')
self.assertEqual(results[0]['seed'], 13) self.assertEqual(results[0]['seed'], 13)
self.assertEqual(results[0]['leech'], 334) self.assertEqual(results[0]['leech'], 334)
@ -149,7 +149,7 @@ class TestPiratebayEngine(SearxTestCase):
self.assertEqual(type(results), list) self.assertEqual(type(results), list)
self.assertEqual(len(results), 1) self.assertEqual(len(results), 1)
self.assertEqual(results[0]['title'], 'This is the title') 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]['content'], 'This is the content and should be OK')
self.assertEqual(results[0]['seed'], 0) self.assertEqual(results[0]['seed'], 0)
self.assertEqual(results[0]['leech'], 0) self.assertEqual(results[0]['leech'], 0)

View File

@ -42,7 +42,7 @@ class TestStartpageEngine(SearxTestCase):
</a> </a>
<span id='title_stars_2' name='title_stars_2'> </span> <span id='title_stars_2' name='title_stars_2'> </span>
</h3> </h3>
<p class='desc'> <p class='desc clk'>
This should be the content. This should be the content.
</p> </p>
<p> <p>
@ -78,7 +78,7 @@ class TestStartpageEngine(SearxTestCase):
</a> </a>
<span id='title_stars_2' name='title_stars_2'> </span> <span id='title_stars_2' name='title_stars_2'> </span>
</h3> </h3>
<p class='desc'> <p class='desc clk'>
This should be the content. This should be the content.
</p> </p>
<p> <p>
@ -101,7 +101,7 @@ class TestStartpageEngine(SearxTestCase):
<h3> <h3>
<span id='title_stars_2' name='title_stars_2'> </span> <span id='title_stars_2' name='title_stars_2'> </span>
</h3> </h3>
<p class='desc'> <p class='desc clk'>
This should be the content. This should be the content.
</p> </p>
<p> <p>

View File

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

View File

@ -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_www500px import * # noqa
from searx.tests.engines.test_yacy import * # noqa from searx.tests.engines.test_yacy import * # noqa
from searx.tests.engines.test_yahoo 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_api import * # noqa
from searx.tests.engines.test_youtube_noapi import * # noqa from searx.tests.engines.test_youtube_noapi import * # noqa
from searx.tests.engines.test_yahoo_news import * # noqa from searx.tests.engines.test_yahoo_news import * # noqa

View File

@ -5,6 +5,12 @@ from searx import plugins
from mock import Mock from mock import Mock
def get_search_mock(query, **kwargs):
return {'search': Mock(query=query,
result_container=Mock(answers=set()),
**kwargs)}
class PluginStoreTest(SearxTestCase): class PluginStoreTest(SearxTestCase):
def test_PluginStore_init(self): def test_PluginStore_init(self):
@ -46,23 +52,23 @@ class SelfIPTest(SearxTestCase):
request = Mock(user_plugins=store.plugins, request = Mock(user_plugins=store.plugins,
remote_addr='127.0.0.1') remote_addr='127.0.0.1')
request.headers.getlist.return_value = [] request.headers.getlist.return_value = []
ctx = {'search': Mock(answers=set(), ctx = get_search_mock(query='ip')
query='ip')}
store.call('post_search', request, ctx) 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 # User agent test
request = Mock(user_plugins=store.plugins, request = Mock(user_plugins=store.plugins,
user_agent='Mock') user_agent='Mock')
request.headers.getlist.return_value = [] 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) store.call('post_search', request, ctx)
self.assertTrue('Mock' in ctx['search'].answers) self.assertTrue('Mock' in ctx['search'].result_container.answers)
ctx = {'search': Mock(answers=set(),
query='user agent')} ctx = get_search_mock(query='user-agent')
store.call('post_search', request, ctx) store.call('post_search', request, ctx)
self.assertTrue('Mock' in ctx['search'].answers) self.assertTrue('Mock' in ctx['search'].result_container.answers)
ctx = {'search': Mock(answers=set(),
query='What is my User-Agent?')} ctx = get_search_mock(query='What is my User-Agent?')
store.call('post_search', request, ctx) store.call('post_search', request, ctx)
self.assertTrue('Mock' in ctx['search'].result_container.answers)

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

View File

@ -1,25 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from searx.search import score_results
from searx.testing import SearxTestCase from searx.testing import SearxTestCase
def fake_result(url='https://aa.bb/cc?dd=ee#ff', # TODO
title='aaa', class SearchTestCase(SearxTestCase):
content='bbb',
engine='wikipedia'):
return {'url': url,
'title': title,
'content': content,
'engine': engine}
def test_(self):
class ScoreResultsTestCase(SearxTestCase): pass
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')

View File

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
import mock import mock
from searx.testing import SearxTestCase from searx.testing import SearxTestCase
from searx import utils from searx import utils
@ -51,6 +52,15 @@ class TestUtils(SearxTestCase):
self.assertIsNotNone(utils.html_to_text(html)) self.assertIsNotNone(utils.html_to_text(html))
self.assertEqual(utils.html_to_text(html), "Test text") 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): class TestHTMLTextExtractor(SearxTestCase):

View File

@ -1,6 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import json import json
from mock import Mock
from urlparse import ParseResult from urlparse import ParseResult
from searx import webapp from searx import webapp
from searx.testing import SearxTestCase from searx.testing import SearxTestCase
@ -33,7 +34,12 @@ class ViewsTestCase(SearxTestCase):
] ]
def search_mock(search_self, *args): 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 webapp.Search.search = search_mock

View File

@ -14,10 +14,10 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2015-04-26 18:57+0200\n" "POT-Creation-Date: 2015-08-24 11:44+0200\n"
"PO-Revision-Date: 2015-04-26 19:24+0000\n" "PO-Revision-Date: 2015-08-24 10:00+0000\n"
"Last-Translator: pointhi\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" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
@ -25,67 +25,67 @@ msgstr ""
"Language: de\n" "Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: searx/webapp.py:104 #: searx/webapp.py:114
msgid "files" msgid "files"
msgstr "Dateien" msgstr "Dateien"
#: searx/webapp.py:105 #: searx/webapp.py:115
msgid "general" msgid "general"
msgstr "Allgemein" msgstr "Allgemein"
#: searx/webapp.py:106 #: searx/webapp.py:116
msgid "music" msgid "music"
msgstr "Musik" msgstr "Musik"
#: searx/webapp.py:107 #: searx/webapp.py:117
msgid "social media" msgid "social media"
msgstr "Soziale Medien" msgstr "Soziale Medien"
#: searx/webapp.py:108 #: searx/webapp.py:118
msgid "images" msgid "images"
msgstr "Bilder" msgstr "Bilder"
#: searx/webapp.py:109 #: searx/webapp.py:119
msgid "videos" msgid "videos"
msgstr "Videos" msgstr "Videos"
#: searx/webapp.py:110 #: searx/webapp.py:120
msgid "it" msgid "it"
msgstr "IT" msgstr "IT"
#: searx/webapp.py:111 #: searx/webapp.py:121
msgid "news" msgid "news"
msgstr "Neuigkeiten" msgstr "Neuigkeiten"
#: searx/webapp.py:112 #: searx/webapp.py:122
msgid "map" msgid "map"
msgstr "Karte" msgstr "Karte"
#: searx/webapp.py:396 #: searx/webapp.py:414
msgid "{minutes} minute(s) ago" msgid "{minutes} minute(s) ago"
msgstr "vor {minutes} Minute(n)" msgstr "vor {minutes} Minute(n)"
#: searx/webapp.py:398 #: searx/webapp.py:416
msgid "{hours} hour(s), {minutes} minute(s) ago" msgid "{hours} hour(s), {minutes} minute(s) ago"
msgstr "vor {hours} Stunde(n), {minutes} Minute(n)" msgstr "vor {hours} Stunde(n), {minutes} Minute(n)"
#: searx/engines/__init__.py:182 #: searx/engines/__init__.py:185
msgid "Page loads (sec)" msgid "Page loads (sec)"
msgstr "Ladezeit (sek)" msgstr "Ladezeit (sek)"
#: searx/engines/__init__.py:186 #: searx/engines/__init__.py:189
msgid "Number of results" msgid "Number of results"
msgstr "Trefferanzahl" msgstr "Trefferanzahl"
#: searx/engines/__init__.py:190 #: searx/engines/__init__.py:193
msgid "Scores" msgid "Scores"
msgstr "Punkte" msgstr "Punkte"
#: searx/engines/__init__.py:194 #: searx/engines/__init__.py:197
msgid "Scores per result" msgid "Scores per result"
msgstr "Punkte pro Treffer" msgstr "Punkte pro Treffer"
#: searx/engines/__init__.py:198 #: searx/engines/__init__.py:201
msgid "Errors" msgid "Errors"
msgstr "Fehler" msgstr "Fehler"
@ -100,12 +100,22 @@ msgstr "Starte Suche wenn Kategorie angeklickt wird"
#: searx/plugins/search_on_category_select.py:19 #: searx/plugins/search_on_category_select.py:19
msgid "" msgid ""
"Perform search immediately if a category selected. Disable to select " "Perform search immediately if a category selected. Disable to select "
"multiple categories." "multiple categories. (JavaScript required)"
msgstr "Startet eine Suche sofort, wenn eine Kategorie angeklickt wird. Deaktiviere dieses Plugin um mehrere Kategorien anzuwählen." 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 #: searx/plugins/self_info.py:20
msgid "Display your source IP address if the query expression is \"ip\"" msgid ""
msgstr "Zeigt deine IP-Adresse an wenn die Suchanfrage \"ip\" lautet" "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:9
#: searx/templates/courgette/index.html:13 #: searx/templates/courgette/index.html:13
@ -133,90 +143,92 @@ msgstr "Einstellungen"
#: searx/templates/courgette/preferences.html:9 #: searx/templates/courgette/preferences.html:9
#: searx/templates/default/preferences.html:9 #: searx/templates/default/preferences.html:9
#: searx/templates/oscar/preferences.html:35 #: searx/templates/oscar/preferences.html:36
#: searx/templates/oscar/preferences.html:37 #: searx/templates/oscar/preferences.html:38
msgid "Default categories" msgid "Default categories"
msgstr "Standardkategorien" msgstr "Standardkategorien"
#: searx/templates/courgette/preferences.html:13 #: searx/templates/courgette/preferences.html:13
#: searx/templates/default/preferences.html:14 #: 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 #: searx/templates/pix-art/preferences.html:9
msgid "Search language" msgid "Search language"
msgstr "Suchsprache" msgstr "Suchsprache"
#: searx/templates/courgette/preferences.html:16 #: searx/templates/courgette/preferences.html:16
#: searx/templates/default/preferences.html:17 #: 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 #: searx/templates/pix-art/preferences.html:12
msgid "Automatic" msgid "Automatic"
msgstr "Automatisch" msgstr "Automatisch"
#: searx/templates/courgette/preferences.html:24 #: searx/templates/courgette/preferences.html:24
#: searx/templates/default/preferences.html:25 #: 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 #: searx/templates/pix-art/preferences.html:20
msgid "Interface language" msgid "Interface language"
msgstr "Oberflächensprache" msgstr "Oberflächensprache"
#: searx/templates/courgette/preferences.html:34 #: searx/templates/courgette/preferences.html:34
#: searx/templates/default/preferences.html:35 #: searx/templates/default/preferences.html:35
#: searx/templates/oscar/preferences.html:64 #: searx/templates/oscar/preferences.html:65
msgid "Autocomplete" msgid "Autocomplete"
msgstr "Autovervollständigung" msgstr "Autovervollständigung"
#: searx/templates/courgette/preferences.html:45 #: searx/templates/courgette/preferences.html:45
#: searx/templates/default/preferences.html:46 #: searx/templates/default/preferences.html:46
#: searx/templates/oscar/preferences.html:75 #: searx/templates/oscar/preferences.html:76
msgid "Image proxy" msgid "Image proxy"
msgstr "Bilder Proxy" msgstr "Bilder Proxy"
#: searx/templates/courgette/preferences.html:48 #: searx/templates/courgette/preferences.html:48
#: searx/templates/default/preferences.html:49 #: searx/templates/default/preferences.html:49
#: searx/templates/oscar/preferences.html:79 #: searx/templates/oscar/preferences.html:80
msgid "Enabled" msgid "Enabled"
msgstr "Aktiviert" msgstr "Aktiviert"
#: searx/templates/courgette/preferences.html:49 #: searx/templates/courgette/preferences.html:49
#: searx/templates/default/preferences.html:50 #: searx/templates/default/preferences.html:50
#: searx/templates/oscar/preferences.html:80 #: searx/templates/oscar/preferences.html:81
msgid "Disabled" msgid "Disabled"
msgstr "Deaktiviert" msgstr "Deaktiviert"
#: searx/templates/courgette/preferences.html:54 #: searx/templates/courgette/preferences.html:54
#: searx/templates/default/preferences.html:55 #: 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 #: searx/templates/pix-art/preferences.html:30
msgid "Method" msgid "Method"
msgstr "Methode" msgstr "Methode"
#: searx/templates/courgette/preferences.html:63 #: searx/templates/courgette/preferences.html:63
#: searx/templates/default/preferences.html:64 #: 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" msgid "SafeSearch"
msgstr "Sichere Suche (SafeSearch)" msgstr "Sichere Suche (SafeSearch)"
#: searx/templates/courgette/preferences.html:66 #: searx/templates/courgette/preferences.html:66
#: searx/templates/default/preferences.html:67 #: searx/templates/default/preferences.html:67
#: searx/templates/oscar/preferences.html:97 #: searx/templates/oscar/preferences.html:98
msgid "Strict" msgid "Strict"
msgstr "Streng" msgstr "Streng"
#: searx/templates/courgette/preferences.html:67 #: searx/templates/courgette/preferences.html:67
#: searx/templates/default/preferences.html:68 #: searx/templates/default/preferences.html:68
#: searx/templates/oscar/preferences.html:98 #: searx/templates/oscar/preferences.html:99
msgid "Moderate" msgid "Moderate"
msgstr "Moderat" msgstr "Moderat"
#: searx/templates/courgette/preferences.html:68 #: searx/templates/courgette/preferences.html:68
#: searx/templates/default/preferences.html:69 #: searx/templates/default/preferences.html:69
#: searx/templates/oscar/preferences.html:99 #: searx/templates/oscar/preferences.html:100
msgid "None" msgid "None"
msgstr "Keine" msgstr "Keine"
#: searx/templates/courgette/preferences.html:73 #: searx/templates/courgette/preferences.html:73
#: searx/templates/default/preferences.html:74 #: 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 #: searx/templates/pix-art/preferences.html:39
msgid "Themes" msgid "Themes"
msgstr "Designs" msgstr "Designs"
@ -257,6 +269,8 @@ msgstr "Aktuell benutzte Suchmaschinen"
#: searx/templates/courgette/preferences.html:100 #: searx/templates/courgette/preferences.html:100
#: searx/templates/default/preferences.html:88 #: 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 #: searx/templates/pix-art/preferences.html:53
msgid "Engine name" msgid "Engine name"
msgstr "Suchmaschinenname" msgstr "Suchmaschinenname"
@ -271,6 +285,8 @@ msgstr "Kategorie"
#: searx/templates/default/preferences.html:90 #: searx/templates/default/preferences.html:90
#: searx/templates/default/preferences.html:101 #: searx/templates/default/preferences.html:101
#: searx/templates/oscar/macros.html:67 #: 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:54
#: searx/templates/pix-art/preferences.html:64 #: searx/templates/pix-art/preferences.html:64
msgid "Allow" msgid "Allow"
@ -288,7 +304,7 @@ msgstr "Blockieren"
#: searx/templates/courgette/preferences.html:122 #: searx/templates/courgette/preferences.html:122
#: searx/templates/default/preferences.html:110 #: 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 #: searx/templates/pix-art/preferences.html:73
msgid "" msgid ""
"These settings are stored in your cookies, this allows us not to store this " "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/courgette/preferences.html:124
#: searx/templates/default/preferences.html:112 #: 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 #: searx/templates/pix-art/preferences.html:75
msgid "" msgid ""
"These cookies serve your sole convenience, we don't use these cookies to " "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/courgette/preferences.html:127
#: searx/templates/default/preferences.html:115 #: 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 #: searx/templates/pix-art/preferences.html:78
msgid "save" msgid "save"
msgstr "Speichern" msgstr "Speichern"
#: searx/templates/courgette/preferences.html:128 #: searx/templates/courgette/preferences.html:128
#: searx/templates/default/preferences.html:116 #: searx/templates/default/preferences.html:116
#: searx/templates/oscar/preferences.html:187 #: searx/templates/oscar/preferences.html:242
msgid "Reset defaults" msgid "Reset defaults"
msgstr "Zurücksetzen" msgstr "Zurücksetzen"
#: searx/templates/courgette/preferences.html:129 #: searx/templates/courgette/preferences.html:129
#: searx/templates/default/preferences.html:117 #: 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 #: searx/templates/pix-art/preferences.html:79
msgid "back" msgid "back"
msgstr "Zurück" msgstr "Zurück"
@ -429,51 +445,89 @@ msgid "Toggle navigation"
msgstr "Navigation umschalten" msgstr "Navigation umschalten"
#: searx/templates/oscar/preferences.html:17 #: searx/templates/oscar/preferences.html:17
#: searx/templates/oscar/preferences.html:24 #: searx/templates/oscar/preferences.html:25
msgid "General" msgid "General"
msgstr "Allgemein" msgstr "Allgemein"
#: searx/templates/oscar/preferences.html:18 #: searx/templates/oscar/preferences.html:18
#: searx/templates/oscar/preferences.html:125 #: searx/templates/oscar/preferences.html:126
msgid "Engines" msgid "Engines"
msgstr "Suchmaschinen" msgstr "Suchmaschinen"
#: searx/templates/oscar/preferences.html:19 #: searx/templates/oscar/preferences.html:19
#: searx/templates/oscar/preferences.html:159 #: searx/templates/oscar/preferences.html:187
msgid "Plugins" msgid "Plugins"
msgstr "Erweiterungen" 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?" msgid "What language do you prefer for search?"
msgstr "welche Sprache bevorzugst du für die Suche?" 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" msgid "Change the language of the layout"
msgstr "ändere die Sprache des Layouts" msgstr "ändere die Sprache des Layouts"
#: searx/templates/oscar/preferences.html:65 #: searx/templates/oscar/preferences.html:66
msgid "Find stuff as you type" msgid "Find stuff as you type"
msgstr "zeige Vorschläge während der Eingabe an" 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" msgid "Proxying image results through searx"
msgstr "tunnel Bilder durch searx" msgstr "tunnel Bilder durch searx"
#: searx/templates/oscar/preferences.html:85 #: searx/templates/oscar/preferences.html:86
msgid "" msgid ""
"Change how forms are submited, <a " "Change how forms are submited, <a "
"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
" rel=\"external\">learn more about request methods</a>" " 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>" 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" msgid "Filter content"
msgstr "Inhalte filtern" msgstr "Inhalte filtern"
#: searx/templates/oscar/preferences.html:104 #: searx/templates/oscar/preferences.html:105
msgid "Change searx layout" msgid "Change searx layout"
msgstr "ändere das Aussehen von searx" 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 #: searx/templates/oscar/results.html:7
msgid "Search results" msgid "Search results"
msgstr "Suchergebnisse" msgstr "Suchergebnisse"
@ -523,6 +577,14 @@ msgstr "Warnung!"
msgid "Please enable JavaScript to use full functionality of this site." msgid "Please enable JavaScript to use full functionality of this site."
msgstr "Bitte aktiviere JavaScript, um alle Funktionen dieser Seite zu nutzen. " 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 #: searx/templates/oscar/messages/no_data_available.html:4
msgid "There is currently no data available. " msgid "There is currently no data available. "
msgstr "Es sind derzeit keine Daten vorhanden." msgstr "Es sind derzeit keine Daten vorhanden."

View File

@ -3,16 +3,18 @@
# This file is distributed under the same license as the PROJECT project. # This file is distributed under the same license as the PROJECT project.
# #
# Translators: # Translators:
# Adam Tauber <asciimoo@gmail.com>, 2015
# Alejandro León Aznar, 2014 # Alejandro León Aznar, 2014
# Alejandro León Aznar, 2014-2015 # Alejandro León Aznar, 2014-2015
# Oscar Carrero <holaoscar@protonmail.ch>, 2015
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2015-04-26 18:57+0200\n" "POT-Creation-Date: 2015-08-24 11:44+0200\n"
"PO-Revision-Date: 2015-04-27 23:48+0000\n" "PO-Revision-Date: 2015-09-05 20:46+0000\n"
"Last-Translator: Alejandro León Aznar\n" "Last-Translator: Oscar Carrero <holaoscar@protonmail.ch>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/searx/language/es/)\n" "Language-Team: Spanish (http://www.transifex.com/asciimoo/searx/language/es/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
@ -20,67 +22,67 @@ msgstr ""
"Language: es\n" "Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: searx/webapp.py:104 #: searx/webapp.py:114
msgid "files" msgid "files"
msgstr "Archivos" msgstr "Archivos"
#: searx/webapp.py:105 #: searx/webapp.py:115
msgid "general" msgid "general"
msgstr "General" msgstr "General"
#: searx/webapp.py:106 #: searx/webapp.py:116
msgid "music" msgid "music"
msgstr "Música" msgstr "Música"
#: searx/webapp.py:107 #: searx/webapp.py:117
msgid "social media" msgid "social media"
msgstr "Medios sociales" msgstr "Medios sociales"
#: searx/webapp.py:108 #: searx/webapp.py:118
msgid "images" msgid "images"
msgstr "Imágenes" msgstr "Imágenes"
#: searx/webapp.py:109 #: searx/webapp.py:119
msgid "videos" msgid "videos"
msgstr "Vídeos" msgstr "Vídeos"
#: searx/webapp.py:110 #: searx/webapp.py:120
msgid "it" msgid "it"
msgstr "TIC" msgstr "TIC"
#: searx/webapp.py:111 #: searx/webapp.py:121
msgid "news" msgid "news"
msgstr "noticias" msgstr "noticias"
#: searx/webapp.py:112 #: searx/webapp.py:122
msgid "map" msgid "map"
msgstr "mapa" msgstr "mapa"
#: searx/webapp.py:396 #: searx/webapp.py:414
msgid "{minutes} minute(s) ago" msgid "{minutes} minute(s) ago"
msgstr "hace {minutes} minuto(s)" msgstr "hace {minutes} minuto(s)"
#: searx/webapp.py:398 #: searx/webapp.py:416
msgid "{hours} hour(s), {minutes} minute(s) ago" msgid "{hours} hour(s), {minutes} minute(s) ago"
msgstr "hace {hours} hora(s) y {minutes} minuto(s)" msgstr "hace {hours} hora(s) y {minutes} minuto(s)"
#: searx/engines/__init__.py:182 #: searx/engines/__init__.py:185
msgid "Page loads (sec)" msgid "Page loads (sec)"
msgstr "Tiempo de carga (segundos)" msgstr "Tiempo de carga (segundos)"
#: searx/engines/__init__.py:186 #: searx/engines/__init__.py:189
msgid "Number of results" msgid "Number of results"
msgstr "Número de resultados" msgstr "Número de resultados"
#: searx/engines/__init__.py:190 #: searx/engines/__init__.py:193
msgid "Scores" msgid "Scores"
msgstr "Puntuaciones" msgstr "Puntuaciones"
#: searx/engines/__init__.py:194 #: searx/engines/__init__.py:197
msgid "Scores per result" msgid "Scores per result"
msgstr "Puntuaciones por resultado" msgstr "Puntuaciones por resultado"
#: searx/engines/__init__.py:198 #: searx/engines/__init__.py:201
msgid "Errors" msgid "Errors"
msgstr "Errores" msgstr "Errores"
@ -95,12 +97,22 @@ msgstr "Buscar en la categoría seleccionada"
#: searx/plugins/search_on_category_select.py:19 #: searx/plugins/search_on_category_select.py:19
msgid "" msgid ""
"Perform search immediately if a category selected. Disable to select " "Perform search immediately if a category selected. Disable to select "
"multiple categories." "multiple categories. (JavaScript required)"
msgstr "Realizar la búsqueda inmediatamente si se ha seleccionado una categoría. Desactivar la selección simultánea de varias categorías." 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 #: searx/plugins/self_info.py:20
msgid "Display your source IP address if the query expression is \"ip\"" msgid ""
msgstr "Mostrar tu dirección IP si el término de búsqueda es «ip»" "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:9
#: searx/templates/courgette/index.html:13 #: searx/templates/courgette/index.html:13
@ -128,90 +140,92 @@ msgstr "Preferencias"
#: searx/templates/courgette/preferences.html:9 #: searx/templates/courgette/preferences.html:9
#: searx/templates/default/preferences.html:9 #: searx/templates/default/preferences.html:9
#: searx/templates/oscar/preferences.html:35 #: searx/templates/oscar/preferences.html:36
#: searx/templates/oscar/preferences.html:37 #: searx/templates/oscar/preferences.html:38
msgid "Default categories" msgid "Default categories"
msgstr "Categorías predeterminadas" msgstr "Categorías predeterminadas"
#: searx/templates/courgette/preferences.html:13 #: searx/templates/courgette/preferences.html:13
#: searx/templates/default/preferences.html:14 #: 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 #: searx/templates/pix-art/preferences.html:9
msgid "Search language" msgid "Search language"
msgstr "Buscar idioma" msgstr "Buscar idioma"
#: searx/templates/courgette/preferences.html:16 #: searx/templates/courgette/preferences.html:16
#: searx/templates/default/preferences.html:17 #: 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 #: searx/templates/pix-art/preferences.html:12
msgid "Automatic" msgid "Automatic"
msgstr "Automático" msgstr "Automático"
#: searx/templates/courgette/preferences.html:24 #: searx/templates/courgette/preferences.html:24
#: searx/templates/default/preferences.html:25 #: 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 #: searx/templates/pix-art/preferences.html:20
msgid "Interface language" msgid "Interface language"
msgstr "Idioma de la interfaz" msgstr "Idioma de la interfaz"
#: searx/templates/courgette/preferences.html:34 #: searx/templates/courgette/preferences.html:34
#: searx/templates/default/preferences.html:35 #: searx/templates/default/preferences.html:35
#: searx/templates/oscar/preferences.html:64 #: searx/templates/oscar/preferences.html:65
msgid "Autocomplete" msgid "Autocomplete"
msgstr "Autocompletar" msgstr "Autocompletar"
#: searx/templates/courgette/preferences.html:45 #: searx/templates/courgette/preferences.html:45
#: searx/templates/default/preferences.html:46 #: searx/templates/default/preferences.html:46
#: searx/templates/oscar/preferences.html:75 #: searx/templates/oscar/preferences.html:76
msgid "Image proxy" msgid "Image proxy"
msgstr "Imagen proxy" msgstr "Imagen proxy"
#: searx/templates/courgette/preferences.html:48 #: searx/templates/courgette/preferences.html:48
#: searx/templates/default/preferences.html:49 #: searx/templates/default/preferences.html:49
#: searx/templates/oscar/preferences.html:79 #: searx/templates/oscar/preferences.html:80
msgid "Enabled" msgid "Enabled"
msgstr "Activado" msgstr "Activado"
#: searx/templates/courgette/preferences.html:49 #: searx/templates/courgette/preferences.html:49
#: searx/templates/default/preferences.html:50 #: searx/templates/default/preferences.html:50
#: searx/templates/oscar/preferences.html:80 #: searx/templates/oscar/preferences.html:81
msgid "Disabled" msgid "Disabled"
msgstr "Desactivado" msgstr "Desactivado"
#: searx/templates/courgette/preferences.html:54 #: searx/templates/courgette/preferences.html:54
#: searx/templates/default/preferences.html:55 #: 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 #: searx/templates/pix-art/preferences.html:30
msgid "Method" msgid "Method"
msgstr "Método" msgstr "Método"
#: searx/templates/courgette/preferences.html:63 #: searx/templates/courgette/preferences.html:63
#: searx/templates/default/preferences.html:64 #: 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" msgid "SafeSearch"
msgstr "Búsqueda segura" msgstr "Búsqueda segura"
#: searx/templates/courgette/preferences.html:66 #: searx/templates/courgette/preferences.html:66
#: searx/templates/default/preferences.html:67 #: searx/templates/default/preferences.html:67
#: searx/templates/oscar/preferences.html:97 #: searx/templates/oscar/preferences.html:98
msgid "Strict" msgid "Strict"
msgstr "Riguroso" msgstr "Riguroso"
#: searx/templates/courgette/preferences.html:67 #: searx/templates/courgette/preferences.html:67
#: searx/templates/default/preferences.html:68 #: searx/templates/default/preferences.html:68
#: searx/templates/oscar/preferences.html:98 #: searx/templates/oscar/preferences.html:99
msgid "Moderate" msgid "Moderate"
msgstr "Moderado" msgstr "Moderado"
#: searx/templates/courgette/preferences.html:68 #: searx/templates/courgette/preferences.html:68
#: searx/templates/default/preferences.html:69 #: searx/templates/default/preferences.html:69
#: searx/templates/oscar/preferences.html:99 #: searx/templates/oscar/preferences.html:100
msgid "None" msgid "None"
msgstr "Ninguno" msgstr "Ninguno"
#: searx/templates/courgette/preferences.html:73 #: searx/templates/courgette/preferences.html:73
#: searx/templates/default/preferences.html:74 #: 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 #: searx/templates/pix-art/preferences.html:39
msgid "Themes" msgid "Themes"
msgstr "Temas" msgstr "Temas"
@ -252,6 +266,8 @@ msgstr "Motores de búsqueda actualmente en uso"
#: searx/templates/courgette/preferences.html:100 #: searx/templates/courgette/preferences.html:100
#: searx/templates/default/preferences.html:88 #: 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 #: searx/templates/pix-art/preferences.html:53
msgid "Engine name" msgid "Engine name"
msgstr "Nombre del motor de búsqueda" 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:90
#: searx/templates/default/preferences.html:101 #: searx/templates/default/preferences.html:101
#: searx/templates/oscar/macros.html:67 #: 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:54
#: searx/templates/pix-art/preferences.html:64 #: searx/templates/pix-art/preferences.html:64
msgid "Allow" msgid "Allow"
@ -283,7 +301,7 @@ msgstr "Bloquear"
#: searx/templates/courgette/preferences.html:122 #: searx/templates/courgette/preferences.html:122
#: searx/templates/default/preferences.html:110 #: 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 #: searx/templates/pix-art/preferences.html:73
msgid "" msgid ""
"These settings are stored in your cookies, this allows us not to store this " "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/courgette/preferences.html:124
#: searx/templates/default/preferences.html:112 #: 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 #: searx/templates/pix-art/preferences.html:75
msgid "" msgid ""
"These cookies serve your sole convenience, we don't use these cookies to " "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/courgette/preferences.html:127
#: searx/templates/default/preferences.html:115 #: 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 #: searx/templates/pix-art/preferences.html:78
msgid "save" msgid "save"
msgstr "Guardar" msgstr "Guardar"
#: searx/templates/courgette/preferences.html:128 #: searx/templates/courgette/preferences.html:128
#: searx/templates/default/preferences.html:116 #: searx/templates/default/preferences.html:116
#: searx/templates/oscar/preferences.html:187 #: searx/templates/oscar/preferences.html:242
msgid "Reset defaults" msgid "Reset defaults"
msgstr "Restablecer configuración por defecto" msgstr "Restablecer configuración por defecto"
#: searx/templates/courgette/preferences.html:129 #: searx/templates/courgette/preferences.html:129
#: searx/templates/default/preferences.html:117 #: 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 #: searx/templates/pix-art/preferences.html:79
msgid "back" msgid "back"
msgstr "Atrás" msgstr "Atrás"
@ -323,7 +341,7 @@ msgstr "Atrás"
#: searx/templates/default/results.html:13 #: searx/templates/default/results.html:13
#: searx/templates/oscar/results.html:110 #: searx/templates/oscar/results.html:110
msgid "Search URL" msgid "Search URL"
msgstr "Buscar URL" msgstr "URL de la búsqueda"
#: searx/templates/courgette/results.html:16 #: searx/templates/courgette/results.html:16
#: searx/templates/default/results.html:17 #: searx/templates/default/results.html:17
@ -413,7 +431,7 @@ msgstr "Creado por"
#: searx/templates/oscar/base.html:78 #: searx/templates/oscar/base.html:78
msgid "a privacy-respecting, hackable metasearch engine" 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 #: searx/templates/oscar/navbar.html:9 searx/templates/oscar/navbar.html:33
msgid "home" msgid "home"
@ -424,51 +442,89 @@ msgid "Toggle navigation"
msgstr "Cambiar navegación" msgstr "Cambiar navegación"
#: searx/templates/oscar/preferences.html:17 #: searx/templates/oscar/preferences.html:17
#: searx/templates/oscar/preferences.html:24 #: searx/templates/oscar/preferences.html:25
msgid "General" msgid "General"
msgstr "General" msgstr "General"
#: searx/templates/oscar/preferences.html:18 #: searx/templates/oscar/preferences.html:18
#: searx/templates/oscar/preferences.html:125 #: searx/templates/oscar/preferences.html:126
msgid "Engines" msgid "Engines"
msgstr "Motores" msgstr "Motores"
#: searx/templates/oscar/preferences.html:19 #: searx/templates/oscar/preferences.html:19
#: searx/templates/oscar/preferences.html:159 #: searx/templates/oscar/preferences.html:187
msgid "Plugins" msgid "Plugins"
msgstr "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?" msgid "What language do you prefer for search?"
msgstr "¿Qué idioma prefieres para la búsqueda?" 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" msgid "Change the language of the layout"
msgstr "Cambiar idioma de la interfaz" msgstr "Cambiar idioma de la interfaz"
#: searx/templates/oscar/preferences.html:65 #: searx/templates/oscar/preferences.html:66
msgid "Find stuff as you type" msgid "Find stuff as you type"
msgstr "Buscar mientras escribes" msgstr "Buscar mientras escribes"
#: searx/templates/oscar/preferences.html:76 #: searx/templates/oscar/preferences.html:77
msgid "Proxying image results through searx" msgid "Proxying image results through searx"
msgstr "Filtrando resultados de imágenes en searx" msgstr "Filtrando resultados de imágenes en searx"
#: searx/templates/oscar/preferences.html:85 #: searx/templates/oscar/preferences.html:86
msgid "" msgid ""
"Change how forms are submited, <a " "Change how forms are submited, <a "
"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
" rel=\"external\">learn more about request methods</a>" " 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>" 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" msgid "Filter content"
msgstr "Filtro de contenido" msgstr "Filtro de contenido"
#: searx/templates/oscar/preferences.html:104 #: searx/templates/oscar/preferences.html:105
msgid "Change searx layout" msgid "Change searx layout"
msgstr "Cambiar aspecto de searx" 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 #: searx/templates/oscar/results.html:7
msgid "Search results" msgid "Search results"
msgstr "Buscar" msgstr "Buscar"
@ -516,7 +572,15 @@ msgstr "¡Cuidado!"
#: searx/templates/oscar/messages/js_disabled.html:3 #: searx/templates/oscar/messages/js_disabled.html:3
msgid "Please enable JavaScript to use full functionality of this site." 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 #: searx/templates/oscar/messages/no_data_available.html:4
msgid "There is currently no data available. " msgid "There is currently no data available. "

View File

@ -13,10 +13,10 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2015-04-26 18:57+0200\n" "POT-Creation-Date: 2015-08-24 11:44+0200\n"
"PO-Revision-Date: 2015-05-14 00:01+0000\n" "PO-Revision-Date: 2015-08-24 15:35+0000\n"
"Last-Translator: Cqoicebordel <david.barouh@wanadoo.fr>\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" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
@ -24,67 +24,67 @@ msgstr ""
"Language: fr\n" "Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: searx/webapp.py:104 #: searx/webapp.py:114
msgid "files" msgid "files"
msgstr "fichiers" msgstr "fichiers"
#: searx/webapp.py:105 #: searx/webapp.py:115
msgid "general" msgid "general"
msgstr "général" msgstr "général"
#: searx/webapp.py:106 #: searx/webapp.py:116
msgid "music" msgid "music"
msgstr "musique" msgstr "musique"
#: searx/webapp.py:107 #: searx/webapp.py:117
msgid "social media" msgid "social media"
msgstr "réseaux sociaux" msgstr "réseaux sociaux"
#: searx/webapp.py:108 #: searx/webapp.py:118
msgid "images" msgid "images"
msgstr "images" msgstr "images"
#: searx/webapp.py:109 #: searx/webapp.py:119
msgid "videos" msgid "videos"
msgstr "vidéos" msgstr "vidéos"
#: searx/webapp.py:110 #: searx/webapp.py:120
msgid "it" msgid "it"
msgstr "informatique" msgstr "informatique"
#: searx/webapp.py:111 #: searx/webapp.py:121
msgid "news" msgid "news"
msgstr "actus" msgstr "actus"
#: searx/webapp.py:112 #: searx/webapp.py:122
msgid "map" msgid "map"
msgstr "carte" msgstr "carte"
#: searx/webapp.py:396 #: searx/webapp.py:414
msgid "{minutes} minute(s) ago" msgid "{minutes} minute(s) ago"
msgstr "il y a {minutes} minute(s)" msgstr "il y a {minutes} minute(s)"
#: searx/webapp.py:398 #: searx/webapp.py:416
msgid "{hours} hour(s), {minutes} minute(s) ago" msgid "{hours} hour(s), {minutes} minute(s) ago"
msgstr "il y a {hours} heure(s), {minutes} minute(s)" msgstr "il y a {hours} heure(s), {minutes} minute(s)"
#: searx/engines/__init__.py:182 #: searx/engines/__init__.py:185
msgid "Page loads (sec)" msgid "Page loads (sec)"
msgstr "Chargement de la page (sec)" msgstr "Chargement de la page (sec)"
#: searx/engines/__init__.py:186 #: searx/engines/__init__.py:189
msgid "Number of results" msgid "Number of results"
msgstr "Nombre de résultats" msgstr "Nombre de résultats"
#: searx/engines/__init__.py:190 #: searx/engines/__init__.py:193
msgid "Scores" msgid "Scores"
msgstr "Score" msgstr "Score"
#: searx/engines/__init__.py:194 #: searx/engines/__init__.py:197
msgid "Scores per result" msgid "Scores per result"
msgstr "Score par résultat" msgstr "Score par résultat"
#: searx/engines/__init__.py:198 #: searx/engines/__init__.py:201
msgid "Errors" msgid "Errors"
msgstr "Erreurs" 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 #: searx/plugins/search_on_category_select.py:19
msgid "" msgid ""
"Perform search immediately if a category selected. Disable to select " "Perform search immediately if a category selected. Disable to select "
"multiple categories." "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." 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 #: searx/plugins/self_info.py:20
msgid "Display your source IP address if the query expression is \"ip\"" msgid ""
msgstr "Afficher votre adresse IP si la requête contient \"ip\"." "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:9
#: searx/templates/courgette/index.html:13 #: searx/templates/courgette/index.html:13
@ -132,90 +142,92 @@ msgstr "Préférences"
#: searx/templates/courgette/preferences.html:9 #: searx/templates/courgette/preferences.html:9
#: searx/templates/default/preferences.html:9 #: searx/templates/default/preferences.html:9
#: searx/templates/oscar/preferences.html:35 #: searx/templates/oscar/preferences.html:36
#: searx/templates/oscar/preferences.html:37 #: searx/templates/oscar/preferences.html:38
msgid "Default categories" msgid "Default categories"
msgstr "Catégories par défaut" msgstr "Catégories par défaut"
#: searx/templates/courgette/preferences.html:13 #: searx/templates/courgette/preferences.html:13
#: searx/templates/default/preferences.html:14 #: 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 #: searx/templates/pix-art/preferences.html:9
msgid "Search language" msgid "Search language"
msgstr "Langue de recherche" msgstr "Langue de recherche"
#: searx/templates/courgette/preferences.html:16 #: searx/templates/courgette/preferences.html:16
#: searx/templates/default/preferences.html:17 #: 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 #: searx/templates/pix-art/preferences.html:12
msgid "Automatic" msgid "Automatic"
msgstr "Automatique" msgstr "Automatique"
#: searx/templates/courgette/preferences.html:24 #: searx/templates/courgette/preferences.html:24
#: searx/templates/default/preferences.html:25 #: 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 #: searx/templates/pix-art/preferences.html:20
msgid "Interface language" msgid "Interface language"
msgstr "Langue de l'interface" msgstr "Langue de l'interface"
#: searx/templates/courgette/preferences.html:34 #: searx/templates/courgette/preferences.html:34
#: searx/templates/default/preferences.html:35 #: searx/templates/default/preferences.html:35
#: searx/templates/oscar/preferences.html:64 #: searx/templates/oscar/preferences.html:65
msgid "Autocomplete" msgid "Autocomplete"
msgstr "Complétion automatique" msgstr "Complétion automatique"
#: searx/templates/courgette/preferences.html:45 #: searx/templates/courgette/preferences.html:45
#: searx/templates/default/preferences.html:46 #: searx/templates/default/preferences.html:46
#: searx/templates/oscar/preferences.html:75 #: searx/templates/oscar/preferences.html:76
msgid "Image proxy" msgid "Image proxy"
msgstr "Proxy d'images" msgstr "Proxy d'images"
#: searx/templates/courgette/preferences.html:48 #: searx/templates/courgette/preferences.html:48
#: searx/templates/default/preferences.html:49 #: searx/templates/default/preferences.html:49
#: searx/templates/oscar/preferences.html:79 #: searx/templates/oscar/preferences.html:80
msgid "Enabled" msgid "Enabled"
msgstr "Activé" msgstr "Activé"
#: searx/templates/courgette/preferences.html:49 #: searx/templates/courgette/preferences.html:49
#: searx/templates/default/preferences.html:50 #: searx/templates/default/preferences.html:50
#: searx/templates/oscar/preferences.html:80 #: searx/templates/oscar/preferences.html:81
msgid "Disabled" msgid "Disabled"
msgstr "Désactivé" msgstr "Désactivé"
#: searx/templates/courgette/preferences.html:54 #: searx/templates/courgette/preferences.html:54
#: searx/templates/default/preferences.html:55 #: 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 #: searx/templates/pix-art/preferences.html:30
msgid "Method" msgid "Method"
msgstr "Méthode" msgstr "Méthode"
#: searx/templates/courgette/preferences.html:63 #: searx/templates/courgette/preferences.html:63
#: searx/templates/default/preferences.html:64 #: 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" msgid "SafeSearch"
msgstr "Recherche sécurisée" msgstr "Recherche sécurisée"
#: searx/templates/courgette/preferences.html:66 #: searx/templates/courgette/preferences.html:66
#: searx/templates/default/preferences.html:67 #: searx/templates/default/preferences.html:67
#: searx/templates/oscar/preferences.html:97 #: searx/templates/oscar/preferences.html:98
msgid "Strict" msgid "Strict"
msgstr "Stricte" msgstr "Stricte"
#: searx/templates/courgette/preferences.html:67 #: searx/templates/courgette/preferences.html:67
#: searx/templates/default/preferences.html:68 #: searx/templates/default/preferences.html:68
#: searx/templates/oscar/preferences.html:98 #: searx/templates/oscar/preferences.html:99
msgid "Moderate" msgid "Moderate"
msgstr "Moyen" msgstr "Moyen"
#: searx/templates/courgette/preferences.html:68 #: searx/templates/courgette/preferences.html:68
#: searx/templates/default/preferences.html:69 #: searx/templates/default/preferences.html:69
#: searx/templates/oscar/preferences.html:99 #: searx/templates/oscar/preferences.html:100
msgid "None" msgid "None"
msgstr "Pas du tout" msgstr "Pas du tout"
#: searx/templates/courgette/preferences.html:73 #: searx/templates/courgette/preferences.html:73
#: searx/templates/default/preferences.html:74 #: 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 #: searx/templates/pix-art/preferences.html:39
msgid "Themes" msgid "Themes"
msgstr "Thème" msgstr "Thème"
@ -256,6 +268,8 @@ msgstr "Moteurs de recherche actuellement utilisés"
#: searx/templates/courgette/preferences.html:100 #: searx/templates/courgette/preferences.html:100
#: searx/templates/default/preferences.html:88 #: 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 #: searx/templates/pix-art/preferences.html:53
msgid "Engine name" msgid "Engine name"
msgstr "Nom du moteur" msgstr "Nom du moteur"
@ -270,6 +284,8 @@ msgstr "Catégorie"
#: searx/templates/default/preferences.html:90 #: searx/templates/default/preferences.html:90
#: searx/templates/default/preferences.html:101 #: searx/templates/default/preferences.html:101
#: searx/templates/oscar/macros.html:67 #: 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:54
#: searx/templates/pix-art/preferences.html:64 #: searx/templates/pix-art/preferences.html:64
msgid "Allow" msgid "Allow"
@ -287,7 +303,7 @@ msgstr "Bloquer"
#: searx/templates/courgette/preferences.html:122 #: searx/templates/courgette/preferences.html:122
#: searx/templates/default/preferences.html:110 #: 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 #: searx/templates/pix-art/preferences.html:73
msgid "" msgid ""
"These settings are stored in your cookies, this allows us not to store this " "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/courgette/preferences.html:124
#: searx/templates/default/preferences.html:112 #: 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 #: searx/templates/pix-art/preferences.html:75
msgid "" msgid ""
"These cookies serve your sole convenience, we don't use these cookies to " "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/courgette/preferences.html:127
#: searx/templates/default/preferences.html:115 #: 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 #: searx/templates/pix-art/preferences.html:78
msgid "save" msgid "save"
msgstr "enregistrer" msgstr "enregistrer"
#: searx/templates/courgette/preferences.html:128 #: searx/templates/courgette/preferences.html:128
#: searx/templates/default/preferences.html:116 #: searx/templates/default/preferences.html:116
#: searx/templates/oscar/preferences.html:187 #: searx/templates/oscar/preferences.html:242
msgid "Reset defaults" msgid "Reset defaults"
msgstr "Remettre les valeurs par défaut" msgstr "Remettre les valeurs par défaut"
#: searx/templates/courgette/preferences.html:129 #: searx/templates/courgette/preferences.html:129
#: searx/templates/default/preferences.html:117 #: 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 #: searx/templates/pix-art/preferences.html:79
msgid "back" msgid "back"
msgstr "retour" msgstr "retour"
@ -428,51 +444,89 @@ msgid "Toggle navigation"
msgstr "Afficher/Masquer la navigation" msgstr "Afficher/Masquer la navigation"
#: searx/templates/oscar/preferences.html:17 #: searx/templates/oscar/preferences.html:17
#: searx/templates/oscar/preferences.html:24 #: searx/templates/oscar/preferences.html:25
msgid "General" msgid "General"
msgstr "Général" msgstr "Général"
#: searx/templates/oscar/preferences.html:18 #: searx/templates/oscar/preferences.html:18
#: searx/templates/oscar/preferences.html:125 #: searx/templates/oscar/preferences.html:126
msgid "Engines" msgid "Engines"
msgstr "Moteurs" msgstr "Moteurs"
#: searx/templates/oscar/preferences.html:19 #: searx/templates/oscar/preferences.html:19
#: searx/templates/oscar/preferences.html:159 #: searx/templates/oscar/preferences.html:187
msgid "Plugins" msgid "Plugins"
msgstr "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?" msgid "What language do you prefer for search?"
msgstr "Dans quelle langue préférez-vous effectuer la recherche ?" 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" msgid "Change the language of the layout"
msgstr "Changer la langue d'affichage" msgstr "Changer la langue d'affichage"
#: searx/templates/oscar/preferences.html:65 #: searx/templates/oscar/preferences.html:66
msgid "Find stuff as you type" msgid "Find stuff as you type"
msgstr "Chercher au fil de la saisie" 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" msgid "Proxying image results through searx"
msgstr "Proxifier les images de résultats à travers searx" msgstr "Proxifier les images de résultats à travers searx"
#: searx/templates/oscar/preferences.html:85 #: searx/templates/oscar/preferences.html:86
msgid "" msgid ""
"Change how forms are submited, <a " "Change how forms are submited, <a "
"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
" rel=\"external\">learn more about request methods</a>" " 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>" 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" msgid "Filter content"
msgstr "Filtrer le contenu" msgstr "Filtrer le contenu"
#: searx/templates/oscar/preferences.html:104 #: searx/templates/oscar/preferences.html:105
msgid "Change searx layout" msgid "Change searx layout"
msgstr "Modifier l'affichage de searx" 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 #: searx/templates/oscar/results.html:7
msgid "Search results" msgid "Search results"
msgstr "Résultats de recherche" msgstr "Résultats de recherche"
@ -522,6 +576,14 @@ msgstr "Attention !"
msgid "Please enable JavaScript to use full functionality of this site." 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." 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 #: searx/templates/oscar/messages/no_data_available.html:4
msgid "There is currently no data available. " msgid "There is currently no data available. "
msgstr "Aucune donnée disponible pour l'instant. " msgstr "Aucune donnée disponible pour l'instant. "

View File

@ -12,10 +12,10 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2015-04-26 18:57+0200\n" "POT-Creation-Date: 2015-08-24 11:44+0200\n"
"PO-Revision-Date: 2015-04-27 06:42+0000\n" "PO-Revision-Date: 2015-08-24 11:19+0000\n"
"Last-Translator: GenghisKhan <genghiskhan@gmx.ca>\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" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
@ -23,67 +23,67 @@ msgstr ""
"Language: he\n" "Language: he\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: searx/webapp.py:104 #: searx/webapp.py:114
msgid "files" msgid "files"
msgstr "קבצים" msgstr "קבצים"
#: searx/webapp.py:105 #: searx/webapp.py:115
msgid "general" msgid "general"
msgstr "כללי" msgstr "כללי"
#: searx/webapp.py:106 #: searx/webapp.py:116
msgid "music" msgid "music"
msgstr "מוזיקה" msgstr "מוזיקה"
#: searx/webapp.py:107 #: searx/webapp.py:117
msgid "social media" msgid "social media"
msgstr "מדיה חברתית" msgstr "מדיה חברתית"
#: searx/webapp.py:108 #: searx/webapp.py:118
msgid "images" msgid "images"
msgstr "תמונות" msgstr "תמונות"
#: searx/webapp.py:109 #: searx/webapp.py:119
msgid "videos" msgid "videos"
msgstr "סרטונים" msgstr "סרטונים"
#: searx/webapp.py:110 #: searx/webapp.py:120
msgid "it" msgid "it"
msgstr "IT" msgstr "IT"
#: searx/webapp.py:111 #: searx/webapp.py:121
msgid "news" msgid "news"
msgstr "חדשות" msgstr "חדשות"
#: searx/webapp.py:112 #: searx/webapp.py:122
msgid "map" msgid "map"
msgstr "מפה" msgstr "מפה"
#: searx/webapp.py:396 #: searx/webapp.py:414
msgid "{minutes} minute(s) ago" msgid "{minutes} minute(s) ago"
msgstr "לפני {minutes} דקות" msgstr "לפני {minutes} דקות"
#: searx/webapp.py:398 #: searx/webapp.py:416
msgid "{hours} hour(s), {minutes} minute(s) ago" msgid "{hours} hour(s), {minutes} minute(s) ago"
msgstr "לפני {hours} שעות, {minutes} דקות" msgstr "לפני {hours} שעות, {minutes} דקות"
#: searx/engines/__init__.py:182 #: searx/engines/__init__.py:185
msgid "Page loads (sec)" msgid "Page loads (sec)"
msgstr "עומס עמוד (שניות)" msgstr "עומס עמוד (שניות)"
#: searx/engines/__init__.py:186 #: searx/engines/__init__.py:189
msgid "Number of results" msgid "Number of results"
msgstr "מספר תוצאות" msgstr "מספר תוצאות"
#: searx/engines/__init__.py:190 #: searx/engines/__init__.py:193
msgid "Scores" msgid "Scores"
msgstr "דירוג" msgstr "דירוג"
#: searx/engines/__init__.py:194 #: searx/engines/__init__.py:197
msgid "Scores per result" msgid "Scores per result"
msgstr "דירוג לכל תוצאה" msgstr "דירוג לכל תוצאה"
#: searx/engines/__init__.py:198 #: searx/engines/__init__.py:201
msgid "Errors" msgid "Errors"
msgstr "שגיאות" msgstr "שגיאות"
@ -98,12 +98,22 @@ msgstr "חפש בעת בחירת קטגוריה"
#: searx/plugins/search_on_category_select.py:19 #: searx/plugins/search_on_category_select.py:19
msgid "" msgid ""
"Perform search immediately if a category selected. Disable to select " "Perform search immediately if a category selected. Disable to select "
"multiple categories." "multiple categories. (JavaScript required)"
msgstr "בצע חיפוש מיד לאחר שקטגוריה נבחרת. נטרל כדי לבחור מספר קטגוריות." msgstr "בצע חיפוש לאלתר כאשר קטגוריה נבחרת. נטרל כדי לבחור קטגוריות מרובות. (מצריך JavaScript)"
#: searx/plugins/self_ip.py:19 #: searx/plugins/self_info.py:20
msgid "Display your source IP address if the query expression is \"ip\"" msgid ""
msgstr "הצג מקור כתובת IP כאשר מילת שאילתא היא \"ip\"" "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:9
#: searx/templates/courgette/index.html:13 #: searx/templates/courgette/index.html:13
@ -131,90 +141,92 @@ msgstr "העדפות"
#: searx/templates/courgette/preferences.html:9 #: searx/templates/courgette/preferences.html:9
#: searx/templates/default/preferences.html:9 #: searx/templates/default/preferences.html:9
#: searx/templates/oscar/preferences.html:35 #: searx/templates/oscar/preferences.html:36
#: searx/templates/oscar/preferences.html:37 #: searx/templates/oscar/preferences.html:38
msgid "Default categories" msgid "Default categories"
msgstr "קטגוריות ברירת מחדל" msgstr "קטגוריות ברירת מחדל"
#: searx/templates/courgette/preferences.html:13 #: searx/templates/courgette/preferences.html:13
#: searx/templates/default/preferences.html:14 #: 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 #: searx/templates/pix-art/preferences.html:9
msgid "Search language" msgid "Search language"
msgstr "שפת חיפוש" msgstr "שפת חיפוש"
#: searx/templates/courgette/preferences.html:16 #: searx/templates/courgette/preferences.html:16
#: searx/templates/default/preferences.html:17 #: 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 #: searx/templates/pix-art/preferences.html:12
msgid "Automatic" msgid "Automatic"
msgstr "אוטומטי" msgstr "אוטומטי"
#: searx/templates/courgette/preferences.html:24 #: searx/templates/courgette/preferences.html:24
#: searx/templates/default/preferences.html:25 #: 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 #: searx/templates/pix-art/preferences.html:20
msgid "Interface language" msgid "Interface language"
msgstr "שפת ממשק" msgstr "שפת ממשק"
#: searx/templates/courgette/preferences.html:34 #: searx/templates/courgette/preferences.html:34
#: searx/templates/default/preferences.html:35 #: searx/templates/default/preferences.html:35
#: searx/templates/oscar/preferences.html:64 #: searx/templates/oscar/preferences.html:65
msgid "Autocomplete" msgid "Autocomplete"
msgstr "השלמה אוטומטית" msgstr "השלמה אוטומטית"
#: searx/templates/courgette/preferences.html:45 #: searx/templates/courgette/preferences.html:45
#: searx/templates/default/preferences.html:46 #: searx/templates/default/preferences.html:46
#: searx/templates/oscar/preferences.html:75 #: searx/templates/oscar/preferences.html:76
msgid "Image proxy" msgid "Image proxy"
msgstr "proxy תמונה" msgstr "proxy תמונה"
#: searx/templates/courgette/preferences.html:48 #: searx/templates/courgette/preferences.html:48
#: searx/templates/default/preferences.html:49 #: searx/templates/default/preferences.html:49
#: searx/templates/oscar/preferences.html:79 #: searx/templates/oscar/preferences.html:80
msgid "Enabled" msgid "Enabled"
msgstr "מאופשר" msgstr "מאופשר"
#: searx/templates/courgette/preferences.html:49 #: searx/templates/courgette/preferences.html:49
#: searx/templates/default/preferences.html:50 #: searx/templates/default/preferences.html:50
#: searx/templates/oscar/preferences.html:80 #: searx/templates/oscar/preferences.html:81
msgid "Disabled" msgid "Disabled"
msgstr "מנוטרל" msgstr "מנוטרל"
#: searx/templates/courgette/preferences.html:54 #: searx/templates/courgette/preferences.html:54
#: searx/templates/default/preferences.html:55 #: 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 #: searx/templates/pix-art/preferences.html:30
msgid "Method" msgid "Method"
msgstr "שיטה" msgstr "שיטה"
#: searx/templates/courgette/preferences.html:63 #: searx/templates/courgette/preferences.html:63
#: searx/templates/default/preferences.html:64 #: 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" msgid "SafeSearch"
msgstr "חיפוש בטוח" msgstr "חיפוש בטוח"
#: searx/templates/courgette/preferences.html:66 #: searx/templates/courgette/preferences.html:66
#: searx/templates/default/preferences.html:67 #: searx/templates/default/preferences.html:67
#: searx/templates/oscar/preferences.html:97 #: searx/templates/oscar/preferences.html:98
msgid "Strict" msgid "Strict"
msgstr "מחמיר" msgstr "מחמיר"
#: searx/templates/courgette/preferences.html:67 #: searx/templates/courgette/preferences.html:67
#: searx/templates/default/preferences.html:68 #: searx/templates/default/preferences.html:68
#: searx/templates/oscar/preferences.html:98 #: searx/templates/oscar/preferences.html:99
msgid "Moderate" msgid "Moderate"
msgstr "מתון" msgstr "מתון"
#: searx/templates/courgette/preferences.html:68 #: searx/templates/courgette/preferences.html:68
#: searx/templates/default/preferences.html:69 #: searx/templates/default/preferences.html:69
#: searx/templates/oscar/preferences.html:99 #: searx/templates/oscar/preferences.html:100
msgid "None" msgid "None"
msgstr "בלי" msgstr "בלי"
#: searx/templates/courgette/preferences.html:73 #: searx/templates/courgette/preferences.html:73
#: searx/templates/default/preferences.html:74 #: 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 #: searx/templates/pix-art/preferences.html:39
msgid "Themes" msgid "Themes"
msgstr "מוטיבים" msgstr "מוטיבים"
@ -251,10 +263,12 @@ msgstr "אדום"
#: searx/templates/default/preferences.html:84 #: searx/templates/default/preferences.html:84
#: searx/templates/pix-art/preferences.html:49 #: searx/templates/pix-art/preferences.html:49
msgid "Currently used search engines" msgid "Currently used search engines"
msgstr "מנועי חיפוש שבשימוש עתה" msgstr "מנועי חיפוש בשימוש עתה"
#: searx/templates/courgette/preferences.html:100 #: searx/templates/courgette/preferences.html:100
#: searx/templates/default/preferences.html:88 #: 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 #: searx/templates/pix-art/preferences.html:53
msgid "Engine name" msgid "Engine name"
msgstr "שם מנוע" msgstr "שם מנוע"
@ -269,6 +283,8 @@ msgstr "קטגוריה"
#: searx/templates/default/preferences.html:90 #: searx/templates/default/preferences.html:90
#: searx/templates/default/preferences.html:101 #: searx/templates/default/preferences.html:101
#: searx/templates/oscar/macros.html:67 #: 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:54
#: searx/templates/pix-art/preferences.html:64 #: searx/templates/pix-art/preferences.html:64
msgid "Allow" msgid "Allow"
@ -286,7 +302,7 @@ msgstr "חסום"
#: searx/templates/courgette/preferences.html:122 #: searx/templates/courgette/preferences.html:122
#: searx/templates/default/preferences.html:110 #: 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 #: searx/templates/pix-art/preferences.html:73
msgid "" msgid ""
"These settings are stored in your cookies, this allows us not to store this " "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/courgette/preferences.html:124
#: searx/templates/default/preferences.html:112 #: 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 #: searx/templates/pix-art/preferences.html:75
msgid "" msgid ""
"These cookies serve your sole convenience, we don't use these cookies to " "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/courgette/preferences.html:127
#: searx/templates/default/preferences.html:115 #: 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 #: searx/templates/pix-art/preferences.html:78
msgid "save" msgid "save"
msgstr "שמור" msgstr "שמור"
#: searx/templates/courgette/preferences.html:128 #: searx/templates/courgette/preferences.html:128
#: searx/templates/default/preferences.html:116 #: searx/templates/default/preferences.html:116
#: searx/templates/oscar/preferences.html:187 #: searx/templates/oscar/preferences.html:242
msgid "Reset defaults" msgid "Reset defaults"
msgstr "אפס ברירות מחדל" msgstr "אפס ברירות מחדל"
#: searx/templates/courgette/preferences.html:129 #: searx/templates/courgette/preferences.html:129
#: searx/templates/default/preferences.html:117 #: 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 #: searx/templates/pix-art/preferences.html:79
msgid "back" msgid "back"
msgstr "חזור" msgstr "חזור"
@ -412,7 +428,7 @@ msgstr "מוטמן"
#: searx/templates/oscar/base.html:78 #: searx/templates/oscar/base.html:78
msgid "Powered by" msgid "Powered by"
msgstr "ממונע באמצעות" msgstr "מופעל באמצעות"
#: searx/templates/oscar/base.html:78 #: searx/templates/oscar/base.html:78
msgid "a privacy-respecting, hackable metasearch engine" msgid "a privacy-respecting, hackable metasearch engine"
@ -427,51 +443,89 @@ msgid "Toggle navigation"
msgstr "Toggle ניווט" msgstr "Toggle ניווט"
#: searx/templates/oscar/preferences.html:17 #: searx/templates/oscar/preferences.html:17
#: searx/templates/oscar/preferences.html:24 #: searx/templates/oscar/preferences.html:25
msgid "General" msgid "General"
msgstr "כללי" msgstr "כללי"
#: searx/templates/oscar/preferences.html:18 #: searx/templates/oscar/preferences.html:18
#: searx/templates/oscar/preferences.html:125 #: searx/templates/oscar/preferences.html:126
msgid "Engines" msgid "Engines"
msgstr "מנועים" msgstr "מנועים"
#: searx/templates/oscar/preferences.html:19 #: searx/templates/oscar/preferences.html:19
#: searx/templates/oscar/preferences.html:159 #: searx/templates/oscar/preferences.html:187
msgid "Plugins" msgid "Plugins"
msgstr "תוספים" 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?" msgid "What language do you prefer for search?"
msgstr "איזו שפה אתם מעדיפים לצורך חיפוש?" msgstr "איזו שפה אתם מעדיפים לצורך חיפוש?"
#: searx/templates/oscar/preferences.html:55 #: searx/templates/oscar/preferences.html:56
msgid "Change the language of the layout" msgid "Change the language of the layout"
msgstr "שינוי שפת הממשק" msgstr "שינוי שפת הממשק"
#: searx/templates/oscar/preferences.html:65 #: searx/templates/oscar/preferences.html:66
msgid "Find stuff as you type" msgid "Find stuff as you type"
msgstr "מציאת דברים בזמן הקלדה" msgstr "מציאת דברים בזמן הקלדה"
#: searx/templates/oscar/preferences.html:76 #: searx/templates/oscar/preferences.html:77
msgid "Proxying image results through searx" msgid "Proxying image results through searx"
msgstr "Proxying תוצאות תמונה מבעד searx" msgstr "Proxying תוצאות תמונה מבעד searx"
#: searx/templates/oscar/preferences.html:85 #: searx/templates/oscar/preferences.html:86
msgid "" msgid ""
"Change how forms are submited, <a " "Change how forms are submited, <a "
"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
" rel=\"external\">learn more about request methods</a>" " 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>" 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" msgid "Filter content"
msgstr "סנן תוכן" msgstr "סנן תוכן"
#: searx/templates/oscar/preferences.html:104 #: searx/templates/oscar/preferences.html:105
msgid "Change searx layout" msgid "Change searx layout"
msgstr "שינוי ממשק searx" 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 #: searx/templates/oscar/results.html:7
msgid "Search results" msgid "Search results"
msgstr "תוצאות חיפוש" msgstr "תוצאות חיפוש"
@ -521,6 +575,14 @@ msgstr "אזהרה!"
msgid "Please enable JavaScript to use full functionality of this site." msgid "Please enable JavaScript to use full functionality of this site."
msgstr "אנא אפשרו JavaScript כדי לנצל תפקודיות מלאה של אתר זה." 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 #: searx/templates/oscar/messages/no_data_available.html:4
msgid "There is currently no data available. " msgid "There is currently no data available. "
msgstr "אין כעת מידע זמין. " msgstr "אין כעת מידע זמין. "

View File

@ -9,10 +9,10 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2015-04-26 18:57+0200\n" "POT-Creation-Date: 2015-08-24 11:44+0200\n"
"PO-Revision-Date: 2015-04-26 17:13+0000\n" "PO-Revision-Date: 2015-08-25 16:29+0000\n"
"Last-Translator: Adam Tauber <asciimoo@gmail.com>\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" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
@ -20,67 +20,67 @@ msgstr ""
"Language: hu\n" "Language: hu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: searx/webapp.py:104 #: searx/webapp.py:114
msgid "files" msgid "files"
msgstr "fájlok" msgstr "fájlok"
#: searx/webapp.py:105 #: searx/webapp.py:115
msgid "general" msgid "general"
msgstr "általános" msgstr "általános"
#: searx/webapp.py:106 #: searx/webapp.py:116
msgid "music" msgid "music"
msgstr "zene" msgstr "zene"
#: searx/webapp.py:107 #: searx/webapp.py:117
msgid "social media" msgid "social media"
msgstr "közösségi média" msgstr "közösségi média"
#: searx/webapp.py:108 #: searx/webapp.py:118
msgid "images" msgid "images"
msgstr "képek" msgstr "képek"
#: searx/webapp.py:109 #: searx/webapp.py:119
msgid "videos" msgid "videos"
msgstr "videók" msgstr "videók"
#: searx/webapp.py:110 #: searx/webapp.py:120
msgid "it" msgid "it"
msgstr "it" msgstr "it"
#: searx/webapp.py:111 #: searx/webapp.py:121
msgid "news" msgid "news"
msgstr "hírek" msgstr "hírek"
#: searx/webapp.py:112 #: searx/webapp.py:122
msgid "map" msgid "map"
msgstr "térkép" msgstr "térkép"
#: searx/webapp.py:396 #: searx/webapp.py:414
msgid "{minutes} minute(s) ago" msgid "{minutes} minute(s) ago"
msgstr "{minutes} perce" msgstr "{minutes} perce"
#: searx/webapp.py:398 #: searx/webapp.py:416
msgid "{hours} hour(s), {minutes} minute(s) ago" msgid "{hours} hour(s), {minutes} minute(s) ago"
msgstr "{hours} óra, {minutes} perce" msgstr "{hours} óra, {minutes} perce"
#: searx/engines/__init__.py:182 #: searx/engines/__init__.py:185
msgid "Page loads (sec)" msgid "Page loads (sec)"
msgstr "Válaszidők (sec)" msgstr "Válaszidők (sec)"
#: searx/engines/__init__.py:186 #: searx/engines/__init__.py:189
msgid "Number of results" msgid "Number of results"
msgstr "Találatok száma" msgstr "Találatok száma"
#: searx/engines/__init__.py:190 #: searx/engines/__init__.py:193
msgid "Scores" msgid "Scores"
msgstr "Pontszámok" msgstr "Pontszámok"
#: searx/engines/__init__.py:194 #: searx/engines/__init__.py:197
msgid "Scores per result" msgid "Scores per result"
msgstr "Pontszámok találatonként" msgstr "Pontszámok találatonként"
#: searx/engines/__init__.py:198 #: searx/engines/__init__.py:201
msgid "Errors" msgid "Errors"
msgstr "Hibák" msgstr "Hibák"
@ -95,12 +95,22 @@ msgstr "Azonnal keresés kategória választással"
#: searx/plugins/search_on_category_select.py:19 #: searx/plugins/search_on_category_select.py:19
msgid "" msgid ""
"Perform search immediately if a category selected. Disable to select " "Perform search immediately if a category selected. Disable to select "
"multiple categories." "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" 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 #: searx/plugins/self_info.py:20
msgid "Display your source IP address if the query expression is \"ip\"" msgid ""
msgstr "Saját IP cím megjelenítése az \"ip\" kulcsszóra keresve" "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:9
#: searx/templates/courgette/index.html:13 #: searx/templates/courgette/index.html:13
@ -128,90 +138,92 @@ msgstr "Beállítások"
#: searx/templates/courgette/preferences.html:9 #: searx/templates/courgette/preferences.html:9
#: searx/templates/default/preferences.html:9 #: searx/templates/default/preferences.html:9
#: searx/templates/oscar/preferences.html:35 #: searx/templates/oscar/preferences.html:36
#: searx/templates/oscar/preferences.html:37 #: searx/templates/oscar/preferences.html:38
msgid "Default categories" msgid "Default categories"
msgstr "Alapértelmezett kategóriák" msgstr "Alapértelmezett kategóriák"
#: searx/templates/courgette/preferences.html:13 #: searx/templates/courgette/preferences.html:13
#: searx/templates/default/preferences.html:14 #: 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 #: searx/templates/pix-art/preferences.html:9
msgid "Search language" msgid "Search language"
msgstr "Keresés nyelve" msgstr "Keresés nyelve"
#: searx/templates/courgette/preferences.html:16 #: searx/templates/courgette/preferences.html:16
#: searx/templates/default/preferences.html:17 #: 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 #: searx/templates/pix-art/preferences.html:12
msgid "Automatic" msgid "Automatic"
msgstr "Automatikus" msgstr "Automatikus"
#: searx/templates/courgette/preferences.html:24 #: searx/templates/courgette/preferences.html:24
#: searx/templates/default/preferences.html:25 #: 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 #: searx/templates/pix-art/preferences.html:20
msgid "Interface language" msgid "Interface language"
msgstr "Felület nyelve" msgstr "Felület nyelve"
#: searx/templates/courgette/preferences.html:34 #: searx/templates/courgette/preferences.html:34
#: searx/templates/default/preferences.html:35 #: searx/templates/default/preferences.html:35
#: searx/templates/oscar/preferences.html:64 #: searx/templates/oscar/preferences.html:65
msgid "Autocomplete" msgid "Autocomplete"
msgstr "Automatikus kiegészítés" msgstr "Automatikus kiegészítés"
#: searx/templates/courgette/preferences.html:45 #: searx/templates/courgette/preferences.html:45
#: searx/templates/default/preferences.html:46 #: searx/templates/default/preferences.html:46
#: searx/templates/oscar/preferences.html:75 #: searx/templates/oscar/preferences.html:76
msgid "Image proxy" msgid "Image proxy"
msgstr "Kép proxy" msgstr "Kép proxy"
#: searx/templates/courgette/preferences.html:48 #: searx/templates/courgette/preferences.html:48
#: searx/templates/default/preferences.html:49 #: searx/templates/default/preferences.html:49
#: searx/templates/oscar/preferences.html:79 #: searx/templates/oscar/preferences.html:80
msgid "Enabled" msgid "Enabled"
msgstr "Engedélyez" msgstr "Engedélyez"
#: searx/templates/courgette/preferences.html:49 #: searx/templates/courgette/preferences.html:49
#: searx/templates/default/preferences.html:50 #: searx/templates/default/preferences.html:50
#: searx/templates/oscar/preferences.html:80 #: searx/templates/oscar/preferences.html:81
msgid "Disabled" msgid "Disabled"
msgstr "Inaktivál" msgstr "Inaktivál"
#: searx/templates/courgette/preferences.html:54 #: searx/templates/courgette/preferences.html:54
#: searx/templates/default/preferences.html:55 #: 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 #: searx/templates/pix-art/preferences.html:30
msgid "Method" msgid "Method"
msgstr "Method" msgstr "Method"
#: searx/templates/courgette/preferences.html:63 #: searx/templates/courgette/preferences.html:63
#: searx/templates/default/preferences.html:64 #: 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" msgid "SafeSearch"
msgstr "Felnőtt tartalom szűrés" msgstr "Felnőtt tartalom szűrés"
#: searx/templates/courgette/preferences.html:66 #: searx/templates/courgette/preferences.html:66
#: searx/templates/default/preferences.html:67 #: searx/templates/default/preferences.html:67
#: searx/templates/oscar/preferences.html:97 #: searx/templates/oscar/preferences.html:98
msgid "Strict" msgid "Strict"
msgstr "Erős" msgstr "Erős"
#: searx/templates/courgette/preferences.html:67 #: searx/templates/courgette/preferences.html:67
#: searx/templates/default/preferences.html:68 #: searx/templates/default/preferences.html:68
#: searx/templates/oscar/preferences.html:98 #: searx/templates/oscar/preferences.html:99
msgid "Moderate" msgid "Moderate"
msgstr "Enyhe" msgstr "Enyhe"
#: searx/templates/courgette/preferences.html:68 #: searx/templates/courgette/preferences.html:68
#: searx/templates/default/preferences.html:69 #: searx/templates/default/preferences.html:69
#: searx/templates/oscar/preferences.html:99 #: searx/templates/oscar/preferences.html:100
msgid "None" msgid "None"
msgstr "Nincs" msgstr "Nincs"
#: searx/templates/courgette/preferences.html:73 #: searx/templates/courgette/preferences.html:73
#: searx/templates/default/preferences.html:74 #: 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 #: searx/templates/pix-art/preferences.html:39
msgid "Themes" msgid "Themes"
msgstr "Megjelenés" msgstr "Megjelenés"
@ -252,6 +264,8 @@ msgstr "Jelenleg használt keresők"
#: searx/templates/courgette/preferences.html:100 #: searx/templates/courgette/preferences.html:100
#: searx/templates/default/preferences.html:88 #: 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 #: searx/templates/pix-art/preferences.html:53
msgid "Engine name" msgid "Engine name"
msgstr "Kereső neve" msgstr "Kereső neve"
@ -266,6 +280,8 @@ msgstr "Kategória"
#: searx/templates/default/preferences.html:90 #: searx/templates/default/preferences.html:90
#: searx/templates/default/preferences.html:101 #: searx/templates/default/preferences.html:101
#: searx/templates/oscar/macros.html:67 #: 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:54
#: searx/templates/pix-art/preferences.html:64 #: searx/templates/pix-art/preferences.html:64
msgid "Allow" msgid "Allow"
@ -283,7 +299,7 @@ msgstr "Tiltás"
#: searx/templates/courgette/preferences.html:122 #: searx/templates/courgette/preferences.html:122
#: searx/templates/default/preferences.html:110 #: 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 #: searx/templates/pix-art/preferences.html:73
msgid "" msgid ""
"These settings are stored in your cookies, this allows us not to store this " "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/courgette/preferences.html:124
#: searx/templates/default/preferences.html:112 #: 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 #: searx/templates/pix-art/preferences.html:75
msgid "" msgid ""
"These cookies serve your sole convenience, we don't use these cookies to " "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/courgette/preferences.html:127
#: searx/templates/default/preferences.html:115 #: 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 #: searx/templates/pix-art/preferences.html:78
msgid "save" msgid "save"
msgstr "mentés" msgstr "mentés"
#: searx/templates/courgette/preferences.html:128 #: searx/templates/courgette/preferences.html:128
#: searx/templates/default/preferences.html:116 #: searx/templates/default/preferences.html:116
#: searx/templates/oscar/preferences.html:187 #: searx/templates/oscar/preferences.html:242
msgid "Reset defaults" msgid "Reset defaults"
msgstr "Alapbeállítások visszaállítása" msgstr "Alapbeállítások visszaállítása"
#: searx/templates/courgette/preferences.html:129 #: searx/templates/courgette/preferences.html:129
#: searx/templates/default/preferences.html:117 #: 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 #: searx/templates/pix-art/preferences.html:79
msgid "back" msgid "back"
msgstr "vissza" msgstr "vissza"
@ -424,51 +440,89 @@ msgid "Toggle navigation"
msgstr "Navigáció megjelenítés" msgstr "Navigáció megjelenítés"
#: searx/templates/oscar/preferences.html:17 #: searx/templates/oscar/preferences.html:17
#: searx/templates/oscar/preferences.html:24 #: searx/templates/oscar/preferences.html:25
msgid "General" msgid "General"
msgstr "Általános" msgstr "Általános"
#: searx/templates/oscar/preferences.html:18 #: searx/templates/oscar/preferences.html:18
#: searx/templates/oscar/preferences.html:125 #: searx/templates/oscar/preferences.html:126
msgid "Engines" msgid "Engines"
msgstr "Kereső motorok" msgstr "Kereső motorok"
#: searx/templates/oscar/preferences.html:19 #: searx/templates/oscar/preferences.html:19
#: searx/templates/oscar/preferences.html:159 #: searx/templates/oscar/preferences.html:187
msgid "Plugins" msgid "Plugins"
msgstr "Pluginek" 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?" msgid "What language do you prefer for search?"
msgstr "Preferált keresési nyelv" 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" msgid "Change the language of the layout"
msgstr "Felület nyelve" msgstr "Felület nyelve"
#: searx/templates/oscar/preferences.html:65 #: searx/templates/oscar/preferences.html:66
msgid "Find stuff as you type" msgid "Find stuff as you type"
msgstr "Autómatikus kereső kifejezés kiegészítés" 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" msgid "Proxying image results through searx"
msgstr "Kép találatok betöltése searx-ön keresztül" 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 "" msgid ""
"Change how forms are submited, <a " "Change how forms are submited, <a "
"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
" rel=\"external\">learn more about request methods</a>" " 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>)" 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" msgid "Filter content"
msgstr "Tartalom szűrés" msgstr "Tartalom szűrés"
#: searx/templates/oscar/preferences.html:104 #: searx/templates/oscar/preferences.html:105
msgid "Change searx layout" msgid "Change searx layout"
msgstr "Megjelenés" 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 #: searx/templates/oscar/results.html:7
msgid "Search results" msgid "Search results"
msgstr "Keresési eredmények" msgstr "Keresési eredmények"
@ -518,6 +572,14 @@ msgstr "Figyelem!"
msgid "Please enable JavaScript to use full functionality of this site." msgid "Please enable JavaScript to use full functionality of this site."
msgstr "Engedélyezze a javascript-et a teljes funkcionalitás használathoz" 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 #: searx/templates/oscar/messages/no_data_available.html:4
msgid "There is currently no data available. " msgid "There is currently no data available. "
msgstr "Nincs megjeleníthető adat." msgstr "Nincs megjeleníthető adat."

View File

@ -9,10 +9,10 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2015-04-26 18:57+0200\n" "POT-Creation-Date: 2015-08-24 11:44+0200\n"
"PO-Revision-Date: 2015-04-26 17:02+0000\n" "PO-Revision-Date: 2015-08-24 09:45+0000\n"
"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n" "Last-Translator: pointhi\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/searx/language/it/)\n" "Language-Team: Italian (http://www.transifex.com/asciimoo/searx/language/it/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
@ -20,67 +20,67 @@ msgstr ""
"Language: it\n" "Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: searx/webapp.py:104 #: searx/webapp.py:114
msgid "files" msgid "files"
msgstr "documenti" msgstr "documenti"
#: searx/webapp.py:105 #: searx/webapp.py:115
msgid "general" msgid "general"
msgstr "generale" msgstr "generale"
#: searx/webapp.py:106 #: searx/webapp.py:116
msgid "music" msgid "music"
msgstr "musica" msgstr "musica"
#: searx/webapp.py:107 #: searx/webapp.py:117
msgid "social media" msgid "social media"
msgstr "social media" msgstr "social media"
#: searx/webapp.py:108 #: searx/webapp.py:118
msgid "images" msgid "images"
msgstr "immagini" msgstr "immagini"
#: searx/webapp.py:109 #: searx/webapp.py:119
msgid "videos" msgid "videos"
msgstr "video" msgstr "video"
#: searx/webapp.py:110 #: searx/webapp.py:120
msgid "it" msgid "it"
msgstr "it" msgstr "it"
#: searx/webapp.py:111 #: searx/webapp.py:121
msgid "news" msgid "news"
msgstr "notizie" msgstr "notizie"
#: searx/webapp.py:112 #: searx/webapp.py:122
msgid "map" msgid "map"
msgstr "mappe" msgstr "mappe"
#: searx/webapp.py:396 #: searx/webapp.py:414
msgid "{minutes} minute(s) ago" msgid "{minutes} minute(s) ago"
msgstr "di {minutes} minuti fa" msgstr "di {minutes} minuti fa"
#: searx/webapp.py:398 #: searx/webapp.py:416
msgid "{hours} hour(s), {minutes} minute(s) ago" msgid "{hours} hour(s), {minutes} minute(s) ago"
msgstr "di {ore} h e {minutes} minuti fa" msgstr "di {ore} h e {minutes} minuti fa"
#: searx/engines/__init__.py:182 #: searx/engines/__init__.py:185
msgid "Page loads (sec)" msgid "Page loads (sec)"
msgstr " Caricamento della pagina (secondi)" msgstr " Caricamento della pagina (secondi)"
#: searx/engines/__init__.py:186 #: searx/engines/__init__.py:189
msgid "Number of results" msgid "Number of results"
msgstr "Risultati ottenuti" msgstr "Risultati ottenuti"
#: searx/engines/__init__.py:190 #: searx/engines/__init__.py:193
msgid "Scores" msgid "Scores"
msgstr "Punteggio" msgstr "Punteggio"
#: searx/engines/__init__.py:194 #: searx/engines/__init__.py:197
msgid "Scores per result" msgid "Scores per result"
msgstr "Punteggio per risultato" msgstr "Punteggio per risultato"
#: searx/engines/__init__.py:198 #: searx/engines/__init__.py:201
msgid "Errors" msgid "Errors"
msgstr "Errori" msgstr "Errori"
@ -95,11 +95,21 @@ msgstr ""
#: searx/plugins/search_on_category_select.py:19 #: searx/plugins/search_on_category_select.py:19
msgid "" msgid ""
"Perform search immediately if a category selected. Disable to select " "Perform search immediately if a category selected. Disable to select "
"multiple categories." "multiple categories. (JavaScript required)"
msgstr "" msgstr ""
#: searx/plugins/self_ip.py:19 #: searx/plugins/self_info.py:20
msgid "Display your source IP address if the query expression is \"ip\"" 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 "" msgstr ""
#: searx/templates/courgette/index.html:9 #: searx/templates/courgette/index.html:9
@ -128,90 +138,92 @@ msgstr "Preferenze"
#: searx/templates/courgette/preferences.html:9 #: searx/templates/courgette/preferences.html:9
#: searx/templates/default/preferences.html:9 #: searx/templates/default/preferences.html:9
#: searx/templates/oscar/preferences.html:35 #: searx/templates/oscar/preferences.html:36
#: searx/templates/oscar/preferences.html:37 #: searx/templates/oscar/preferences.html:38
msgid "Default categories" msgid "Default categories"
msgstr "Categorie predefinite" msgstr "Categorie predefinite"
#: searx/templates/courgette/preferences.html:13 #: searx/templates/courgette/preferences.html:13
#: searx/templates/default/preferences.html:14 #: 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 #: searx/templates/pix-art/preferences.html:9
msgid "Search language" msgid "Search language"
msgstr "Lingua di ricerca" msgstr "Lingua di ricerca"
#: searx/templates/courgette/preferences.html:16 #: searx/templates/courgette/preferences.html:16
#: searx/templates/default/preferences.html:17 #: 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 #: searx/templates/pix-art/preferences.html:12
msgid "Automatic" msgid "Automatic"
msgstr "Automatico" msgstr "Automatico"
#: searx/templates/courgette/preferences.html:24 #: searx/templates/courgette/preferences.html:24
#: searx/templates/default/preferences.html:25 #: 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 #: searx/templates/pix-art/preferences.html:20
msgid "Interface language" msgid "Interface language"
msgstr "Linguaggio dell'interfaccia" msgstr "Linguaggio dell'interfaccia"
#: searx/templates/courgette/preferences.html:34 #: searx/templates/courgette/preferences.html:34
#: searx/templates/default/preferences.html:35 #: searx/templates/default/preferences.html:35
#: searx/templates/oscar/preferences.html:64 #: searx/templates/oscar/preferences.html:65
msgid "Autocomplete" msgid "Autocomplete"
msgstr "Completamento automatico" msgstr "Completamento automatico"
#: searx/templates/courgette/preferences.html:45 #: searx/templates/courgette/preferences.html:45
#: searx/templates/default/preferences.html:46 #: searx/templates/default/preferences.html:46
#: searx/templates/oscar/preferences.html:75 #: searx/templates/oscar/preferences.html:76
msgid "Image proxy" msgid "Image proxy"
msgstr "" msgstr ""
#: searx/templates/courgette/preferences.html:48 #: searx/templates/courgette/preferences.html:48
#: searx/templates/default/preferences.html:49 #: searx/templates/default/preferences.html:49
#: searx/templates/oscar/preferences.html:79 #: searx/templates/oscar/preferences.html:80
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#: searx/templates/courgette/preferences.html:49 #: searx/templates/courgette/preferences.html:49
#: searx/templates/default/preferences.html:50 #: searx/templates/default/preferences.html:50
#: searx/templates/oscar/preferences.html:80 #: searx/templates/oscar/preferences.html:81
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#: searx/templates/courgette/preferences.html:54 #: searx/templates/courgette/preferences.html:54
#: searx/templates/default/preferences.html:55 #: 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 #: searx/templates/pix-art/preferences.html:30
msgid "Method" msgid "Method"
msgstr "Metodo" msgstr "Metodo"
#: searx/templates/courgette/preferences.html:63 #: searx/templates/courgette/preferences.html:63
#: searx/templates/default/preferences.html:64 #: 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" msgid "SafeSearch"
msgstr "" msgstr ""
#: searx/templates/courgette/preferences.html:66 #: searx/templates/courgette/preferences.html:66
#: searx/templates/default/preferences.html:67 #: searx/templates/default/preferences.html:67
#: searx/templates/oscar/preferences.html:97 #: searx/templates/oscar/preferences.html:98
msgid "Strict" msgid "Strict"
msgstr "" msgstr ""
#: searx/templates/courgette/preferences.html:67 #: searx/templates/courgette/preferences.html:67
#: searx/templates/default/preferences.html:68 #: searx/templates/default/preferences.html:68
#: searx/templates/oscar/preferences.html:98 #: searx/templates/oscar/preferences.html:99
msgid "Moderate" msgid "Moderate"
msgstr "" msgstr ""
#: searx/templates/courgette/preferences.html:68 #: searx/templates/courgette/preferences.html:68
#: searx/templates/default/preferences.html:69 #: searx/templates/default/preferences.html:69
#: searx/templates/oscar/preferences.html:99 #: searx/templates/oscar/preferences.html:100
msgid "None" msgid "None"
msgstr "" msgstr ""
#: searx/templates/courgette/preferences.html:73 #: searx/templates/courgette/preferences.html:73
#: searx/templates/default/preferences.html:74 #: 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 #: searx/templates/pix-art/preferences.html:39
msgid "Themes" msgid "Themes"
msgstr "Grafica" msgstr "Grafica"
@ -252,6 +264,8 @@ msgstr "Motori di ricerca attualmente in uso"
#: searx/templates/courgette/preferences.html:100 #: searx/templates/courgette/preferences.html:100
#: searx/templates/default/preferences.html:88 #: 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 #: searx/templates/pix-art/preferences.html:53
msgid "Engine name" msgid "Engine name"
msgstr "Nome del motore" msgstr "Nome del motore"
@ -266,6 +280,8 @@ msgstr "Categoria"
#: searx/templates/default/preferences.html:90 #: searx/templates/default/preferences.html:90
#: searx/templates/default/preferences.html:101 #: searx/templates/default/preferences.html:101
#: searx/templates/oscar/macros.html:67 #: 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:54
#: searx/templates/pix-art/preferences.html:64 #: searx/templates/pix-art/preferences.html:64
msgid "Allow" msgid "Allow"
@ -283,7 +299,7 @@ msgstr "Blocca"
#: searx/templates/courgette/preferences.html:122 #: searx/templates/courgette/preferences.html:122
#: searx/templates/default/preferences.html:110 #: 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 #: searx/templates/pix-art/preferences.html:73
msgid "" msgid ""
"These settings are stored in your cookies, this allows us not to store this " "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/courgette/preferences.html:124
#: searx/templates/default/preferences.html:112 #: 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 #: searx/templates/pix-art/preferences.html:75
msgid "" msgid ""
"These cookies serve your sole convenience, we don't use these cookies to " "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/courgette/preferences.html:127
#: searx/templates/default/preferences.html:115 #: 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 #: searx/templates/pix-art/preferences.html:78
msgid "save" msgid "save"
msgstr "salva" msgstr "salva"
#: searx/templates/courgette/preferences.html:128 #: searx/templates/courgette/preferences.html:128
#: searx/templates/default/preferences.html:116 #: searx/templates/default/preferences.html:116
#: searx/templates/oscar/preferences.html:187 #: searx/templates/oscar/preferences.html:242
msgid "Reset defaults" msgid "Reset defaults"
msgstr "" msgstr ""
#: searx/templates/courgette/preferences.html:129 #: searx/templates/courgette/preferences.html:129
#: searx/templates/default/preferences.html:117 #: 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 #: searx/templates/pix-art/preferences.html:79
msgid "back" msgid "back"
msgstr "indietro" msgstr "indietro"
@ -424,51 +440,89 @@ msgid "Toggle navigation"
msgstr "" msgstr ""
#: searx/templates/oscar/preferences.html:17 #: searx/templates/oscar/preferences.html:17
#: searx/templates/oscar/preferences.html:24 #: searx/templates/oscar/preferences.html:25
msgid "General" msgid "General"
msgstr "" msgstr ""
#: searx/templates/oscar/preferences.html:18 #: searx/templates/oscar/preferences.html:18
#: searx/templates/oscar/preferences.html:125 #: searx/templates/oscar/preferences.html:126
msgid "Engines" msgid "Engines"
msgstr "" msgstr ""
#: searx/templates/oscar/preferences.html:19 #: searx/templates/oscar/preferences.html:19
#: searx/templates/oscar/preferences.html:159 #: searx/templates/oscar/preferences.html:187
msgid "Plugins" msgid "Plugins"
msgstr "" 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?" msgid "What language do you prefer for search?"
msgstr "" msgstr ""
#: searx/templates/oscar/preferences.html:55 #: searx/templates/oscar/preferences.html:56
msgid "Change the language of the layout" msgid "Change the language of the layout"
msgstr "" msgstr ""
#: searx/templates/oscar/preferences.html:65 #: searx/templates/oscar/preferences.html:66
msgid "Find stuff as you type" msgid "Find stuff as you type"
msgstr "" msgstr ""
#: searx/templates/oscar/preferences.html:76 #: searx/templates/oscar/preferences.html:77
msgid "Proxying image results through searx" msgid "Proxying image results through searx"
msgstr "" msgstr ""
#: searx/templates/oscar/preferences.html:85 #: searx/templates/oscar/preferences.html:86
msgid "" msgid ""
"Change how forms are submited, <a " "Change how forms are submited, <a "
"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
" rel=\"external\">learn more about request methods</a>" " rel=\"external\">learn more about request methods</a>"
msgstr "" msgstr ""
#: searx/templates/oscar/preferences.html:94 #: searx/templates/oscar/preferences.html:95
msgid "Filter content" msgid "Filter content"
msgstr "" msgstr ""
#: searx/templates/oscar/preferences.html:104 #: searx/templates/oscar/preferences.html:105
msgid "Change searx layout" msgid "Change searx layout"
msgstr "" 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 #: searx/templates/oscar/results.html:7
msgid "Search results" msgid "Search results"
msgstr "" msgstr ""
@ -518,6 +572,14 @@ msgstr ""
msgid "Please enable JavaScript to use full functionality of this site." msgid "Please enable JavaScript to use full functionality of this site."
msgstr "" 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 #: searx/templates/oscar/messages/no_data_available.html:4
msgid "There is currently no data available. " msgid "There is currently no data available. "
msgstr "" msgstr ""

View File

@ -12,10 +12,10 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2015-04-26 18:57+0200\n" "POT-Creation-Date: 2015-08-24 11:44+0200\n"
"PO-Revision-Date: 2015-04-26 17:02+0000\n" "PO-Revision-Date: 2015-09-03 07:37+0000\n"
"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n" "Last-Translator: pointhi\n"
"Language-Team: Japanese (http://www.transifex.com/projects/p/searx/language/ja/)\n" "Language-Team: Japanese (http://www.transifex.com/asciimoo/searx/language/ja/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
@ -23,67 +23,67 @@ msgstr ""
"Language: ja\n" "Language: ja\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
#: searx/webapp.py:104 #: searx/webapp.py:114
msgid "files" msgid "files"
msgstr "ファイル" msgstr "ファイル"
#: searx/webapp.py:105 #: searx/webapp.py:115
msgid "general" msgid "general"
msgstr "一般的な" msgstr "一般的な"
#: searx/webapp.py:106 #: searx/webapp.py:116
msgid "music" msgid "music"
msgstr "音楽" msgstr "音楽"
#: searx/webapp.py:107 #: searx/webapp.py:117
msgid "social media" msgid "social media"
msgstr "社会的ネットワーク" msgstr "社会的ネットワーク"
#: searx/webapp.py:108 #: searx/webapp.py:118
msgid "images" msgid "images"
msgstr "画像" msgstr "画像"
#: searx/webapp.py:109 #: searx/webapp.py:119
msgid "videos" msgid "videos"
msgstr "動画" msgstr "動画"
#: searx/webapp.py:110 #: searx/webapp.py:120
msgid "it" msgid "it"
msgstr "情報技術" msgstr "情報技術"
#: searx/webapp.py:111 #: searx/webapp.py:121
msgid "news" msgid "news"
msgstr "お知らせ" msgstr "お知らせ"
#: searx/webapp.py:112 #: searx/webapp.py:122
msgid "map" msgid "map"
msgstr "地図" msgstr "地図"
#: searx/webapp.py:396 #: searx/webapp.py:414
msgid "{minutes} minute(s) ago" msgid "{minutes} minute(s) ago"
msgstr "{minutes}分前" msgstr "{minutes}分前"
#: searx/webapp.py:398 #: searx/webapp.py:416
msgid "{hours} hour(s), {minutes} minute(s) ago" msgid "{hours} hour(s), {minutes} minute(s) ago"
msgstr "{hours}時間と{minutes}分前" msgstr "{hours}時間と{minutes}分前"
#: searx/engines/__init__.py:182 #: searx/engines/__init__.py:185
msgid "Page loads (sec)" msgid "Page loads (sec)"
msgstr "" msgstr ""
#: searx/engines/__init__.py:186 #: searx/engines/__init__.py:189
msgid "Number of results" msgid "Number of results"
msgstr "通知の数" msgstr "通知の数"
#: searx/engines/__init__.py:190 #: searx/engines/__init__.py:193
msgid "Scores" msgid "Scores"
msgstr "" msgstr ""
#: searx/engines/__init__.py:194 #: searx/engines/__init__.py:197
msgid "Scores per result" msgid "Scores per result"
msgstr "" msgstr ""
#: searx/engines/__init__.py:198 #: searx/engines/__init__.py:201
msgid "Errors" msgid "Errors"
msgstr "エラー" msgstr "エラー"
@ -98,11 +98,21 @@ msgstr ""
#: searx/plugins/search_on_category_select.py:19 #: searx/plugins/search_on_category_select.py:19
msgid "" msgid ""
"Perform search immediately if a category selected. Disable to select " "Perform search immediately if a category selected. Disable to select "
"multiple categories." "multiple categories. (JavaScript required)"
msgstr "" msgstr ""
#: searx/plugins/self_ip.py:19 #: searx/plugins/self_info.py:20
msgid "Display your source IP address if the query expression is \"ip\"" 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 "" msgstr ""
#: searx/templates/courgette/index.html:9 #: searx/templates/courgette/index.html:9
@ -131,93 +141,95 @@ msgstr "設定"
#: searx/templates/courgette/preferences.html:9 #: searx/templates/courgette/preferences.html:9
#: searx/templates/default/preferences.html:9 #: searx/templates/default/preferences.html:9
#: searx/templates/oscar/preferences.html:35 #: searx/templates/oscar/preferences.html:36
#: searx/templates/oscar/preferences.html:37 #: searx/templates/oscar/preferences.html:38
msgid "Default categories" msgid "Default categories"
msgstr "" msgstr ""
#: searx/templates/courgette/preferences.html:13 #: searx/templates/courgette/preferences.html:13
#: searx/templates/default/preferences.html:14 #: 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 #: searx/templates/pix-art/preferences.html:9
msgid "Search language" msgid "Search language"
msgstr "検索の言語" msgstr "検索の言語"
#: searx/templates/courgette/preferences.html:16 #: searx/templates/courgette/preferences.html:16
#: searx/templates/default/preferences.html:17 #: 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 #: searx/templates/pix-art/preferences.html:12
msgid "Automatic" msgid "Automatic"
msgstr "" msgstr ""
#: searx/templates/courgette/preferences.html:24 #: searx/templates/courgette/preferences.html:24
#: searx/templates/default/preferences.html:25 #: 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 #: searx/templates/pix-art/preferences.html:20
msgid "Interface language" msgid "Interface language"
msgstr "界面の言語" msgstr "界面の言語"
#: searx/templates/courgette/preferences.html:34 #: searx/templates/courgette/preferences.html:34
#: searx/templates/default/preferences.html:35 #: searx/templates/default/preferences.html:35
#: searx/templates/oscar/preferences.html:64 #: searx/templates/oscar/preferences.html:65
msgid "Autocomplete" msgid "Autocomplete"
msgstr "" msgstr ""
#: searx/templates/courgette/preferences.html:45 #: searx/templates/courgette/preferences.html:45
#: searx/templates/default/preferences.html:46 #: searx/templates/default/preferences.html:46
#: searx/templates/oscar/preferences.html:75 #: searx/templates/oscar/preferences.html:76
msgid "Image proxy" msgid "Image proxy"
msgstr "" msgstr ""
#: searx/templates/courgette/preferences.html:48 #: searx/templates/courgette/preferences.html:48
#: searx/templates/default/preferences.html:49 #: searx/templates/default/preferences.html:49
#: searx/templates/oscar/preferences.html:79 #: searx/templates/oscar/preferences.html:80
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr "活性化する"
#: searx/templates/courgette/preferences.html:49 #: searx/templates/courgette/preferences.html:49
#: searx/templates/default/preferences.html:50 #: searx/templates/default/preferences.html:50
#: searx/templates/oscar/preferences.html:80 #: searx/templates/oscar/preferences.html:81
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr "使用不可能にする"
#: searx/templates/courgette/preferences.html:54 #: searx/templates/courgette/preferences.html:54
#: searx/templates/default/preferences.html:55 #: 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 #: searx/templates/pix-art/preferences.html:30
msgid "Method" msgid "Method"
msgstr "" msgstr ""
#: searx/templates/courgette/preferences.html:63 #: searx/templates/courgette/preferences.html:63
#: searx/templates/default/preferences.html:64 #: 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" msgid "SafeSearch"
msgstr "安全な検索" msgstr "安全な検索"
#: searx/templates/courgette/preferences.html:66 #: searx/templates/courgette/preferences.html:66
#: searx/templates/default/preferences.html:67 #: searx/templates/default/preferences.html:67
#: searx/templates/oscar/preferences.html:97 #: searx/templates/oscar/preferences.html:98
msgid "Strict" msgid "Strict"
msgstr "たくさん。" msgstr "たくさん。"
#: searx/templates/courgette/preferences.html:67 #: searx/templates/courgette/preferences.html:67
#: searx/templates/default/preferences.html:68 #: searx/templates/default/preferences.html:68
#: searx/templates/oscar/preferences.html:98 #: searx/templates/oscar/preferences.html:99
msgid "Moderate" msgid "Moderate"
msgstr "少し" msgstr "少し"
#: searx/templates/courgette/preferences.html:68 #: searx/templates/courgette/preferences.html:68
#: searx/templates/default/preferences.html:69 #: searx/templates/default/preferences.html:69
#: searx/templates/oscar/preferences.html:99 #: searx/templates/oscar/preferences.html:100
msgid "None" msgid "None"
msgstr "なし" msgstr "なし"
#: searx/templates/courgette/preferences.html:73 #: searx/templates/courgette/preferences.html:73
#: searx/templates/default/preferences.html:74 #: 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 #: searx/templates/pix-art/preferences.html:39
msgid "Themes" msgid "Themes"
msgstr "" msgstr "図様"
#: searx/templates/courgette/preferences.html:83 #: searx/templates/courgette/preferences.html:83
msgid "Color" msgid "Color"
@ -255,6 +267,8 @@ msgstr ""
#: searx/templates/courgette/preferences.html:100 #: searx/templates/courgette/preferences.html:100
#: searx/templates/default/preferences.html:88 #: 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 #: searx/templates/pix-art/preferences.html:53
msgid "Engine name" msgid "Engine name"
msgstr "" msgstr ""
@ -269,6 +283,8 @@ msgstr "カテゴリー"
#: searx/templates/default/preferences.html:90 #: searx/templates/default/preferences.html:90
#: searx/templates/default/preferences.html:101 #: searx/templates/default/preferences.html:101
#: searx/templates/oscar/macros.html:67 #: 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:54
#: searx/templates/pix-art/preferences.html:64 #: searx/templates/pix-art/preferences.html:64
msgid "Allow" msgid "Allow"
@ -282,11 +298,11 @@ msgstr "許可する"
#: searx/templates/pix-art/preferences.html:54 #: searx/templates/pix-art/preferences.html:54
#: searx/templates/pix-art/preferences.html:65 #: searx/templates/pix-art/preferences.html:65
msgid "Block" msgid "Block"
msgstr "" msgstr "封鎖する"
#: searx/templates/courgette/preferences.html:122 #: searx/templates/courgette/preferences.html:122
#: searx/templates/default/preferences.html:110 #: 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 #: searx/templates/pix-art/preferences.html:73
msgid "" msgid ""
"These settings are stored in your cookies, this allows us not to store this " "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/courgette/preferences.html:124
#: searx/templates/default/preferences.html:112 #: 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 #: searx/templates/pix-art/preferences.html:75
msgid "" msgid ""
"These cookies serve your sole convenience, we don't use these cookies to " "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/courgette/preferences.html:127
#: searx/templates/default/preferences.html:115 #: 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 #: searx/templates/pix-art/preferences.html:78
msgid "save" msgid "save"
msgstr "保存" msgstr "保存"
#: searx/templates/courgette/preferences.html:128 #: searx/templates/courgette/preferences.html:128
#: searx/templates/default/preferences.html:116 #: searx/templates/default/preferences.html:116
#: searx/templates/oscar/preferences.html:187 #: searx/templates/oscar/preferences.html:242
msgid "Reset defaults" msgid "Reset defaults"
msgstr "" msgstr ""
#: searx/templates/courgette/preferences.html:129 #: searx/templates/courgette/preferences.html:129
#: searx/templates/default/preferences.html:117 #: 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 #: searx/templates/pix-art/preferences.html:79
msgid "back" msgid "back"
msgstr "バック" msgstr "バック"
@ -427,51 +443,89 @@ msgid "Toggle navigation"
msgstr "" msgstr ""
#: searx/templates/oscar/preferences.html:17 #: searx/templates/oscar/preferences.html:17
#: searx/templates/oscar/preferences.html:24 #: searx/templates/oscar/preferences.html:25
msgid "General" msgid "General"
msgstr "" msgstr ""
#: searx/templates/oscar/preferences.html:18 #: searx/templates/oscar/preferences.html:18
#: searx/templates/oscar/preferences.html:125 #: searx/templates/oscar/preferences.html:126
msgid "Engines" msgid "Engines"
msgstr "" msgstr ""
#: searx/templates/oscar/preferences.html:19 #: searx/templates/oscar/preferences.html:19
#: searx/templates/oscar/preferences.html:159 #: searx/templates/oscar/preferences.html:187
msgid "Plugins" msgid "Plugins"
msgstr "" 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?" msgid "What language do you prefer for search?"
msgstr "" msgstr ""
#: searx/templates/oscar/preferences.html:55 #: searx/templates/oscar/preferences.html:56
msgid "Change the language of the layout" msgid "Change the language of the layout"
msgstr "" msgstr ""
#: searx/templates/oscar/preferences.html:65 #: searx/templates/oscar/preferences.html:66
msgid "Find stuff as you type" msgid "Find stuff as you type"
msgstr "" msgstr ""
#: searx/templates/oscar/preferences.html:76 #: searx/templates/oscar/preferences.html:77
msgid "Proxying image results through searx" msgid "Proxying image results through searx"
msgstr "" msgstr ""
#: searx/templates/oscar/preferences.html:85 #: searx/templates/oscar/preferences.html:86
msgid "" msgid ""
"Change how forms are submited, <a " "Change how forms are submited, <a "
"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
" rel=\"external\">learn more about request methods</a>" " rel=\"external\">learn more about request methods</a>"
msgstr "" msgstr ""
#: searx/templates/oscar/preferences.html:94 #: searx/templates/oscar/preferences.html:95
msgid "Filter content" msgid "Filter content"
msgstr "" msgstr ""
#: searx/templates/oscar/preferences.html:104 #: searx/templates/oscar/preferences.html:105
msgid "Change searx layout" msgid "Change searx layout"
msgstr "レイアウトのsearxの変更" 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 #: searx/templates/oscar/results.html:7
msgid "Search results" msgid "Search results"
msgstr "検索結果" msgstr "検索結果"
@ -515,12 +569,20 @@ msgstr ""
#: searx/templates/oscar/messages/js_disabled.html:2 #: searx/templates/oscar/messages/js_disabled.html:2
msgid "Warning!" msgid "Warning!"
msgstr "" msgstr "意見"
#: searx/templates/oscar/messages/js_disabled.html:3 #: searx/templates/oscar/messages/js_disabled.html:3
msgid "Please enable JavaScript to use full functionality of this site." msgid "Please enable JavaScript to use full functionality of this site."
msgstr "" 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 #: searx/templates/oscar/messages/no_data_available.html:4
msgid "There is currently no data available. " msgid "There is currently no data available. "
msgstr "" msgstr ""
@ -537,7 +599,7 @@ msgstr ""
#: searx/templates/oscar/messages/save_settings_successfull.html:7 #: searx/templates/oscar/messages/save_settings_successfull.html:7
msgid "Well done!" msgid "Well done!"
msgstr "" msgstr "あっぱれ。"
#: searx/templates/oscar/messages/save_settings_successfull.html:8 #: searx/templates/oscar/messages/save_settings_successfull.html:8
msgid "Settings saved successfully." msgid "Settings saved successfully."
@ -545,7 +607,7 @@ msgstr ""
#: searx/templates/oscar/messages/unknow_error.html:7 #: searx/templates/oscar/messages/unknow_error.html:7
msgid "Oh snap!" msgid "Oh snap!"
msgstr "" msgstr "ちぇっ"
#: searx/templates/oscar/messages/unknow_error.html:8 #: searx/templates/oscar/messages/unknow_error.html:8
msgid "Something went wrong." msgid "Something went wrong."
@ -585,7 +647,7 @@ msgstr ""
#: searx/templates/oscar/result_templates/torrent.html:7 #: searx/templates/oscar/result_templates/torrent.html:7
msgid "Filesize" msgid "Filesize"
msgstr "" msgstr "ファイル・サイズ"
#: searx/templates/oscar/result_templates/torrent.html:9 #: searx/templates/oscar/result_templates/torrent.html:9
msgid "Bytes" msgid "Bytes"
@ -609,7 +671,7 @@ msgstr ""
#: searx/templates/oscar/result_templates/torrent.html:15 #: searx/templates/oscar/result_templates/torrent.html:15
msgid "Number of Files" msgid "Number of Files"
msgstr "" msgstr "ファイル数"
#: searx/templates/oscar/result_templates/videos.html:7 #: searx/templates/oscar/result_templates/videos.html:7
msgid "show video" msgid "show video"

View File

@ -9,10 +9,10 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2015-04-26 18:57+0200\n" "POT-Creation-Date: 2015-08-24 11:44+0200\n"
"PO-Revision-Date: 2015-04-27 07:45+0000\n" "PO-Revision-Date: 2015-08-24 14:41+0000\n"
"Last-Translator: Nathan Follens\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" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
@ -20,67 +20,67 @@ msgstr ""
"Language: nl\n" "Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: searx/webapp.py:104 #: searx/webapp.py:114
msgid "files" msgid "files"
msgstr "bestanden" msgstr "bestanden"
#: searx/webapp.py:105 #: searx/webapp.py:115
msgid "general" msgid "general"
msgstr "algemeen" msgstr "algemeen"
#: searx/webapp.py:106 #: searx/webapp.py:116
msgid "music" msgid "music"
msgstr "muziek" msgstr "muziek"
#: searx/webapp.py:107 #: searx/webapp.py:117
msgid "social media" msgid "social media"
msgstr "social media" msgstr "social media"
#: searx/webapp.py:108 #: searx/webapp.py:118
msgid "images" msgid "images"
msgstr "afbeeldingen" msgstr "afbeeldingen"
#: searx/webapp.py:109 #: searx/webapp.py:119
msgid "videos" msgid "videos"
msgstr "video's" msgstr "video's"
#: searx/webapp.py:110 #: searx/webapp.py:120
msgid "it" msgid "it"
msgstr "it" msgstr "it"
#: searx/webapp.py:111 #: searx/webapp.py:121
msgid "news" msgid "news"
msgstr "nieuws" msgstr "nieuws"
#: searx/webapp.py:112 #: searx/webapp.py:122
msgid "map" msgid "map"
msgstr "kaart" msgstr "kaart"
#: searx/webapp.py:396 #: searx/webapp.py:414
msgid "{minutes} minute(s) ago" msgid "{minutes} minute(s) ago"
msgstr "{minutes} min geleden" msgstr "{minutes} min geleden"
#: searx/webapp.py:398 #: searx/webapp.py:416
msgid "{hours} hour(s), {minutes} minute(s) ago" msgid "{hours} hour(s), {minutes} minute(s) ago"
msgstr "{hours} uur, {minutes} min geleden" msgstr "{hours} uur, {minutes} min geleden"
#: searx/engines/__init__.py:182 #: searx/engines/__init__.py:185
msgid "Page loads (sec)" msgid "Page loads (sec)"
msgstr "Pagina laadt (sec)" msgstr "Pagina laadt (sec)"
#: searx/engines/__init__.py:186 #: searx/engines/__init__.py:189
msgid "Number of results" msgid "Number of results"
msgstr "Aantal zoekresultaten" msgstr "Aantal zoekresultaten"
#: searx/engines/__init__.py:190 #: searx/engines/__init__.py:193
msgid "Scores" msgid "Scores"
msgstr "Scores" msgstr "Scores"
#: searx/engines/__init__.py:194 #: searx/engines/__init__.py:197
msgid "Scores per result" msgid "Scores per result"
msgstr "Scores per zoekresultaat" msgstr "Scores per zoekresultaat"
#: searx/engines/__init__.py:198 #: searx/engines/__init__.py:201
msgid "Errors" msgid "Errors"
msgstr "Fouten" msgstr "Fouten"
@ -95,12 +95,22 @@ msgstr "Zoeken bij selecteren van categorie"
#: searx/plugins/search_on_category_select.py:19 #: searx/plugins/search_on_category_select.py:19
msgid "" msgid ""
"Perform search immediately if a category selected. Disable to select " "Perform search immediately if a category selected. Disable to select "
"multiple categories." "multiple categories. (JavaScript required)"
msgstr "Zoekopdracht onmiddellijk uitvoeren wanneer een categorie geselecteerd wordt. Zet dit uit om meerdere categorieën te selecteren." 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 #: searx/plugins/self_info.py:20
msgid "Display your source IP address if the query expression is \"ip\"" msgid ""
msgstr "Geef je IP-adres weer wanneer de zoekopdracht \"ip\" is" "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:9
#: searx/templates/courgette/index.html:13 #: searx/templates/courgette/index.html:13
@ -128,90 +138,92 @@ msgstr "Voorkeuren"
#: searx/templates/courgette/preferences.html:9 #: searx/templates/courgette/preferences.html:9
#: searx/templates/default/preferences.html:9 #: searx/templates/default/preferences.html:9
#: searx/templates/oscar/preferences.html:35 #: searx/templates/oscar/preferences.html:36
#: searx/templates/oscar/preferences.html:37 #: searx/templates/oscar/preferences.html:38
msgid "Default categories" msgid "Default categories"
msgstr "Standaardcategorieën" msgstr "Standaardcategorieën"
#: searx/templates/courgette/preferences.html:13 #: searx/templates/courgette/preferences.html:13
#: searx/templates/default/preferences.html:14 #: 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 #: searx/templates/pix-art/preferences.html:9
msgid "Search language" msgid "Search language"
msgstr "Zoektaal" msgstr "Zoektaal"
#: searx/templates/courgette/preferences.html:16 #: searx/templates/courgette/preferences.html:16
#: searx/templates/default/preferences.html:17 #: 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 #: searx/templates/pix-art/preferences.html:12
msgid "Automatic" msgid "Automatic"
msgstr "Automatisch" msgstr "Automatisch"
#: searx/templates/courgette/preferences.html:24 #: searx/templates/courgette/preferences.html:24
#: searx/templates/default/preferences.html:25 #: 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 #: searx/templates/pix-art/preferences.html:20
msgid "Interface language" msgid "Interface language"
msgstr "Interfacetaal" msgstr "Interfacetaal"
#: searx/templates/courgette/preferences.html:34 #: searx/templates/courgette/preferences.html:34
#: searx/templates/default/preferences.html:35 #: searx/templates/default/preferences.html:35
#: searx/templates/oscar/preferences.html:64 #: searx/templates/oscar/preferences.html:65
msgid "Autocomplete" msgid "Autocomplete"
msgstr "Auto-aanvullen" msgstr "Auto-aanvullen"
#: searx/templates/courgette/preferences.html:45 #: searx/templates/courgette/preferences.html:45
#: searx/templates/default/preferences.html:46 #: searx/templates/default/preferences.html:46
#: searx/templates/oscar/preferences.html:75 #: searx/templates/oscar/preferences.html:76
msgid "Image proxy" msgid "Image proxy"
msgstr "Afbeeldingen proxy" msgstr "Afbeeldingen proxy"
#: searx/templates/courgette/preferences.html:48 #: searx/templates/courgette/preferences.html:48
#: searx/templates/default/preferences.html:49 #: searx/templates/default/preferences.html:49
#: searx/templates/oscar/preferences.html:79 #: searx/templates/oscar/preferences.html:80
msgid "Enabled" msgid "Enabled"
msgstr "Ingeschakeld" msgstr "Ingeschakeld"
#: searx/templates/courgette/preferences.html:49 #: searx/templates/courgette/preferences.html:49
#: searx/templates/default/preferences.html:50 #: searx/templates/default/preferences.html:50
#: searx/templates/oscar/preferences.html:80 #: searx/templates/oscar/preferences.html:81
msgid "Disabled" msgid "Disabled"
msgstr "Uitgeschakeld" msgstr "Uitgeschakeld"
#: searx/templates/courgette/preferences.html:54 #: searx/templates/courgette/preferences.html:54
#: searx/templates/default/preferences.html:55 #: 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 #: searx/templates/pix-art/preferences.html:30
msgid "Method" msgid "Method"
msgstr "Methode" msgstr "Methode"
#: searx/templates/courgette/preferences.html:63 #: searx/templates/courgette/preferences.html:63
#: searx/templates/default/preferences.html:64 #: 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" msgid "SafeSearch"
msgstr "SafeSearch" msgstr "SafeSearch"
#: searx/templates/courgette/preferences.html:66 #: searx/templates/courgette/preferences.html:66
#: searx/templates/default/preferences.html:67 #: searx/templates/default/preferences.html:67
#: searx/templates/oscar/preferences.html:97 #: searx/templates/oscar/preferences.html:98
msgid "Strict" msgid "Strict"
msgstr "Strikt" msgstr "Strikt"
#: searx/templates/courgette/preferences.html:67 #: searx/templates/courgette/preferences.html:67
#: searx/templates/default/preferences.html:68 #: searx/templates/default/preferences.html:68
#: searx/templates/oscar/preferences.html:98 #: searx/templates/oscar/preferences.html:99
msgid "Moderate" msgid "Moderate"
msgstr "Gemiddeld" msgstr "Gemiddeld"
#: searx/templates/courgette/preferences.html:68 #: searx/templates/courgette/preferences.html:68
#: searx/templates/default/preferences.html:69 #: searx/templates/default/preferences.html:69
#: searx/templates/oscar/preferences.html:99 #: searx/templates/oscar/preferences.html:100
msgid "None" msgid "None"
msgstr "Geen" msgstr "Geen"
#: searx/templates/courgette/preferences.html:73 #: searx/templates/courgette/preferences.html:73
#: searx/templates/default/preferences.html:74 #: 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 #: searx/templates/pix-art/preferences.html:39
msgid "Themes" msgid "Themes"
msgstr "Thema's" msgstr "Thema's"
@ -252,6 +264,8 @@ msgstr "Momenteel gebruikte zoekmachines"
#: searx/templates/courgette/preferences.html:100 #: searx/templates/courgette/preferences.html:100
#: searx/templates/default/preferences.html:88 #: 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 #: searx/templates/pix-art/preferences.html:53
msgid "Engine name" msgid "Engine name"
msgstr "Naam zoekmachine" msgstr "Naam zoekmachine"
@ -266,6 +280,8 @@ msgstr "Categorie"
#: searx/templates/default/preferences.html:90 #: searx/templates/default/preferences.html:90
#: searx/templates/default/preferences.html:101 #: searx/templates/default/preferences.html:101
#: searx/templates/oscar/macros.html:67 #: 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:54
#: searx/templates/pix-art/preferences.html:64 #: searx/templates/pix-art/preferences.html:64
msgid "Allow" msgid "Allow"
@ -283,7 +299,7 @@ msgstr "Blokkeren"
#: searx/templates/courgette/preferences.html:122 #: searx/templates/courgette/preferences.html:122
#: searx/templates/default/preferences.html:110 #: 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 #: searx/templates/pix-art/preferences.html:73
msgid "" msgid ""
"These settings are stored in your cookies, this allows us not to store this " "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/courgette/preferences.html:124
#: searx/templates/default/preferences.html:112 #: 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 #: searx/templates/pix-art/preferences.html:75
msgid "" msgid ""
"These cookies serve your sole convenience, we don't use these cookies to " "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/courgette/preferences.html:127
#: searx/templates/default/preferences.html:115 #: 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 #: searx/templates/pix-art/preferences.html:78
msgid "save" msgid "save"
msgstr "bewaren" msgstr "bewaren"
#: searx/templates/courgette/preferences.html:128 #: searx/templates/courgette/preferences.html:128
#: searx/templates/default/preferences.html:116 #: searx/templates/default/preferences.html:116
#: searx/templates/oscar/preferences.html:187 #: searx/templates/oscar/preferences.html:242
msgid "Reset defaults" msgid "Reset defaults"
msgstr "Standaardinstellingen herstellen" msgstr "Standaardinstellingen herstellen"
#: searx/templates/courgette/preferences.html:129 #: searx/templates/courgette/preferences.html:129
#: searx/templates/default/preferences.html:117 #: 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 #: searx/templates/pix-art/preferences.html:79
msgid "back" msgid "back"
msgstr "terug" msgstr "terug"
@ -424,51 +440,89 @@ msgid "Toggle navigation"
msgstr "Omschakelen navigatie" msgstr "Omschakelen navigatie"
#: searx/templates/oscar/preferences.html:17 #: searx/templates/oscar/preferences.html:17
#: searx/templates/oscar/preferences.html:24 #: searx/templates/oscar/preferences.html:25
msgid "General" msgid "General"
msgstr "Algemeen" msgstr "Algemeen"
#: searx/templates/oscar/preferences.html:18 #: searx/templates/oscar/preferences.html:18
#: searx/templates/oscar/preferences.html:125 #: searx/templates/oscar/preferences.html:126
msgid "Engines" msgid "Engines"
msgstr "Zoekmachines" msgstr "Zoekmachines"
#: searx/templates/oscar/preferences.html:19 #: searx/templates/oscar/preferences.html:19
#: searx/templates/oscar/preferences.html:159 #: searx/templates/oscar/preferences.html:187
msgid "Plugins" msgid "Plugins"
msgstr "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?" msgid "What language do you prefer for search?"
msgstr "Welke taal wil je gebruiken voor het zoeken?" 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" msgid "Change the language of the layout"
msgstr "Wijzig de taal van de 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" msgid "Find stuff as you type"
msgstr "Zoek tijdens het typen" msgstr "Zoek tijdens het typen"
#: searx/templates/oscar/preferences.html:76 #: searx/templates/oscar/preferences.html:77
msgid "Proxying image results through searx" msgid "Proxying image results through searx"
msgstr "Proxyen afbeeldingen resultaat via searx" msgstr "Proxyen afbeeldingen resultaat via searx"
#: searx/templates/oscar/preferences.html:85 #: searx/templates/oscar/preferences.html:86
msgid "" msgid ""
"Change how forms are submited, <a " "Change how forms are submited, <a "
"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
" rel=\"external\">learn more about request methods</a>" " 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>" 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" msgid "Filter content"
msgstr "Filteren content" msgstr "Filteren content"
#: searx/templates/oscar/preferences.html:104 #: searx/templates/oscar/preferences.html:105
msgid "Change searx layout" msgid "Change searx layout"
msgstr "Wijzig 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 #: searx/templates/oscar/results.html:7
msgid "Search results" msgid "Search results"
msgstr "Zoekresultaten" msgstr "Zoekresultaten"
@ -518,6 +572,14 @@ msgstr "Waarschuwing!"
msgid "Please enable JavaScript to use full functionality of this site." msgid "Please enable JavaScript to use full functionality of this site."
msgstr "Activeer JavaScript om alle functionaliteit van deze site te gebruiken." 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 #: searx/templates/oscar/messages/no_data_available.html:4
msgid "There is currently no data available. " msgid "There is currently no data available. "
msgstr "Er zijn momenteel geen gegevens beschikbaar." msgstr "Er zijn momenteel geen gegevens beschikbaar."

View File

@ -8,10 +8,10 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2015-04-26 18:57+0200\n" "POT-Creation-Date: 2015-08-24 11:44+0200\n"
"PO-Revision-Date: 2015-05-02 22:23+0000\n" "PO-Revision-Date: 2015-08-24 09:45+0000\n"
"Last-Translator: adrian.fita <adrian.fita@gmail.com>\n" "Last-Translator: pointhi\n"
"Language-Team: Romanian (http://www.transifex.com/projects/p/searx/language/ro/)\n" "Language-Team: Romanian (http://www.transifex.com/asciimoo/searx/language/ro/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
@ -19,67 +19,67 @@ msgstr ""
"Language: ro\n" "Language: ro\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\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" msgid "files"
msgstr "fișiere" msgstr "fișiere"
#: searx/webapp.py:105 #: searx/webapp.py:115
msgid "general" msgid "general"
msgstr "general" msgstr "general"
#: searx/webapp.py:106 #: searx/webapp.py:116
msgid "music" msgid "music"
msgstr "muzică" msgstr "muzică"
#: searx/webapp.py:107 #: searx/webapp.py:117
msgid "social media" msgid "social media"
msgstr "rețele sociale" msgstr "rețele sociale"
#: searx/webapp.py:108 #: searx/webapp.py:118
msgid "images" msgid "images"
msgstr "imagini" msgstr "imagini"
#: searx/webapp.py:109 #: searx/webapp.py:119
msgid "videos" msgid "videos"
msgstr "videouri" msgstr "videouri"
#: searx/webapp.py:110 #: searx/webapp.py:120
msgid "it" msgid "it"
msgstr "el(ea)" msgstr "el(ea)"
#: searx/webapp.py:111 #: searx/webapp.py:121
msgid "news" msgid "news"
msgstr "știri" msgstr "știri"
#: searx/webapp.py:112 #: searx/webapp.py:122
msgid "map" msgid "map"
msgstr "hartă" msgstr "hartă"
#: searx/webapp.py:396 #: searx/webapp.py:414
msgid "{minutes} minute(s) ago" msgid "{minutes} minute(s) ago"
msgstr "{minutes} minut(e) în urmă" msgstr "{minutes} minut(e) în urmă"
#: searx/webapp.py:398 #: searx/webapp.py:416
msgid "{hours} hour(s), {minutes} minute(s) ago" msgid "{hours} hour(s), {minutes} minute(s) ago"
msgstr "{hours} oră(e), {minutes} minut(e) în urmă" msgstr "{hours} oră(e), {minutes} minut(e) în urmă"
#: searx/engines/__init__.py:182 #: searx/engines/__init__.py:185
msgid "Page loads (sec)" msgid "Page loads (sec)"
msgstr "Încărcarea paginilor (sec)" msgstr "Încărcarea paginilor (sec)"
#: searx/engines/__init__.py:186 #: searx/engines/__init__.py:189
msgid "Number of results" msgid "Number of results"
msgstr "Numărul de rezultate" msgstr "Numărul de rezultate"
#: searx/engines/__init__.py:190 #: searx/engines/__init__.py:193
msgid "Scores" msgid "Scores"
msgstr "Scoruri" msgstr "Scoruri"
#: searx/engines/__init__.py:194 #: searx/engines/__init__.py:197
msgid "Scores per result" msgid "Scores per result"
msgstr "Scoruri per rezultat" msgstr "Scoruri per rezultat"
#: searx/engines/__init__.py:198 #: searx/engines/__init__.py:201
msgid "Errors" msgid "Errors"
msgstr "Erori" msgstr "Erori"
@ -94,12 +94,22 @@ msgstr "Căutare în categoria selectată"
#: searx/plugins/search_on_category_select.py:19 #: searx/plugins/search_on_category_select.py:19
msgid "" msgid ""
"Perform search immediately if a category selected. Disable to select " "Perform search immediately if a category selected. Disable to select "
"multiple categories." "multiple categories. (JavaScript required)"
msgstr "Realizează căutarea imediat dacă s-a selectat o categorie. Dezactivați pentru a selecta mai multe categorii." msgstr ""
#: searx/plugins/self_ip.py:19 #: searx/plugins/self_info.py:20
msgid "Display your source IP address if the query expression is \"ip\"" msgid ""
msgstr "Afișează adresa voastră IP sursă dacă expresia interogării este „ip”" "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:9
#: searx/templates/courgette/index.html:13 #: searx/templates/courgette/index.html:13
@ -127,90 +137,92 @@ msgstr "Preferințe"
#: searx/templates/courgette/preferences.html:9 #: searx/templates/courgette/preferences.html:9
#: searx/templates/default/preferences.html:9 #: searx/templates/default/preferences.html:9
#: searx/templates/oscar/preferences.html:35 #: searx/templates/oscar/preferences.html:36
#: searx/templates/oscar/preferences.html:37 #: searx/templates/oscar/preferences.html:38
msgid "Default categories" msgid "Default categories"
msgstr "Categorii implicite" msgstr "Categorii implicite"
#: searx/templates/courgette/preferences.html:13 #: searx/templates/courgette/preferences.html:13
#: searx/templates/default/preferences.html:14 #: 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 #: searx/templates/pix-art/preferences.html:9
msgid "Search language" msgid "Search language"
msgstr "Limba de căutare" msgstr "Limba de căutare"
#: searx/templates/courgette/preferences.html:16 #: searx/templates/courgette/preferences.html:16
#: searx/templates/default/preferences.html:17 #: 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 #: searx/templates/pix-art/preferences.html:12
msgid "Automatic" msgid "Automatic"
msgstr "Automat" msgstr "Automat"
#: searx/templates/courgette/preferences.html:24 #: searx/templates/courgette/preferences.html:24
#: searx/templates/default/preferences.html:25 #: 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 #: searx/templates/pix-art/preferences.html:20
msgid "Interface language" msgid "Interface language"
msgstr "Limba interfeței" msgstr "Limba interfeței"
#: searx/templates/courgette/preferences.html:34 #: searx/templates/courgette/preferences.html:34
#: searx/templates/default/preferences.html:35 #: searx/templates/default/preferences.html:35
#: searx/templates/oscar/preferences.html:64 #: searx/templates/oscar/preferences.html:65
msgid "Autocomplete" msgid "Autocomplete"
msgstr "Completare automată" msgstr "Completare automată"
#: searx/templates/courgette/preferences.html:45 #: searx/templates/courgette/preferences.html:45
#: searx/templates/default/preferences.html:46 #: searx/templates/default/preferences.html:46
#: searx/templates/oscar/preferences.html:75 #: searx/templates/oscar/preferences.html:76
msgid "Image proxy" msgid "Image proxy"
msgstr "Proxy de imagini" msgstr "Proxy de imagini"
#: searx/templates/courgette/preferences.html:48 #: searx/templates/courgette/preferences.html:48
#: searx/templates/default/preferences.html:49 #: searx/templates/default/preferences.html:49
#: searx/templates/oscar/preferences.html:79 #: searx/templates/oscar/preferences.html:80
msgid "Enabled" msgid "Enabled"
msgstr "Activat" msgstr "Activat"
#: searx/templates/courgette/preferences.html:49 #: searx/templates/courgette/preferences.html:49
#: searx/templates/default/preferences.html:50 #: searx/templates/default/preferences.html:50
#: searx/templates/oscar/preferences.html:80 #: searx/templates/oscar/preferences.html:81
msgid "Disabled" msgid "Disabled"
msgstr "Dezactivat" msgstr "Dezactivat"
#: searx/templates/courgette/preferences.html:54 #: searx/templates/courgette/preferences.html:54
#: searx/templates/default/preferences.html:55 #: 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 #: searx/templates/pix-art/preferences.html:30
msgid "Method" msgid "Method"
msgstr "Metodă" msgstr "Metodă"
#: searx/templates/courgette/preferences.html:63 #: searx/templates/courgette/preferences.html:63
#: searx/templates/default/preferences.html:64 #: 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" msgid "SafeSearch"
msgstr "CăutareSigură" msgstr "CăutareSigură"
#: searx/templates/courgette/preferences.html:66 #: searx/templates/courgette/preferences.html:66
#: searx/templates/default/preferences.html:67 #: searx/templates/default/preferences.html:67
#: searx/templates/oscar/preferences.html:97 #: searx/templates/oscar/preferences.html:98
msgid "Strict" msgid "Strict"
msgstr "Strict" msgstr "Strict"
#: searx/templates/courgette/preferences.html:67 #: searx/templates/courgette/preferences.html:67
#: searx/templates/default/preferences.html:68 #: searx/templates/default/preferences.html:68
#: searx/templates/oscar/preferences.html:98 #: searx/templates/oscar/preferences.html:99
msgid "Moderate" msgid "Moderate"
msgstr "Moderat" msgstr "Moderat"
#: searx/templates/courgette/preferences.html:68 #: searx/templates/courgette/preferences.html:68
#: searx/templates/default/preferences.html:69 #: searx/templates/default/preferences.html:69
#: searx/templates/oscar/preferences.html:99 #: searx/templates/oscar/preferences.html:100
msgid "None" msgid "None"
msgstr "Nimic" msgstr "Nimic"
#: searx/templates/courgette/preferences.html:73 #: searx/templates/courgette/preferences.html:73
#: searx/templates/default/preferences.html:74 #: 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 #: searx/templates/pix-art/preferences.html:39
msgid "Themes" msgid "Themes"
msgstr "Teme" msgstr "Teme"
@ -251,6 +263,8 @@ msgstr "Motoarele de căutare folosite curent"
#: searx/templates/courgette/preferences.html:100 #: searx/templates/courgette/preferences.html:100
#: searx/templates/default/preferences.html:88 #: 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 #: searx/templates/pix-art/preferences.html:53
msgid "Engine name" msgid "Engine name"
msgstr "Numele motorului" msgstr "Numele motorului"
@ -265,6 +279,8 @@ msgstr "Categorie"
#: searx/templates/default/preferences.html:90 #: searx/templates/default/preferences.html:90
#: searx/templates/default/preferences.html:101 #: searx/templates/default/preferences.html:101
#: searx/templates/oscar/macros.html:67 #: 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:54
#: searx/templates/pix-art/preferences.html:64 #: searx/templates/pix-art/preferences.html:64
msgid "Allow" msgid "Allow"
@ -282,7 +298,7 @@ msgstr "Blochează"
#: searx/templates/courgette/preferences.html:122 #: searx/templates/courgette/preferences.html:122
#: searx/templates/default/preferences.html:110 #: 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 #: searx/templates/pix-art/preferences.html:73
msgid "" msgid ""
"These settings are stored in your cookies, this allows us not to store this " "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/courgette/preferences.html:124
#: searx/templates/default/preferences.html:112 #: 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 #: searx/templates/pix-art/preferences.html:75
msgid "" msgid ""
"These cookies serve your sole convenience, we don't use these cookies to " "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/courgette/preferences.html:127
#: searx/templates/default/preferences.html:115 #: 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 #: searx/templates/pix-art/preferences.html:78
msgid "save" msgid "save"
msgstr "salvează" msgstr "salvează"
#: searx/templates/courgette/preferences.html:128 #: searx/templates/courgette/preferences.html:128
#: searx/templates/default/preferences.html:116 #: searx/templates/default/preferences.html:116
#: searx/templates/oscar/preferences.html:187 #: searx/templates/oscar/preferences.html:242
msgid "Reset defaults" msgid "Reset defaults"
msgstr "Resetează valorile implicite" msgstr "Resetează valorile implicite"
#: searx/templates/courgette/preferences.html:129 #: searx/templates/courgette/preferences.html:129
#: searx/templates/default/preferences.html:117 #: 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 #: searx/templates/pix-art/preferences.html:79
msgid "back" msgid "back"
msgstr "înapoi" msgstr "înapoi"
@ -423,51 +439,89 @@ msgid "Toggle navigation"
msgstr "Comută navigarea" msgstr "Comută navigarea"
#: searx/templates/oscar/preferences.html:17 #: searx/templates/oscar/preferences.html:17
#: searx/templates/oscar/preferences.html:24 #: searx/templates/oscar/preferences.html:25
msgid "General" msgid "General"
msgstr "General" msgstr "General"
#: searx/templates/oscar/preferences.html:18 #: searx/templates/oscar/preferences.html:18
#: searx/templates/oscar/preferences.html:125 #: searx/templates/oscar/preferences.html:126
msgid "Engines" msgid "Engines"
msgstr "Motoare" msgstr "Motoare"
#: searx/templates/oscar/preferences.html:19 #: searx/templates/oscar/preferences.html:19
#: searx/templates/oscar/preferences.html:159 #: searx/templates/oscar/preferences.html:187
msgid "Plugins" msgid "Plugins"
msgstr "Module" 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?" msgid "What language do you prefer for search?"
msgstr "Ce limbă preferați pentru căutare?" 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" msgid "Change the language of the layout"
msgstr "Schimbă limba aspectului" msgstr "Schimbă limba aspectului"
#: searx/templates/oscar/preferences.html:65 #: searx/templates/oscar/preferences.html:66
msgid "Find stuff as you type" msgid "Find stuff as you type"
msgstr "Găsește lucruri în timp ce tastezi" 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" msgid "Proxying image results through searx"
msgstr "Transferă rezultatele cu imagini prin searx" msgstr "Transferă rezultatele cu imagini prin searx"
#: searx/templates/oscar/preferences.html:85 #: searx/templates/oscar/preferences.html:86
msgid "" msgid ""
"Change how forms are submited, <a " "Change how forms are submited, <a "
"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
" rel=\"external\">learn more about request methods</a>" " 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>" 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" msgid "Filter content"
msgstr "Filtrează conținutul" msgstr "Filtrează conținutul"
#: searx/templates/oscar/preferences.html:104 #: searx/templates/oscar/preferences.html:105
msgid "Change searx layout" msgid "Change searx layout"
msgstr "Schimbă aspectul lui searx" 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 #: searx/templates/oscar/results.html:7
msgid "Search results" msgid "Search results"
msgstr "Rezultatele căutării" msgstr "Rezultatele căutării"
@ -517,6 +571,14 @@ msgstr "Avertizare!"
msgid "Please enable JavaScript to use full functionality of this site." 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." 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 #: searx/templates/oscar/messages/no_data_available.html:4
msgid "There is currently no data available. " msgid "There is currently no data available. "
msgstr "Deocamdată nu există date disponibile." msgstr "Deocamdată nu există date disponibile."

View File

@ -9,10 +9,10 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2015-04-26 18:57+0200\n" "POT-Creation-Date: 2015-08-24 11:44+0200\n"
"PO-Revision-Date: 2015-04-26 17:02+0000\n" "PO-Revision-Date: 2015-08-24 09:45+0000\n"
"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n" "Last-Translator: pointhi\n"
"Language-Team: Russian (http://www.transifex.com/projects/p/searx/language/ru/)\n" "Language-Team: Russian (http://www.transifex.com/asciimoo/searx/language/ru/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
@ -20,67 +20,67 @@ msgstr ""
"Language: ru\n" "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" "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" msgid "files"
msgstr "файлы" msgstr "файлы"
#: searx/webapp.py:105 #: searx/webapp.py:115
msgid "general" msgid "general"
msgstr "общие" msgstr "общие"
#: searx/webapp.py:106 #: searx/webapp.py:116
msgid "music" msgid "music"
msgstr "музыка" msgstr "музыка"
#: searx/webapp.py:107 #: searx/webapp.py:117
msgid "social media" msgid "social media"
msgstr "соцсети" msgstr "соцсети"
#: searx/webapp.py:108 #: searx/webapp.py:118
msgid "images" msgid "images"
msgstr "картинки" msgstr "картинки"
#: searx/webapp.py:109 #: searx/webapp.py:119
msgid "videos" msgid "videos"
msgstr "видео" msgstr "видео"
#: searx/webapp.py:110 #: searx/webapp.py:120
msgid "it" msgid "it"
msgstr "IT" msgstr "IT"
#: searx/webapp.py:111 #: searx/webapp.py:121
msgid "news" msgid "news"
msgstr "новости" msgstr "новости"
#: searx/webapp.py:112 #: searx/webapp.py:122
msgid "map" msgid "map"
msgstr "карты" msgstr "карты"
#: searx/webapp.py:396 #: searx/webapp.py:414
msgid "{minutes} minute(s) ago" msgid "{minutes} minute(s) ago"
msgstr "{minutes} минут назад" msgstr "{minutes} минут назад"
#: searx/webapp.py:398 #: searx/webapp.py:416
msgid "{hours} hour(s), {minutes} minute(s) ago" msgid "{hours} hour(s), {minutes} minute(s) ago"
msgstr "{hours} час, {minutes} минут назад" msgstr "{hours} час, {minutes} минут назад"
#: searx/engines/__init__.py:182 #: searx/engines/__init__.py:185
msgid "Page loads (sec)" msgid "Page loads (sec)"
msgstr "Время загрузки (сек)" msgstr "Время загрузки (сек)"
#: searx/engines/__init__.py:186 #: searx/engines/__init__.py:189
msgid "Number of results" msgid "Number of results"
msgstr "Число результатов" msgstr "Число результатов"
#: searx/engines/__init__.py:190 #: searx/engines/__init__.py:193
msgid "Scores" msgid "Scores"
msgstr "Попаданий" msgstr "Попаданий"
#: searx/engines/__init__.py:194 #: searx/engines/__init__.py:197
msgid "Scores per result" msgid "Scores per result"
msgstr "Попаданий за результат" msgstr "Попаданий за результат"
#: searx/engines/__init__.py:198 #: searx/engines/__init__.py:201
msgid "Errors" msgid "Errors"
msgstr "Ошибок" msgstr "Ошибок"
@ -95,11 +95,21 @@ msgstr ""
#: searx/plugins/search_on_category_select.py:19 #: searx/plugins/search_on_category_select.py:19
msgid "" msgid ""
"Perform search immediately if a category selected. Disable to select " "Perform search immediately if a category selected. Disable to select "
"multiple categories." "multiple categories. (JavaScript required)"
msgstr "" msgstr ""
#: searx/plugins/self_ip.py:19 #: searx/plugins/self_info.py:20
msgid "Display your source IP address if the query expression is \"ip\"" 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 "" msgstr ""
#: searx/templates/courgette/index.html:9 #: searx/templates/courgette/index.html:9
@ -128,90 +138,92 @@ msgstr "Опции"
#: searx/templates/courgette/preferences.html:9 #: searx/templates/courgette/preferences.html:9
#: searx/templates/default/preferences.html:9 #: searx/templates/default/preferences.html:9
#: searx/templates/oscar/preferences.html:35 #: searx/templates/oscar/preferences.html:36
#: searx/templates/oscar/preferences.html:37 #: searx/templates/oscar/preferences.html:38
msgid "Default categories" msgid "Default categories"
msgstr "Категории по-умолчанию" msgstr "Категории по-умолчанию"
#: searx/templates/courgette/preferences.html:13 #: searx/templates/courgette/preferences.html:13
#: searx/templates/default/preferences.html:14 #: 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 #: searx/templates/pix-art/preferences.html:9
msgid "Search language" msgid "Search language"
msgstr "Язык поиска" msgstr "Язык поиска"
#: searx/templates/courgette/preferences.html:16 #: searx/templates/courgette/preferences.html:16
#: searx/templates/default/preferences.html:17 #: 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 #: searx/templates/pix-art/preferences.html:12
msgid "Automatic" msgid "Automatic"
msgstr "Выбирать автоматически" msgstr "Выбирать автоматически"
#: searx/templates/courgette/preferences.html:24 #: searx/templates/courgette/preferences.html:24
#: searx/templates/default/preferences.html:25 #: 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 #: searx/templates/pix-art/preferences.html:20
msgid "Interface language" msgid "Interface language"
msgstr "Язык интерфейса" msgstr "Язык интерфейса"
#: searx/templates/courgette/preferences.html:34 #: searx/templates/courgette/preferences.html:34
#: searx/templates/default/preferences.html:35 #: searx/templates/default/preferences.html:35
#: searx/templates/oscar/preferences.html:64 #: searx/templates/oscar/preferences.html:65
msgid "Autocomplete" msgid "Autocomplete"
msgstr "Авто-подсказки" msgstr "Авто-подсказки"
#: searx/templates/courgette/preferences.html:45 #: searx/templates/courgette/preferences.html:45
#: searx/templates/default/preferences.html:46 #: searx/templates/default/preferences.html:46
#: searx/templates/oscar/preferences.html:75 #: searx/templates/oscar/preferences.html:76
msgid "Image proxy" msgid "Image proxy"
msgstr "Прокси для картинок" msgstr "Прокси для картинок"
#: searx/templates/courgette/preferences.html:48 #: searx/templates/courgette/preferences.html:48
#: searx/templates/default/preferences.html:49 #: searx/templates/default/preferences.html:49
#: searx/templates/oscar/preferences.html:79 #: searx/templates/oscar/preferences.html:80
msgid "Enabled" msgid "Enabled"
msgstr "Включен" msgstr "Включен"
#: searx/templates/courgette/preferences.html:49 #: searx/templates/courgette/preferences.html:49
#: searx/templates/default/preferences.html:50 #: searx/templates/default/preferences.html:50
#: searx/templates/oscar/preferences.html:80 #: searx/templates/oscar/preferences.html:81
msgid "Disabled" msgid "Disabled"
msgstr "Выключен" msgstr "Выключен"
#: searx/templates/courgette/preferences.html:54 #: searx/templates/courgette/preferences.html:54
#: searx/templates/default/preferences.html:55 #: 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 #: searx/templates/pix-art/preferences.html:30
msgid "Method" msgid "Method"
msgstr "Метод" msgstr "Метод"
#: searx/templates/courgette/preferences.html:63 #: searx/templates/courgette/preferences.html:63
#: searx/templates/default/preferences.html:64 #: 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" msgid "SafeSearch"
msgstr "Безопасный поиск" msgstr "Безопасный поиск"
#: searx/templates/courgette/preferences.html:66 #: searx/templates/courgette/preferences.html:66
#: searx/templates/default/preferences.html:67 #: searx/templates/default/preferences.html:67
#: searx/templates/oscar/preferences.html:97 #: searx/templates/oscar/preferences.html:98
msgid "Strict" msgid "Strict"
msgstr "Строгий" msgstr "Строгий"
#: searx/templates/courgette/preferences.html:67 #: searx/templates/courgette/preferences.html:67
#: searx/templates/default/preferences.html:68 #: searx/templates/default/preferences.html:68
#: searx/templates/oscar/preferences.html:98 #: searx/templates/oscar/preferences.html:99
msgid "Moderate" msgid "Moderate"
msgstr "Умеренный" msgstr "Умеренный"
#: searx/templates/courgette/preferences.html:68 #: searx/templates/courgette/preferences.html:68
#: searx/templates/default/preferences.html:69 #: searx/templates/default/preferences.html:69
#: searx/templates/oscar/preferences.html:99 #: searx/templates/oscar/preferences.html:100
msgid "None" msgid "None"
msgstr "Выключен" msgstr "Выключен"
#: searx/templates/courgette/preferences.html:73 #: searx/templates/courgette/preferences.html:73
#: searx/templates/default/preferences.html:74 #: 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 #: searx/templates/pix-art/preferences.html:39
msgid "Themes" msgid "Themes"
msgstr "Темы" msgstr "Темы"
@ -252,6 +264,8 @@ msgstr "Используемые поисковые движки"
#: searx/templates/courgette/preferences.html:100 #: searx/templates/courgette/preferences.html:100
#: searx/templates/default/preferences.html:88 #: 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 #: searx/templates/pix-art/preferences.html:53
msgid "Engine name" msgid "Engine name"
msgstr "Имя движка" msgstr "Имя движка"
@ -266,6 +280,8 @@ msgstr "Категория"
#: searx/templates/default/preferences.html:90 #: searx/templates/default/preferences.html:90
#: searx/templates/default/preferences.html:101 #: searx/templates/default/preferences.html:101
#: searx/templates/oscar/macros.html:67 #: 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:54
#: searx/templates/pix-art/preferences.html:64 #: searx/templates/pix-art/preferences.html:64
msgid "Allow" msgid "Allow"
@ -283,7 +299,7 @@ msgstr "Блокировать"
#: searx/templates/courgette/preferences.html:122 #: searx/templates/courgette/preferences.html:122
#: searx/templates/default/preferences.html:110 #: 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 #: searx/templates/pix-art/preferences.html:73
msgid "" msgid ""
"These settings are stored in your cookies, this allows us not to store this " "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/courgette/preferences.html:124
#: searx/templates/default/preferences.html:112 #: 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 #: searx/templates/pix-art/preferences.html:75
msgid "" msgid ""
"These cookies serve your sole convenience, we don't use these cookies to " "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/courgette/preferences.html:127
#: searx/templates/default/preferences.html:115 #: 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 #: searx/templates/pix-art/preferences.html:78
msgid "save" msgid "save"
msgstr "сохранить" msgstr "сохранить"
#: searx/templates/courgette/preferences.html:128 #: searx/templates/courgette/preferences.html:128
#: searx/templates/default/preferences.html:116 #: searx/templates/default/preferences.html:116
#: searx/templates/oscar/preferences.html:187 #: searx/templates/oscar/preferences.html:242
msgid "Reset defaults" msgid "Reset defaults"
msgstr "" msgstr ""
#: searx/templates/courgette/preferences.html:129 #: searx/templates/courgette/preferences.html:129
#: searx/templates/default/preferences.html:117 #: 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 #: searx/templates/pix-art/preferences.html:79
msgid "back" msgid "back"
msgstr "назад" msgstr "назад"
@ -424,51 +440,89 @@ msgid "Toggle navigation"
msgstr "Переключить навигацию" msgstr "Переключить навигацию"
#: searx/templates/oscar/preferences.html:17 #: searx/templates/oscar/preferences.html:17
#: searx/templates/oscar/preferences.html:24 #: searx/templates/oscar/preferences.html:25
msgid "General" msgid "General"
msgstr "Общие" msgstr "Общие"
#: searx/templates/oscar/preferences.html:18 #: searx/templates/oscar/preferences.html:18
#: searx/templates/oscar/preferences.html:125 #: searx/templates/oscar/preferences.html:126
msgid "Engines" msgid "Engines"
msgstr "Движки" msgstr "Движки"
#: searx/templates/oscar/preferences.html:19 #: searx/templates/oscar/preferences.html:19
#: searx/templates/oscar/preferences.html:159 #: searx/templates/oscar/preferences.html:187
msgid "Plugins" msgid "Plugins"
msgstr "" 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?" msgid "What language do you prefer for search?"
msgstr "На каком языке вы предпочитаете искать?" msgstr "На каком языке вы предпочитаете искать?"
#: searx/templates/oscar/preferences.html:55 #: searx/templates/oscar/preferences.html:56
msgid "Change the language of the layout" msgid "Change the language of the layout"
msgstr "Изменить язык сайта" msgstr "Изменить язык сайта"
#: searx/templates/oscar/preferences.html:65 #: searx/templates/oscar/preferences.html:66
msgid "Find stuff as you type" msgid "Find stuff as you type"
msgstr "Поисковые предложения при наборе" msgstr "Поисковые предложения при наборе"
#: searx/templates/oscar/preferences.html:76 #: searx/templates/oscar/preferences.html:77
msgid "Proxying image results through searx" msgid "Proxying image results through searx"
msgstr "Проксировать найденные изображения с помощью searx" msgstr "Проксировать найденные изображения с помощью searx"
#: searx/templates/oscar/preferences.html:85 #: searx/templates/oscar/preferences.html:86
msgid "" msgid ""
"Change how forms are submited, <a " "Change how forms are submited, <a "
"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
" rel=\"external\">learn more about request methods</a>" " rel=\"external\">learn more about request methods</a>"
msgstr "Изменяет способ отправки запросов (<a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">подробней о методах запросов</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" msgid "Filter content"
msgstr "Использовать ли фильтр контента" msgstr "Использовать ли фильтр контента"
#: searx/templates/oscar/preferences.html:104 #: searx/templates/oscar/preferences.html:105
msgid "Change searx layout" msgid "Change searx layout"
msgstr "Изменить тему сайта" 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 #: searx/templates/oscar/results.html:7
msgid "Search results" msgid "Search results"
msgstr "Результаты поиска" msgstr "Результаты поиска"
@ -518,6 +572,14 @@ msgstr "Внимание!"
msgid "Please enable JavaScript to use full functionality of this site." msgid "Please enable JavaScript to use full functionality of this site."
msgstr "Пожалуйста включите JavaScript, чтобы использовать все функции сайта." 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 #: searx/templates/oscar/messages/no_data_available.html:4
msgid "There is currently no data available. " msgid "There is currently no data available. "
msgstr "На данный момент данные недоступны." msgstr "На данный момент данные недоступны."

View File

@ -9,10 +9,10 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2015-04-26 18:57+0200\n" "POT-Creation-Date: 2015-08-24 11:44+0200\n"
"PO-Revision-Date: 2015-04-28 17:33+0000\n" "PO-Revision-Date: 2015-08-24 09:45+0000\n"
"Last-Translator: Caner Başaran <basaran.caner@gmail.com>\n" "Last-Translator: pointhi\n"
"Language-Team: Turkish (http://www.transifex.com/projects/p/searx/language/tr/)\n" "Language-Team: Turkish (http://www.transifex.com/asciimoo/searx/language/tr/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
@ -20,67 +20,67 @@ msgstr ""
"Language: tr\n" "Language: tr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: searx/webapp.py:104 #: searx/webapp.py:114
msgid "files" msgid "files"
msgstr "dosyalar" msgstr "dosyalar"
#: searx/webapp.py:105 #: searx/webapp.py:115
msgid "general" msgid "general"
msgstr "genel" msgstr "genel"
#: searx/webapp.py:106 #: searx/webapp.py:116
msgid "music" msgid "music"
msgstr "müzik" msgstr "müzik"
#: searx/webapp.py:107 #: searx/webapp.py:117
msgid "social media" msgid "social media"
msgstr "sosyal medya" msgstr "sosyal medya"
#: searx/webapp.py:108 #: searx/webapp.py:118
msgid "images" msgid "images"
msgstr "görseller" msgstr "görseller"
#: searx/webapp.py:109 #: searx/webapp.py:119
msgid "videos" msgid "videos"
msgstr "videolar" msgstr "videolar"
#: searx/webapp.py:110 #: searx/webapp.py:120
msgid "it" msgid "it"
msgstr "bilişim" msgstr "bilişim"
#: searx/webapp.py:111 #: searx/webapp.py:121
msgid "news" msgid "news"
msgstr "haberler" msgstr "haberler"
#: searx/webapp.py:112 #: searx/webapp.py:122
msgid "map" msgid "map"
msgstr "harita" msgstr "harita"
#: searx/webapp.py:396 #: searx/webapp.py:414
msgid "{minutes} minute(s) ago" msgid "{minutes} minute(s) ago"
msgstr "{minutes} dakika() önce" msgstr "{minutes} dakika() önce"
#: searx/webapp.py:398 #: searx/webapp.py:416
msgid "{hours} hour(s), {minutes} minute(s) ago" msgid "{hours} hour(s), {minutes} minute(s) ago"
msgstr "{hours} saat(), {minutes} dakika() önce" msgstr "{hours} saat(), {minutes} dakika() önce"
#: searx/engines/__init__.py:182 #: searx/engines/__init__.py:185
msgid "Page loads (sec)" msgid "Page loads (sec)"
msgstr "Yüklenen sayfa (sn)" msgstr "Yüklenen sayfa (sn)"
#: searx/engines/__init__.py:186 #: searx/engines/__init__.py:189
msgid "Number of results" msgid "Number of results"
msgstr "Sonuç sayısı" msgstr "Sonuç sayısı"
#: searx/engines/__init__.py:190 #: searx/engines/__init__.py:193
msgid "Scores" msgid "Scores"
msgstr "" msgstr ""
#: searx/engines/__init__.py:194 #: searx/engines/__init__.py:197
msgid "Scores per result" msgid "Scores per result"
msgstr "" msgstr ""
#: searx/engines/__init__.py:198 #: searx/engines/__init__.py:201
msgid "Errors" msgid "Errors"
msgstr "Hatalar" msgstr "Hatalar"
@ -95,11 +95,21 @@ msgstr ""
#: searx/plugins/search_on_category_select.py:19 #: searx/plugins/search_on_category_select.py:19
msgid "" msgid ""
"Perform search immediately if a category selected. Disable to select " "Perform search immediately if a category selected. Disable to select "
"multiple categories." "multiple categories. (JavaScript required)"
msgstr "" msgstr ""
#: searx/plugins/self_ip.py:19 #: searx/plugins/self_info.py:20
msgid "Display your source IP address if the query expression is \"ip\"" 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 "" msgstr ""
#: searx/templates/courgette/index.html:9 #: searx/templates/courgette/index.html:9
@ -128,90 +138,92 @@ msgstr "Tercihler"
#: searx/templates/courgette/preferences.html:9 #: searx/templates/courgette/preferences.html:9
#: searx/templates/default/preferences.html:9 #: searx/templates/default/preferences.html:9
#: searx/templates/oscar/preferences.html:35 #: searx/templates/oscar/preferences.html:36
#: searx/templates/oscar/preferences.html:37 #: searx/templates/oscar/preferences.html:38
msgid "Default categories" msgid "Default categories"
msgstr "Öntanımlı kategoriler" msgstr "Öntanımlı kategoriler"
#: searx/templates/courgette/preferences.html:13 #: searx/templates/courgette/preferences.html:13
#: searx/templates/default/preferences.html:14 #: 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 #: searx/templates/pix-art/preferences.html:9
msgid "Search language" msgid "Search language"
msgstr "Arama dili" msgstr "Arama dili"
#: searx/templates/courgette/preferences.html:16 #: searx/templates/courgette/preferences.html:16
#: searx/templates/default/preferences.html:17 #: 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 #: searx/templates/pix-art/preferences.html:12
msgid "Automatic" msgid "Automatic"
msgstr "Otomatik" msgstr "Otomatik"
#: searx/templates/courgette/preferences.html:24 #: searx/templates/courgette/preferences.html:24
#: searx/templates/default/preferences.html:25 #: 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 #: searx/templates/pix-art/preferences.html:20
msgid "Interface language" msgid "Interface language"
msgstr "Arayüz dili" msgstr "Arayüz dili"
#: searx/templates/courgette/preferences.html:34 #: searx/templates/courgette/preferences.html:34
#: searx/templates/default/preferences.html:35 #: searx/templates/default/preferences.html:35
#: searx/templates/oscar/preferences.html:64 #: searx/templates/oscar/preferences.html:65
msgid "Autocomplete" msgid "Autocomplete"
msgstr "Otomatik tamamlama" msgstr "Otomatik tamamlama"
#: searx/templates/courgette/preferences.html:45 #: searx/templates/courgette/preferences.html:45
#: searx/templates/default/preferences.html:46 #: searx/templates/default/preferences.html:46
#: searx/templates/oscar/preferences.html:75 #: searx/templates/oscar/preferences.html:76
msgid "Image proxy" msgid "Image proxy"
msgstr "Görsel vekil sunucu" msgstr "Görsel vekil sunucu"
#: searx/templates/courgette/preferences.html:48 #: searx/templates/courgette/preferences.html:48
#: searx/templates/default/preferences.html:49 #: searx/templates/default/preferences.html:49
#: searx/templates/oscar/preferences.html:79 #: searx/templates/oscar/preferences.html:80
msgid "Enabled" msgid "Enabled"
msgstr "Etkin" msgstr "Etkin"
#: searx/templates/courgette/preferences.html:49 #: searx/templates/courgette/preferences.html:49
#: searx/templates/default/preferences.html:50 #: searx/templates/default/preferences.html:50
#: searx/templates/oscar/preferences.html:80 #: searx/templates/oscar/preferences.html:81
msgid "Disabled" msgid "Disabled"
msgstr "Devre dışı" msgstr "Devre dışı"
#: searx/templates/courgette/preferences.html:54 #: searx/templates/courgette/preferences.html:54
#: searx/templates/default/preferences.html:55 #: 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 #: searx/templates/pix-art/preferences.html:30
msgid "Method" msgid "Method"
msgstr "Sorgu gönderim yöntemi" msgstr "Sorgu gönderim yöntemi"
#: searx/templates/courgette/preferences.html:63 #: searx/templates/courgette/preferences.html:63
#: searx/templates/default/preferences.html:64 #: 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" msgid "SafeSearch"
msgstr "Güvenli Arama" msgstr "Güvenli Arama"
#: searx/templates/courgette/preferences.html:66 #: searx/templates/courgette/preferences.html:66
#: searx/templates/default/preferences.html:67 #: searx/templates/default/preferences.html:67
#: searx/templates/oscar/preferences.html:97 #: searx/templates/oscar/preferences.html:98
msgid "Strict" msgid "Strict"
msgstr "Sıkı" msgstr "Sıkı"
#: searx/templates/courgette/preferences.html:67 #: searx/templates/courgette/preferences.html:67
#: searx/templates/default/preferences.html:68 #: searx/templates/default/preferences.html:68
#: searx/templates/oscar/preferences.html:98 #: searx/templates/oscar/preferences.html:99
msgid "Moderate" msgid "Moderate"
msgstr "Orta" msgstr "Orta"
#: searx/templates/courgette/preferences.html:68 #: searx/templates/courgette/preferences.html:68
#: searx/templates/default/preferences.html:69 #: searx/templates/default/preferences.html:69
#: searx/templates/oscar/preferences.html:99 #: searx/templates/oscar/preferences.html:100
msgid "None" msgid "None"
msgstr "Yok" msgstr "Yok"
#: searx/templates/courgette/preferences.html:73 #: searx/templates/courgette/preferences.html:73
#: searx/templates/default/preferences.html:74 #: 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 #: searx/templates/pix-art/preferences.html:39
msgid "Themes" msgid "Themes"
msgstr "Temalar" msgstr "Temalar"
@ -252,6 +264,8 @@ msgstr "Şu anda kullanılan arama motorları"
#: searx/templates/courgette/preferences.html:100 #: searx/templates/courgette/preferences.html:100
#: searx/templates/default/preferences.html:88 #: 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 #: searx/templates/pix-art/preferences.html:53
msgid "Engine name" msgid "Engine name"
msgstr "Motor adı" msgstr "Motor adı"
@ -266,6 +280,8 @@ msgstr "Türü"
#: searx/templates/default/preferences.html:90 #: searx/templates/default/preferences.html:90
#: searx/templates/default/preferences.html:101 #: searx/templates/default/preferences.html:101
#: searx/templates/oscar/macros.html:67 #: 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:54
#: searx/templates/pix-art/preferences.html:64 #: searx/templates/pix-art/preferences.html:64
msgid "Allow" msgid "Allow"
@ -283,7 +299,7 @@ msgstr "Engelle"
#: searx/templates/courgette/preferences.html:122 #: searx/templates/courgette/preferences.html:122
#: searx/templates/default/preferences.html:110 #: 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 #: searx/templates/pix-art/preferences.html:73
msgid "" msgid ""
"These settings are stored in your cookies, this allows us not to store this " "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/courgette/preferences.html:124
#: searx/templates/default/preferences.html:112 #: 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 #: searx/templates/pix-art/preferences.html:75
msgid "" msgid ""
"These cookies serve your sole convenience, we don't use these cookies to " "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/courgette/preferences.html:127
#: searx/templates/default/preferences.html:115 #: 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 #: searx/templates/pix-art/preferences.html:78
msgid "save" msgid "save"
msgstr "kaydet" msgstr "kaydet"
#: searx/templates/courgette/preferences.html:128 #: searx/templates/courgette/preferences.html:128
#: searx/templates/default/preferences.html:116 #: searx/templates/default/preferences.html:116
#: searx/templates/oscar/preferences.html:187 #: searx/templates/oscar/preferences.html:242
msgid "Reset defaults" msgid "Reset defaults"
msgstr "" msgstr "Varsayılanları sıfırla"
#: searx/templates/courgette/preferences.html:129 #: searx/templates/courgette/preferences.html:129
#: searx/templates/default/preferences.html:117 #: 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 #: searx/templates/pix-art/preferences.html:79
msgid "back" msgid "back"
msgstr "geri" msgstr "geri"
@ -424,51 +440,89 @@ msgid "Toggle navigation"
msgstr "" msgstr ""
#: searx/templates/oscar/preferences.html:17 #: searx/templates/oscar/preferences.html:17
#: searx/templates/oscar/preferences.html:24 #: searx/templates/oscar/preferences.html:25
msgid "General" msgid "General"
msgstr "Genel" msgstr "Genel"
#: searx/templates/oscar/preferences.html:18 #: searx/templates/oscar/preferences.html:18
#: searx/templates/oscar/preferences.html:125 #: searx/templates/oscar/preferences.html:126
msgid "Engines" msgid "Engines"
msgstr "Motorlar" msgstr "Motorlar"
#: searx/templates/oscar/preferences.html:19 #: searx/templates/oscar/preferences.html:19
#: searx/templates/oscar/preferences.html:159 #: searx/templates/oscar/preferences.html:187
msgid "Plugins" msgid "Plugins"
msgstr "Eklentiler" 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?" msgid "What language do you prefer for search?"
msgstr "Tercih ettiğiniz arama sonuçları dili" 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" msgid "Change the language of the layout"
msgstr "Site dilini değiştir" msgstr "Site dilini değiştir"
#: searx/templates/oscar/preferences.html:65 #: searx/templates/oscar/preferences.html:66
msgid "Find stuff as you type" msgid "Find stuff as you type"
msgstr "Leb demeden leblebiyi anlasın" msgstr "Leb demeden leblebiyi anlasın"
#: searx/templates/oscar/preferences.html:76 #: searx/templates/oscar/preferences.html:77
msgid "Proxying image results through searx" msgid "Proxying image results through searx"
msgstr "Görsel arama sonuçlarını, searx vekil sunucusu üzerinden geçir" 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 "" msgid ""
"Change how forms are submited, <a " "Change how forms are submited, <a "
"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
" rel=\"external\">learn more about request methods</a>" " 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>" 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" msgid "Filter content"
msgstr "İçeriyi süz" msgstr "İçeriyi süz"
#: searx/templates/oscar/preferences.html:104 #: searx/templates/oscar/preferences.html:105
msgid "Change searx layout" msgid "Change searx layout"
msgstr "searx yerleşim düzenini değiştir" 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 #: searx/templates/oscar/results.html:7
msgid "Search results" msgid "Search results"
msgstr "Arama sonuçları" msgstr "Arama sonuçları"
@ -518,6 +572,14 @@ msgstr "Uyarı!"
msgid "Please enable JavaScript to use full functionality of this site." 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." 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 #: searx/templates/oscar/messages/no_data_available.html:4
msgid "There is currently no data available. " msgid "There is currently no data available. "
msgstr "Şuan uygun veri yok." msgstr "Şuan uygun veri yok."

Binary file not shown.

View 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 "载入更多..."

View File

@ -1,11 +1,9 @@
# import htmlentitydefs
import locale
import dateutil.parser
import cStringIO import cStringIO
import csv import csv
import os import os
import re import re
from babel.dates import format_date
from codecs import getincrementalencoder from codecs import getincrementalencoder
from HTMLParser import HTMLParser from HTMLParser import HTMLParser
from random import choice from random import choice
@ -21,11 +19,15 @@ ua_versions = ('33.0',
'34.0', '34.0',
'35.0', '35.0',
'36.0', '36.0',
'37.0') '37.0',
'38.0',
'39.0',
'40.0')
ua_os = ('Windows NT 6.3; WOW64', ua_os = ('Windows NT 6.3; WOW64',
'X11; Linux x86_64', 'X11; Linux x86_64',
'X11; Linux x86') 'X11; Linux x86')
ua = "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}" ua = "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}"
blocked_tags = ('script', blocked_tags = ('script',
@ -40,7 +42,7 @@ def gen_useragent():
def searx_useragent(): def searx_useragent():
return 'searx/{searx_version} {suffix}'.format( return 'searx/{searx_version} {suffix}'.format(
searx_version=VERSION_STRING, searx_version=VERSION_STRING,
suffix=settings['server'].get('useragent_suffix', '')) suffix=settings['outgoing'].get('useragent_suffix', ''))
def highlight_content(content, query): def highlight_content(content, query):
@ -194,23 +196,16 @@ def get_result_templates(base_path):
return result_templates 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 # 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] if date.year <= 1900:
try: return date.isoformat().split('T')[0]
locale.setlocale(locale.LC_ALL, locale_string)
except: if locale_string == 'all':
logger.warning('cannot set locale: {0}'.format(locale_string)) locale_string = settings['ui']['default_locale'] or 'en_US'
formatted_date = parsed_date.strftime(locale.nl_langinfo(locale.D_FMT))
try: return format_date(date, locale=locale_string)
locale.setlocale(locale.LC_ALL, orig_locale)
except:
logger.warning('cannot set original locale: {0}'.format(orig_locale))
return formatted_date
def dict_subset(d, properties): def dict_subset(d, properties):
@ -221,9 +216,10 @@ def dict_subset(d, properties):
return result return result
def prettify_url(url): def prettify_url(url, max_length=74):
if len(url) > 74: if len(url) > max_length:
return u'{0}[...]{1}'.format(url[:35], url[-35:]) chunk_len = max_length / 2 + 1
return u'{0}[...]{1}'.format(url[:chunk_len], url[-chunk_len:])
else: else:
return url return url

View File

@ -18,7 +18,7 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >.
# version of searx # version of searx
VERSION_MAJOR = 0 VERSION_MAJOR = 0
VERSION_MINOR = 7 VERSION_MINOR = 8
VERSION_BUILD = 0 VERSION_BUILD = 0
VERSION_STRING = "{0}.{1}.{2}".format(VERSION_MAJOR, VERSION_STRING = "{0}.{1}.{2}".format(VERSION_MAJOR,

View File

@ -42,7 +42,7 @@ except:
from datetime import datetime, timedelta from datetime import datetime, timedelta
from urllib import urlencode from urllib import urlencode
from urlparse import urlparse from urlparse import urlparse, urljoin
from werkzeug.contrib.fixers import ProxyFix from werkzeug.contrib.fixers import ProxyFix
from flask import ( from flask import (
Flask, request, render_template, url_for, Response, make_response, Flask, request, render_template, url_for, Response, make_response,
@ -77,11 +77,11 @@ except ImportError:
static_path, templates_path, themes =\ static_path, templates_path, themes =\
get_themes(settings['themes_path'] get_themes(settings['ui']['themes_path']
if settings.get('themes_path') if settings['ui']['themes_path']
else searx_dir) else searx_dir)
default_theme = settings['server'].get('default_theme', 'default') default_theme = settings['ui']['default_theme']
static_files = get_static_files(searx_dir) static_files = get_static_files(searx_dir)
@ -121,15 +121,15 @@ _category_names = (gettext('files'),
gettext('news'), gettext('news'),
gettext('map')) gettext('map'))
outgoing_proxies = settings.get('outgoing_proxies', None) outgoing_proxies = settings['outgoing'].get('proxies', None)
@babel.localeselector @babel.localeselector
def get_locale(): def get_locale():
locale = request.accept_languages.best_match(settings['locales'].keys()) locale = request.accept_languages.best_match(settings['locales'].keys())
if settings['server'].get('default_locale'): if settings['ui'].get('default_locale'):
locale = settings['server']['default_locale'] locale = settings['ui']['default_locale']
if request.cookies.get('locale', '') in settings['locales']: if request.cookies.get('locale', '') in settings['locales']:
locale = request.cookies.get('locale', '') locale = request.cookies.get('locale', '')
@ -263,7 +263,7 @@ def image_proxify(url):
def render(template_name, override_theme=None, **kwargs): def render(template_name, override_theme=None, **kwargs):
blocked_engines = get_blocked_engines(engines, request.cookies) 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: if autocomplete not in autocomplete_backends:
autocomplete = None autocomplete = None
@ -312,7 +312,7 @@ def render(template_name, override_theme=None, **kwargs):
kwargs['method'] = request.cookies.get('method', 'POST') 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 # override url_for function in templates
kwargs['url_for'] = url_for_theme kwargs['url_for'] = url_for_theme
@ -383,7 +383,7 @@ def index():
plugins.call('post_search', request, locals()) 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()) plugins.call('on_result', request, locals())
if not search.paging and engines[result['engine']].paging: if not search.paging and engines[result['engine']].paging:
@ -411,7 +411,7 @@ def index():
minutes = int((timedifference.seconds / 60) % 60) minutes = int((timedifference.seconds / 60) % 60)
hours = int(timedifference.seconds / 60 / 60) hours = int(timedifference.seconds / 60 / 60)
if hours == 0: 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: else:
result['publishedDate'] = gettext(u'{hours} hour(s), {minutes} minute(s) ago').format(hours=hours, minutes=minutes) # noqa result['publishedDate'] = gettext(u'{hours} hour(s), {minutes} minute(s) ago').format(hours=hours, minutes=minutes) # noqa
else: else:
@ -419,17 +419,16 @@ def index():
if search.request_data.get('format') == 'json': if search.request_data.get('format') == 'json':
return Response(json.dumps({'query': search.query, return Response(json.dumps({'query': search.query,
'results': search.results}), 'results': search.result_container.get_ordered_results()}),
mimetype='application/json') mimetype='application/json')
elif search.request_data.get('format') == 'csv': elif search.request_data.get('format') == 'csv':
csv = UnicodeWriter(cStringIO.StringIO()) csv = UnicodeWriter(cStringIO.StringIO())
keys = ('title', 'url', 'content', 'host', 'engine', 'score') keys = ('title', 'url', 'content', 'host', 'engine', 'score')
if search.results: csv.writerow(keys)
csv.writerow(keys) for row in search.result_container.get_ordered_results():
for row in search.results: row['host'] = row['parsed_url'].netloc
row['host'] = row['parsed_url'].netloc csv.writerow([row.get(key, '') for key in keys])
csv.writerow([row.get(key, '') for key in keys]) csv.stream.seek(0)
csv.stream.seek(0)
response = Response(csv.stream.read(), mimetype='application/csv') response = Response(csv.stream.read(), mimetype='application/csv')
cont_disp = 'attachment;Filename=searx_-_{0}.csv'.format(search.query) cont_disp = 'attachment;Filename=searx_-_{0}.csv'.format(search.query)
response.headers.add('Content-Disposition', cont_disp) response.headers.add('Content-Disposition', cont_disp)
@ -437,24 +436,24 @@ def index():
elif search.request_data.get('format') == 'rss': elif search.request_data.get('format') == 'rss':
response_rss = render( response_rss = render(
'opensearch_response_rss.xml', 'opensearch_response_rss.xml',
results=search.results, results=search.result_container.get_ordered_results(),
q=search.request_data['q'], q=search.request_data['q'],
number_of_results=len(search.results), number_of_results=search.result_container.results_length(),
base_url=get_base_url() base_url=get_base_url()
) )
return Response(response_rss, mimetype='text/xml') return Response(response_rss, mimetype='text/xml')
return render( return render(
'results.html', 'results.html',
results=search.results, results=search.result_container.get_ordered_results(),
q=search.request_data['q'], q=search.request_data['q'],
selected_categories=search.categories, selected_categories=search.categories,
paging=search.paging, paging=search.paging,
pageno=search.pageno, pageno=search.pageno,
base_url=get_base_url(), base_url=get_base_url(),
suggestions=search.suggestions, suggestions=search.result_container.suggestions,
answers=search.answers, answers=search.result_container.answers,
infoboxes=search.infoboxes, infoboxes=search.result_container.infoboxes,
theme=get_current_theme_name(), theme=get_current_theme_name(),
favicons=global_favicons[themes.index(get_current_theme_name())] favicons=global_favicons[themes.index(get_current_theme_name())]
) )
@ -491,7 +490,7 @@ def autocompleter():
return '', 400 return '', 400
# run autocompleter # 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 # parse searx specific autocompleter results like !bang
raw_results = searx_bang(query) raw_results = searx_bang(query)
@ -532,7 +531,7 @@ def preferences():
blocked_engines = [] 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': if request.method == 'GET':
blocked_engines = get_blocked_engines(engines, request.cookies) blocked_engines = get_blocked_engines(engines, request.cookies)
@ -542,7 +541,7 @@ def preferences():
locale = None locale = None
autocomplete = '' autocomplete = ''
method = 'POST' method = 'POST'
safesearch = '1' safesearch = settings['search']['safe_search']
for pd_name, pd in request.form.items(): for pd_name, pd in request.form.items():
if pd_name.startswith('category_'): if pd_name.startswith('category_'):
category = pd_name[9:] category = pd_name[9:]
@ -624,7 +623,7 @@ def preferences():
resp.set_cookie('method', method, max_age=cookie_max_age) 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) resp.set_cookie('image_proxy', image_proxy, max_age=cookie_max_age)
@ -640,12 +639,12 @@ def preferences():
stats[e.name] = {'time': None, stats[e.name] = {'time': None,
'warn_timeout': False, 'warn_timeout': False,
'warn_time': False} 'warn_time': False}
if e.timeout > settings['server']['request_timeout']: if e.timeout > settings['outgoing']['request_timeout']:
stats[e.name]['warn_timeout'] = True stats[e.name]['warn_timeout'] = True
for engine_stat in get_engines_stats()[0][1]: for engine_stat in get_engines_stats()[0][1]:
stats[engine_stat.get('name')]['time'] = round(engine_stat.get('avg'), 3) 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 stats[engine_stat.get('name')]['warn_time'] = True
# end of stats # end of stats
@ -683,7 +682,7 @@ def image_proxy():
resp = requests.get(url, resp = requests.get(url,
stream=True, stream=True,
timeout=settings['server'].get('request_timeout', 2), timeout=settings['outgoing']['request_timeout'],
headers=headers, headers=headers,
proxies=outgoing_proxies) proxies=outgoing_proxies)
@ -767,7 +766,7 @@ def favicon():
@app.route('/clear_cookies') @app.route('/clear_cookies')
def 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: for cookie_name in request.cookies:
resp.delete_cookie(cookie_name) resp.delete_cookie(cookie_name)
return resp return resp
@ -775,9 +774,10 @@ def clear_cookies():
def run(): def run():
app.run( app.run(
debug=settings['server']['debug'], debug=settings['general']['debug'],
use_debugger=settings['server']['debug'], use_debugger=settings['general']['debug'],
port=settings['server']['port'] port=settings['server']['port'],
host=settings['server']['bind_address']
) )