diff options
64 files changed, 6027 insertions, 1716 deletions
diff --git a/searx/engines/currency_convert.py b/searx/engines/currency_convert.py index d8841c1d1..4618c82b1 100644 --- a/searx/engines/currency_convert.py +++ b/searx/engines/currency_convert.py @@ -13,12 +13,9 @@ def request(query, params): if not m: # wrong query return params - try: - ammount, from_currency, to_currency = m.groups() - ammount = float(ammount) - except: - # wrong params - return params + + ammount, from_currency, to_currency = m.groups() + ammount = float(ammount) q = (from_currency + to_currency).upper() diff --git a/searx/engines/duckduckgo.py b/searx/engines/duckduckgo.py index 583e33f73..e35a6334c 100644 --- a/searx/engines/duckduckgo.py +++ b/searx/engines/duckduckgo.py @@ -15,7 +15,7 @@ from urllib import urlencode from lxml.html import fromstring -from searx.utils import html_to_text +from searx.engines.xpath import extract_text # engine dependent config categories = ['general'] @@ -28,8 +28,8 @@ url = 'https://duckduckgo.com/html?{query}&s={offset}' # specific xpath variables result_xpath = '//div[@class="results_links results_links_deep web-result"]' # noqa url_xpath = './/a[@class="large"]/@href' -title_xpath = './/a[@class="large"]//text()' -content_xpath = './/div[@class="snippet"]//text()' +title_xpath = './/a[@class="large"]' +content_xpath = './/div[@class="snippet"]' # do search-request @@ -64,8 +64,8 @@ def response(resp): if not res_url: continue - title = html_to_text(''.join(r.xpath(title_xpath))) - content = html_to_text(''.join(r.xpath(content_xpath))) + title = extract_text(r.xpath(title_xpath)) + content = extract_text(r.xpath(content_xpath)) # append result results.append({'title': title, diff --git a/searx/engines/duckduckgo_definitions.py b/searx/engines/duckduckgo_definitions.py index b66d6c0f2..793e97d22 100644 --- a/searx/engines/duckduckgo_definitions.py +++ b/searx/engines/duckduckgo_definitions.py @@ -25,9 +25,10 @@ def request(query, params): def response(resp): - search_res = json.loads(resp.text) results = [] + search_res = json.loads(resp.text) + content = '' heading = search_res.get('Heading', '') attributes = [] @@ -68,7 +69,7 @@ def response(resp): results.append({'title': heading, 'url': firstURL}) # related topics - for ddg_result in search_res.get('RelatedTopics', None): + for ddg_result in search_res.get('RelatedTopics', []): if 'FirstURL' in ddg_result: suggestion = result_to_text(ddg_result.get('FirstURL', None), ddg_result.get('Text', None), diff --git a/searx/engines/faroo.py b/searx/engines/faroo.py index 5360ea156..4a5e60a60 100644 --- a/searx/engines/faroo.py +++ b/searx/engines/faroo.py @@ -37,7 +37,7 @@ search_category = {'general': 'web', # do search-request def request(query, params): - offset = (params['pageno']-1) * number_of_results + 1 + offset = (params['pageno'] - 1) * number_of_results + 1 categorie = search_category.get(params['category'], 'web') if params['language'] == 'all': @@ -45,11 +45,11 @@ def request(query, params): else: language = params['language'].split('_')[0] - # skip, if language is not supported + # if language is not supported, put it in english if language != 'en' and\ language != 'de' and\ language != 'zh': - return params + language = 'en' params['url'] = search_url.format(offset=offset, number_of_results=number_of_results, @@ -69,12 +69,10 @@ def response(resp): # HTTP-Code 401: api-key is not valide if resp.status_code == 401: raise Exception("API key is not valide") - return [] # HTTP-Code 429: rate limit exceeded if resp.status_code == 429: raise Exception("rate limit has been exceeded!") - return [] results = [] diff --git a/searx/engines/openstreetmap.py b/searx/engines/openstreetmap.py index 68446ef5f..60c3c13ca 100644 --- a/searx/engines/openstreetmap.py +++ b/searx/engines/openstreetmap.py @@ -38,6 +38,9 @@ def response(resp): # parse results for r in json: + if 'display_name' not in r: + continue + title = r['display_name'] osm_type = r.get('osm_type', r.get('type')) url = result_base_url.format(osm_type=osm_type, @@ -49,10 +52,8 @@ def response(resp): geojson = r.get('geojson') # if no geojson is found and osm_type is a node, add geojson Point - if not geojson and\ - osm_type == 'node': - geojson = {u'type': u'Point', - u'coordinates': [r['lon'], r['lat']]} + if not geojson and osm_type == 'node': + geojson = {u'type': u'Point', u'coordinates': [r['lon'], r['lat']]} address_raw = r.get('address') address = {} diff --git a/searx/engines/photon.py b/searx/engines/photon.py index 16340d24a..a9c558c4b 100644 --- a/searx/engines/photon.py +++ b/searx/engines/photon.py @@ -61,7 +61,7 @@ def response(resp): continue # get title - title = properties['name'] + title = properties.get('name') # get osm-type if properties.get('osm_type') == 'N': diff --git a/searx/engines/startpage.py b/searx/engines/startpage.py index d60ecd978..9d5b4befe 100644 --- a/searx/engines/startpage.py +++ b/searx/engines/startpage.py @@ -13,6 +13,7 @@ from lxml import html from cgi import escape import re +from searx.engines.xpath import extract_text # engine dependent config categories = ['general'] @@ -45,8 +46,7 @@ def request(query, params): # set language if specified if params['language'] != 'all': - params['data']['with_language'] = ('lang_' + - params['language'].split('_')[0]) + params['data']['with_language'] = ('lang_' + params['language'].split('_')[0]) return params @@ -64,18 +64,15 @@ def response(resp): continue link = links[0] url = link.attrib.get('href') - try: - title = escape(link.text_content()) - except UnicodeDecodeError: - continue # block google-ad url's if re.match("^http(s|)://www.google.[a-z]+/aclk.*$", url): continue + title = escape(extract_text(link)) + if result.xpath('./p[@class="desc"]'): - content = escape(result.xpath('./p[@class="desc"]')[0] - .text_content()) + content = escape(extract_text(result.xpath('./p[@class="desc"]'))) else: content = '' diff --git a/searx/engines/subtitleseeker.py b/searx/engines/subtitleseeker.py index 9aaf1947b..acefe30ea 100644 --- a/searx/engines/subtitleseeker.py +++ b/searx/engines/subtitleseeker.py @@ -12,6 +12,7 @@ from cgi import escape from urllib import quote_plus from lxml import html from searx.languages import language_codes +from searx.engines.xpath import extract_text # engine dependent config categories = ['videos'] @@ -20,7 +21,7 @@ language = "" # search-url url = 'http://www.subtitleseeker.com/' -search_url = url+'search/TITLES/{query}&p={pageno}' +search_url = url + 'search/TITLES/{query}&p={pageno}' # specific xpath variables results_xpath = '//div[@class="boxRows"]' @@ -44,7 +45,7 @@ def response(resp): if resp.search_params['language'] != 'all': search_lang = [lc[1] for lc in language_codes - if lc[0][:2] == resp.search_params['language']][0] + if lc[0][:2] == resp.search_params['language'].split('_')[0]][0] # parse results for result in dom.xpath(results_xpath): @@ -56,17 +57,17 @@ def response(resp): elif search_lang: href = href + search_lang + '/' - title = escape(link.xpath(".//text()")[0]) + title = escape(extract_text(link)) - content = result.xpath('.//div[contains(@class,"red")]//text()')[0] + content = extract_text(result.xpath('.//div[contains(@class,"red")]')) content = content + " - " - text = result.xpath('.//div[contains(@class,"grey-web")]')[0] - content = content + html.tostring(text, method='text') + text = extract_text(result.xpath('.//div[contains(@class,"grey-web")]')[0]) + content = content + text if result.xpath(".//span") != []: content = content +\ " - (" +\ - result.xpath(".//span//text()")[0].strip() +\ + extract_text(result.xpath(".//span")) +\ ")" # append result diff --git a/searx/engines/twitter.py b/searx/engines/twitter.py index bd9a8c2fc..0e35e6188 100644 --- a/searx/engines/twitter.py +++ b/searx/engines/twitter.py @@ -13,8 +13,8 @@ from urlparse import urljoin from urllib import urlencode from lxml import html -from cgi import escape from datetime import datetime +from searx.engines.xpath import extract_text # engine dependent config categories = ['social media'] @@ -22,12 +22,12 @@ language_support = True # search-url base_url = 'https://twitter.com/' -search_url = base_url+'search?' +search_url = base_url + 'search?' # specific xpath variables results_xpath = '//li[@data-item-type="tweet"]' link_xpath = './/small[@class="time"]//a' -title_xpath = './/span[@class="username js-action-profile-name"]//text()' +title_xpath = './/span[@class="username js-action-profile-name"]' content_xpath = './/p[@class="js-tweet-text tweet-text"]' timestamp_xpath = './/span[contains(@class,"_timestamp")]' @@ -39,6 +39,8 @@ def request(query, params): # set language if specified if params['language'] != 'all': params['cookies']['lang'] = params['language'].split('_')[0] + else: + params['cookies']['lang'] = 'en' return params @@ -53,8 +55,9 @@ def response(resp): for tweet in dom.xpath(results_xpath): link = tweet.xpath(link_xpath)[0] url = urljoin(base_url, link.attrib.get('href')) - title = ''.join(tweet.xpath(title_xpath)) - content = escape(html.tostring(tweet.xpath(content_xpath)[0], method='text', encoding='UTF-8').decode("utf-8")) + title = extract_text(tweet.xpath(title_xpath)) + content = extract_text(tweet.xpath(content_xpath)[0]) + pubdate = tweet.xpath(timestamp_xpath) if len(pubdate) > 0: timestamp = float(pubdate[0].attrib.get('data-time')) diff --git a/searx/engines/yacy.py b/searx/engines/yacy.py index 17e2a7aab..3d26c9cc4 100644 --- a/searx/engines/yacy.py +++ b/searx/engines/yacy.py @@ -25,10 +25,10 @@ number_of_results = 5 # search-url base_url = 'http://localhost:8090' search_url = '/yacysearch.json?{query}'\ - '&startRecord={offset}'\ - '&maximumRecords={limit}'\ - '&contentdom={search_type}'\ - '&resource=global' # noqa + '&startRecord={offset}'\ + '&maximumRecords={limit}'\ + '&contentdom={search_type}'\ + '&resource=global' # yacy specific type-definitions search_types = {'general': 'text', @@ -41,7 +41,7 @@ search_types = {'general': 'text', # do search-request def request(query, params): offset = (params['pageno'] - 1) * number_of_results - search_type = search_types.get(params['category'], '0') + search_type = search_types.get(params.get('category'), '0') params['url'] = base_url +\ search_url.format(query=urlencode({'query': query}), @@ -66,9 +66,12 @@ def response(resp): if not raw_search_results: return [] - search_results = raw_search_results.get('channels', {})[0].get('items', []) + search_results = raw_search_results.get('channels', []) - for result in search_results: + if len(search_results) == 0: + return [] + + for result in search_results[0].get('items', []): # parse image results if result.get('image'): # append result @@ -88,7 +91,7 @@ def response(resp): 'content': result['description'], 'publishedDate': publishedDate}) - #TODO parse video, audio and file results + # TODO parse video, audio and file results # return results return results diff --git a/searx/engines/yahoo.py b/searx/engines/yahoo.py index c6c5b0d0d..161f7513b 100644 --- a/searx/engines/yahoo.py +++ b/searx/engines/yahoo.py @@ -35,7 +35,7 @@ suggestion_xpath = '//div[@id="satat"]//a' def parse_url(url_string): endings = ['/RS', '/RK'] endpositions = [] - start = url_string.find('http', url_string.find('/RU=')+1) + start = url_string.find('http', url_string.find('/RU=') + 1) for ending in endings: endpos = url_string.rfind(ending) @@ -91,7 +91,7 @@ def response(resp): 'content': content}) # if no suggestion found, return results - if not suggestion_xpath: + if not dom.xpath(suggestion_xpath): return results # parse suggestion diff --git a/searx/settings.yml b/searx/settings.yml index d7f7b96c0..8e2833ef0 100644 --- a/searx/settings.yml +++ b/searx/settings.yml @@ -263,6 +263,7 @@ engines: locales: en : English de : Deutsch + he : Hebrew hu : Magyar fr : Français es : Español diff --git a/searx/static/themes/courgette/css/style-rtl.css b/searx/static/themes/courgette/css/style-rtl.css index 38c4153a6..a725ac1e8 100644 --- a/searx/static/themes/courgette/css/style-rtl.css +++ b/searx/static/themes/courgette/css/style-rtl.css @@ -1 +1 @@ -.q{padding:.5em 1em .5em 3em}#search_submit{left:0;right:auto}.result .favicon{float:right;margin-left:.5em;margin-right:0}#sidebar{right:auto;left:0}#results{padding:0 32px 0 272px}.search.center{padding-right:0;padding-left:17em}.right{right:auto;left:0}#pagination form+form{float:left;margin-top:-2em}
\ No newline at end of file +.q{padding:.5em 1em .5em 3em}#search_submit{left:0;right:auto}.result .favicon{float:right;margin-left:.5em;margin-right:0}#sidebar{right:auto;left:0}#results{padding:0 32px 0 272px}.search.center{padding-right:0;padding-left:17em}.right{right:auto;left:0}#pagination form+form{float:left;margin-top:-2em}.engine-table{text-align:right}
\ No newline at end of file diff --git a/searx/static/themes/courgette/less/style-rtl.less b/searx/static/themes/courgette/less/style-rtl.less index 13a34f124..3e357d3d8 100644 --- a/searx/static/themes/courgette/less/style-rtl.less +++ b/searx/static/themes/courgette/less/style-rtl.less @@ -35,4 +35,8 @@ #pagination form + form { float: left; margin-top: -2em; +} + +.engine-table { + text-align:right; }
\ No newline at end of file diff --git a/searx/templates/courgette/about.html b/searx/templates/courgette/about.html index 1c2e0635d..2945e1f7b 100644 --- a/searx/templates/courgette/about.html +++ b/searx/templates/courgette/about.html @@ -1,7 +1,7 @@ {% extends 'courgette/base.html' %} {% block content %} {% include 'courgette/github_ribbon.html' %} -<div class="row"> +<div class="row"{% if rtl %} dir="ltr"{% endif %}> <h1>About <a href="{{ url_for('index') }}">searx</a></h1> <p>Searx is a <a href="https://en.wikipedia.org/wiki/Metasearch_engine">metasearch engine</a>, aggregating the results of other <a href="{{ url_for('preferences') }}">search engines</a> while not storing information about its users. diff --git a/searx/templates/courgette/preferences.html b/searx/templates/courgette/preferences.html index 379d68601..efa0f65fa 100644 --- a/searx/templates/courgette/preferences.html +++ b/searx/templates/courgette/preferences.html @@ -95,7 +95,7 @@ <fieldset> <legend>{{ _('Currently used search engines') }}</legend> - <table> + <table class="engine-table"> <tr> <th>{{ _('Engine name') }}</th> <th>{{ _('Category') }}</th> diff --git a/searx/templates/default/about.html b/searx/templates/default/about.html index 01d6f444e..1b5fc34c0 100644 --- a/searx/templates/default/about.html +++ b/searx/templates/default/about.html @@ -1,7 +1,7 @@ {% extends 'default/base.html' %} {% block content %} {% include 'default/github_ribbon.html' %} -<div class="row"> +<div class="row"{% if rtl %} dir="ltr"{% endif %}> <h1>About <a href="{{ url_for('index') }}">searx</a></h1> <p>Searx is a <a href="https://en.wikipedia.org/wiki/Metasearch_engine">metasearch engine</a>, aggregating the results of other <a href="{{ url_for('preferences') }}">search engines</a> while not storing information about its users. diff --git a/searx/templates/default/result_templates/code.html b/searx/templates/default/result_templates/code.html index 0aba4684d..751fb3b56 100644 --- a/searx/templates/default/result_templates/code.html +++ b/searx/templates/default/result_templates/code.html @@ -1,6 +1,6 @@ <div class="result {{ result.class }}">
<h3 class="result_title"> {% if result['favicon'] %}<img width="14" height="14" class="favicon" src="static/{{theme}}/img/icon_{{result['favicon']}}.ico" alt="{{result['favicon']}}" />{% endif %}<a href="{{ result.url }}">{{ result.title|safe }}</a></h3>
- <p class="url">{{ result.pretty_url }} <a class="cache_link" href="https://web.archive.org/web/{{ result.url }}">cached</a></p>
+ <p class="url">{{ result.pretty_url }} <a class="cache_link" href="https://web.archive.org/web/{{ result.url }}">{{ _('cached') }}</a></p>
{% if result.publishedDate %}<p class="published_date">{{ result.publishedDate }}</p>{% endif %}
<p class="content">{% if result.img_src %}<img src="{{ image_proxify(result.img_src) }}" class="image" />{% endif %}{% if result.content %}{{ result.content|safe }}<br class="last"/>{% endif %}</p>
{% if result.repository %}<p class="result-content"><a href="{{ result.repository|safe }}">{{ result.repository }}</a></p>{% endif %}
diff --git a/searx/templates/default/result_templates/default.html b/searx/templates/default/result_templates/default.html index b7f9d3557..167db888b 100644 --- a/searx/templates/default/result_templates/default.html +++ b/searx/templates/default/result_templates/default.html @@ -1,6 +1,6 @@ <div class="result {{ result.class }}"> <h3 class="result_title">{% if "icon_"~result.engine~".ico" in favicons %}<img width="14" height="14" class="favicon" src="{{ url_for('static', filename='img/icons/icon_'+result.engine+'.ico') }}" alt="{{result.engine}}" />{% endif %}<a href="{{ result.url }}">{{ result.title|safe }}</a></h3> - <p class="url">{{ result.pretty_url }} <a class="cache_link" href="https://web.archive.org/web/{{ result.url }}">cached</a> + <p class="url">{{ result.pretty_url }} <a class="cache_link" href="https://web.archive.org/web/{{ result.url }}">{{ _('cached') }}</a> {% if result.publishedDate %}<span class="published_date">{{ result.publishedDate }}</span>{% endif %}</p> <p class="content">{% if result.img_src %}<img src="{{ image_proxify(result.img_src) }}" class="image" />{% endif %}{% if result.content %}{{ result.content|safe }}<br class="last"/>{% endif %}</p> </div> diff --git a/searx/templates/default/result_templates/map.html b/searx/templates/default/result_templates/map.html index 159e472b5..b0eda2be5 100644 --- a/searx/templates/default/result_templates/map.html +++ b/searx/templates/default/result_templates/map.html @@ -6,7 +6,7 @@ <div> <h3 class="result_title"><a href="{{ result.url }}">{{ result.title|safe }}</a></h3> - <p class="url">{{ result.pretty_url }} <a class="cache_link" href="https://web.archive.org/web/{{ result.url }}">cached</a> + <p class="url">{{ result.pretty_url }} <a class="cache_link" href="https://web.archive.org/web/{{ result.url }}">{{ _('cached') }}</a> {% if result.publishedDate %}<span class="published_date">{{ result.publishedDate }}</span>{% endif %}</p> <p class="content">{% if result.img_src %}<img src="{{ image_proxify(result.img_src) }}" class="image" />{% endif %}{% if result.content %}{{ result.content|safe }}<br class="last"/>{% endif %}</p> </div> diff --git a/searx/templates/oscar/about.html b/searx/templates/oscar/about.html index 6f9572546..e1f378294 100644 --- a/searx/templates/oscar/about.html +++ b/searx/templates/oscar/about.html @@ -2,7 +2,7 @@ {% block site_alert_warning_nojs %} {% endblock %} {% block title %}{{ _('about') }} - {% endblock %} {% block content %} -<div> +<div{% if rtl %} dir="ltr"{% endif %}> <h1>About <a href="{{ url_for('index') }}">searx</a></h1> <p>Searx is a <a href="https://en.wikipedia.org/wiki/Metasearch_engine">metasearch engine</a>, aggregating the results of other <a href="{{ url_for('preferences') }}">search engines</a> while not storing information about its users. diff --git a/searx/templates/oscar/macros.html b/searx/templates/oscar/macros.html index f2222c610..42721a812 100644 --- a/searx/templates/oscar/macros.html +++ b/searx/templates/oscar/macros.html @@ -36,26 +36,26 @@ <p class="text-muted">{{ result.pretty_url }}</p>
{%- endmacro %}
-{% macro preferences_item_header(info, label) -%}
- {% if not rtl %}
+{% macro preferences_item_header(info, label, rtl) -%}
+ {% if rtl %}
<div class="row form-group">
- <label class="col-sm-3 col-md-2">{{ label }}</label>
+ <span class="col-sm-5 col-md-6 help-block">{{ info }}</span>
<div class="col-sm-4 col-md-4">
{% else %}
<div class="row form-group">
- <span class="col-sm-5 col-md-6 help-block">{{ info }}</span>
+ <label class="col-sm-3 col-md-2">{{ label }}</label>
<div class="col-sm-4 col-md-4">
{% endif %}
{%- endmacro %}
-{% macro preferences_item_footer(info, label) -%}
- {% if not rtl %}
+{% macro preferences_item_footer(info, label, rtl) -%}
+ {% if rtl %}
</div>
- <span class="col-sm-5 col-md-6 help-block">{{ info }}</span>
+ <label class="col-sm-3 col-md-2">{{ label }}</label>
</div>
{% else %}
</div>
- <label class="col-sm-3 col-md-2">{{ label }}</label>
+ <span class="col-sm-5 col-md-6 help-block">{{ info }}</span>
</div>
{% endif %}
{%- endmacro %}
diff --git a/searx/templates/oscar/preferences.html b/searx/templates/oscar/preferences.html index 066524f48..b98100e8e 100644 --- a/searx/templates/oscar/preferences.html +++ b/searx/templates/oscar/preferences.html @@ -41,73 +41,73 @@ </div> {% set language_label = _('Search language') %} {% set language_info = _('What language do you prefer for search?') %} - {{ preferences_item_header(language_info, language_label) }} + {{ preferences_item_header(language_info, language_label, rtl) }} <select class="form-control" name='language'> <option value="all" {% if current_language == 'all' %}selected="selected"{% endif %}>{{ _('Automatic') }}</option> {% for lang_id,lang_name,country_name in language_codes %} <option value="{{ lang_id }}" {% if lang_id == current_language %}selected="selected"{% endif %}>{{ lang_name }} ({{ country_name }}) - {{ lang_id }}</option> {% endfor %} </select> - {{ preferences_item_footer(language_info, language_label) }} + {{ preferences_item_footer(language_info, language_label, rtl) }} {% set locale_label = _('Interface language') %} {% set locale_info = _('Change the language of the layout') %} - {{ preferences_item_header(locale_info, locale_label) }} + {{ preferences_item_header(locale_info, locale_label, rtl) }} <select class="form-control" name='locale'> {% for locale_id,locale_name in locales.items() %} <option value="{{ locale_id }}" {% if locale_id == current_locale %}selected="selected"{% endif %}>{{ locale_name }}</option> {% endfor %} </select> - {{ preferences_item_footer(locale_info, locale_label) }} + {{ preferences_item_footer(locale_info, locale_label, rtl) }} {% set autocomplete_label = _('Autocomplete') %} {% set autocomplete_info = _('Find stuff as you type') %} - {{ preferences_item_header(autocomplete_info, autocomplete_label) }} + {{ preferences_item_header(autocomplete_info, autocomplete_label, rtl) }} <select class="form-control" name="autocomplete"> <option value=""> - </option> {% for backend in autocomplete_backends %} <option value="{{ backend }}" {% if backend == autocomplete %}selected="selected"{% endif %}>{{ backend }}</option> {% endfor %} </select> - {{ preferences_item_footer(autocomplete_info, autocomplete_label) }} + {{ preferences_item_footer(autocomplete_info, autocomplete_label, rtl) }} {% set image_proxy_label = _('Image proxy') %} {% set image_proxy_info = _('Proxying image results through searx') %} - {{ preferences_item_header(image_proxy_info, image_proxy_label) }} + {{ preferences_item_header(image_proxy_info, image_proxy_label, rtl) }} <select class="form-control" name='image_proxy'> <option value="1" {% if image_proxy %}selected="selected"{% endif %}>{{ _('Enabled') }}</option> <option value="" {% if not image_proxy %}selected="selected"{% endif %}>{{ _('Disabled')}}</option> </select> - {{ preferences_item_footer(image_proxy_info, image_proxy_label) }} + {{ preferences_item_footer(image_proxy_info, image_proxy_label, rtl) }} {% set method_label = _('Method') %} {% set method_info = _('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>') %} - {{ preferences_item_header(method_info, method_label) }} + {{ preferences_item_header(method_info, method_label, rtl) }} <select class="form-control" name='method'> <option value="POST" {% if method == 'POST' %}selected="selected"{% endif %}>POST</option> <option value="GET" {% if method == 'GET' %}selected="selected"{% endif %}>GET</option> </select> - {{ preferences_item_footer(method_info, method_label) }} + {{ preferences_item_footer(method_info, method_label, rtl) }} {% set safesearch_label = _('SafeSearch') %} {% set safesearch_info = _('Filter content') %} - {{ preferences_item_header(safesearch_info, safesearch_label) }} + {{ preferences_item_header(safesearch_info, safesearch_label, rtl) }} <select class="form-control" name='safesearch'> <option value="2" {% if safesearch == '2' %}selected="selected"{% endif %}>{{ _('Strict') }}</option> <option value="1" {% if safesearch == '1' %}selected="selected"{% endif %}>{{ _('Moderate') }}</option> <option value="0" {% if safesearch == '0' %}selected="selected"{% endif %}>{{ _('None') }}</option> </select> - {{ preferences_item_footer(safesearch_info, safesearch_label) }} + {{ preferences_item_footer(safesearch_info, safesearch_label, rtl) }} {% set theme_label = _('Themes') %} {% set theme_info = _('Change searx layout') %} - {{ preferences_item_header(theme_info, theme_label) }} + {{ preferences_item_header(theme_info, theme_label, rtl) }} <select class="form-control" name="theme"> {% for name in themes %} <option value="{{ name }}" {% if name == theme %}selected="selected"{% endif %}>{{ name }}</option> {% endfor %} </select> - {{ preferences_item_footer(theme_info, theme_label) }} + {{ preferences_item_footer(theme_info, theme_label, rtl) }} </div> </fieldset> </div> diff --git a/searx/templates/oscar/result_templates/map.html b/searx/templates/oscar/result_templates/map.html index 2e679e84d..822c7cdea 100644 --- a/searx/templates/oscar/result_templates/map.html +++ b/searx/templates/oscar/result_templates/map.html @@ -40,7 +40,7 @@ {% endif %}
{% if result.osm and (result.osm.type and result.osm.id) %}
- <div class="row result-content collapse col-xs-12 col-sm-7 col-md-8" id="result-overpass-{{ index }}">
+ <div class="row result-content collapse col-xs-12 col-sm-7 col-md-8" id="result-overpass-{{ index }}"{% if rtl %} dir="ltr"{% endif %}>
<div class="text-center" id="result-overpass-table-loading-{{ index }}"><img src="{{ url_for('static', filename='img/loader.gif') }}" alt="Loading ..."/></div>
<table class="table table-striped table-condensed hidden" id="result-overpass-table-{{ index }}">
<tr><th>key</th><th>value</th></tr>
diff --git a/searx/templates/oscar/result_templates/videos.html b/searx/templates/oscar/result_templates/videos.html index 87fe25afe..ddf2894ac 100644 --- a/searx/templates/oscar/result_templates/videos.html +++ b/searx/templates/oscar/result_templates/videos.html @@ -1,4 +1,4 @@ -{% from 'oscar/macros.html' import result_header, result_sub_header, result_footer, icon %}
+{% from 'oscar/macros.html' import result_header, result_sub_header, result_footer, result_footer_rtl, icon %}
{{ result_header(result, favicons) }}
{{ result_sub_header(result) }}
diff --git a/searx/tests/engines/test_currency_convert.py b/searx/tests/engines/test_currency_convert.py new file mode 100644 index 000000000..271ed03a2 --- /dev/null +++ b/searx/tests/engines/test_currency_convert.py @@ -0,0 +1,44 @@ +from collections import defaultdict +from datetime import datetime +import mock +from searx.engines import currency_convert +from searx.testing import SearxTestCase + + +class TestCurrencyConvertEngine(SearxTestCase): + + def test_request(self): + query = 'test_query' + dicto = defaultdict(dict) + dicto['pageno'] = 1 + params = currency_convert.request(query, dicto) + self.assertNotIn('url', params) + + query = '1.1.1 EUR in USD' + params = currency_convert.request(query, dicto) + self.assertNotIn('url', params) + + query = '10 eur in usd' + params = currency_convert.request(query, dicto) + self.assertIn('url', params) + self.assertIn('finance.yahoo.com', params['url']) + self.assertIn('EUR', params['url']) + self.assertIn('USD', params['url']) + + def test_response(self): + dicto = defaultdict(dict) + dicto['ammount'] = 10 + dicto['from'] = "EUR" + dicto['to'] = "USD" + response = mock.Mock(text='a,b,c,d', search_params=dicto) + self.assertEqual(currency_convert.response(response), []) + + csv = "2,0.5,1" + response = mock.Mock(text=csv, search_params=dicto) + results = currency_convert.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertEqual(results[0]['answer'], '10 EUR = 5.0 USD (1 EUR = 0.5 USD)') + now_date = datetime.now().strftime('%Y%m%d') + self.assertEqual(results[0]['url'], 'http://finance.yahoo.com/currency/converter-results/' + + now_date + '/10-eur-to-usd.html') diff --git a/searx/tests/engines/test_duckduckgo.py b/searx/tests/engines/test_duckduckgo.py new file mode 100644 index 000000000..6f085cbc2 --- /dev/null +++ b/searx/tests/engines/test_duckduckgo.py @@ -0,0 +1,90 @@ +from collections import defaultdict +import mock +from searx.engines import duckduckgo +from searx.testing import SearxTestCase + + +class TestDuckduckgoEngine(SearxTestCase): + + def test_request(self): + query = 'test_query' + dicto = defaultdict(dict) + dicto['pageno'] = 1 + dicto['language'] = 'fr_FR' + params = duckduckgo.request(query, dicto) + self.assertIn('url', params) + self.assertIn(query, params['url']) + self.assertIn('duckduckgo.com', params['url']) + self.assertIn('fr-fr', params['url']) + + dicto['language'] = 'all' + params = duckduckgo.request(query, dicto) + self.assertIn('en-us', params['url']) + + def test_response(self): + self.assertRaises(AttributeError, duckduckgo.response, None) + self.assertRaises(AttributeError, duckduckgo.response, []) + self.assertRaises(AttributeError, duckduckgo.response, '') + self.assertRaises(AttributeError, duckduckgo.response, '[]') + + response = mock.Mock(text='<html></html>') + self.assertEqual(duckduckgo.response(response), []) + + html = """ + <div class="results_links results_links_deep web-result"> + <div class="icon_fav" style="display: block;"> + <a rel="nofollow" href="https://www.test.com/"> + <img width="16" height="16" alt="" + src="/i/www.test.com.ico" style="visibility: visible;" name="i15" /> + </a> + </div> + <div class="links_main links_deep"> <!-- This is the visible part --> + <a rel="nofollow" class="large" href="http://this.should.be.the.link/"> + This <b>is</b> <b>the</b> title + </a> + <div class="snippet"><b>This</b> should be the content.</div> + <div class="url"> + http://this.should.be.the.link/ + </div> + </div> + </div> + """ + response = mock.Mock(text=html) + results = duckduckgo.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertEqual(results[0]['title'], 'This is the title') + self.assertEqual(results[0]['url'], 'http://this.should.be.the.link/') + self.assertEqual(results[0]['content'], 'This should be the content.') + + html = """ + <div class="results_links results_links_deep web-result"> + <div class="icon_fav" style="display: block;"> + </div> + <div class="links_main links_deep"> <!-- This is the visible part --> + <div class="snippet"><b>This</b> should be the content.</div> + <div class="url"> + http://this.should.be.the.link/ + </div> + </div> + </div> + <div class="results_links results_links_deep web-result"> + <div class="icon_fav" style="display: block;"> + <img width="16" height="16" alt="" + src="/i/www.test.com.ico" style="visibility: visible;" name="i15" /> + </div> + <div class="links_main links_deep"> <!-- This is the visible part --> + <a rel="nofollow" class="large" href=""> + This <b>is</b> <b>the</b> title + </a> + <div class="snippet"><b>This</b> should be the content.</div> + <div class="url"> + http://this.should.be.the.link/ + </div> + </div> + </div> + """ + response = mock.Mock(text=html) + results = duckduckgo.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 0) diff --git a/searx/tests/engines/test_duckduckgo_definitions.py b/searx/tests/engines/test_duckduckgo_definitions.py new file mode 100644 index 000000000..71c84235c --- /dev/null +++ b/searx/tests/engines/test_duckduckgo_definitions.py @@ -0,0 +1,250 @@ +from collections import defaultdict +import mock +from searx.engines import duckduckgo_definitions +from searx.testing import SearxTestCase + + +class TestDDGDefinitionsEngine(SearxTestCase): + + def test_result_to_text(self): + url = '' + text = 'Text' + html_result = 'Html' + result = duckduckgo_definitions.result_to_text(url, text, html_result) + self.assertEqual(result, text) + + html_result = '<a href="url">Text in link</a>' + result = duckduckgo_definitions.result_to_text(url, text, html_result) + self.assertEqual(result, 'Text in link') + + def test_request(self): + query = 'test_query' + dicto = defaultdict(dict) + dicto['pageno'] = 1 + params = duckduckgo_definitions.request(query, dicto) + self.assertIn('url', params) + self.assertIn(query, params['url']) + self.assertIn('duckduckgo.com', params['url']) + + def test_response(self): + self.assertRaises(AttributeError, duckduckgo_definitions.response, None) + self.assertRaises(AttributeError, duckduckgo_definitions.response, []) + self.assertRaises(AttributeError, duckduckgo_definitions.response, '') + self.assertRaises(AttributeError, duckduckgo_definitions.response, '[]') + + response = mock.Mock(text='{}') + self.assertEqual(duckduckgo_definitions.response(response), []) + + response = mock.Mock(text='{"data": []}') + self.assertEqual(duckduckgo_definitions.response(response), []) + + json = """ + { + "DefinitionSource": "definition source", + "Heading": "heading", + "ImageWidth": 0, + "RelatedTopics": [ + { + "Result": "Top-level domains", + "Icon": { + "URL": "", + "Height": "", + "Width": "" + }, + "FirstURL": "https://first.url", + "Text": "text" + }, + { + "Topics": [ + { + "Result": "result topic", + "Icon": { + "URL": "", + "Height": "", + "Width": "" + }, + "FirstURL": "https://duckduckgo.com/?q=2%2F2", + "Text": "result topic text" + } + ], + "Name": "name" + } + ], + "Entity": "Entity", + "Type": "A", + "Redirect": "", + "DefinitionURL": "http://definition.url", + "AbstractURL": "https://abstract.url", + "Definition": "this is the definition", + "AbstractSource": "abstract source", + "Infobox": { + "content": [ + { + "data_type": "string", + "value": "1999", + "label": "Introduced", + "wiki_order": 0 + } + ], + "meta": [ + { + "data_type": "string", + "value": ".test", + "label": "article_title" + } + ] + }, + "Image": "image.png", + "ImageIsLogo": 0, + "Abstract": "abstract", + "AbstractText": "abstract text", + "AnswerType": "", + "ImageHeight": 0, + "Results": [{ + "Result" : "result title", + "Icon" : { + "URL" : "result url", + "Height" : 16, + "Width" : 16 + }, + "FirstURL" : "result first url", + "Text" : "result text" + } + ], + "Answer": "answer" + } + """ + response = mock.Mock(text=json) + results = duckduckgo_definitions.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 4) + self.assertEqual(results[0]['answer'], 'answer') + self.assertEqual(results[1]['title'], 'heading') + self.assertEqual(results[1]['url'], 'result first url') + self.assertEqual(results[2]['suggestion'], 'text') + self.assertEqual(results[3]['infobox'], 'heading') + self.assertEqual(results[3]['id'], 'http://definition.url') + self.assertEqual(results[3]['entity'], 'Entity') + self.assertIn('abstract', results[3]['content']) + self.assertIn('this is the definition', results[3]['content']) + self.assertEqual(results[3]['img_src'], 'image.png') + self.assertIn('Introduced', results[3]['attributes'][0]['label']) + self.assertIn('1999', results[3]['attributes'][0]['value']) + self.assertIn({'url': 'https://abstract.url', 'title': 'abstract source'}, results[3]['urls']) + self.assertIn({'url': 'http://definition.url', 'title': 'definition source'}, results[3]['urls']) + self.assertIn({'name': 'name', 'suggestions': ['result topic text']}, results[3]['relatedTopics']) + + json = """ + { + "DefinitionSource": "definition source", + "Heading": "heading", + "ImageWidth": 0, + "RelatedTopics": [], + "Entity": "Entity", + "Type": "A", + "Redirect": "", + "DefinitionURL": "", + "AbstractURL": "https://abstract.url", + "Definition": "", + "AbstractSource": "abstract source", + "Image": "", + "ImageIsLogo": 0, + "Abstract": "", + "AbstractText": "abstract text", + "AnswerType": "", + "ImageHeight": 0, + "Results": [], + "Answer": "" + } + """ + response = mock.Mock(text=json) + results = duckduckgo_definitions.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertEqual(results[0]['url'], 'https://abstract.url') + self.assertEqual(results[0]['title'], 'heading') + self.assertEqual(results[0]['content'], '') + + json = """ + { + "DefinitionSource": "definition source", + "Heading": "heading", + "ImageWidth": 0, + "RelatedTopics": [ + { + "Result": "Top-level domains", + "Icon": { + "URL": "", + "Height": "", + "Width": "" + }, + "FirstURL": "https://first.url", + "Text": "heading" + }, + { + "Name": "name" + }, + { + "Topics": [ + { + "Result": "result topic", + "Icon": { + "URL": "", + "Height": "", + "Width": "" + }, + "FirstURL": "https://duckduckgo.com/?q=2%2F2", + "Text": "heading" + } + ], + "Name": "name" + } + ], + "Entity": "Entity", + "Type": "A", + "Redirect": "", + "DefinitionURL": "http://definition.url", + "AbstractURL": "https://abstract.url", + "Definition": "this is the definition", + "AbstractSource": "abstract source", + "Infobox": { + "meta": [ + { + "data_type": "string", + "value": ".test", + "label": "article_title" + } + ] + }, + "Image": "image.png", + "ImageIsLogo": 0, + "Abstract": "abstract", + "AbstractText": "abstract text", + "AnswerType": "", + "ImageHeight": 0, + "Results": [{ + "Result" : "result title", + "Icon" : { + "URL" : "result url", + "Height" : 16, + "Width" : 16 + }, + "Text" : "result text" + } + ], + "Answer": "" + } + """ + response = mock.Mock(text=json) + results = duckduckgo_definitions.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertEqual(results[0]['infobox'], 'heading') + self.assertEqual(results[0]['id'], 'http://definition.url') + self.assertEqual(results[0]['entity'], 'Entity') + self.assertIn('abstract', results[0]['content']) + self.assertIn('this is the definition', results[0]['content']) + self.assertEqual(results[0]['img_src'], 'image.png') + self.assertIn({'url': 'https://abstract.url', 'title': 'abstract source'}, results[0]['urls']) + self.assertIn({'url': 'http://definition.url', 'title': 'definition source'}, results[0]['urls']) + self.assertIn({'name': 'name', 'suggestions': []}, results[0]['relatedTopics']) diff --git a/searx/tests/engines/test_faroo.py b/searx/tests/engines/test_faroo.py new file mode 100644 index 000000000..acebdda86 --- /dev/null +++ b/searx/tests/engines/test_faroo.py @@ -0,0 +1,116 @@ +# -*- coding: utf-8 -*- +from collections import defaultdict +import mock +from searx.engines import faroo +from searx.testing import SearxTestCase + + +class TestFarooEngine(SearxTestCase): + + def test_request(self): + query = 'test_query' + dicto = defaultdict(dict) + dicto['pageno'] = 1 + dicto['language'] = 'fr_FR' + dicto['category'] = 'general' + params = faroo.request(query, dicto) + self.assertIn('url', params) + self.assertIn(query, params['url']) + self.assertIn('faroo.com', params['url']) + self.assertIn('en', params['url']) + self.assertIn('web', params['url']) + + dicto['language'] = 'all' + params = faroo.request(query, dicto) + self.assertIn('en', params['url']) + + dicto['language'] = 'de_DE' + params = faroo.request(query, dicto) + self.assertIn('de', params['url']) + + def test_response(self): + self.assertRaises(AttributeError, faroo.response, None) + self.assertRaises(AttributeError, faroo.response, []) + self.assertRaises(AttributeError, faroo.response, '') + self.assertRaises(AttributeError, faroo.response, '[]') + + response = mock.Mock(text='{}') + self.assertEqual(faroo.response(response), []) + + response = mock.Mock(text='{"data": []}') + self.assertEqual(faroo.response(response), []) + + response = mock.Mock(text='{"data": []}', status_code=401) + self.assertRaises(Exception, faroo.response, response) + + response = mock.Mock(text='{"data": []}', status_code=429) + self.assertRaises(Exception, faroo.response, response) + + json = """ + { + "results": [ + { + "title": "This is the title", + "kwic": "This is the content", + "content": "", + "url": "http://this.is.the.url/", + "iurl": "", + "domain": "css3test.com", + "author": "Jim Dalrymple", + "news": true, + "votes": "10", + "date": 1360622563000, + "related": [] + }, + { + "title": "This is the title2", + "kwic": "This is the content2", + "content": "", + "url": "http://this.is.the.url2/", + "iurl": "", + "domain": "css3test.com", + "author": "Jim Dalrymple", + "news": false, + "votes": "10", + "related": [] + }, + { + "title": "This is the title3", + "kwic": "This is the content3", + "content": "", + "url": "http://this.is.the.url3/", + "iurl": "http://upload.wikimedia.org/optimized.jpg", + "domain": "css3test.com", + "author": "Jim Dalrymple", + "news": false, + "votes": "10", + "related": [] + } + ], + "query": "test", + "suggestions": [], + "count": 100, + "start": 1, + "length": 10, + "time": "15" + } + """ + response = mock.Mock(text=json) + results = faroo.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 4) + self.assertEqual(results[0]['title'], 'This is the title') + self.assertEqual(results[0]['url'], 'http://this.is.the.url/') + self.assertEqual(results[0]['content'], 'This is the content') + self.assertEqual(results[1]['title'], 'This is the title2') + self.assertEqual(results[1]['url'], 'http://this.is.the.url2/') + self.assertEqual(results[1]['content'], 'This is the content2') + self.assertEqual(results[3]['img_src'], 'http://upload.wikimedia.org/optimized.jpg') + + json = """ + {} + """ + response = mock.Mock(text=json) + results = faroo.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 0) diff --git a/searx/tests/engines/test_google.py b/searx/tests/engines/test_google.py new file mode 100644 index 000000000..2c3d8e5f6 --- /dev/null +++ b/searx/tests/engines/test_google.py @@ -0,0 +1,162 @@ +# -*- coding: utf-8 -*- +from collections import defaultdict +import mock +import lxml +from searx.engines import google +from searx.testing import SearxTestCase + + +class TestGoogleEngine(SearxTestCase): + + def test_request(self): + query = 'test_query' + dicto = defaultdict(dict) + dicto['pageno'] = 1 + dicto['language'] = 'fr_FR' + params = google.request(query, dicto) + self.assertIn('url', params) + self.assertIn(query, params['url']) + self.assertIn('google.com', params['url']) + self.assertIn('PREF', params['cookies']) + self.assertIn('fr', params['headers']['Accept-Language']) + + dicto['language'] = 'all' + params = google.request(query, dicto) + self.assertIn('en', params['headers']['Accept-Language']) + + def test_response(self): + self.assertRaises(AttributeError, google.response, None) + self.assertRaises(AttributeError, google.response, []) + self.assertRaises(AttributeError, google.response, '') + self.assertRaises(AttributeError, google.response, '[]') + + response = mock.Mock(text='<html></html>') + self.assertEqual(google.response(response), []) + + html = """ + <li class="g"> + <h3 class="r"> + <a href="http://this.should.be.the.link/"> + <b>This</b> is <b>the</b> title + </a> + </h3> + <div class="s"> + <div class="kv" style="margin-bottom:2px"> + <cite> + <b>test</b>.psychologies.com/ + </cite> + <div class="_nBb"> + <div style="display:inline" onclick="google.sham(this);" aria-expanded="false" + aria-haspopup="true" tabindex="0" data-ved="0CBUQ7B0wAA"> + <span class="_O0"> + </span> + </div> + <div style="display:none" class="am-dropdown-menu" role="menu" tabindex="-1"> + <ul> + <li class="_Ykb"> + <a class="_Zkb" href="http://www.google.fr/url?url=http://webcache.googleusercontent + .com/search%3Fcache:R1Z_4pGXjuIJ:http://test.psychologies.com/"> + En cache + </a> + </li> + <li class="_Ykb"> + <a class="_Zkb" href="/search?safe=off&q=related:test.psy.com/"> + Pages similaires + </a> + </li> + </ul> + </div> + </div> + </div> + <span class="st"> + This should be the content. + </span> + <br> + <div class="osl"> + <a href="http://www.google.fr/url?url=http://test.psychologies.com/tests/"> + Test Personnalité + </a> - + <a href="http://www.google.fr/url?url=http://test.psychologies.com/test/"> + Tests - Moi + </a> - + <a href="http://www.google.fr/url?url=http://test.psychologies.com/test/tests-couple"> + Test Couple + </a> + - + <a href="http://www.google.fr/url?url=http://test.psychologies.com/tests/tests-amour"> + Test Amour + </a> + </div> + </div> + </li> + <li class="g"> + <h3 class="r"> + <a href="http://www.google.com/images?q=toto"> + <b>This</b> + </a> + </h3> + </li> + <li class="g"> + <h3 class="r"> + <a href="http://www.google.com/search?q=toto"> + <b>This</b> is + </a> + </h3> + </li> + <li class="g"> + <h3 class="r"> + <a href="€"> + <b>This</b> is <b>the</b> + </a> + </h3> + </li> + <li class="g"> + <h3 class="r"> + <a href="/url?q=url"> + <b>This</b> is <b>the</b> + </a> + </h3> + </li> + <p class="_Bmc" style="margin:3px 8px"> + <a href="/search?num=20&safe=off&q=t&revid=1754833769&sa=X&ei=-&ved="> + suggestion <b>title</b> + </a> + </p> + """ + response = mock.Mock(text=html) + results = google.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 2) + self.assertEqual(results[0]['title'], 'This is the title') + self.assertEqual(results[0]['url'], 'http://this.should.be.the.link/') + self.assertEqual(results[0]['content'], 'This should be the content.') + self.assertEqual(results[1]['suggestion'], 'suggestion title') + + html = """ + <li class="b_algo" u="0|5109|4755453613245655|UAGjXgIrPH5yh-o5oNHRx_3Zta87f_QO"> + </li> + """ + response = mock.Mock(text=html) + results = google.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 0) + + def test_parse_images(self): + html = """ + <li> + <div> + <a href="http://www.google.com/url?q=http://this.is.the.url/"> + <img style="margin:3px 0;margin-right:6px;padding:0" height="90" + src="https://this.is.the.image/image.jpg" width="60" align="middle" alt="" border="0"> + </a> + </div> + </li> + """ + dom = lxml.html.fromstring(html) + results = google.parse_images(dom) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertEqual(results[0]['url'], 'http://this.is.the.url/') + self.assertEqual(results[0]['title'], '') + self.assertEqual(results[0]['content'], '') + self.assertEqual(results[0]['img_src'], 'https://this.is.the.image/image.jpg') diff --git a/searx/tests/engines/test_mediawiki.py b/searx/tests/engines/test_mediawiki.py new file mode 100644 index 000000000..63f7da6b2 --- /dev/null +++ b/searx/tests/engines/test_mediawiki.py @@ -0,0 +1,130 @@ +# -*- coding: utf-8 -*- +from collections import defaultdict +import mock +from searx.engines import mediawiki +from searx.testing import SearxTestCase + + +class TestMediawikiEngine(SearxTestCase): + + def test_request(self): + query = 'test_query' + dicto = defaultdict(dict) + dicto['pageno'] = 1 + dicto['language'] = 'fr_FR' + params = mediawiki.request(query, dicto) + self.assertIn('url', params) + self.assertIn(query, params['url']) + self.assertIn('wikipedia.org', params['url']) + self.assertIn('fr', params['url']) + + dicto['language'] = 'all' + params = mediawiki.request(query, dicto) + self.assertIn('en', params['url']) + + mediawiki.base_url = "http://test.url/" + mediawiki.search_url = mediawiki.base_url +\ + 'w/api.php?action=query'\ + '&list=search'\ + '&{query}'\ + '&srprop=timestamp'\ + '&format=json'\ + '&sroffset={offset}'\ + '&srlimit={limit}' # noqa + params = mediawiki.request(query, dicto) + self.assertIn('test.url', params['url']) + + def test_response(self): + dicto = defaultdict(dict) + dicto['language'] = 'fr' + mediawiki.base_url = "https://{language}.wikipedia.org/" + + self.assertRaises(AttributeError, mediawiki.response, None) + self.assertRaises(AttributeError, mediawiki.response, []) + self.assertRaises(AttributeError, mediawiki.response, '') + self.assertRaises(AttributeError, mediawiki.response, '[]') + + response = mock.Mock(text='{}', search_params=dicto) + self.assertEqual(mediawiki.response(response), []) + + response = mock.Mock(text='{"data": []}', search_params=dicto) + self.assertEqual(mediawiki.response(response), []) + + json = """ + { + "query-continue": { + "search": { + "sroffset": 1 + } + }, + "query": { + "searchinfo": { + "totalhits": 29721 + }, + "search": [ + { + "ns": 0, + "title": "This is the title étude", + "timestamp": "2014-12-19T17:42:52Z" + } + ] + } + } + """ + response = mock.Mock(text=json, search_params=dicto) + results = mediawiki.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertEqual(results[0]['title'], u'This is the title étude') + self.assertIn('fr.wikipedia.org', results[0]['url']) + self.assertIn('This_is_the_title', results[0]['url']) + self.assertIn('%C3%A9tude', results[0]['url']) + self.assertEqual(results[0]['content'], '') + + json = """ + { + "query-continue": { + "search": { + "sroffset": 1 + } + }, + "query": { + "searchinfo": { + "totalhits": 29721 + }, + "search": [ + ] + } + } + """ + response = mock.Mock(text=json, search_params=dicto) + results = mediawiki.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 0) + + json = """ + { + "query-continue": { + "search": { + "sroffset": 1 + } + }, + "query": { + } + } + """ + response = mock.Mock(text=json, search_params=dicto) + results = mediawiki.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 0) + + json = """ + {"toto":[ + {"id":200,"name":"Artist Name", + "link":"http:\/\/www.mediawiki.com\/artist\/1217","type":"artist"} + ]} + """ + response = mock.Mock(text=json, search_params=dicto) + results = mediawiki.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 0) diff --git a/searx/tests/engines/test_openstreetmap.py b/searx/tests/engines/test_openstreetmap.py new file mode 100644 index 000000000..7b7783f04 --- /dev/null +++ b/searx/tests/engines/test_openstreetmap.py @@ -0,0 +1,199 @@ +# -*- coding: utf-8 -*- +from collections import defaultdict +import mock +from searx.engines import openstreetmap +from searx.testing import SearxTestCase + + +class TestOpenstreetmapEngine(SearxTestCase): + + def test_request(self): + query = 'test_query' + dicto = defaultdict(dict) + dicto['pageno'] = 1 + params = openstreetmap.request(query, dicto) + self.assertIn('url', params) + self.assertIn(query, params['url']) + self.assertIn('openstreetmap.org', params['url']) + + def test_response(self): + self.assertRaises(AttributeError, openstreetmap.response, None) + self.assertRaises(AttributeError, openstreetmap.response, []) + self.assertRaises(AttributeError, openstreetmap.response, '') + self.assertRaises(AttributeError, openstreetmap.response, '[]') + + response = mock.Mock(text='{}') + self.assertEqual(openstreetmap.response(response), []) + + response = mock.Mock(text='{"data": []}') + self.assertEqual(openstreetmap.response(response), []) + + json = """ + [ + { + "place_id": "127732055", + "licence": "Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright", + "osm_type": "relation", + "osm_id": "7444", + "boundingbox": [ + "48.8155755", + "48.902156", + "2.224122", + "2.4697602" + ], + "lat": "48.8565056", + "lon": "2.3521334", + "display_name": "This is the title", + "class": "place", + "type": "city", + "importance": 0.96893459932191, + "icon": "https://nominatim.openstreetmap.org/images/mapicons/poi_place_city.p.20.png", + "address": { + "city": "Paris", + "county": "Paris", + "state": "Île-de-France", + "country": "France", + "country_code": "fr" + }, + "geojson": { + "type": "Polygon", + "coordinates": [ + [ + [ + 2.224122, + 48.854199 + ] + ] + ] + } + } + ] + """ + response = mock.Mock(text=json) + results = openstreetmap.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertEqual(results[0]['title'], 'This is the title') + self.assertEqual(results[0]['url'], 'https://openstreetmap.org/relation/7444') + self.assertIn('coordinates', results[0]['geojson']) + self.assertEqual(results[0]['geojson']['coordinates'][0][0][0], 2.224122) + self.assertEqual(results[0]['geojson']['coordinates'][0][0][1], 48.854199) + self.assertEqual(results[0]['address'], None) + self.assertIn('48.8155755', results[0]['boundingbox']) + self.assertIn('48.902156', results[0]['boundingbox']) + self.assertIn('2.224122', results[0]['boundingbox']) + self.assertIn('2.4697602', results[0]['boundingbox']) + + json = """ + [ + { + "place_id": "127732055", + "licence": "Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright", + "osm_type": "relation", + "osm_id": "7444", + "boundingbox": [ + "48.8155755", + "48.902156", + "2.224122", + "2.4697602" + ], + "lat": "48.8565056", + "lon": "2.3521334", + "display_name": "This is the title", + "class": "tourism", + "type": "city", + "importance": 0.96893459932191, + "icon": "https://nominatim.openstreetmap.org/images/mapicons/poi_place_city.p.20.png", + "address": { + "city": "Paris", + "county": "Paris", + "state": "Île-de-France", + "country": "France", + "country_code": "fr", + "address29": "Address" + }, + "geojson": { + "type": "Polygon", + "coordinates": [ + [ + [ + 2.224122, + 48.854199 + ] + ] + ] + } + }, + { + "place_id": "127732055", + "licence": "Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright", + "osm_type": "relation", + "osm_id": "7444", + "boundingbox": [ + "48.8155755", + "48.902156", + "2.224122", + "2.4697602" + ], + "lat": "48.8565056", + "lon": "2.3521334", + "display_name": "This is the title", + "class": "tourism", + "type": "city", + "importance": 0.96893459932191, + "icon": "https://nominatim.openstreetmap.org/images/mapicons/poi_place_city.p.20.png", + "address": { + "city": "Paris", + "county": "Paris", + "state": "Île-de-France", + "country": "France", + "postcode": 75000, + "country_code": "fr" + }, + "geojson": { + "type": "Polygon", + "coordinates": [ + [ + [ + 2.224122, + 48.854199 + ] + ] + ] + } + }, + { + "place_id": "127732055", + "licence": "Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright", + "osm_type": "node", + "osm_id": "7444", + "boundingbox": [ + "48.8155755", + "48.902156", + "2.224122", + "2.4697602" + ], + "lat": "48.8565056", + "lon": "2.3521334", + "display_name": "This is the title", + "class": "tourism", + "type": "city", + "importance": 0.96893459932191, + "icon": "https://nominatim.openstreetmap.org/images/mapicons/poi_place_city.p.20.png", + "address": { + "city": "Paris", + "county": "Paris", + "state": "Île-de-France", + "country": "France", + "country_code": "fr", + "address29": "Address" + } + } + ] + """ + response = mock.Mock(text=json) + results = openstreetmap.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 3) + self.assertIn('48.8565056', results[2]['geojson']['coordinates']) + self.assertIn('2.3521334', results[2]['geojson']['coordinates']) diff --git a/searx/tests/engines/test_photon.py b/searx/tests/engines/test_photon.py new file mode 100644 index 000000000..734497884 --- /dev/null +++ b/searx/tests/engines/test_photon.py @@ -0,0 +1,166 @@ +# -*- coding: utf-8 -*- +from collections import defaultdict +import mock +from searx.engines import photon +from searx.testing import SearxTestCase + + +class TestPhotonEngine(SearxTestCase): + + def test_request(self): + query = 'test_query' + dicto = defaultdict(dict) + dicto['pageno'] = 1 + dicto['language'] = 'all' + params = photon.request(query, dicto) + self.assertIn('url', params) + self.assertIn(query, params['url']) + self.assertIn('photon.komoot.de', params['url']) + + dicto['language'] = 'all' + params = photon.request(query, dicto) + self.assertNotIn('lang', params['url']) + + dicto['language'] = 'al' + params = photon.request(query, dicto) + self.assertNotIn('lang', params['url']) + + dicto['language'] = 'fr' + params = photon.request(query, dicto) + self.assertIn('fr', params['url']) + + def test_response(self): + self.assertRaises(AttributeError, photon.response, None) + self.assertRaises(AttributeError, photon.response, []) + self.assertRaises(AttributeError, photon.response, '') + self.assertRaises(AttributeError, photon.response, '[]') + + response = mock.Mock(text='{}') + self.assertEqual(photon.response(response), []) + + response = mock.Mock(text='{"data": []}') + self.assertEqual(photon.response(response), []) + + json = """ + { + "features": [ + { + "properties": { + "osm_key": "waterway", + "extent": [ + -1.4508446, + 51.1614997, + -1.4408036, + 51.1525635 + ], + "name": "This is the title", + "state": "England", + "osm_id": 114823817, + "osm_type": "W", + "osm_value": "river", + "city": "Test Valley", + "country": "United Kingdom" + }, + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -1.4458571, + 51.1576661 + ] + } + }, + { + "properties": { + "osm_key": "place", + "street": "Rue", + "state": "Ile-de-France", + "osm_id": 129211377, + "osm_type": "R", + "housenumber": "10", + "postcode": "75011", + "osm_value": "house", + "city": "Paris", + "country": "France" + }, + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 2.3725025, + 48.8654481 + ] + } + }, + { + "properties": { + "osm_key": "amenity", + "street": "Allée", + "name": "Bibliothèque", + "state": "Ile-de-France", + "osm_id": 1028573132, + "osm_type": "N", + "postcode": "75001", + "osm_value": "library", + "city": "Paris", + "country": "France" + }, + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 2.3445634, + 48.862494 + ] + } + }, + { + "properties": { + "osm_key": "amenity", + "osm_id": 1028573132, + "osm_type": "Y", + "postcode": "75001", + "osm_value": "library", + "city": "Paris", + "country": "France" + }, + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 2.3445634, + 48.862494 + ] + } + }, + { + } + ], + "type": "FeatureCollection" + } + """ + response = mock.Mock(text=json) + results = photon.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 3) + self.assertEqual(results[0]['title'], 'This is the title') + self.assertEqual(results[0]['content'], '') + self.assertEqual(results[0]['longitude'], -1.4458571) + self.assertEqual(results[0]['latitude'], 51.1576661) + self.assertIn(-1.4508446, results[0]['boundingbox']) + self.assertIn(51.1614997, results[0]['boundingbox']) + self.assertIn(-1.4408036, results[0]['boundingbox']) + self.assertIn(51.1525635, results[0]['boundingbox']) + self.assertIn('type', results[0]['geojson']) + self.assertEqual(results[0]['geojson']['type'], 'Point') + self.assertEqual(results[0]['address'], None) + self.assertEqual(results[0]['osm']['type'], 'way') + self.assertEqual(results[0]['osm']['id'], 114823817) + self.assertEqual(results[0]['url'], 'https://openstreetmap.org/way/114823817') + self.assertEqual(results[1]['osm']['type'], 'relation') + self.assertEqual(results[2]['address']['name'], u'Bibliothèque') + self.assertEqual(results[2]['address']['house_number'], None) + self.assertEqual(results[2]['address']['locality'], 'Paris') + self.assertEqual(results[2]['address']['postcode'], '75001') + self.assertEqual(results[2]['address']['country'], 'France') + self.assertEqual(results[2]['osm']['type'], 'node') diff --git a/searx/tests/engines/test_startpage.py b/searx/tests/engines/test_startpage.py new file mode 100644 index 000000000..07f13ee27 --- /dev/null +++ b/searx/tests/engines/test_startpage.py @@ -0,0 +1,140 @@ +# -*- coding: utf-8 -*- +from collections import defaultdict +import mock +from searx.engines import startpage +from searx.testing import SearxTestCase + + +class TestStartpageEngine(SearxTestCase): + + def test_request(self): + query = 'test_query' + dicto = defaultdict(dict) + dicto['pageno'] = 1 + dicto['language'] = 'fr_FR' + params = startpage.request(query, dicto) + self.assertIn('url', params) + self.assertIn('startpage.com', params['url']) + self.assertIn('data', params) + self.assertIn('query', params['data']) + self.assertIn(query, params['data']['query']) + self.assertIn('with_language', params['data']) + self.assertIn('lang_fr', params['data']['with_language']) + + dicto['language'] = 'all' + params = startpage.request(query, dicto) + self.assertNotIn('with_language', params['data']) + + def test_response(self): + self.assertRaises(AttributeError, startpage.response, None) + self.assertRaises(AttributeError, startpage.response, []) + self.assertRaises(AttributeError, startpage.response, '') + self.assertRaises(AttributeError, startpage.response, '[]') + + response = mock.Mock(content='<html></html>') + self.assertEqual(startpage.response(response), []) + + html = """ + <div class='result' style=' *width : auto; *margin-right : 10%;'> + <h3> + <a href='http://this.should.be.the.link/' id='title_2' name='title_2' > + This should be the title + </a> + <span id='title_stars_2' name='title_stars_2'> </span> + </h3> + <p class='desc'> + This should be the content. + </p> + <p> + <span class='url'>www.speed<b>test</b>.net/fr/ + </span> + - + <A class="proxy" id="proxy_link" HREF="https://ixquick-proxy.com/do/spg/proxy?ep=&edata=&ek=&ekdata=" + class='proxy'> + Navigation avec Ixquick Proxy + </A> + - + <A HREF="https://ixquick-proxy.com/do/spg/highlight.pl?l=francais&c=hf&cat=web&q=test&rl=NONE&rid= + &hlq=https://startpage.com/do/search&mtabp=-1&mtcmd=process_search&mtlanguage=francais&mtengine0= + &mtcat=web&u=http:%2F%2Fwww.speedtest.net%2Ffr%2F" class='proxy'> + Mis en surbrillance + </A> + </p> + </div> + """ + response = mock.Mock(content=html) + results = startpage.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertEqual(results[0]['title'], 'This should be the title') + self.assertEqual(results[0]['url'], 'http://this.should.be.the.link/') + self.assertEqual(results[0]['content'], 'This should be the content.') + + html = """ + <div class='result' style=' *width : auto; *margin-right : 10%;'> + <h3> + <a href='http://www.google.com/aclk?sa=l&ai=C' id='title_2' name='title_2' > + This should be the title + </a> + <span id='title_stars_2' name='title_stars_2'> </span> + </h3> + <p class='desc'> + This should be the content. + </p> + <p> + <span class='url'>www.speed<b>test</b>.net/fr/ + </span> + - + <A class="proxy" id="proxy_link" HREF="https://ixquick-proxy.com/do/spg/proxy?ep=&edata=&ek=&ekdata=" + class='proxy'> + Navigation avec Ixquick Proxy + </A> + - + <A HREF="https://ixquick-proxy.com/do/spg/highlight.pl?l=francais&c=hf&cat=web&q=test&rl=NONE&rid= + &hlq=https://startpage.com/do/search&mtabp=-1&mtcmd=process_search&mtlanguage=francais&mtengine0= + &mtcat=web&u=http:%2F%2Fwww.speedtest.net%2Ffr%2F" class='proxy'> + Mis en surbrillance + </A> + </p> + </div> + <div class='result' style=' *width : auto; *margin-right : 10%;'> + <h3> + <span id='title_stars_2' name='title_stars_2'> </span> + </h3> + <p class='desc'> + This should be the content. + </p> + <p> + <span class='url'>www.speed<b>test</b>.net/fr/ + </span> + </p> + </div> + <div class='result' style=' *width : auto; *margin-right : 10%;'> + <h3> + <a href='http://this.should.be.the.link/' id='title_2' name='title_2' > + This should be the title + </a> + <span id='title_stars_2' name='title_stars_2'> </span> + </h3> + <p> + <span class='url'>www.speed<b>test</b>.net/fr/ + </span> + - + <A class="proxy" id="proxy_link" HREF="https://ixquick-proxy.com/do/spg/proxy?ep=&edata=&ek=&ekdata=" + class='proxy'> + Navigation avec Ixquick Proxy + </A> + - + <A HREF="https://ixquick-proxy.com/do/spg/highlight.pl?l=francais&c=hf&cat=web&q=test&rl=NONE&rid= + &hlq=https://startpage.com/do/search&mtabp=-1&mtcmd=process_search&mtlanguage=francais&mtengine0= + &mtcat=web&u=http:%2F%2Fwww.speedtest.net%2Ffr%2F" class='proxy'> + Mis en surbrillance + </A> + </p> + </div> + """ + response = mock.Mock(content=html) + results = startpage.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertEqual(results[0]['content'], '') diff --git a/searx/tests/engines/test_subtitleseeker.py b/searx/tests/engines/test_subtitleseeker.py new file mode 100644 index 000000000..a641601b2 --- /dev/null +++ b/searx/tests/engines/test_subtitleseeker.py @@ -0,0 +1,169 @@ +from collections import defaultdict +import mock +from searx.engines import subtitleseeker +from searx.testing import SearxTestCase + + +class TestSubtitleseekerEngine(SearxTestCase): + + def test_request(self): + query = 'test_query' + dicto = defaultdict(dict) + dicto['pageno'] = 1 + params = subtitleseeker.request(query, dicto) + self.assertTrue('url' in params) + self.assertTrue(query in params['url']) + self.assertTrue('subtitleseeker.com' in params['url']) + + def test_response(self): + dicto = defaultdict(dict) + dicto['language'] = 'fr_FR' + response = mock.Mock(search_params=dicto) + + self.assertRaises(AttributeError, subtitleseeker.response, None) + self.assertRaises(AttributeError, subtitleseeker.response, []) + self.assertRaises(AttributeError, subtitleseeker.response, '') + self.assertRaises(AttributeError, subtitleseeker.response, '[]') + + response = mock.Mock(text='<html></html>', search_params=dicto) + self.assertEqual(subtitleseeker.response(response), []) + + html = """ + <div class="boxRows"> + <div class="boxRowsInner" style="width:600px;"> + <img src="http://static.subtitleseeker.com/images/movie.gif" + style="width:16px; height:16px;" class="icon"> + <a href="http://this.is.the.url/" + class="blue" title="Title subtitle" > + This is the Title + </a> + <br><br> + <span class="f10b grey-dark arial" style="padding:0px 0px 5px 20px"> + "Alternative Title" + </span> + </div> + <div class="boxRowsInner f12b red" style="width:70px;"> + 1998 + </div> + <div class="boxRowsInner grey-web f12" style="width:120px;"> + <img src="http://static.subtitleseeker.com/images/basket_put.png" + style="width:16px; height:16px;" class="icon"> + 1039 Subs + </div> + <div class="boxRowsInner grey-web f10" style="width:130px;"> + <img src="http://static.subtitleseeker.com/images/arrow_refresh_small.png" + style="width:16px; height:16px;" class="icon"> + 1 hours ago + </div> + <div class="clear"></div> + </div> + """ + response = mock.Mock(text=html, search_params=dicto) + results = subtitleseeker.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertEqual(results[0]['title'], 'This is the Title') + self.assertEqual(results[0]['url'], 'http://this.is.the.url/French/') + self.assertIn('1998', results[0]['content']) + self.assertIn('1039 Subs', results[0]['content']) + self.assertIn('Alternative Title', results[0]['content']) + + html = """ + <div class="boxRows"> + <div class="boxRowsInner" style="width:600px;"> + <img src="http://static.subtitleseeker.com/images/movie.gif" + style="width:16px; height:16px;" class="icon"> + <a href="http://this.is.the.url/" + class="blue" title="Title subtitle" > + This is the Title + </a> + </div> + <div class="boxRowsInner f12b red" style="width:70px;"> + 1998 + </div> + <div class="boxRowsInner grey-web f12" style="width:120px;"> + <img src="http://static.subtitleseeker.com/images/basket_put.png" + style="width:16px; height:16px;" class="icon"> + 1039 Subs + </div> + <div class="boxRowsInner grey-web f10" style="width:130px;"> + <img src="http://static.subtitleseeker.com/images/arrow_refresh_small.png" + style="width:16px; height:16px;" class="icon"> + 1 hours ago + </div> + <div class="clear"></div> + </div> + """ + dicto['language'] = 'all' + response = mock.Mock(text=html, search_params=dicto) + results = subtitleseeker.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertEqual(results[0]['title'], 'This is the Title') + self.assertEqual(results[0]['url'], 'http://this.is.the.url/') + self.assertIn('1998', results[0]['content']) + self.assertIn('1039 Subs', results[0]['content']) + + html = """ + <div class="boxRows"> + <div class="boxRowsInner" style="width:600px;"> + <img src="http://static.subtitleseeker.com/images/movie.gif" + style="width:16px; height:16px;" class="icon"> + <a href="http://this.is.the.url/" + class="blue" title="Title subtitle" > + This is the Title + </a> + </div> + <div class="boxRowsInner f12b red" style="width:70px;"> + 1998 + </div> + <div class="boxRowsInner grey-web f12" style="width:120px;"> + <img src="http://static.subtitleseeker.com/images/basket_put.png" + style="width:16px; height:16px;" class="icon"> + 1039 Subs + </div> + <div class="boxRowsInner grey-web f10" style="width:130px;"> + <img src="http://static.subtitleseeker.com/images/arrow_refresh_small.png" + style="width:16px; height:16px;" class="icon"> + 1 hours ago + </div> + <div class="clear"></div> + </div> + """ + subtitleseeker.language = 'English' + response = mock.Mock(text=html, search_params=dicto) + results = subtitleseeker.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertEqual(results[0]['title'], 'This is the Title') + self.assertEqual(results[0]['url'], 'http://this.is.the.url/English/') + self.assertIn('1998', results[0]['content']) + self.assertIn('1039 Subs', results[0]['content']) + + html = """ + <div class="boxRowsInner" style="width:600px;"> + <img src="http://static.subtitleseeker.com/images/movie.gif" + style="width:16px; height:16px;" class="icon"> + <a href="http://this.is.the.url/" + class="blue" title="Title subtitle" > + This is the Title + </a> + </div> + <div class="boxRowsInner f12b red" style="width:70px;"> + 1998 + </div> + <div class="boxRowsInner grey-web f12" style="width:120px;"> + <img src="http://static.subtitleseeker.com/images/basket_put.png" + style="width:16px; height:16px;" class="icon"> + 1039 Subs + </div> + <div class="boxRowsInner grey-web f10" style="width:130px;"> + <img src="http://static.subtitleseeker.com/images/arrow_refresh_small.png" + style="width:16px; height:16px;" class="icon"> + 1 hours ago + </div> + """ + response = mock.Mock(text=html, search_params=dicto) + results = subtitleseeker.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 0) diff --git a/searx/tests/engines/test_twitter.py b/searx/tests/engines/test_twitter.py new file mode 100644 index 000000000..b444b48ee --- /dev/null +++ b/searx/tests/engines/test_twitter.py @@ -0,0 +1,502 @@ +# -*- coding: utf-8 -*- +from collections import defaultdict +import mock +from searx.engines import twitter +from searx.testing import SearxTestCase + + +class TestTwitterEngine(SearxTestCase): + + def test_request(self): + query = 'test_query' + dicto = defaultdict(dict) + dicto['pageno'] = 0 + dicto['language'] = 'fr_FR' + params = twitter.request(query, dicto) + self.assertIn('url', params) + self.assertIn(query, params['url']) + self.assertIn('twitter.com', params['url']) + self.assertIn('cookies', params) + self.assertIn('lang', params['cookies']) + self.assertIn('fr', params['cookies']['lang']) + + dicto['language'] = 'all' + params = twitter.request(query, dicto) + self.assertIn('cookies', params) + self.assertIn('lang', params['cookies']) + self.assertIn('en', params['cookies']['lang']) + + def test_response(self): + self.assertRaises(AttributeError, twitter.response, None) + self.assertRaises(AttributeError, twitter.response, []) + self.assertRaises(AttributeError, twitter.response, '') + self.assertRaises(AttributeError, twitter.response, '[]') + + response = mock.Mock(text='<html></html>') + self.assertEqual(twitter.response(response), []) + + html = """ + <li class="js-stream-item stream-item stream-item expanding-stream-item" data-item-id="563005573290287105" + id="stream-item-tweet-563005573290287105" data-item-type="tweet"> + <div class="tweet original-tweet js-stream-tweet js-actionable-tweet js-profile-popup-actionable + js-original-tweet has-cards has-native-media" data-tweet-id="563005573290287105" data-disclosure-type="" + data-item-id="563005573290287105" data-screen-name="Jalopnik" data-name="Jalopnik" + data-user-id="3060631" data-has-native-media="true" data-has-cards="true" data-card-type="photo" + data-expanded-footer="<div class="js-tweet-details-fixer + tweet-details-fixer"> + <div class="cards-media-container js-media-container"><div + data-card-url="//twitter.com/Jalopnik/status/563005573290287105/photo/1" data-card-type=" + photo" class="cards-base cards-multimedia" data-element-context="platform_photo_card + "> <a class="media media-thumbnail twitter-timeline-link is-preview + " data-url="https://pbs.twimg.com/media/B9Aylf5IMAAuziP.jpg:large" + data-resolved-url-large="https://pbs.twimg.com/media/B9Aylf5IMAAuziP.jpg:large" + href="//twitter.com/Jalopnik/status/563005573290287105/photo/1"> + <div class=""> <img src=" + https://pbs.twimg.com/media/B9Aylf5IMAAuziP.jpg" + alt="Embedded image permalink" width="636" height="309"> + </div> </a> <div class="cards-content"> + <div class="byline"> </div> </div> + </div> </div> <div + class="js-machine-translated-tweet-container"></div> <div + class="js-tweet-stats-container tweet-stats-container "> </div> + <div class="client-and-actions"> <span class="metadata"> + <span>5:06 PM - 4 Feb 2015</span> &middot; <a + class="permalink-link js-permalink js-nav" href="/Jalopnik/status/563005573290287105 + "tabindex="-1">Details</a> + </span> </div> </div> " data-you-follow="false" + data-you-block="false"> + <div class="context"> + </div> + <div class="content"> + <div class="stream-item-header"> + <a class="account-group js-account-group js-action-profile js-user-profile-link js-nav" + href="/Jalopnik" data-user-id="3060631"> + <img class="avatar js-action-profile-avatar" + src="https://pbs.twimg.com/profile_images/2976430168/5cd4a59_bigger.jpeg" alt=""> + <strong class="fullname js-action-profile-name show-popup-with-id" data-aria-label-part> + Jalopnik + </strong> + <span>‏</span> + <span class="username js-action-profile-name" data-aria-label-part> + <s>@</s><b>TitleName</b> + </span> + </a> + <small class="time"> + <a href="/this.is.the.url" + class="tweet-timestamp js-permalink js-nav js-tooltip" title="5:06 PM - 4 Feb 2015" > + <span class="u-hiddenVisually" data-aria-label-part="last">17 minutes ago</span> + </a> + </small> + </div> + <p class="js-tweet-text tweet-text" lang="en" data-aria-label-part="0"> + This is the content étude à€ + <a href="http://t.co/nRWsqQAwBL" rel="nofollow" dir="ltr" + data-expanded-url="http://jalo.ps/ReMENu4" class="twitter-timeline-link" + target="_blank" title="http://jalo.ps/ReMENu4" > + <span class="tco-ellipsis"> + </span> + <span class="invisible">http://</span><span class="js-display-url">link.in.tweet</span> + <span class="invisible"></span> + <span class="tco-ellipsis"> + <span class="invisible"> </span> + </span> + </a> + <a href="http://t.co/rbFsfeE0l3" class="twitter-timeline-link u-hidden" + data-pre-embedded="true" dir="ltr"> + pic.twitter.com/rbFsfeE0l3 + </a> + </p> + <div class="expanded-content js-tweet-details-dropdown"> + </div> + <div class="stream-item-footer"> + <a class="details with-icn js-details" href="/Jalopnik/status/563005573290287105"> + <span class="Icon Icon--photo"> + </span> + <b> + <span class="expand-stream-item js-view-details"> + View photo + </span> + <span class="collapse-stream-item js-hide-details"> + Hide photo + </span> + </b> + </a> + <span class="ProfileTweet-action--reply u-hiddenVisually"> + <span class="ProfileTweet-actionCount" aria-hidden="true" data-tweet-stat-count="0"> + <span class="ProfileTweet-actionCountForAria" >0 replies</span> + </span> + </span> + <span class="ProfileTweet-action--retweet u-hiddenVisually"> + <span class="ProfileTweet-actionCount" data-tweet-stat-count="8"> + <span class="ProfileTweet-actionCountForAria" data-aria-label-part>8 retweets</span> + </span> + </span> + <span class="ProfileTweet-action--favorite u-hiddenVisually"> + <span class="ProfileTweet-actionCount" data-tweet-stat-count="14"> + <span class="ProfileTweet-actionCountForAria" data-aria-label-part>14 favorites</span> + </span> + </span> + <div role="group" aria-label="Tweet actions" class="ProfileTweet-actionList u-cf js-actions"> + <div class="ProfileTweet-action ProfileTweet-action--reply"> + <button class="ProfileTweet-actionButton u-textUserColorHover js-actionButton + js-actionReply" data-modal="ProfileTweet-reply" type="button" title="Reply"> + <span class="Icon Icon--reply"> + </span> + <span class="u-hiddenVisually">Reply</span> + <span class="ProfileTweet-actionCount u-textUserColorHover + ProfileTweet-actionCount--isZero"> + <span class="ProfileTweet-actionCountForPresentation" aria-hidden="true"> + </span> + </span> + </button> + </div> + <div class="ProfileTweet-action ProfileTweet-action--retweet js-toggleState js-toggleRt"> + <button class="ProfileTweet-actionButton js-actionButton js-actionRetweet js-tooltip" + title="Retweet" data-modal="ProfileTweet-retweet" type="button"> + <span class="Icon Icon--retweet"> + </span> + <span class="u-hiddenVisually">Retweet</span> + <span class="ProfileTweet-actionCount"> + <span class="ProfileTweet-actionCountForPresentation">8</span> + </span> + </button> + <button class="ProfileTweet-actionButtonUndo js-actionButton js-actionRetweet" + data-modal="ProfileTweet-retweet" title="Undo retweet" type="button"> + <span class="Icon Icon--retweet"> + </span> + <span class="u-hiddenVisually">Retweeted</span> + <span class="ProfileTweet-actionCount"> + <span class="ProfileTweet-actionCountForPresentation">8</span> + </span> + </button> + </div> + <div class="ProfileTweet-action ProfileTweet-action--favorite js-toggleState"> + <button class="ProfileTweet-actionButton js-actionButton js-actionFavorite js-tooltip" + title="Favorite" type="button"> + <span class="Icon Icon--favorite"> + </span> + <span class="u-hiddenVisually">Favorite</span> + <span class="ProfileTweet-actionCount"> + <span class="ProfileTweet-actionCountForPresentation">14</span> + </span> + </button> + <button class="ProfileTweet-actionButtonUndo u-linkClean js-actionButton + js-actionFavorite" title="Undo favorite" type="button"> + <span class="Icon Icon--favorite"> + </span> + <span class="u-hiddenVisually">Favorited</span> + <span class="ProfileTweet-actionCount"> + <span class="ProfileTweet-actionCountForPresentation"> + 14 + </span> + </span> + </button> + </div> + <div class="ProfileTweet-action ProfileTweet-action--more js-more-ProfileTweet-actions"> + <div class="dropdown"> + <button class="ProfileTweet-actionButton u-textUserColorHover dropdown-toggle + js-tooltip js-dropdown-toggle" type="button" title="More"> + <span class="Icon Icon--dots"> + </span> + <span class="u-hiddenVisually">More</span> + </button> + <div class="dropdown-menu"> + <div class="dropdown-caret"> + <div class="caret-outer"> + </div> + <div class="caret-inner"> + </div> + </div> + <ul> + <li class="share-via-dm js-actionShareViaDM" data-nav="share_tweet_dm"> + <button type="button" class="dropdown-link"> + Share via Direct Message + </button> + </li> + <li class="embed-link js-actionEmbedTweet" data-nav="embed_tweet"> + <button type="button" class="dropdown-link"> + Embed Tweet + </button> + </li> + <li class="mute-user-item pretty-link"> + <button type="button" class="dropdown-link"> + Mute + </button> + </li> + <li class="unmute-user-item pretty-link"> + <button type="button" class="dropdown-link"> + Unmute + </button> + </li> + <li class="block-or-report-link js-actionBlockOrReport" + data-nav="block_or_report"> + <button type="button" class="dropdown-link"> + Block or report + </button> + </li> + </ul> + </div> + </div> + </div> + </div> + </div> + </div> + </div> + </li> + """ + response = mock.Mock(text=html) + results = twitter.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertEqual(results[0]['title'], '@TitleName') + self.assertEqual(results[0]['url'], 'https://twitter.com/this.is.the.url') + self.assertIn(u'This is the content', results[0]['content']) + # self.assertIn(u'This is the content étude à€', results[0]['content']) + + html = """ + <li class="js-stream-item stream-item stream-item expanding-stream-item" data-item-id="563005573290287105" + id="stream-item-tweet-563005573290287105" data-item-type="tweet"> + <div class="tweet original-tweet js-stream-tweet js-actionable-tweet js-profile-popup-actionable + js-original-tweet has-cards has-native-media" data-tweet-id="563005573290287105" data-disclosure-type="" + data-item-id="563005573290287105" data-screen-name="Jalopnik" data-name="Jalopnik" + data-user-id="3060631" data-has-native-media="true" data-has-cards="true" data-card-type="photo" + data-expanded-footer="<div class="js-tweet-details-fixer + tweet-details-fixer"> + <div class="cards-media-container js-media-container"><div + data-card-url="//twitter.com/Jalopnik/status/563005573290287105/photo/1" data-card-type=" + photo" class="cards-base cards-multimedia" data-element-context="platform_photo_card + "> <a class="media media-thumbnail twitter-timeline-link is-preview + " data-url="https://pbs.twimg.com/media/B9Aylf5IMAAuziP.jpg:large" + data-resolved-url-large="https://pbs.twimg.com/media/B9Aylf5IMAAuziP.jpg:large" + href="//twitter.com/Jalopnik/status/563005573290287105/photo/1"> + <div class=""> <img src=" + https://pbs.twimg.com/media/B9Aylf5IMAAuziP.jpg" + alt="Embedded image permalink" width="636" height="309"> + </div> </a> <div class="cards-content"> + <div class="byline"> </div> </div> + </div> </div> <div + class="js-machine-translated-tweet-container"></div> <div + class="js-tweet-stats-container tweet-stats-container "> </div> + <div class="client-and-actions"> <span class="metadata"> + <span>5:06 PM - 4 Feb 2015</span> &middot; <a + class="permalink-link js-permalink js-nav" href="/Jalopnik/status/563005573290287105 + "tabindex="-1">Details</a> + </span> </div> </div> " data-you-follow="false" + data-you-block="false"> + <div class="context"> + </div> + <div class="content"> + <div class="stream-item-header"> + <a class="account-group js-account-group js-action-profile js-user-profile-link js-nav" + href="/Jalopnik" data-user-id="3060631"> + <img class="avatar js-action-profile-avatar" + src="https://pbs.twimg.com/profile_images/2976430168/5cd4a59_bigger.jpeg" alt=""> + <strong class="fullname js-action-profile-name show-popup-with-id" data-aria-label-part> + Jalopnik + </strong> + <span>‏</span> + <span class="username js-action-profile-name" data-aria-label-part> + <s>@</s><b>TitleName</b> + </span> + </a> + <small class="time"> + <a href="/this.is.the.url" + class="tweet-timestamp js-permalink js-nav js-tooltip" title="5:06 PM - 4 Feb 2015" > + <span class="_timestamp js-short-timestamp js-relative-timestamp" data-time="1423065963" + data-time-ms="1423065963000" data-long-form="true" aria-hidden="true"> + 17m + </span> + <span class="u-hiddenVisually" data-aria-label-part="last">17 minutes ago</span> + </a> + </small> + </div> + <p class="js-tweet-text tweet-text" lang="en" data-aria-label-part="0"> + This is the content étude à€ + <a href="http://t.co/nRWsqQAwBL" rel="nofollow" dir="ltr" + data-expanded-url="http://jalo.ps/ReMENu4" class="twitter-timeline-link" + target="_blank" title="http://jalo.ps/ReMENu4" > + <span class="tco-ellipsis"> + </span> + <span class="invisible">http://</span><span class="js-display-url">link.in.tweet</span> + <span class="invisible"></span> + <span class="tco-ellipsis"> + <span class="invisible"> </span> + </span> + </a> + <a href="http://t.co/rbFsfeE0l3" class="twitter-timeline-link u-hidden" + data-pre-embedded="true" dir="ltr"> + pic.twitter.com/rbFsfeE0l3 + </a> + </p> + <div class="expanded-content js-tweet-details-dropdown"> + </div> + <div class="stream-item-footer"> + <a class="details with-icn js-details" href="/Jalopnik/status/563005573290287105"> + <span class="Icon Icon--photo"> + </span> + <b> + <span class="expand-stream-item js-view-details"> + View photo + </span> + <span class="collapse-stream-item js-hide-details"> + Hide photo + </span> + </b> + </a> + <span class="ProfileTweet-action--reply u-hiddenVisually"> + <span class="ProfileTweet-actionCount" aria-hidden="true" data-tweet-stat-count="0"> + <span class="ProfileTweet-actionCountForAria" >0 replies</span> + </span> + </span> + <span class="ProfileTweet-action--retweet u-hiddenVisually"> + <span class="ProfileTweet-actionCount" data-tweet-stat-count="8"> + <span class="ProfileTweet-actionCountForAria" data-aria-label-part>8 retweets</span> + </span> + </span> + <span class="ProfileTweet-action--favorite u-hiddenVisually"> + <span class="ProfileTweet-actionCount" data-tweet-stat-count="14"> + <span class="ProfileTweet-actionCountForAria" data-aria-label-part>14 favorites</span> + </span> + </span> + <div role="group" aria-label="Tweet actions" class="ProfileTweet-actionList u-cf js-actions"> + <div class="ProfileTweet-action ProfileTweet-action--reply"> + <button class="ProfileTweet-actionButton u-textUserColorHover js-actionButton + js-actionReply" data-modal="ProfileTweet-reply" type="button" title="Reply"> + <span class="Icon Icon--reply"> + </span> + <span class="u-hiddenVisually">Reply</span> + <span class="ProfileTweet-actionCount u-textUserColorHover + ProfileTweet-actionCount--isZero"> + <span class="ProfileTweet-actionCountForPresentation" aria-hidden="true"> + </span> + </span> + </button> + </div> + <div class="ProfileTweet-action ProfileTweet-action--retweet js-toggleState js-toggleRt"> + <button class="ProfileTweet-actionButton js-actionButton js-actionRetweet js-tooltip" + title="Retweet" data-modal="ProfileTweet-retweet" type="button"> + <span class="Icon Icon--retweet"> + </span> + <span class="u-hiddenVisually">Retweet</span> + <span class="ProfileTweet-actionCount"> + <span class="ProfileTweet-actionCountForPresentation">8</span> + </span> + </button> + <button class="ProfileTweet-actionButtonUndo js-actionButton js-actionRetweet" + data-modal="ProfileTweet-retweet" title="Undo retweet" type="button"> + <span class="Icon Icon--retweet"> + </span> + <span class="u-hiddenVisually">Retweeted</span> + <span class="ProfileTweet-actionCount"> + <span class="ProfileTweet-actionCountForPresentation">8</span> + </span> + </button> + </div> + <div class="ProfileTweet-action ProfileTweet-action--favorite js-toggleState"> + <button class="ProfileTweet-actionButton js-actionButton js-actionFavorite js-tooltip" + title="Favorite" type="button"> + <span class="Icon Icon--favorite"> + </span> + <span class="u-hiddenVisually">Favorite</span> + <span class="ProfileTweet-actionCount"> + <span class="ProfileTweet-actionCountForPresentation">14</span> + </span> + </button> + <button class="ProfileTweet-actionButtonUndo u-linkClean js-actionButton + js-actionFavorite" title="Undo favorite" type="button"> + <span class="Icon Icon--favorite"> + </span> + <span class="u-hiddenVisually">Favorited</span> + <span class="ProfileTweet-actionCount"> + <span class="ProfileTweet-actionCountForPresentation"> + 14 + </span> + </span> + </button> + </div> + <div class="ProfileTweet-action ProfileTweet-action--more js-more-ProfileTweet-actions"> + <div class="dropdown"> + <button class="ProfileTweet-actionButton u-textUserColorHover dropdown-toggle + js-tooltip js-dropdown-toggle" type="button" title="More"> + <span class="Icon Icon--dots"> + </span> + <span class="u-hiddenVisually">More</span> + </button> + <div class="dropdown-menu"> + <div class="dropdown-caret"> + <div class="caret-outer"> + </div> + <div class="caret-inner"> + </div> + </div> + <ul> + <li class="share-via-dm js-actionShareViaDM" data-nav="share_tweet_dm"> + <button type="button" class="dropdown-link"> + Share via Direct Message + </button> + </li> + <li class="embed-link js-actionEmbedTweet" data-nav="embed_tweet"> + <button type="button" class="dropdown-link"> + Embed Tweet + </button> + </li> + <li class="mute-user-item pretty-link"> + <button type="button" class="dropdown-link"> + Mute + </button> + </li> + <li class="unmute-user-item pretty-link"> + <button type="button" class="dropdown-link"> + Unmute + </button> + </li> + <li class="block-or-report-link js-actionBlockOrReport" + data-nav="block_or_report"> + <button type="button" class="dropdown-link"> + Block or report + </button> + </li> + </ul> + </div> + </div> + </div> + </div> + </div> + </div> + </div> + </li> + """ + response = mock.Mock(text=html) + results = twitter.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertEqual(results[0]['title'], '@TitleName') + self.assertEqual(results[0]['url'], 'https://twitter.com/this.is.the.url') + self.assertIn(u'This is the content', results[0]['content']) + + html = """ + <li class="b_algo" u="0|5109|4755453613245655|UAGjXgIrPH5yh-o5oNHRx_3Zta87f_QO"> + <div Class="sa_mc"> + <div class="sb_tlst"> + <h2> + <a href="http://this.should.be.the.link/" h="ID=SERP,5124.1"> + <strong>This</strong> should be the title</a> + </h2> + </div> + <div class="sb_meta"> + <cite> + <strong>this</strong>.meta.com</cite> + <span class="c_tlbxTrg"> + <span class="c_tlbxH" H="BASE:CACHEDPAGEDEFAULT" K="SERP,5125.1"> + </span> + </span> + </div> + <p> + <strong>This</strong> should be the content.</p> + </div> + </li> + """ + response = mock.Mock(text=html) + results = twitter.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 0) diff --git a/searx/tests/engines/test_yacy.py b/searx/tests/engines/test_yacy.py new file mode 100644 index 000000000..f49532cf4 --- /dev/null +++ b/searx/tests/engines/test_yacy.py @@ -0,0 +1,96 @@ +from collections import defaultdict +import mock +from searx.engines import yacy +from searx.testing import SearxTestCase + + +class TestYacyEngine(SearxTestCase): + + def test_request(self): + query = 'test_query' + dicto = defaultdict(dict) + dicto['pageno'] = 1 + dicto['language'] = 'fr_FR' + params = yacy.request(query, dicto) + self.assertIn('url', params) + self.assertIn(query, params['url']) + self.assertIn('localhost', params['url']) + self.assertIn('fr', params['url']) + + dicto['language'] = 'all' + params = yacy.request(query, dicto) + self.assertIn('url', params) + self.assertNotIn('lr=lang_', params['url']) + + def test_response(self): + self.assertRaises(AttributeError, yacy.response, None) + self.assertRaises(AttributeError, yacy.response, []) + self.assertRaises(AttributeError, yacy.response, '') + self.assertRaises(AttributeError, yacy.response, '[]') + + response = mock.Mock(text='{}') + self.assertEqual(yacy.response(response), []) + + response = mock.Mock(text='{"data": []}') + self.assertEqual(yacy.response(response), []) + + json = """ + { + "channels": [ + { + "title": "YaCy P2P-Search for test", + "description": "Search for test", + "link": "http://search.yacy.de:7001/yacysearch.html?query=test&resource=global&contentdom=0", + "image": { + "url": "http://search.yacy.de:7001/env/grafics/yacy.png", + "title": "Search for test", + "link": "http://search.yacy.de:7001/yacysearch.html?query=test&resource=global&contentdom=0" + }, + "totalResults": "249", + "startIndex": "0", + "itemsPerPage": "5", + "searchTerms": "test", + "items": [ + { + "title": "This is the title", + "link": "http://this.is.the.url", + "code": "", + "description": "This should be the content", + "pubDate": "Sat, 08 Jun 2013 02:00:00 +0200", + "size": "44213", + "sizename": "43 kbyte", + "guid": "lzh_1T_5FP-A", + "faviconCode": "XTS4uQ_5FP-A", + "host": "www.gamestar.de", + "path": "/spiele/city-of-heroes-freedom/47019.html", + "file": "47019.html", + "urlhash": "lzh_1T_5FP-A", + "ranking": "0.20106804" + }, + { + "title": "This is the title2", + "icon": "/ViewImage.png?maxwidth=96&maxheight=96&code=7EbAbW6BpPOA", + "image": "http://image.url/image.png", + "cache": "/ViewImage.png?quadratic=&url=http://golem.ivwbox.de/cgi-bin/ivw/CP/G_INET?d=14071378", + "url": "http://this.is.the.url", + "urlhash": "7EbAbW6BpPOA", + "host": "www.golem.de", + "width": "-1", + "height": "-1" + } + ] + } + ] + } + """ + response = mock.Mock(text=json) + results = yacy.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 2) + self.assertEqual(results[0]['title'], 'This is the title') + self.assertEqual(results[0]['url'], 'http://this.is.the.url') + self.assertEqual(results[0]['content'], 'This should be the content') + self.assertEqual(results[1]['img_src'], 'http://image.url/image.png') + self.assertEqual(results[1]['content'], '') + self.assertEqual(results[1]['url'], 'http://this.is.the.url') + self.assertEqual(results[1]['title'], 'This is the title2') diff --git a/searx/tests/engines/test_yahoo.py b/searx/tests/engines/test_yahoo.py new file mode 100644 index 000000000..e5c78701d --- /dev/null +++ b/searx/tests/engines/test_yahoo.py @@ -0,0 +1,154 @@ +# -*- coding: utf-8 -*- +from collections import defaultdict +import mock +from searx.engines import yahoo +from searx.testing import SearxTestCase + + +class TestYahooEngine(SearxTestCase): + + def test_parse_url(self): + test_url = 'http://r.search.yahoo.com/_ylt=A0LEb9JUSKcAEGRXNyoA;_ylu=X3oDMTEzZm1qazYwBHNlYwNzcgRwb3MDMQRjb' +\ + '2xvA2Jm2dGlkA1NNRTcwM18x/RV=2/RE=1423106085/RO=10/RU=https%3a%2f%2fthis.is.the.url%2f/RK=0/RS=' +\ + 'dtcJsfP4mEeBOjnVfUQ-' + url = yahoo.parse_url(test_url) + self.assertEqual('https://this.is.the.url/', url) + + test_url = 'http://r.search.yahoo.com/_ylt=A0LElb9JUSKcAEGRXNyoA;_ylu=X3oDMTEzZm1qazYwBHNlYwNzcgRwb3MDMQRjb' +\ + '2xvA2Jm2dGlkA1NNRTcwM18x/RV=2/RE=1423106085/RO=10/RU=https%3a%2f%2fthis.is.the.url%2f/RS=' +\ + 'dtcJsfP4mEeBOjnVfUQ-' + url = yahoo.parse_url(test_url) + self.assertEqual('https://this.is.the.url/', url) + + test_url = 'https://this.is.the.url/' + url = yahoo.parse_url(test_url) + self.assertEqual('https://this.is.the.url/', url) + + def test_request(self): + query = 'test_query' + dicto = defaultdict(dict) + dicto['pageno'] = 1 + dicto['language'] = 'fr_FR' + params = yahoo.request(query, dicto) + self.assertIn('url', params) + self.assertIn(query, params['url']) + self.assertIn('search.yahoo.com', params['url']) + self.assertIn('fr', params['url']) + self.assertIn('cookies', params) + self.assertIn('sB', params['cookies']) + self.assertIn('fr', params['cookies']['sB']) + + dicto['language'] = 'all' + params = yahoo.request(query, dicto) + self.assertIn('cookies', params) + self.assertIn('sB', params['cookies']) + self.assertIn('en', params['cookies']['sB']) + self.assertIn('en', params['url']) + + def test_response(self): + self.assertRaises(AttributeError, yahoo.response, None) + self.assertRaises(AttributeError, yahoo.response, []) + self.assertRaises(AttributeError, yahoo.response, '') + self.assertRaises(AttributeError, yahoo.response, '[]') + + response = mock.Mock(text='<html></html>') + self.assertEqual(yahoo.response(response), []) + + html = """ + <div class="res"> + <div> + <h3> + <a id="link-1" class="yschttl spt" href="http://r.search.yahoo.com/_ylt=A0LEVzClb9JUSKcAEGRXNyoA; + _ylu=X3oDMTEzZm1qazYwBHNlYwNzcgRwb3MDMQRjb2xvA2JmMQR2dGlkA1NNRTcwM18x/RV=2/RE=1423106085/RO=10 + /RU=https%3a%2f%2fthis.is.the.url%2f/RK=0/RS=dtcJsfP4mEeBOjnVfUQ-"target="_blank" data-bk="5063.1"> + <b>This</b> is the title + </a> + </h3> + </div> + <span class="url" dir="ltr">www.<b>test</b>.com</span> + <div class="abstr"> + <b>This</b> is the content + </div> + </div> + <div id="satat" data-bns="Yahoo" data-bk="124.1"> + <h2>Also Try</h2> + <table> + <tbody> + <tr> + <td> + <a id="srpnat0" class="" href="https://search.yahoo.com/search=rs-bottom" > + <span> + <b></b>This is <b>the suggestion</b> + </span> + </a> + </td> + </tr> + </tbody> + </table> + </div> + """ + response = mock.Mock(text=html) + results = yahoo.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 2) + self.assertEqual(results[0]['title'], 'This is the title') + self.assertEqual(results[0]['url'], 'https://this.is.the.url/') + self.assertEqual(results[0]['content'], 'This is the content') + self.assertEqual(results[1]['suggestion'], 'This is the suggestion') + + html = """ + <div class="res"> + <div> + <h3> + <a id="link-1" class="yschttl spt" href="http://r.search.yahoo.com/_ylt=A0LEVzClb9JUSKcAEGRXNyoA; + _ylu=X3oDMTEzZm1qazYwBHNlYwNzcgRwb3MDMQRjb2xvA2JmMQR2dGlkA1NNRTcwM18x/RV=2/RE=1423106085/RO=10 + /RU=https%3a%2f%2fthis.is.the.url%2f/RK=0/RS=dtcJsfP4mEeBOjnVfUQ-"target="_blank" data-bk="5063.1"> + <b>This</b> is the title + </a> + </h3> + </div> + <span class="url" dir="ltr">www.<b>test</b>.com</span> + <div class="abstr"> + <b>This</b> is the content + </div> + </div> + <div class="res"> + <div> + <h3> + <a id="link-1" class="yschttl spt"> + <b>This</b> is the title + </a> + </h3> + </div> + <span class="url" dir="ltr">www.<b>test</b>.com</span> + <div class="abstr"> + <b>This</b> is the content + </div> + </div> + <div class="res"> + <div> + <h3> + </h3> + </div> + <span class="url" dir="ltr">www.<b>test</b>.com</span> + <div class="abstr"> + <b>This</b> is the content + </div> + </div> + """ + response = mock.Mock(text=html) + results = yahoo.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertEqual(results[0]['title'], 'This is the title') + self.assertEqual(results[0]['url'], 'https://this.is.the.url/') + self.assertEqual(results[0]['content'], 'This is the content') + + html = """ + <li class="b_algo" u="0|5109|4755453613245655|UAGjXgIrPH5yh-o5oNHRx_3Zta87f_QO"> + </li> + """ + response = mock.Mock(text=html) + results = yahoo.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 0) diff --git a/searx/tests/engines/test_yahoo_news.py b/searx/tests/engines/test_yahoo_news.py new file mode 100644 index 000000000..797dc11b7 --- /dev/null +++ b/searx/tests/engines/test_yahoo_news.py @@ -0,0 +1,143 @@ +# -*- coding: utf-8 -*- +from collections import defaultdict +from datetime import datetime +import mock +from searx.engines import yahoo_news +from searx.testing import SearxTestCase + + +class TestYahooNewsEngine(SearxTestCase): + + def test_request(self): + query = 'test_query' + dicto = defaultdict(dict) + dicto['pageno'] = 1 + dicto['language'] = 'fr_FR' + params = yahoo_news.request(query, dicto) + self.assertIn('url', params) + self.assertIn(query, params['url']) + self.assertIn('news.search.yahoo.com', params['url']) + self.assertIn('fr', params['url']) + self.assertIn('cookies', params) + self.assertIn('sB', params['cookies']) + self.assertIn('fr', params['cookies']['sB']) + + dicto['language'] = 'all' + params = yahoo_news.request(query, dicto) + self.assertIn('cookies', params) + self.assertIn('sB', params['cookies']) + self.assertIn('en', params['cookies']['sB']) + self.assertIn('en', params['url']) + + def test_response(self): + self.assertRaises(AttributeError, yahoo_news.response, None) + self.assertRaises(AttributeError, yahoo_news.response, []) + self.assertRaises(AttributeError, yahoo_news.response, '') + self.assertRaises(AttributeError, yahoo_news.response, '[]') + + response = mock.Mock(text='<html></html>') + self.assertEqual(yahoo_news.response(response), []) + + html = """ + <div class="res"> + <div> + <h3> + <a class="yschttl spt" href="http://this.is.the.url" target="_blank"> + This is + the <b>title</b>... + </a> + </h3> + </div> + <span class="url">Business via Yahoo! Finance</span> <span class="timestamp">Feb 03 09:45am</span> + <div class="abstr"> + This is the content + </div> + </div> + """ + response = mock.Mock(text=html) + results = yahoo_news.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertEqual(results[0]['title'], 'This is the title...') + self.assertEqual(results[0]['url'], 'http://this.is.the.url/') + self.assertEqual(results[0]['content'], 'This is the content') + + html = """ + <div class="res"> + <div> + <h3> + <a class="yschttl spt" href="http://this.is.the.url" target="_blank"> + This is + the <b>title</b>... + </a> + </h3> + </div> + <span class="url">Business via Yahoo!</span> <span class="timestamp">2 hours, 22 minutes ago</span> + <div class="abstr"> + This is the content + </div> + </div> + <div class="res"> + <div> + <h3> + <a class="yschttl spt" href="http://this.is.the.url" target="_blank"> + This is + the <b>title</b>... + </a> + </h3> + </div> + <span class="url">Business via Yahoo!</span> <span class="timestamp">22 minutes ago</span> + <div class="abstr"> + This is the content + </div> + </div> + <div class="res"> + <div> + <h3> + <a class="yschttl spt" href="http://this.is.the.url" target="_blank"> + This is + the <b>title</b>... + </a> + </h3> + </div> + <span class="url">Business via Yahoo!</span> <span class="timestamp">Feb 03 09:45am 1900</span> + <div class="abstr"> + This is the content + </div> + </div> + """ + response = mock.Mock(text=html) + results = yahoo_news.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 3) + self.assertEqual(results[0]['title'], 'This is the title...') + self.assertEqual(results[0]['url'], 'http://this.is.the.url/') + self.assertEqual(results[0]['content'], 'This is the content') + self.assertEqual(results[2]['publishedDate'].year, datetime.now().year) + + html = """ + <li class="b_algo" u="0|5109|4755453613245655|UAGjXgIrPH5yh-o5oNHRx_3Zta87f_QO"> + <div Class="sa_mc"> + <div class="sb_tlst"> + <h2> + <a href="http://this.should.be.the.link/" h="ID=SERP,5124.1"> + <strong>This</strong> should be the title</a> + </h2> + </div> + <div class="sb_meta"> + <cite> + <strong>this</strong>.meta.com</cite> + <span class="c_tlbxTrg"> + <span class="c_tlbxH" H="BASE:CACHEDPAGEDEFAULT" K="SERP,5125.1"> + </span> + </span> + </div> + <p> + <strong>This</strong> should be the content.</p> + </div> + </li> + """ + response = mock.Mock(text=html) + results = yahoo_news.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 0) diff --git a/searx/tests/test_engines.py b/searx/tests/test_engines.py index 651da6dc2..9b1c12cb1 100644 --- a/searx/tests/test_engines.py +++ b/searx/tests/test_engines.py @@ -3,25 +3,39 @@ from searx.tests.engines.test_bing_images import * # noqa from searx.tests.engines.test_bing_news import * # noqa from searx.tests.engines.test_blekko_images import * # noqa from searx.tests.engines.test_btdigg import * # noqa +from searx.tests.engines.test_currency_convert import * # noqa from searx.tests.engines.test_dailymotion import * # noqa from searx.tests.engines.test_deezer import * # noqa from searx.tests.engines.test_deviantart import * # noqa from searx.tests.engines.test_digg import * # noqa +from searx.tests.engines.test_duckduckgo import * # noqa +from searx.tests.engines.test_duckduckgo_definitions import * # noqa from searx.tests.engines.test_dummy import * # noqa +from searx.tests.engines.test_faroo import * # noqa from searx.tests.engines.test_flickr import * # noqa from searx.tests.engines.test_flickr_noapi import * # noqa from searx.tests.engines.test_gigablast import * # noqa from searx.tests.engines.test_github import * # noqa -from searx.tests.engines.test_www1x import * # noqa +from searx.tests.engines.test_google import * # noqa from searx.tests.engines.test_google_images import * # noqa from searx.tests.engines.test_google_news import * # noqa from searx.tests.engines.test_kickass import * # noqa +from searx.tests.engines.test_mediawiki import * # noqa from searx.tests.engines.test_mixcloud import * # noqa +from searx.tests.engines.test_openstreetmap import * # noqa +from searx.tests.engines.test_photon import * # noqa from searx.tests.engines.test_piratebay import * # noqa from searx.tests.engines.test_searchcode_code import * # noqa from searx.tests.engines.test_searchcode_doc import * # noqa from searx.tests.engines.test_soundcloud import * # noqa from searx.tests.engines.test_stackoverflow import * # noqa +from searx.tests.engines.test_startpage import * # noqa +from searx.tests.engines.test_subtitleseeker import * # noqa +from searx.tests.engines.test_twitter import * # noqa from searx.tests.engines.test_vimeo import * # noqa +from searx.tests.engines.test_www1x import * # noqa from searx.tests.engines.test_www500px import * # noqa +from searx.tests.engines.test_yacy import * # noqa +from searx.tests.engines.test_yahoo import * # noqa from searx.tests.engines.test_youtube import * # noqa +from searx.tests.engines.test_yahoo_news import * # noqa diff --git a/searx/translations/de/LC_MESSAGES/messages.mo b/searx/translations/de/LC_MESSAGES/messages.mo Binary files differindex d38001865..265f46788 100644 --- a/searx/translations/de/LC_MESSAGES/messages.mo +++ b/searx/translations/de/LC_MESSAGES/messages.mo diff --git a/searx/translations/de/LC_MESSAGES/messages.po b/searx/translations/de/LC_MESSAGES/messages.po index 6c6a53da8..056bf8167 100644 --- a/searx/translations/de/LC_MESSAGES/messages.po +++ b/searx/translations/de/LC_MESSAGES/messages.po @@ -1,17 +1,17 @@ -# English translations for . -# Copyright (C) 2014 ORGANIZATION +# German translations for . +# Copyright (C) 2015 ORGANIZATION # This file is distributed under the same license as the project. # # Translators: -# pointhi, 2014 +# pointhi, 2014-2015 # rike, 2014 # stf <stefan.marsiske@gmail.com>, 2014 msgid "" msgstr "" "Project-Id-Version: searx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2015-01-05 20:54+0100\n" -"PO-Revision-Date: 2014-12-27 10:30+0000\n" +"POT-Creation-Date: 2015-02-11 14:09+0100\n" +"PO-Revision-Date: 2015-02-10 17:41+0000\n" "Last-Translator: pointhi\n" "Language-Team: German " "(http://www.transifex.com/projects/p/searx/language/de/)\n" @@ -21,127 +21,238 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 1.3\n" -#: searx/webapp.py:263 +#: searx/webapp.py:100 +msgid "files" +msgstr "Dateien" + +#: searx/webapp.py:101 +msgid "general" +msgstr "Allgemein" + +#: searx/webapp.py:102 +msgid "music" +msgstr "Musik" + +#: searx/webapp.py:103 +msgid "social media" +msgstr "Soziale Medien" + +#: searx/webapp.py:104 +msgid "images" +msgstr "Bilder" + +#: searx/webapp.py:105 +msgid "videos" +msgstr "Videos" + +#: searx/webapp.py:106 +msgid "it" +msgstr "IT" + +#: searx/webapp.py:107 +msgid "news" +msgstr "Neuigkeiten" + +#: searx/webapp.py:108 +msgid "map" +msgstr "Karte" + +#: searx/webapp.py:361 msgid "{minutes} minute(s) ago" msgstr "vor {minutes} Minute(n)" -#: searx/webapp.py:265 +#: searx/webapp.py:363 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "vor {hours} Stunde(n), {minutes} Minute(n)" -#: searx/engines/__init__.py:179 +#: searx/engines/__init__.py:182 msgid "Page loads (sec)" msgstr "Ladezeit (sek)" -#: searx/engines/__init__.py:183 +#: searx/engines/__init__.py:186 msgid "Number of results" msgstr "Trefferanzahl" -#: searx/engines/__init__.py:187 +#: searx/engines/__init__.py:190 msgid "Scores" msgstr "Punkte" -#: searx/engines/__init__.py:191 +#: searx/engines/__init__.py:194 msgid "Scores per result" msgstr "Punkte pro Treffer" -#: searx/engines/__init__.py:195 +#: searx/engines/__init__.py:198 msgid "Errors" msgstr "Fehler" -#: searx/templates/courgette/index.html:8 searx/templates/default/index.html:7 -#: searx/templates/oscar/about.html:3 searx/templates/oscar/navbar.html:16 -msgid "about" -msgstr "Über uns" - -#: searx/templates/courgette/index.html:9 searx/templates/default/index.html:8 -#: searx/templates/oscar/navbar.html:17 -#: searx/templates/oscar/preferences.html:2 +#: 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 msgid "preferences" msgstr "Einstellungen" +#: 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 +msgid "about" +msgstr "Über uns" + #: searx/templates/courgette/preferences.html:5 #: searx/templates/default/preferences.html:5 -#: searx/templates/oscar/preferences.html:6 +#: searx/templates/oscar/preferences.html:12 msgid "Preferences" msgstr "Einstellungen" #: searx/templates/courgette/preferences.html:9 #: searx/templates/default/preferences.html:9 -#: searx/templates/oscar/preferences.html:24 +#: searx/templates/oscar/preferences.html:34 +#: searx/templates/oscar/preferences.html:36 msgid "Default categories" msgstr "Standardkategorien" -#: searx/templates/courgette/preferences.html:15 -#: searx/templates/default/preferences.html:15 -#: searx/templates/oscar/preferences.html:30 +#: searx/templates/courgette/preferences.html:13 +#: searx/templates/default/preferences.html:14 +#: searx/templates/oscar/preferences.html:42 msgid "Search language" msgstr "Suchsprache" -#: searx/templates/courgette/preferences.html:18 -#: searx/templates/default/preferences.html:18 -#: searx/templates/oscar/preferences.html:33 +#: searx/templates/courgette/preferences.html:16 +#: searx/templates/default/preferences.html:17 +#: searx/templates/oscar/preferences.html:46 msgid "Automatic" msgstr "Automatisch" -#: searx/templates/courgette/preferences.html:26 -#: searx/templates/default/preferences.html:26 -#: searx/templates/oscar/preferences.html:42 +#: searx/templates/courgette/preferences.html:24 +#: searx/templates/default/preferences.html:25 +#: searx/templates/oscar/preferences.html:53 msgid "Interface language" msgstr "Oberflächensprache" -#: searx/templates/courgette/preferences.html:36 -#: searx/templates/default/preferences.html:36 -#: searx/templates/oscar/preferences.html:53 +#: searx/templates/courgette/preferences.html:34 +#: searx/templates/default/preferences.html:35 +#: searx/templates/oscar/preferences.html:63 msgid "Autocomplete" msgstr "Autovervollständigung" -#: searx/templates/courgette/preferences.html:47 -#: searx/templates/default/preferences.html:47 -#: searx/templates/oscar/preferences.html:66 +#: searx/templates/courgette/preferences.html:45 +#: searx/templates/default/preferences.html:46 +#: searx/templates/oscar/preferences.html:74 +msgid "Image proxy" +msgstr "Bilder Proxy" + +#: searx/templates/courgette/preferences.html:48 +#: searx/templates/default/preferences.html:49 +#: searx/templates/oscar/preferences.html:78 +msgid "Enabled" +msgstr "Aktiviert" + +#: searx/templates/courgette/preferences.html:49 +#: searx/templates/default/preferences.html:50 +#: searx/templates/oscar/preferences.html:79 +msgid "Disabled" +msgstr "Deaktiviert" + +#: searx/templates/courgette/preferences.html:54 +#: searx/templates/default/preferences.html:55 +#: searx/templates/oscar/preferences.html:83 msgid "Method" msgstr "Methode" -#: searx/templates/courgette/preferences.html:56 -#: searx/templates/default/preferences.html:56 -#: searx/templates/oscar/preferences.html:76 +#: searx/templates/courgette/preferences.html:63 +#: searx/templates/default/preferences.html:64 +#: searx/templates/oscar/preferences.html:92 +msgid "SafeSearch" +msgstr "Sichere Suche" + +#: searx/templates/courgette/preferences.html:66 +#: searx/templates/default/preferences.html:67 +#: searx/templates/oscar/preferences.html:96 +msgid "Strict" +msgstr "Streng" + +#: searx/templates/courgette/preferences.html:67 +#: searx/templates/default/preferences.html:68 +#: searx/templates/oscar/preferences.html:97 +msgid "Moderate" +msgstr "Moderat" + +#: searx/templates/courgette/preferences.html:68 +#: searx/templates/default/preferences.html:69 +#: searx/templates/oscar/preferences.html:98 +msgid "None" +msgstr "Keine" + +#: searx/templates/courgette/preferences.html:73 +#: searx/templates/default/preferences.html:74 +#: searx/templates/oscar/preferences.html:102 msgid "Themes" msgstr "Designs" -#: searx/templates/courgette/preferences.html:66 -#: searx/templates/default/preferences.html:66 +#: searx/templates/courgette/preferences.html:83 +msgid "Color" +msgstr "Farbe" + +#: searx/templates/courgette/preferences.html:86 +msgid "Blue (default)" +msgstr "Blau (Standard)" + +#: searx/templates/courgette/preferences.html:87 +msgid "Violet" +msgstr "Violett" + +#: searx/templates/courgette/preferences.html:88 +msgid "Green" +msgstr "Grün" + +#: searx/templates/courgette/preferences.html:89 +msgid "Cyan" +msgstr "Cyan" + +#: searx/templates/courgette/preferences.html:90 +msgid "Orange" +msgstr "Orange" + +#: searx/templates/courgette/preferences.html:91 +msgid "Red" +msgstr "Rot" + +#: searx/templates/courgette/preferences.html:96 +#: searx/templates/default/preferences.html:84 msgid "Currently used search engines" msgstr "Aktuell benutzte Suchmaschinen" -#: searx/templates/courgette/preferences.html:70 -#: searx/templates/default/preferences.html:70 +#: searx/templates/courgette/preferences.html:100 +#: searx/templates/default/preferences.html:88 msgid "Engine name" msgstr "Suchmaschinenname" -#: searx/templates/courgette/preferences.html:71 -#: searx/templates/default/preferences.html:71 +#: searx/templates/courgette/preferences.html:101 +#: searx/templates/default/preferences.html:89 msgid "Category" msgstr "Kategorie" -#: searx/templates/courgette/preferences.html:72 -#: searx/templates/courgette/preferences.html:83 -#: searx/templates/default/preferences.html:72 -#: searx/templates/default/preferences.html:83 -#: searx/templates/oscar/preferences.html:118 +#: 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/preferences.html:145 msgid "Allow" msgstr "Erlauben" -#: searx/templates/courgette/preferences.html:72 -#: searx/templates/courgette/preferences.html:84 -#: searx/templates/default/preferences.html:72 -#: searx/templates/default/preferences.html:84 -#: searx/templates/oscar/preferences.html:117 +#: 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/preferences.html:144 msgid "Block" msgstr "Blockieren" -#: searx/templates/courgette/preferences.html:92 -#: searx/templates/default/preferences.html:92 -#: searx/templates/oscar/preferences.html:132 +#: searx/templates/courgette/preferences.html:122 +#: searx/templates/default/preferences.html:110 +#: searx/templates/oscar/preferences.html:161 msgid "" "These settings are stored in your cookies, this allows us not to store " "this data about you." @@ -149,9 +260,9 @@ msgstr "" "Diese Informationen werden in Cookies auf Ihrem Rechner gespeichert, " "damit wir keine Ihrer persönlichen Daten speichern müssen." -#: searx/templates/courgette/preferences.html:94 -#: searx/templates/default/preferences.html:94 -#: searx/templates/oscar/preferences.html:134 +#: searx/templates/courgette/preferences.html:124 +#: searx/templates/default/preferences.html:112 +#: searx/templates/oscar/preferences.html:163 msgid "" "These cookies serve your sole convenience, we don't use these cookies to " "track you." @@ -159,51 +270,56 @@ msgstr "" "Diese Cookies dienen einzig Ihrem Komfort. Wir verwenden sie nicht, um " "Sie zu überwachen." -#: searx/templates/courgette/preferences.html:97 -#: searx/templates/default/preferences.html:97 -#: searx/templates/oscar/preferences.html:137 +#: searx/templates/courgette/preferences.html:127 +#: searx/templates/default/preferences.html:115 +#: searx/templates/oscar/preferences.html:166 msgid "save" msgstr "Speichern" -#: searx/templates/courgette/preferences.html:98 -#: searx/templates/default/preferences.html:98 -#: searx/templates/oscar/preferences.html:138 +#: searx/templates/courgette/preferences.html:128 +#: searx/templates/default/preferences.html:116 +#: searx/templates/oscar/preferences.html:167 msgid "back" msgstr "Zurück" #: searx/templates/courgette/results.html:12 -#: searx/templates/default/results.html:12 -#: searx/templates/oscar/results.html:87 +#: searx/templates/default/results.html:13 +#: searx/templates/oscar/results.html:110 msgid "Search URL" msgstr "Such-URL" #: searx/templates/courgette/results.html:16 -#: searx/templates/default/results.html:16 -#: searx/templates/oscar/results.html:92 +#: searx/templates/default/results.html:17 +#: searx/templates/oscar/results.html:115 msgid "Download results" msgstr "Ergebnisse herunterladen" #: searx/templates/courgette/results.html:34 -#: searx/templates/default/results.html:42 -#: searx/templates/oscar/results.html:67 +#: searx/templates/default/results.html:35 +msgid "Answers" +msgstr "Antworten" + +#: searx/templates/courgette/results.html:42 +#: searx/templates/default/results.html:43 +#: searx/templates/oscar/results.html:90 msgid "Suggestions" msgstr "Vorschläge" -#: searx/templates/courgette/results.html:62 -#: searx/templates/default/results.html:78 -#: searx/templates/oscar/results.html:41 +#: 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 "vorherige Seite" -#: searx/templates/courgette/results.html:73 -#: searx/templates/default/results.html:89 -#: searx/templates/oscar/results.html:49 +#: 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 "nächste Seite" #: searx/templates/courgette/search.html:3 #: searx/templates/default/search.html:3 searx/templates/oscar/search.html:4 -#: searx/templates/oscar/search_full.html:5 +#: searx/templates/oscar/search_full.html:9 msgid "Search for..." msgstr "Suche nach..." @@ -212,53 +328,86 @@ msgstr "Suche nach..." msgid "Engine stats" msgstr "Suchmaschinenstatistiken" +#: searx/templates/courgette/result_templates/images.html:4 +#: searx/templates/default/result_templates/images.html:4 +msgid "original context" +msgstr "ursprüngliche Seite" + +#: 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 "Seeder" + +#: 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 "Leecher" + +#: 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 "magnet Link" + +#: 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 "torrent Datei" + #: searx/templates/default/categories.html:8 msgid "Click on the magnifier to perform search" msgstr "klicke auf die Lupe, um die Suche zu starten" -#: searx/templates/default/results.html:34 -msgid "Answers" -msgstr "Antworten" - -#: searx/templates/oscar/base.html:69 +#: searx/templates/oscar/base.html:74 msgid "Powered by" msgstr "Powered by" -#: searx/templates/oscar/base.html:69 +#: searx/templates/oscar/base.html:74 msgid "a privacy-respecting, hackable metasearch engine" msgstr "eine privatsphären-respektierende, hackbare Metasuchmaschine" -#: searx/templates/oscar/navbar.html:6 -msgid "Toggle navigation" -msgstr "Navigation umschalten" +#: searx/templates/oscar/macros.html:20 +msgid "cached" +msgstr "Im Cache" -#: searx/templates/oscar/navbar.html:15 +#: searx/templates/oscar/navbar.html:9 searx/templates/oscar/navbar.html:33 msgid "home" msgstr "Startseite" -#: searx/templates/oscar/preferences.html:11 +#: searx/templates/oscar/navbar.html:14 searx/templates/oscar/navbar.html:24 +msgid "Toggle navigation" +msgstr "Navigation umschalten" + #: searx/templates/oscar/preferences.html:17 +#: searx/templates/oscar/preferences.html:23 msgid "General" msgstr "Allgemein" -#: searx/templates/oscar/preferences.html:12 -#: searx/templates/oscar/preferences.html:99 +#: searx/templates/oscar/preferences.html:18 +#: searx/templates/oscar/preferences.html:124 msgid "Engines" msgstr "Suchmaschinen" -#: searx/templates/oscar/preferences.html:39 +#: searx/templates/oscar/preferences.html:43 msgid "What language do you prefer for search?" msgstr "welche Sprache bevorzugst du für die Suche?" -#: searx/templates/oscar/preferences.html:50 +#: searx/templates/oscar/preferences.html:54 msgid "Change the language of the layout" msgstr "ändere die Sprache des Layouts" -#: searx/templates/oscar/preferences.html:63 +#: searx/templates/oscar/preferences.html:64 msgid "Find stuff as you type" msgstr "zeige Vorschläge während der Eingabe an" -#: searx/templates/oscar/preferences.html:73 +#: searx/templates/oscar/preferences.html:75 +msgid "Proxying image results through searx" +msgstr "tunnel Bilder durch searx" + +#: searx/templates/oscar/preferences.html:84 msgid "" "Change how forms are submited, <a " "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" @@ -268,27 +417,32 @@ msgstr "" "href=\"https://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol#HTTP-" "Anfragemethoden\" rel=\"external\">lerne mehr über Anfragemethoden</a>" -#: searx/templates/oscar/preferences.html:84 +#: searx/templates/oscar/preferences.html:93 +msgid "Filter content" +msgstr "" + +#: searx/templates/oscar/preferences.html:103 msgid "Change searx layout" msgstr "ändere das Aussehen von searx" -#: searx/templates/oscar/results.html:6 +#: searx/templates/oscar/results.html:7 msgid "Search results" msgstr "Suchergebnisse" -#: searx/templates/oscar/results.html:82 +#: searx/templates/oscar/results.html:105 msgid "Links" msgstr "Links" -#: searx/templates/oscar/search.html:6 searx/templates/oscar/search_full.html:7 +#: searx/templates/oscar/search.html:6 +#: searx/templates/oscar/search_full.html:11 msgid "Start search" msgstr "Suche starten" -#: searx/templates/oscar/search_full.html:11 +#: searx/templates/oscar/search_full.html:15 msgid "Show search filters" msgstr "Suchfilter anzeigen" -#: searx/templates/oscar/search_full.html:11 +#: searx/templates/oscar/search_full.html:15 msgid "Hide search filters" msgstr "Suchfilter verstecken" @@ -353,96 +507,74 @@ msgstr "Oh nein!" msgid "Something went wrong." msgstr "Irgendetwas ist falsch gelaufen." -#: searx/templates/oscar/result_templates/default.html:6 -#: searx/templates/oscar/result_templates/map.html:7 -#: searx/templates/oscar/result_templates/torrent.html:6 -#: searx/templates/oscar/result_templates/videos.html:6 -msgid "cached" -msgstr "Im Cache" - -#: searx/templates/oscar/result_templates/default.html:9 +#: searx/templates/oscar/result_templates/default.html:7 msgid "show media" -msgstr "" +msgstr "Medien anzeigen" -#: searx/templates/oscar/result_templates/default.html:9 +#: searx/templates/oscar/result_templates/default.html:7 msgid "hide media" -msgstr "" +msgstr "Medien verstecken" -#: searx/templates/oscar/result_templates/images.html:21 +#: searx/templates/oscar/result_templates/images.html:23 msgid "Get image" msgstr "Bild ansehen" -#: searx/templates/oscar/result_templates/images.html:22 +#: searx/templates/oscar/result_templates/images.html:24 msgid "View source" msgstr "Seite besuchen" -#: searx/templates/oscar/result_templates/map.html:10 +#: searx/templates/oscar/result_templates/map.html:7 msgid "show map" msgstr "Karte anzeigen" -#: searx/templates/oscar/result_templates/map.html:10 +#: searx/templates/oscar/result_templates/map.html:7 msgid "hide map" msgstr "Karte verstecken" -#: searx/templates/oscar/result_templates/map.html:14 +#: searx/templates/oscar/result_templates/map.html:11 msgid "show details" msgstr "Details anzeigen" -#: searx/templates/oscar/result_templates/map.html:14 +#: searx/templates/oscar/result_templates/map.html:11 msgid "hide details" msgstr "Details verstecken" -#: searx/templates/oscar/result_templates/torrent.html:8 -msgid "Seeder" -msgstr "Seeder" +#: searx/templates/oscar/result_templates/torrent.html:7 +msgid "Filesize" +msgstr "Dateigröße" -#: searx/templates/oscar/result_templates/torrent.html:8 -msgid "Leecher" -msgstr "Leecher" - -#: searx/templates/oscar/result_templates/videos.html:9 -msgid "show video" -msgstr "" - -#: searx/templates/oscar/result_templates/videos.html:9 -msgid "hide video" -msgstr "" +#: searx/templates/oscar/result_templates/torrent.html:9 +msgid "Bytes" +msgstr "Bytes" -msgid "Localization" -msgstr "Übersetzung" - -msgid "Yes" -msgstr "Ja" - -msgid "No" -msgstr "Nein" - -# categories - manually added -# TODO - automatically add -msgid "files" -msgstr "Dateien" - -msgid "general" -msgstr "Allgemein" +#: searx/templates/oscar/result_templates/torrent.html:10 +msgid "kiB" +msgstr "kiB" -msgid "music" -msgstr "Musik" +#: searx/templates/oscar/result_templates/torrent.html:11 +msgid "MiB" +msgstr "MiB" -msgid "social media" -msgstr "Soziale Medien" +#: searx/templates/oscar/result_templates/torrent.html:12 +msgid "GiB" +msgstr "GiB" -msgid "images" -msgstr "Bilder" +#: searx/templates/oscar/result_templates/torrent.html:13 +msgid "TiB" +msgstr "TiB" -msgid "videos" -msgstr "Videos" +#: searx/templates/oscar/result_templates/torrent.html:15 +msgid "Number of Files" +msgstr "Anzahl der Dateien" -msgid "it" -msgstr "IT" +#: searx/templates/oscar/result_templates/videos.html:7 +msgid "show video" +msgstr "Video anzeigen" -msgid "news" -msgstr "Neuigkeiten" +#: searx/templates/oscar/result_templates/videos.html:7 +msgid "hide video" +msgstr "Video verstecken" -msgid "map" -msgstr "Karte" +#~ msgid "Filter explicite content" +#~ msgstr "explizite Inhalte filtern" diff --git a/searx/translations/en/LC_MESSAGES/messages.mo b/searx/translations/en/LC_MESSAGES/messages.mo Binary files differindex c3099bf24..f1e013b35 100644 --- a/searx/translations/en/LC_MESSAGES/messages.mo +++ b/searx/translations/en/LC_MESSAGES/messages.mo diff --git a/searx/translations/en/LC_MESSAGES/messages.po b/searx/translations/en/LC_MESSAGES/messages.po index cd807e6ac..eba5c86b2 100644 --- a/searx/translations/en/LC_MESSAGES/messages.po +++ b/searx/translations/en/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2015-01-05 20:54+0100\n" +"POT-Creation-Date: 2015-02-11 14:09+0100\n" "PO-Revision-Date: 2014-01-30 15:22+0100\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: en <LL@li.org>\n" @@ -17,185 +17,301 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 1.3\n" -#: searx/webapp.py:263 +#: searx/webapp.py:100 +msgid "files" +msgstr "" + +#: searx/webapp.py:101 +msgid "general" +msgstr "" + +#: searx/webapp.py:102 +msgid "music" +msgstr "" + +#: searx/webapp.py:103 +msgid "social media" +msgstr "" + +#: searx/webapp.py:104 +msgid "images" +msgstr "" + +#: searx/webapp.py:105 +msgid "videos" +msgstr "" + +#: searx/webapp.py:106 +msgid "it" +msgstr "" + +#: searx/webapp.py:107 +msgid "news" +msgstr "" + +#: searx/webapp.py:108 +msgid "map" +msgstr "" + +#: searx/webapp.py:361 msgid "{minutes} minute(s) ago" msgstr "" -#: searx/webapp.py:265 +#: searx/webapp.py:363 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "" -#: searx/engines/__init__.py:179 +#: searx/engines/__init__.py:182 msgid "Page loads (sec)" msgstr "" -#: searx/engines/__init__.py:183 +#: searx/engines/__init__.py:186 msgid "Number of results" msgstr "" -#: searx/engines/__init__.py:187 +#: searx/engines/__init__.py:190 msgid "Scores" msgstr "" -#: searx/engines/__init__.py:191 +#: searx/engines/__init__.py:194 msgid "Scores per result" msgstr "" -#: searx/engines/__init__.py:195 +#: searx/engines/__init__.py:198 msgid "Errors" msgstr "" -#: searx/templates/courgette/index.html:8 searx/templates/default/index.html:7 -#: searx/templates/oscar/about.html:3 searx/templates/oscar/navbar.html:16 -msgid "about" +#: 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 +msgid "preferences" msgstr "" -#: searx/templates/courgette/index.html:9 searx/templates/default/index.html:8 -#: searx/templates/oscar/navbar.html:17 -#: searx/templates/oscar/preferences.html:2 -msgid "preferences" +#: 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 +msgid "about" msgstr "" #: searx/templates/courgette/preferences.html:5 #: searx/templates/default/preferences.html:5 -#: searx/templates/oscar/preferences.html:6 +#: searx/templates/oscar/preferences.html:12 msgid "Preferences" msgstr "" #: searx/templates/courgette/preferences.html:9 #: searx/templates/default/preferences.html:9 -#: searx/templates/oscar/preferences.html:24 +#: searx/templates/oscar/preferences.html:34 +#: searx/templates/oscar/preferences.html:36 msgid "Default categories" msgstr "" -#: searx/templates/courgette/preferences.html:15 -#: searx/templates/default/preferences.html:15 -#: searx/templates/oscar/preferences.html:30 +#: searx/templates/courgette/preferences.html:13 +#: searx/templates/default/preferences.html:14 +#: searx/templates/oscar/preferences.html:42 msgid "Search language" msgstr "" -#: searx/templates/courgette/preferences.html:18 -#: searx/templates/default/preferences.html:18 -#: searx/templates/oscar/preferences.html:33 +#: searx/templates/courgette/preferences.html:16 +#: searx/templates/default/preferences.html:17 +#: searx/templates/oscar/preferences.html:46 msgid "Automatic" msgstr "" -#: searx/templates/courgette/preferences.html:26 -#: searx/templates/default/preferences.html:26 -#: searx/templates/oscar/preferences.html:42 +#: searx/templates/courgette/preferences.html:24 +#: searx/templates/default/preferences.html:25 +#: searx/templates/oscar/preferences.html:53 msgid "Interface language" msgstr "" -#: searx/templates/courgette/preferences.html:36 -#: searx/templates/default/preferences.html:36 -#: searx/templates/oscar/preferences.html:53 +#: searx/templates/courgette/preferences.html:34 +#: searx/templates/default/preferences.html:35 +#: searx/templates/oscar/preferences.html:63 msgid "Autocomplete" msgstr "" -#: searx/templates/courgette/preferences.html:47 -#: searx/templates/default/preferences.html:47 -#: searx/templates/oscar/preferences.html:66 +#: searx/templates/courgette/preferences.html:45 +#: searx/templates/default/preferences.html:46 +#: searx/templates/oscar/preferences.html:74 +msgid "Image proxy" +msgstr "" + +#: searx/templates/courgette/preferences.html:48 +#: searx/templates/default/preferences.html:49 +#: searx/templates/oscar/preferences.html:78 +msgid "Enabled" +msgstr "" + +#: searx/templates/courgette/preferences.html:49 +#: searx/templates/default/preferences.html:50 +#: searx/templates/oscar/preferences.html:79 +msgid "Disabled" +msgstr "" + +#: searx/templates/courgette/preferences.html:54 +#: searx/templates/default/preferences.html:55 +#: searx/templates/oscar/preferences.html:83 msgid "Method" msgstr "" -#: searx/templates/courgette/preferences.html:56 -#: searx/templates/default/preferences.html:56 -#: searx/templates/oscar/preferences.html:76 -msgid "Themes" +#: searx/templates/courgette/preferences.html:63 +#: searx/templates/default/preferences.html:64 +#: searx/templates/oscar/preferences.html:92 +msgid "SafeSearch" msgstr "" #: searx/templates/courgette/preferences.html:66 -#: searx/templates/default/preferences.html:66 +#: searx/templates/default/preferences.html:67 +#: searx/templates/oscar/preferences.html:96 +msgid "Strict" +msgstr "" + +#: searx/templates/courgette/preferences.html:67 +#: searx/templates/default/preferences.html:68 +#: searx/templates/oscar/preferences.html:97 +msgid "Moderate" +msgstr "" + +#: searx/templates/courgette/preferences.html:68 +#: searx/templates/default/preferences.html:69 +#: searx/templates/oscar/preferences.html:98 +msgid "None" +msgstr "" + +#: searx/templates/courgette/preferences.html:73 +#: searx/templates/default/preferences.html:74 +#: searx/templates/oscar/preferences.html:102 +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 msgid "Currently used search engines" msgstr "" -#: searx/templates/courgette/preferences.html:70 -#: searx/templates/default/preferences.html:70 +#: searx/templates/courgette/preferences.html:100 +#: searx/templates/default/preferences.html:88 msgid "Engine name" msgstr "" -#: searx/templates/courgette/preferences.html:71 -#: searx/templates/default/preferences.html:71 +#: searx/templates/courgette/preferences.html:101 +#: searx/templates/default/preferences.html:89 msgid "Category" msgstr "" -#: searx/templates/courgette/preferences.html:72 -#: searx/templates/courgette/preferences.html:83 -#: searx/templates/default/preferences.html:72 -#: searx/templates/default/preferences.html:83 -#: searx/templates/oscar/preferences.html:118 +#: 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/preferences.html:145 msgid "Allow" msgstr "" -#: searx/templates/courgette/preferences.html:72 -#: searx/templates/courgette/preferences.html:84 -#: searx/templates/default/preferences.html:72 -#: searx/templates/default/preferences.html:84 -#: searx/templates/oscar/preferences.html:117 +#: 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/preferences.html:144 msgid "Block" msgstr "" -#: searx/templates/courgette/preferences.html:92 -#: searx/templates/default/preferences.html:92 -#: searx/templates/oscar/preferences.html:132 +#: searx/templates/courgette/preferences.html:122 +#: searx/templates/default/preferences.html:110 +#: searx/templates/oscar/preferences.html:161 msgid "" "These settings are stored in your cookies, this allows us not to store " "this data about you." msgstr "" -#: searx/templates/courgette/preferences.html:94 -#: searx/templates/default/preferences.html:94 -#: searx/templates/oscar/preferences.html:134 +#: searx/templates/courgette/preferences.html:124 +#: searx/templates/default/preferences.html:112 +#: searx/templates/oscar/preferences.html:163 msgid "" "These cookies serve your sole convenience, we don't use these cookies to " "track you." msgstr "" -#: searx/templates/courgette/preferences.html:97 -#: searx/templates/default/preferences.html:97 -#: searx/templates/oscar/preferences.html:137 +#: searx/templates/courgette/preferences.html:127 +#: searx/templates/default/preferences.html:115 +#: searx/templates/oscar/preferences.html:166 msgid "save" msgstr "" -#: searx/templates/courgette/preferences.html:98 -#: searx/templates/default/preferences.html:98 -#: searx/templates/oscar/preferences.html:138 +#: searx/templates/courgette/preferences.html:128 +#: searx/templates/default/preferences.html:116 +#: searx/templates/oscar/preferences.html:167 msgid "back" msgstr "" #: searx/templates/courgette/results.html:12 -#: searx/templates/default/results.html:12 -#: searx/templates/oscar/results.html:87 +#: 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:16 -#: searx/templates/oscar/results.html:92 +#: 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:42 -#: searx/templates/oscar/results.html:67 +#: 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:62 -#: searx/templates/default/results.html:78 -#: searx/templates/oscar/results.html:41 +#: 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:73 -#: searx/templates/default/results.html:89 -#: searx/templates/oscar/results.html:49 +#: 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:5 +#: searx/templates/oscar/search_full.html:9 msgid "Search for..." msgstr "" @@ -204,80 +320,118 @@ msgstr "" msgid "Engine stats" msgstr "" -#: searx/templates/default/categories.html:8 -msgid "Click on the magnifier to perform search" +#: searx/templates/courgette/result_templates/images.html:4 +#: searx/templates/default/result_templates/images.html:4 +msgid "original context" msgstr "" -#: searx/templates/default/results.html:34 -msgid "Answers" +#: 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/oscar/base.html:69 +#: 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/oscar/base.html:74 msgid "Powered by" msgstr "" -#: searx/templates/oscar/base.html:69 +#: searx/templates/oscar/base.html:74 msgid "a privacy-respecting, hackable metasearch engine" msgstr "" -#: searx/templates/oscar/navbar.html:6 -msgid "Toggle navigation" +#: searx/templates/oscar/macros.html:20 +msgid "cached" msgstr "" -#: searx/templates/oscar/navbar.html:15 +#: searx/templates/oscar/navbar.html:9 searx/templates/oscar/navbar.html:33 msgid "home" msgstr "" -#: searx/templates/oscar/preferences.html:11 +#: 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:23 msgid "General" msgstr "" -#: searx/templates/oscar/preferences.html:12 -#: searx/templates/oscar/preferences.html:99 +#: searx/templates/oscar/preferences.html:18 +#: searx/templates/oscar/preferences.html:124 msgid "Engines" msgstr "" -#: searx/templates/oscar/preferences.html:39 +#: searx/templates/oscar/preferences.html:43 msgid "What language do you prefer for search?" msgstr "" -#: searx/templates/oscar/preferences.html:50 +#: searx/templates/oscar/preferences.html:54 msgid "Change the language of the layout" msgstr "" -#: searx/templates/oscar/preferences.html:63 +#: searx/templates/oscar/preferences.html:64 msgid "Find stuff as you type" msgstr "" -#: searx/templates/oscar/preferences.html:73 +#: searx/templates/oscar/preferences.html:75 +msgid "Proxying image results through searx" +msgstr "" + +#: searx/templates/oscar/preferences.html:84 msgid "" "Change how forms are submited, <a " "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" " rel=\"external\">learn more about request methods</a>" msgstr "" -#: searx/templates/oscar/preferences.html:84 +#: searx/templates/oscar/preferences.html:93 +msgid "Filter content" +msgstr "" + +#: searx/templates/oscar/preferences.html:103 msgid "Change searx layout" msgstr "" -#: searx/templates/oscar/results.html:6 +#: searx/templates/oscar/results.html:7 msgid "Search results" msgstr "" -#: searx/templates/oscar/results.html:82 +#: searx/templates/oscar/results.html:105 msgid "Links" msgstr "" -#: searx/templates/oscar/search.html:6 searx/templates/oscar/search_full.html:7 +#: searx/templates/oscar/search.html:6 +#: searx/templates/oscar/search_full.html:11 msgid "Start search" msgstr "" -#: searx/templates/oscar/search_full.html:11 +#: searx/templates/oscar/search_full.html:15 msgid "Show search filters" msgstr "" -#: searx/templates/oscar/search_full.html:11 +#: searx/templates/oscar/search_full.html:15 msgid "Hide search filters" msgstr "" @@ -339,96 +493,80 @@ msgstr "" msgid "Something went wrong." msgstr "" -#: searx/templates/oscar/result_templates/default.html:6 -#: searx/templates/oscar/result_templates/map.html:7 -#: searx/templates/oscar/result_templates/torrent.html:6 -#: searx/templates/oscar/result_templates/videos.html:6 -msgid "cached" -msgstr "" - -#: searx/templates/oscar/result_templates/default.html:9 +#: searx/templates/oscar/result_templates/default.html:7 msgid "show media" msgstr "" -#: searx/templates/oscar/result_templates/default.html:9 +#: searx/templates/oscar/result_templates/default.html:7 msgid "hide media" msgstr "" -#: searx/templates/oscar/result_templates/images.html:21 +#: searx/templates/oscar/result_templates/images.html:23 msgid "Get image" msgstr "" -#: searx/templates/oscar/result_templates/images.html:22 +#: searx/templates/oscar/result_templates/images.html:24 msgid "View source" msgstr "" -#: searx/templates/oscar/result_templates/map.html:10 +#: searx/templates/oscar/result_templates/map.html:7 msgid "show map" msgstr "" -#: searx/templates/oscar/result_templates/map.html:10 +#: searx/templates/oscar/result_templates/map.html:7 msgid "hide map" msgstr "" -#: searx/templates/oscar/result_templates/map.html:14 +#: searx/templates/oscar/result_templates/map.html:11 msgid "show details" msgstr "" -#: searx/templates/oscar/result_templates/map.html:14 +#: searx/templates/oscar/result_templates/map.html:11 msgid "hide details" msgstr "" -#: searx/templates/oscar/result_templates/torrent.html:8 -msgid "Seeder" +#: searx/templates/oscar/result_templates/torrent.html:7 +msgid "Filesize" msgstr "" -#: searx/templates/oscar/result_templates/torrent.html:8 -msgid "Leecher" +#: searx/templates/oscar/result_templates/torrent.html:9 +msgid "Bytes" msgstr "" -#: searx/templates/oscar/result_templates/videos.html:9 -msgid "show video" +#: searx/templates/oscar/result_templates/torrent.html:10 +msgid "kiB" msgstr "" -#: searx/templates/oscar/result_templates/videos.html:9 -msgid "hide video" +#: searx/templates/oscar/result_templates/torrent.html:11 +msgid "MiB" msgstr "" -msgid "Localization" +#: searx/templates/oscar/result_templates/torrent.html:12 +msgid "GiB" msgstr "" -msgid "Yes" +#: searx/templates/oscar/result_templates/torrent.html:13 +msgid "TiB" msgstr "" -msgid "No" +#: searx/templates/oscar/result_templates/torrent.html:15 +msgid "Number of Files" msgstr "" -# categories - manually added -# TODO - automatically add -msgid "files" -msgstr "" - -msgid "general" -msgstr "" - -msgid "music" -msgstr "" - -msgid "social media" -msgstr "" - -msgid "images" +#: searx/templates/oscar/result_templates/videos.html:7 +msgid "show video" msgstr "" -msgid "videos" +#: searx/templates/oscar/result_templates/videos.html:7 +msgid "hide video" msgstr "" -msgid "it" -msgstr "" +#~ msgid "Localization" +#~ msgstr "" -msgid "news" -msgstr "" +#~ msgid "Yes" +#~ msgstr "" -msgid "map" -msgstr "" +#~ msgid "No" +#~ msgstr "" diff --git a/searx/translations/es/LC_MESSAGES/messages.mo b/searx/translations/es/LC_MESSAGES/messages.mo Binary files differindex 8a36374f6..6089ea6d9 100644 --- a/searx/translations/es/LC_MESSAGES/messages.mo +++ b/searx/translations/es/LC_MESSAGES/messages.mo diff --git a/searx/translations/es/LC_MESSAGES/messages.po b/searx/translations/es/LC_MESSAGES/messages.po index 6f336bf11..866840e06 100644 --- a/searx/translations/es/LC_MESSAGES/messages.po +++ b/searx/translations/es/LC_MESSAGES/messages.po @@ -1,16 +1,16 @@ -# English translations for . -# Copyright (C) 2014 ORGANIZATION +# Spanish translations for . +# Copyright (C) 2015 ORGANIZATION # This file is distributed under the same license as the project. # # Translators: -# Alejandro León Aznar, 2014 +# Alejandro León Aznar, 2014-2015 msgid "" msgstr "" "Project-Id-Version: searx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2015-01-05 20:54+0100\n" -"PO-Revision-Date: 2014-11-26 20:38+0000\n" -"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n" +"POT-Creation-Date: 2015-02-11 14:09+0100\n" +"PO-Revision-Date: 2015-02-11 12:51+0000\n" +"Last-Translator: Alejandro León Aznar\n" "Language-Team: Spanish " "(http://www.transifex.com/projects/p/searx/language/es/)\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" @@ -19,127 +19,238 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 1.3\n" -#: searx/webapp.py:263 +#: searx/webapp.py:100 +msgid "files" +msgstr "Archivos" + +#: searx/webapp.py:101 +msgid "general" +msgstr "General" + +#: searx/webapp.py:102 +msgid "music" +msgstr "Música" + +#: searx/webapp.py:103 +msgid "social media" +msgstr "" + +#: searx/webapp.py:104 +msgid "images" +msgstr "Imágenes" + +#: searx/webapp.py:105 +msgid "videos" +msgstr "" + +#: searx/webapp.py:106 +msgid "it" +msgstr "TIC" + +#: searx/webapp.py:107 +msgid "news" +msgstr "noticias" + +#: searx/webapp.py:108 +msgid "map" +msgstr "mapa" + +#: searx/webapp.py:361 msgid "{minutes} minute(s) ago" msgstr "hace {minutes} minuto(s)" -#: searx/webapp.py:265 +#: searx/webapp.py:363 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "hace {hours} hora(s) y {minutes} minuto(s)" -#: searx/engines/__init__.py:179 +#: searx/engines/__init__.py:182 msgid "Page loads (sec)" msgstr "Tiempo de carga (segundos)" -#: searx/engines/__init__.py:183 +#: searx/engines/__init__.py:186 msgid "Number of results" msgstr "Número de resultados" -#: searx/engines/__init__.py:187 +#: searx/engines/__init__.py:190 msgid "Scores" msgstr "Puntuaciones" -#: searx/engines/__init__.py:191 +#: searx/engines/__init__.py:194 msgid "Scores per result" msgstr "Puntuaciones por resultado" -#: searx/engines/__init__.py:195 +#: searx/engines/__init__.py:198 msgid "Errors" msgstr "Errores" -#: searx/templates/courgette/index.html:8 searx/templates/default/index.html:7 -#: searx/templates/oscar/about.html:3 searx/templates/oscar/navbar.html:16 -msgid "about" -msgstr "acerca de" - -#: searx/templates/courgette/index.html:9 searx/templates/default/index.html:8 -#: searx/templates/oscar/navbar.html:17 -#: searx/templates/oscar/preferences.html:2 +#: 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 msgid "preferences" msgstr "preferencias" +#: 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 +msgid "about" +msgstr "acerca de" + #: searx/templates/courgette/preferences.html:5 #: searx/templates/default/preferences.html:5 -#: searx/templates/oscar/preferences.html:6 +#: searx/templates/oscar/preferences.html:12 msgid "Preferences" msgstr "Preferencias" #: searx/templates/courgette/preferences.html:9 #: searx/templates/default/preferences.html:9 -#: searx/templates/oscar/preferences.html:24 +#: searx/templates/oscar/preferences.html:34 +#: searx/templates/oscar/preferences.html:36 msgid "Default categories" msgstr "Categorías predeterminadas" -#: searx/templates/courgette/preferences.html:15 -#: searx/templates/default/preferences.html:15 -#: searx/templates/oscar/preferences.html:30 +#: searx/templates/courgette/preferences.html:13 +#: searx/templates/default/preferences.html:14 +#: searx/templates/oscar/preferences.html:42 msgid "Search language" msgstr "Buscar idioma" -#: searx/templates/courgette/preferences.html:18 -#: searx/templates/default/preferences.html:18 -#: searx/templates/oscar/preferences.html:33 +#: searx/templates/courgette/preferences.html:16 +#: searx/templates/default/preferences.html:17 +#: searx/templates/oscar/preferences.html:46 msgid "Automatic" msgstr "Automático" -#: searx/templates/courgette/preferences.html:26 -#: searx/templates/default/preferences.html:26 -#: searx/templates/oscar/preferences.html:42 +#: searx/templates/courgette/preferences.html:24 +#: searx/templates/default/preferences.html:25 +#: searx/templates/oscar/preferences.html:53 msgid "Interface language" msgstr "Idioma de la interfaz" -#: searx/templates/courgette/preferences.html:36 -#: searx/templates/default/preferences.html:36 -#: searx/templates/oscar/preferences.html:53 +#: searx/templates/courgette/preferences.html:34 +#: searx/templates/default/preferences.html:35 +#: searx/templates/oscar/preferences.html:63 msgid "Autocomplete" msgstr "Autocompletar" -#: searx/templates/courgette/preferences.html:47 -#: searx/templates/default/preferences.html:47 -#: searx/templates/oscar/preferences.html:66 +#: searx/templates/courgette/preferences.html:45 +#: searx/templates/default/preferences.html:46 +#: searx/templates/oscar/preferences.html:74 +msgid "Image proxy" +msgstr "Imagen proxy" + +#: searx/templates/courgette/preferences.html:48 +#: searx/templates/default/preferences.html:49 +#: searx/templates/oscar/preferences.html:78 +msgid "Enabled" +msgstr "Activado" + +#: searx/templates/courgette/preferences.html:49 +#: searx/templates/default/preferences.html:50 +#: searx/templates/oscar/preferences.html:79 +msgid "Disabled" +msgstr "Desactivado" + +#: searx/templates/courgette/preferences.html:54 +#: searx/templates/default/preferences.html:55 +#: searx/templates/oscar/preferences.html:83 msgid "Method" msgstr "Método" -#: searx/templates/courgette/preferences.html:56 -#: searx/templates/default/preferences.html:56 -#: searx/templates/oscar/preferences.html:76 +#: searx/templates/courgette/preferences.html:63 +#: searx/templates/default/preferences.html:64 +#: searx/templates/oscar/preferences.html:92 +msgid "SafeSearch" +msgstr "Búsqueda segura" + +#: searx/templates/courgette/preferences.html:66 +#: searx/templates/default/preferences.html:67 +#: searx/templates/oscar/preferences.html:96 +msgid "Strict" +msgstr "Riguroso" + +#: searx/templates/courgette/preferences.html:67 +#: searx/templates/default/preferences.html:68 +#: searx/templates/oscar/preferences.html:97 +msgid "Moderate" +msgstr "" + +#: searx/templates/courgette/preferences.html:68 +#: searx/templates/default/preferences.html:69 +#: searx/templates/oscar/preferences.html:98 +msgid "None" +msgstr "Ninguno" + +#: searx/templates/courgette/preferences.html:73 +#: searx/templates/default/preferences.html:74 +#: searx/templates/oscar/preferences.html:102 msgid "Themes" msgstr "Temas" -#: searx/templates/courgette/preferences.html:66 -#: searx/templates/default/preferences.html:66 +#: searx/templates/courgette/preferences.html:83 +msgid "Color" +msgstr "Color" + +#: searx/templates/courgette/preferences.html:86 +msgid "Blue (default)" +msgstr "Azul (predeterminado)" + +#: searx/templates/courgette/preferences.html:87 +msgid "Violet" +msgstr "Violeta" + +#: searx/templates/courgette/preferences.html:88 +msgid "Green" +msgstr "Verde" + +#: searx/templates/courgette/preferences.html:89 +msgid "Cyan" +msgstr "Cian" + +#: searx/templates/courgette/preferences.html:90 +msgid "Orange" +msgstr "Naranja" + +#: searx/templates/courgette/preferences.html:91 +msgid "Red" +msgstr "Rojo" + +#: searx/templates/courgette/preferences.html:96 +#: searx/templates/default/preferences.html:84 msgid "Currently used search engines" msgstr "Motores de búsqueda actualmente en uso" -#: searx/templates/courgette/preferences.html:70 -#: searx/templates/default/preferences.html:70 +#: searx/templates/courgette/preferences.html:100 +#: searx/templates/default/preferences.html:88 msgid "Engine name" msgstr "Nombre del motor de búsqueda" -#: searx/templates/courgette/preferences.html:71 -#: searx/templates/default/preferences.html:71 +#: searx/templates/courgette/preferences.html:101 +#: searx/templates/default/preferences.html:89 msgid "Category" msgstr "Categoría" -#: searx/templates/courgette/preferences.html:72 -#: searx/templates/courgette/preferences.html:83 -#: searx/templates/default/preferences.html:72 -#: searx/templates/default/preferences.html:83 -#: searx/templates/oscar/preferences.html:118 +#: 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/preferences.html:145 msgid "Allow" msgstr "Permitir" -#: searx/templates/courgette/preferences.html:72 -#: searx/templates/courgette/preferences.html:84 -#: searx/templates/default/preferences.html:72 -#: searx/templates/default/preferences.html:84 -#: searx/templates/oscar/preferences.html:117 +#: 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/preferences.html:144 msgid "Block" msgstr "Bloquear" -#: searx/templates/courgette/preferences.html:92 -#: searx/templates/default/preferences.html:92 -#: searx/templates/oscar/preferences.html:132 +#: searx/templates/courgette/preferences.html:122 +#: searx/templates/default/preferences.html:110 +#: searx/templates/oscar/preferences.html:161 msgid "" "These settings are stored in your cookies, this allows us not to store " "this data about you." @@ -147,9 +258,9 @@ msgstr "" "Esta configuración se guarda en sus cookies, lo que nos permite no " "almacenar dicha información sobre usted." -#: searx/templates/courgette/preferences.html:94 -#: searx/templates/default/preferences.html:94 -#: searx/templates/oscar/preferences.html:134 +#: searx/templates/courgette/preferences.html:124 +#: searx/templates/default/preferences.html:112 +#: searx/templates/oscar/preferences.html:163 msgid "" "These cookies serve your sole convenience, we don't use these cookies to " "track you." @@ -157,51 +268,56 @@ msgstr "" "Estas cookies son para su propia comodidad, no las utilizamos para " "rastrearle." -#: searx/templates/courgette/preferences.html:97 -#: searx/templates/default/preferences.html:97 -#: searx/templates/oscar/preferences.html:137 +#: searx/templates/courgette/preferences.html:127 +#: searx/templates/default/preferences.html:115 +#: searx/templates/oscar/preferences.html:166 msgid "save" msgstr "Guardar" -#: searx/templates/courgette/preferences.html:98 -#: searx/templates/default/preferences.html:98 -#: searx/templates/oscar/preferences.html:138 +#: searx/templates/courgette/preferences.html:128 +#: searx/templates/default/preferences.html:116 +#: searx/templates/oscar/preferences.html:167 msgid "back" msgstr "Atrás" #: searx/templates/courgette/results.html:12 -#: searx/templates/default/results.html:12 -#: searx/templates/oscar/results.html:87 +#: searx/templates/default/results.html:13 +#: searx/templates/oscar/results.html:110 msgid "Search URL" msgstr "Buscar URL" #: searx/templates/courgette/results.html:16 -#: searx/templates/default/results.html:16 -#: searx/templates/oscar/results.html:92 +#: searx/templates/default/results.html:17 +#: searx/templates/oscar/results.html:115 msgid "Download results" msgstr "Descargar resultados" #: searx/templates/courgette/results.html:34 -#: searx/templates/default/results.html:42 -#: searx/templates/oscar/results.html:67 +#: searx/templates/default/results.html:35 +msgid "Answers" +msgstr "Respuestas" + +#: searx/templates/courgette/results.html:42 +#: searx/templates/default/results.html:43 +#: searx/templates/oscar/results.html:90 msgid "Suggestions" msgstr "Sugerencias" -#: searx/templates/courgette/results.html:62 -#: searx/templates/default/results.html:78 -#: searx/templates/oscar/results.html:41 +#: 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 "Página anterior" -#: searx/templates/courgette/results.html:73 -#: searx/templates/default/results.html:89 -#: searx/templates/oscar/results.html:49 +#: 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 "Página siguiente" #: searx/templates/courgette/search.html:3 #: searx/templates/default/search.html:3 searx/templates/oscar/search.html:4 -#: searx/templates/oscar/search_full.html:5 +#: searx/templates/oscar/search_full.html:9 msgid "Search for..." msgstr "Buscar..." @@ -210,225 +326,252 @@ msgstr "Buscar..." msgid "Engine stats" msgstr "Estadísticas del motor de búsqueda" +#: searx/templates/courgette/result_templates/images.html:4 +#: searx/templates/default/result_templates/images.html:4 +msgid "original context" +msgstr "contexto original" + +#: 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 "Fuente" + +#: 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 "Descargador" + +#: 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 "magnet link (enlace sin archivo)" + +#: 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 "archivo torrent" + #: searx/templates/default/categories.html:8 msgid "Click on the magnifier to perform search" -msgstr "" +msgstr "Haz clic en la lupa para realizar la búsqueda" -#: searx/templates/default/results.html:34 -msgid "Answers" -msgstr "" - -#: searx/templates/oscar/base.html:69 +#: searx/templates/oscar/base.html:74 msgid "Powered by" -msgstr "" +msgstr "Creado por" -#: searx/templates/oscar/base.html:69 +#: searx/templates/oscar/base.html:74 msgid "a privacy-respecting, hackable metasearch engine" -msgstr "" +msgstr "un metabuscador hackeable que respeta la privacidad" -#: searx/templates/oscar/navbar.html:6 -msgid "Toggle navigation" -msgstr "" +#: searx/templates/oscar/macros.html:20 +msgid "cached" +msgstr "en caché" -#: searx/templates/oscar/navbar.html:15 +#: searx/templates/oscar/navbar.html:9 searx/templates/oscar/navbar.html:33 msgid "home" -msgstr "" +msgstr "inicio" + +#: searx/templates/oscar/navbar.html:14 searx/templates/oscar/navbar.html:24 +msgid "Toggle navigation" +msgstr "Cambiar navegación" -#: searx/templates/oscar/preferences.html:11 #: searx/templates/oscar/preferences.html:17 +#: searx/templates/oscar/preferences.html:23 msgid "General" -msgstr "" +msgstr "General" -#: searx/templates/oscar/preferences.html:12 -#: searx/templates/oscar/preferences.html:99 +#: searx/templates/oscar/preferences.html:18 +#: searx/templates/oscar/preferences.html:124 msgid "Engines" -msgstr "" +msgstr "Motores" -#: searx/templates/oscar/preferences.html:39 +#: searx/templates/oscar/preferences.html:43 msgid "What language do you prefer for search?" -msgstr "" +msgstr "¿Qué idioma prefieres para la búsqueda?" -#: searx/templates/oscar/preferences.html:50 +#: searx/templates/oscar/preferences.html:54 msgid "Change the language of the layout" -msgstr "" +msgstr "Cambiar idioma de la interfaz" -#: searx/templates/oscar/preferences.html:63 +#: searx/templates/oscar/preferences.html:64 msgid "Find stuff as you type" -msgstr "" +msgstr "Buscar mientras escribes" -#: searx/templates/oscar/preferences.html:73 +#: searx/templates/oscar/preferences.html:75 +msgid "Proxying image results through searx" +msgstr "Filtrando resultados de imágenes en searx" + +#: searx/templates/oscar/preferences.html:84 msgid "" "Change how forms are submited, <a " "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" " rel=\"external\">learn more about request methods</a>" msgstr "" +"Modifica cómo se envian los formularios <a " +"href=\"http://es.wikipedia.org/wiki/Hypertext_Transfer_Protocol#M.C3.A9todos_de_petici.C3.B3n\"" +" rel=\"external\">más información sobre métodos de peticiones</a>" -#: searx/templates/oscar/preferences.html:84 -msgid "Change searx layout" +#: searx/templates/oscar/preferences.html:93 +msgid "Filter content" msgstr "" -#: searx/templates/oscar/results.html:6 +#: searx/templates/oscar/preferences.html:103 +msgid "Change searx layout" +msgstr "Cambiar aspecto de searx" + +#: searx/templates/oscar/results.html:7 msgid "Search results" -msgstr "" +msgstr "Buscar" -#: searx/templates/oscar/results.html:82 +#: searx/templates/oscar/results.html:105 msgid "Links" -msgstr "" +msgstr "Enlaces" -#: searx/templates/oscar/search.html:6 searx/templates/oscar/search_full.html:7 +#: searx/templates/oscar/search.html:6 +#: searx/templates/oscar/search_full.html:11 msgid "Start search" -msgstr "" +msgstr "Comenzar búsqueda" -#: searx/templates/oscar/search_full.html:11 +#: searx/templates/oscar/search_full.html:15 msgid "Show search filters" -msgstr "" +msgstr "Mostrar filtros de búsqueda" -#: searx/templates/oscar/search_full.html:11 +#: searx/templates/oscar/search_full.html:15 msgid "Hide search filters" -msgstr "" +msgstr "Ocultar filtros de búsqueda" #: searx/templates/oscar/stats.html:2 msgid "stats" -msgstr "" +msgstr "estadísitcas" #: 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 "" +msgstr "Cerrar" #: searx/templates/oscar/messages/first_time.html:6 #: searx/templates/oscar/messages/no_data_available.html:3 msgid "Heads up!" -msgstr "" +msgstr "¡Atención!" #: searx/templates/oscar/messages/first_time.html:7 msgid "It look like you are using searx first time." -msgstr "" +msgstr "Parece que estás usando searx por primera vez." #: searx/templates/oscar/messages/js_disabled.html:2 msgid "Warning!" -msgstr "" +msgstr "¡Cuidado!" #: searx/templates/oscar/messages/js_disabled.html:3 msgid "Please enable JavaScript to use full functionality of this site." -msgstr "" +msgstr "Por favor, activa JavaScript para poder usar esta página al 100%." #: searx/templates/oscar/messages/no_data_available.html:4 msgid "There is currently no data available. " -msgstr "" +msgstr "Actualmente no hay datos disponibles." #: searx/templates/oscar/messages/no_results.html:7 msgid "Sorry!" -msgstr "" +msgstr "¡Lo siento!" #: 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 "" +"No encontramos nada. Por favor, formule su búsqueda de otra forma o " +"busque en más categorías." #: searx/templates/oscar/messages/save_settings_successfull.html:7 msgid "Well done!" -msgstr "" +msgstr "¡Bien hecho!" #: searx/templates/oscar/messages/save_settings_successfull.html:8 msgid "Settings saved successfully." -msgstr "" +msgstr "Configuración guardada correctamente." #: searx/templates/oscar/messages/unknow_error.html:7 msgid "Oh snap!" -msgstr "" +msgstr "¡Mecachis!" #: searx/templates/oscar/messages/unknow_error.html:8 msgid "Something went wrong." -msgstr "" +msgstr "Algo ha ido mal." -#: searx/templates/oscar/result_templates/default.html:6 -#: searx/templates/oscar/result_templates/map.html:7 -#: searx/templates/oscar/result_templates/torrent.html:6 -#: searx/templates/oscar/result_templates/videos.html:6 -msgid "cached" -msgstr "" - -#: searx/templates/oscar/result_templates/default.html:9 +#: searx/templates/oscar/result_templates/default.html:7 msgid "show media" -msgstr "" +msgstr "mostrar multimedia" -#: searx/templates/oscar/result_templates/default.html:9 +#: searx/templates/oscar/result_templates/default.html:7 msgid "hide media" -msgstr "" +msgstr "ocultar multimedia" -#: searx/templates/oscar/result_templates/images.html:21 +#: searx/templates/oscar/result_templates/images.html:23 msgid "Get image" -msgstr "" +msgstr "Obtener imagen" -#: searx/templates/oscar/result_templates/images.html:22 +#: searx/templates/oscar/result_templates/images.html:24 msgid "View source" -msgstr "" +msgstr "Ver fuente" -#: searx/templates/oscar/result_templates/map.html:10 +#: searx/templates/oscar/result_templates/map.html:7 msgid "show map" -msgstr "" +msgstr "mostrar mapa" -#: searx/templates/oscar/result_templates/map.html:10 +#: searx/templates/oscar/result_templates/map.html:7 msgid "hide map" -msgstr "" +msgstr "ocultar mapa" -#: searx/templates/oscar/result_templates/map.html:14 +#: searx/templates/oscar/result_templates/map.html:11 msgid "show details" -msgstr "" +msgstr "ver detalles" -#: searx/templates/oscar/result_templates/map.html:14 +#: searx/templates/oscar/result_templates/map.html:11 msgid "hide details" -msgstr "" - -#: searx/templates/oscar/result_templates/torrent.html:8 -msgid "Seeder" -msgstr "" - -#: searx/templates/oscar/result_templates/torrent.html:8 -msgid "Leecher" -msgstr "" - -#: searx/templates/oscar/result_templates/videos.html:9 -msgid "show video" -msgstr "" - -#: searx/templates/oscar/result_templates/videos.html:9 -msgid "hide video" -msgstr "" +msgstr "ocultar detalles" -msgid "Localization" -msgstr "" +#: searx/templates/oscar/result_templates/torrent.html:7 +msgid "Filesize" +msgstr "Tamaño de archivo" -msgid "Yes" -msgstr "" +#: searx/templates/oscar/result_templates/torrent.html:9 +msgid "Bytes" +msgstr "Bytes" -msgid "No" -msgstr "" +#: searx/templates/oscar/result_templates/torrent.html:10 +msgid "kiB" +msgstr "KiB" -# categories - manually added -# TODO - automatically add -msgid "files" -msgstr "Archivos" +#: searx/templates/oscar/result_templates/torrent.html:11 +msgid "MiB" +msgstr "MiB" -msgid "general" -msgstr "General" +#: searx/templates/oscar/result_templates/torrent.html:12 +msgid "GiB" +msgstr "GiB" -msgid "music" -msgstr "Música" +#: searx/templates/oscar/result_templates/torrent.html:13 +msgid "TiB" +msgstr "TiB" -msgid "images" -msgstr "Imágenes" +#: searx/templates/oscar/result_templates/torrent.html:15 +msgid "Number of Files" +msgstr "Número de archivos" -msgid "it" -msgstr "TIC" +#: searx/templates/oscar/result_templates/videos.html:7 +msgid "show video" +msgstr "mostrar vídeo" -msgid "news" -msgstr "noticias" +#: searx/templates/oscar/result_templates/videos.html:7 +msgid "hide video" +msgstr "ocultar video" -msgid "map" -msgstr "mapa" +#~ msgid "Filter explicite content" +#~ msgstr "Filtrar contenido explícito" diff --git a/searx/translations/fr/LC_MESSAGES/messages.mo b/searx/translations/fr/LC_MESSAGES/messages.mo Binary files differindex 37507f2f4..3944fd77e 100644 --- a/searx/translations/fr/LC_MESSAGES/messages.mo +++ b/searx/translations/fr/LC_MESSAGES/messages.mo diff --git a/searx/translations/fr/LC_MESSAGES/messages.po b/searx/translations/fr/LC_MESSAGES/messages.po index 6afff3871..e17ecbad0 100644 --- a/searx/translations/fr/LC_MESSAGES/messages.po +++ b/searx/translations/fr/LC_MESSAGES/messages.po @@ -1,18 +1,17 @@ -# English translations for . -# Copyright (C) 2014 ORGANIZATION +# French translations for . +# Copyright (C) 2015 ORGANIZATION # This file is distributed under the same license as the project. # # Translators: # Benjamin Sonntag <benjamin@sonntag.fr>, 2014 -# Cqoicebordel <david.barouh@wanadoo.fr>, 2014 -# FIRST AUTHOR <EMAIL@ADDRESS>, 2014 +# Cqoicebordel <david.barouh@wanadoo.fr>, 2014-2015 # rike, 2014 msgid "" msgstr "" "Project-Id-Version: searx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2015-01-05 20:54+0100\n" -"PO-Revision-Date: 2014-12-14 21:00+0000\n" +"POT-Creation-Date: 2015-02-11 14:09+0100\n" +"PO-Revision-Date: 2015-02-10 17:01+0000\n" "Last-Translator: Cqoicebordel <david.barouh@wanadoo.fr>\n" "Language-Team: French " "(http://www.transifex.com/projects/p/searx/language/fr/)\n" @@ -22,127 +21,238 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 1.3\n" -#: searx/webapp.py:263 +#: searx/webapp.py:100 +msgid "files" +msgstr "fichiers" + +#: searx/webapp.py:101 +msgid "general" +msgstr "général" + +#: searx/webapp.py:102 +msgid "music" +msgstr "musique" + +#: searx/webapp.py:103 +msgid "social media" +msgstr "réseaux sociaux" + +#: searx/webapp.py:104 +msgid "images" +msgstr "images" + +#: searx/webapp.py:105 +msgid "videos" +msgstr "vidéos" + +#: searx/webapp.py:106 +msgid "it" +msgstr "informatique" + +#: searx/webapp.py:107 +msgid "news" +msgstr "actus" + +#: searx/webapp.py:108 +msgid "map" +msgstr "carte" + +#: searx/webapp.py:361 msgid "{minutes} minute(s) ago" msgstr "il y a {minutes} minute(s)" -#: searx/webapp.py:265 +#: searx/webapp.py:363 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "il y a {hours} heure(s), {minutes} minute(s)" -#: searx/engines/__init__.py:179 +#: searx/engines/__init__.py:182 msgid "Page loads (sec)" msgstr "Chargement de la page (sec)" -#: searx/engines/__init__.py:183 +#: searx/engines/__init__.py:186 msgid "Number of results" msgstr "Nombre de résultats" -#: searx/engines/__init__.py:187 +#: searx/engines/__init__.py:190 msgid "Scores" msgstr "Score" -#: searx/engines/__init__.py:191 +#: searx/engines/__init__.py:194 msgid "Scores per result" msgstr "Score par résultat" -#: searx/engines/__init__.py:195 +#: searx/engines/__init__.py:198 msgid "Errors" msgstr "Erreurs" -#: searx/templates/courgette/index.html:8 searx/templates/default/index.html:7 -#: searx/templates/oscar/about.html:3 searx/templates/oscar/navbar.html:16 -msgid "about" -msgstr "À propos" - -#: searx/templates/courgette/index.html:9 searx/templates/default/index.html:8 -#: searx/templates/oscar/navbar.html:17 -#: searx/templates/oscar/preferences.html:2 +#: 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 msgid "preferences" msgstr "préférences" +#: 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 +msgid "about" +msgstr "À propos" + #: searx/templates/courgette/preferences.html:5 #: searx/templates/default/preferences.html:5 -#: searx/templates/oscar/preferences.html:6 +#: searx/templates/oscar/preferences.html:12 msgid "Preferences" msgstr "Préférences" #: searx/templates/courgette/preferences.html:9 #: searx/templates/default/preferences.html:9 -#: searx/templates/oscar/preferences.html:24 +#: searx/templates/oscar/preferences.html:34 +#: searx/templates/oscar/preferences.html:36 msgid "Default categories" msgstr "Catégories par défaut" -#: searx/templates/courgette/preferences.html:15 -#: searx/templates/default/preferences.html:15 -#: searx/templates/oscar/preferences.html:30 +#: searx/templates/courgette/preferences.html:13 +#: searx/templates/default/preferences.html:14 +#: searx/templates/oscar/preferences.html:42 msgid "Search language" msgstr "Langue de recherche" -#: searx/templates/courgette/preferences.html:18 -#: searx/templates/default/preferences.html:18 -#: searx/templates/oscar/preferences.html:33 +#: searx/templates/courgette/preferences.html:16 +#: searx/templates/default/preferences.html:17 +#: searx/templates/oscar/preferences.html:46 msgid "Automatic" msgstr "Automatique" -#: searx/templates/courgette/preferences.html:26 -#: searx/templates/default/preferences.html:26 -#: searx/templates/oscar/preferences.html:42 +#: searx/templates/courgette/preferences.html:24 +#: searx/templates/default/preferences.html:25 +#: searx/templates/oscar/preferences.html:53 msgid "Interface language" msgstr "Langue de l'interface" -#: searx/templates/courgette/preferences.html:36 -#: searx/templates/default/preferences.html:36 -#: searx/templates/oscar/preferences.html:53 +#: searx/templates/courgette/preferences.html:34 +#: searx/templates/default/preferences.html:35 +#: searx/templates/oscar/preferences.html:63 msgid "Autocomplete" msgstr "Complétion automatique" -#: searx/templates/courgette/preferences.html:47 -#: searx/templates/default/preferences.html:47 -#: searx/templates/oscar/preferences.html:66 +#: searx/templates/courgette/preferences.html:45 +#: searx/templates/default/preferences.html:46 +#: searx/templates/oscar/preferences.html:74 +msgid "Image proxy" +msgstr "Proxy d'images" + +#: searx/templates/courgette/preferences.html:48 +#: searx/templates/default/preferences.html:49 +#: searx/templates/oscar/preferences.html:78 +msgid "Enabled" +msgstr "Activé" + +#: searx/templates/courgette/preferences.html:49 +#: searx/templates/default/preferences.html:50 +#: searx/templates/oscar/preferences.html:79 +msgid "Disabled" +msgstr "Désactivé" + +#: searx/templates/courgette/preferences.html:54 +#: searx/templates/default/preferences.html:55 +#: searx/templates/oscar/preferences.html:83 msgid "Method" msgstr "Méthode" -#: searx/templates/courgette/preferences.html:56 -#: searx/templates/default/preferences.html:56 -#: searx/templates/oscar/preferences.html:76 +#: searx/templates/courgette/preferences.html:63 +#: searx/templates/default/preferences.html:64 +#: searx/templates/oscar/preferences.html:92 +msgid "SafeSearch" +msgstr "Recherche sécurisée" + +#: searx/templates/courgette/preferences.html:66 +#: searx/templates/default/preferences.html:67 +#: searx/templates/oscar/preferences.html:96 +msgid "Strict" +msgstr "Stricte" + +#: searx/templates/courgette/preferences.html:67 +#: searx/templates/default/preferences.html:68 +#: searx/templates/oscar/preferences.html:97 +msgid "Moderate" +msgstr "Moyen" + +#: searx/templates/courgette/preferences.html:68 +#: searx/templates/default/preferences.html:69 +#: searx/templates/oscar/preferences.html:98 +msgid "None" +msgstr "Pas du tout" + +#: searx/templates/courgette/preferences.html:73 +#: searx/templates/default/preferences.html:74 +#: searx/templates/oscar/preferences.html:102 msgid "Themes" msgstr "Thème" -#: searx/templates/courgette/preferences.html:66 -#: searx/templates/default/preferences.html:66 +#: searx/templates/courgette/preferences.html:83 +msgid "Color" +msgstr "Couleur" + +#: searx/templates/courgette/preferences.html:86 +msgid "Blue (default)" +msgstr "Bleu (défaut)" + +#: searx/templates/courgette/preferences.html:87 +msgid "Violet" +msgstr "Violet" + +#: searx/templates/courgette/preferences.html:88 +msgid "Green" +msgstr "Vert" + +#: searx/templates/courgette/preferences.html:89 +msgid "Cyan" +msgstr "Cyan" + +#: searx/templates/courgette/preferences.html:90 +msgid "Orange" +msgstr "Orange" + +#: searx/templates/courgette/preferences.html:91 +msgid "Red" +msgstr "Rouge" + +#: searx/templates/courgette/preferences.html:96 +#: searx/templates/default/preferences.html:84 msgid "Currently used search engines" msgstr "Moteurs de recherche actuellement utilisés" -#: searx/templates/courgette/preferences.html:70 -#: searx/templates/default/preferences.html:70 +#: searx/templates/courgette/preferences.html:100 +#: searx/templates/default/preferences.html:88 msgid "Engine name" msgstr "Nom du moteur" -#: searx/templates/courgette/preferences.html:71 -#: searx/templates/default/preferences.html:71 +#: searx/templates/courgette/preferences.html:101 +#: searx/templates/default/preferences.html:89 msgid "Category" msgstr "Catégorie" -#: searx/templates/courgette/preferences.html:72 -#: searx/templates/courgette/preferences.html:83 -#: searx/templates/default/preferences.html:72 -#: searx/templates/default/preferences.html:83 -#: searx/templates/oscar/preferences.html:118 +#: 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/preferences.html:145 msgid "Allow" msgstr "Autoriser" -#: searx/templates/courgette/preferences.html:72 -#: searx/templates/courgette/preferences.html:84 -#: searx/templates/default/preferences.html:72 -#: searx/templates/default/preferences.html:84 -#: searx/templates/oscar/preferences.html:117 +#: 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/preferences.html:144 msgid "Block" msgstr "Bloquer" -#: searx/templates/courgette/preferences.html:92 -#: searx/templates/default/preferences.html:92 -#: searx/templates/oscar/preferences.html:132 +#: searx/templates/courgette/preferences.html:122 +#: searx/templates/default/preferences.html:110 +#: searx/templates/oscar/preferences.html:161 msgid "" "These settings are stored in your cookies, this allows us not to store " "this data about you." @@ -150,9 +260,9 @@ msgstr "" "Ces paramètres sont stockés dans vos cookies ; ceci nous permet de ne pas" " collecter vos données." -#: searx/templates/courgette/preferences.html:94 -#: searx/templates/default/preferences.html:94 -#: searx/templates/oscar/preferences.html:134 +#: searx/templates/courgette/preferences.html:124 +#: searx/templates/default/preferences.html:112 +#: searx/templates/oscar/preferences.html:163 msgid "" "These cookies serve your sole convenience, we don't use these cookies to " "track you." @@ -160,51 +270,56 @@ msgstr "" "Ces cookies existent pour votre confort d'utilisation, nous ne les " "utilisons pas pour vous espionner." -#: searx/templates/courgette/preferences.html:97 -#: searx/templates/default/preferences.html:97 -#: searx/templates/oscar/preferences.html:137 +#: searx/templates/courgette/preferences.html:127 +#: searx/templates/default/preferences.html:115 +#: searx/templates/oscar/preferences.html:166 msgid "save" msgstr "enregistrer" -#: searx/templates/courgette/preferences.html:98 -#: searx/templates/default/preferences.html:98 -#: searx/templates/oscar/preferences.html:138 +#: searx/templates/courgette/preferences.html:128 +#: searx/templates/default/preferences.html:116 +#: searx/templates/oscar/preferences.html:167 msgid "back" msgstr "retour" #: searx/templates/courgette/results.html:12 -#: searx/templates/default/results.html:12 -#: searx/templates/oscar/results.html:87 +#: searx/templates/default/results.html:13 +#: searx/templates/oscar/results.html:110 msgid "Search URL" msgstr "URL de recherche" #: searx/templates/courgette/results.html:16 -#: searx/templates/default/results.html:16 -#: searx/templates/oscar/results.html:92 +#: searx/templates/default/results.html:17 +#: searx/templates/oscar/results.html:115 msgid "Download results" msgstr "Télécharger les résultats" #: searx/templates/courgette/results.html:34 -#: searx/templates/default/results.html:42 -#: searx/templates/oscar/results.html:67 +#: searx/templates/default/results.html:35 +msgid "Answers" +msgstr "Réponses" + +#: searx/templates/courgette/results.html:42 +#: searx/templates/default/results.html:43 +#: searx/templates/oscar/results.html:90 msgid "Suggestions" msgstr "Suggestions" -#: searx/templates/courgette/results.html:62 -#: searx/templates/default/results.html:78 -#: searx/templates/oscar/results.html:41 +#: 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 "page précédente" -#: searx/templates/courgette/results.html:73 -#: searx/templates/default/results.html:89 -#: searx/templates/oscar/results.html:49 +#: 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 "page suivante" #: searx/templates/courgette/search.html:3 #: searx/templates/default/search.html:3 searx/templates/oscar/search.html:4 -#: searx/templates/oscar/search_full.html:5 +#: searx/templates/oscar/search_full.html:9 msgid "Search for..." msgstr "Rechercher..." @@ -213,53 +328,86 @@ msgstr "Rechercher..." msgid "Engine stats" msgstr "Statistiques du moteur" +#: searx/templates/courgette/result_templates/images.html:4 +#: searx/templates/default/result_templates/images.html:4 +msgid "original context" +msgstr "contexte original" + +#: 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 "Sources" + +#: 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 "Téléchargeurs" + +#: 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 "lien magnet" + +#: 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 "fichier torrent" + #: searx/templates/default/categories.html:8 msgid "Click on the magnifier to perform search" msgstr "Cliquez sur la loupe pour effectuer une recherche" -#: searx/templates/default/results.html:34 -msgid "Answers" -msgstr "Réponses" - -#: searx/templates/oscar/base.html:69 +#: searx/templates/oscar/base.html:74 msgid "Powered by" msgstr "Powered by" -#: searx/templates/oscar/base.html:69 +#: searx/templates/oscar/base.html:74 msgid "a privacy-respecting, hackable metasearch engine" msgstr "un meta-moteur de recherche hackable et respectueux de la vie privée" -#: searx/templates/oscar/navbar.html:6 -msgid "Toggle navigation" -msgstr "Afficher/Masquer la navigation" +#: searx/templates/oscar/macros.html:20 +msgid "cached" +msgstr "en cache" -#: searx/templates/oscar/navbar.html:15 +#: searx/templates/oscar/navbar.html:9 searx/templates/oscar/navbar.html:33 msgid "home" msgstr "accueil" -#: searx/templates/oscar/preferences.html:11 +#: searx/templates/oscar/navbar.html:14 searx/templates/oscar/navbar.html:24 +msgid "Toggle navigation" +msgstr "Afficher/Masquer la navigation" + #: searx/templates/oscar/preferences.html:17 +#: searx/templates/oscar/preferences.html:23 msgid "General" msgstr "Général" -#: searx/templates/oscar/preferences.html:12 -#: searx/templates/oscar/preferences.html:99 +#: searx/templates/oscar/preferences.html:18 +#: searx/templates/oscar/preferences.html:124 msgid "Engines" msgstr "Moteurs" -#: searx/templates/oscar/preferences.html:39 +#: searx/templates/oscar/preferences.html:43 msgid "What language do you prefer for search?" msgstr "Dans quelle langue préférez-vous effectuer la recherche ?" -#: searx/templates/oscar/preferences.html:50 +#: searx/templates/oscar/preferences.html:54 msgid "Change the language of the layout" msgstr "Changer la langue d'affichage" -#: searx/templates/oscar/preferences.html:63 +#: searx/templates/oscar/preferences.html:64 msgid "Find stuff as you type" msgstr "Chercher au fil de la saisie" -#: searx/templates/oscar/preferences.html:73 +#: searx/templates/oscar/preferences.html:75 +msgid "Proxying image results through searx" +msgstr "Proxifier les images de résultats à travers searx" + +#: searx/templates/oscar/preferences.html:84 msgid "" "Change how forms are submited, <a " "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" @@ -269,27 +417,32 @@ msgstr "" "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:84 +#: searx/templates/oscar/preferences.html:93 +msgid "Filter content" +msgstr "" + +#: searx/templates/oscar/preferences.html:103 msgid "Change searx layout" msgstr "Modifier l'affichage de searx" -#: searx/templates/oscar/results.html:6 +#: searx/templates/oscar/results.html:7 msgid "Search results" msgstr "Résultats de recherche" -#: searx/templates/oscar/results.html:82 +#: searx/templates/oscar/results.html:105 msgid "Links" msgstr "Liens" -#: searx/templates/oscar/search.html:6 searx/templates/oscar/search_full.html:7 +#: searx/templates/oscar/search.html:6 +#: searx/templates/oscar/search_full.html:11 msgid "Start search" msgstr "Lancer une recherche" -#: searx/templates/oscar/search_full.html:11 +#: searx/templates/oscar/search_full.html:15 msgid "Show search filters" msgstr "Afficher les filtres de recherche" -#: searx/templates/oscar/search_full.html:11 +#: searx/templates/oscar/search_full.html:15 msgid "Hide search filters" msgstr "Cacher les filtres de recherche" @@ -355,96 +508,74 @@ msgstr "Oups !" msgid "Something went wrong." msgstr "Il y a un problème." -#: searx/templates/oscar/result_templates/default.html:6 -#: searx/templates/oscar/result_templates/map.html:7 -#: searx/templates/oscar/result_templates/torrent.html:6 -#: searx/templates/oscar/result_templates/videos.html:6 -msgid "cached" -msgstr "en cache" - -#: searx/templates/oscar/result_templates/default.html:9 +#: searx/templates/oscar/result_templates/default.html:7 msgid "show media" msgstr "afficher le média" -#: searx/templates/oscar/result_templates/default.html:9 +#: searx/templates/oscar/result_templates/default.html:7 msgid "hide media" msgstr "cacher le media" -#: searx/templates/oscar/result_templates/images.html:21 +#: searx/templates/oscar/result_templates/images.html:23 msgid "Get image" msgstr "Voir l'image" -#: searx/templates/oscar/result_templates/images.html:22 +#: searx/templates/oscar/result_templates/images.html:24 msgid "View source" msgstr "Voir le source" -#: searx/templates/oscar/result_templates/map.html:10 +#: searx/templates/oscar/result_templates/map.html:7 msgid "show map" msgstr "afficher la carte" -#: searx/templates/oscar/result_templates/map.html:10 +#: searx/templates/oscar/result_templates/map.html:7 msgid "hide map" msgstr "cacher la carte" -#: searx/templates/oscar/result_templates/map.html:14 +#: searx/templates/oscar/result_templates/map.html:11 msgid "show details" msgstr "afficher les détails" -#: searx/templates/oscar/result_templates/map.html:14 +#: searx/templates/oscar/result_templates/map.html:11 msgid "hide details" msgstr "cacher les détails" -#: searx/templates/oscar/result_templates/torrent.html:8 -msgid "Seeder" -msgstr "Sources" +#: searx/templates/oscar/result_templates/torrent.html:7 +msgid "Filesize" +msgstr "Taille de fichier" -#: searx/templates/oscar/result_templates/torrent.html:8 -msgid "Leecher" -msgstr "Téléchargeurs" +#: searx/templates/oscar/result_templates/torrent.html:9 +msgid "Bytes" +msgstr "octets" -#: searx/templates/oscar/result_templates/videos.html:9 -msgid "show video" -msgstr "afficher la vidéo" - -#: searx/templates/oscar/result_templates/videos.html:9 -msgid "hide video" -msgstr "cacher la vidéo" - -msgid "Localization" -msgstr "Localisation" - -msgid "Yes" -msgstr "Oui" - -msgid "No" -msgstr "Non" +#: searx/templates/oscar/result_templates/torrent.html:10 +msgid "kiB" +msgstr "kio" -# categories - manually added -# TODO - automatically add -msgid "files" -msgstr "fichiers" - -msgid "general" -msgstr "général" - -msgid "music" -msgstr "musique" +#: searx/templates/oscar/result_templates/torrent.html:11 +msgid "MiB" +msgstr "Mio" -msgid "social media" -msgstr "réseaux sociaux" +#: searx/templates/oscar/result_templates/torrent.html:12 +msgid "GiB" +msgstr "Gio" -msgid "images" -msgstr "images" +#: searx/templates/oscar/result_templates/torrent.html:13 +msgid "TiB" +msgstr "Tio" -msgid "videos" -msgstr "vidéos" +#: searx/templates/oscar/result_templates/torrent.html:15 +msgid "Number of Files" +msgstr "Nombre de fichiers" -msgid "it" -msgstr "informatique" +#: searx/templates/oscar/result_templates/videos.html:7 +msgid "show video" +msgstr "afficher la vidéo" -msgid "news" -msgstr "actus" +#: searx/templates/oscar/result_templates/videos.html:7 +msgid "hide video" +msgstr "cacher la vidéo" -msgid "map" -msgstr "carte" +#~ msgid "Filter explicite content" +#~ msgstr "Filtrer le contenu explicite" diff --git a/searx/translations/he/LC_MESSAGES/messages.mo b/searx/translations/he/LC_MESSAGES/messages.mo Binary files differnew file mode 100644 index 000000000..e0f26c913 --- /dev/null +++ b/searx/translations/he/LC_MESSAGES/messages.mo diff --git a/searx/translations/he/LC_MESSAGES/messages.po b/searx/translations/he/LC_MESSAGES/messages.po new file mode 100644 index 000000000..83723f9d4 --- /dev/null +++ b/searx/translations/he/LC_MESSAGES/messages.po @@ -0,0 +1,568 @@ +# Translations template for PROJECT. +# Copyright (C) 2015 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# +# Translators: +# GenghisKhan <genghiskhan@gmx.ca>, 2015 +# GenghisKhan <genghiskhan@gmx.ca>, 2015 +# pointhi, 2014 +# rike, 2014 +# stf <stefan.marsiske@gmail.com>, 2014 +msgid "" +msgstr "" +"Project-Id-Version: searx\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2015-02-11 14:09+0100\n" +"PO-Revision-Date: 2015-02-11 13:31+0000\n" +"Last-Translator: pointhi\n" +"Language-Team: Hebrew (http://www.transifex.com/projects/p/searx/language/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" +"Language: he\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: searx/webapp.py:100 +msgid "files" +msgstr "קבצים" + +#: searx/webapp.py:101 +msgid "general" +msgstr "כללי" + +#: searx/webapp.py:102 +msgid "music" +msgstr "מוזיקה" + +#: searx/webapp.py:103 +msgid "social media" +msgstr "מדיה חברתית" + +#: searx/webapp.py:104 +msgid "images" +msgstr "תמונות" + +#: searx/webapp.py:105 +msgid "videos" +msgstr "סרטונים" + +#: searx/webapp.py:106 +msgid "it" +msgstr "IT" + +#: searx/webapp.py:107 +msgid "news" +msgstr "חדשות" + +#: searx/webapp.py:108 +msgid "map" +msgstr "מפה" + +#: searx/webapp.py:361 +msgid "{minutes} minute(s) ago" +msgstr "לפני {minutes} דקות" + +#: searx/webapp.py:363 +msgid "{hours} hour(s), {minutes} minute(s) ago" +msgstr "לפני {hours} שעות, {minutes} דקות" + +#: searx/engines/__init__.py:182 +msgid "Page loads (sec)" +msgstr "עומס עמוד (שניות)" + +#: searx/engines/__init__.py:186 +msgid "Number of results" +msgstr "מספר תוצאות" + +#: searx/engines/__init__.py:190 +msgid "Scores" +msgstr "דירוג" + +#: searx/engines/__init__.py:194 +msgid "Scores per result" +msgstr "דירוג לכל תוצאה" + +#: searx/engines/__init__.py:198 +msgid "Errors" +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 +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 +msgid "about" +msgstr "אודות" + +#: searx/templates/courgette/preferences.html:5 +#: searx/templates/default/preferences.html:5 +#: searx/templates/oscar/preferences.html:12 +msgid "Preferences" +msgstr "העדפות" + +#: searx/templates/courgette/preferences.html:9 +#: searx/templates/default/preferences.html:9 +#: searx/templates/oscar/preferences.html:34 +#: searx/templates/oscar/preferences.html:36 +msgid "Default categories" +msgstr "קטגוריות ברירת מחדל" + +#: searx/templates/courgette/preferences.html:13 +#: searx/templates/default/preferences.html:14 +#: searx/templates/oscar/preferences.html:42 +msgid "Search language" +msgstr "שפת חיפוש" + +#: searx/templates/courgette/preferences.html:16 +#: searx/templates/default/preferences.html:17 +#: searx/templates/oscar/preferences.html:46 +msgid "Automatic" +msgstr "אוטומטי" + +#: searx/templates/courgette/preferences.html:24 +#: searx/templates/default/preferences.html:25 +#: searx/templates/oscar/preferences.html:53 +msgid "Interface language" +msgstr "שפת ממשק" + +#: searx/templates/courgette/preferences.html:34 +#: searx/templates/default/preferences.html:35 +#: searx/templates/oscar/preferences.html:63 +msgid "Autocomplete" +msgstr "השלמה אוטומטית" + +#: searx/templates/courgette/preferences.html:45 +#: searx/templates/default/preferences.html:46 +#: searx/templates/oscar/preferences.html:74 +msgid "Image proxy" +msgstr "proxy תמונה" + +#: searx/templates/courgette/preferences.html:48 +#: searx/templates/default/preferences.html:49 +#: searx/templates/oscar/preferences.html:78 +msgid "Enabled" +msgstr "מאופשר" + +#: searx/templates/courgette/preferences.html:49 +#: searx/templates/default/preferences.html:50 +#: searx/templates/oscar/preferences.html:79 +msgid "Disabled" +msgstr "מנוטרל" + +#: searx/templates/courgette/preferences.html:54 +#: searx/templates/default/preferences.html:55 +#: searx/templates/oscar/preferences.html:83 +msgid "Method" +msgstr "שיטה" + +#: searx/templates/courgette/preferences.html:63 +#: searx/templates/default/preferences.html:64 +#: searx/templates/oscar/preferences.html:92 +msgid "SafeSearch" +msgstr "חיפוש בטוח" + +#: searx/templates/courgette/preferences.html:66 +#: searx/templates/default/preferences.html:67 +#: searx/templates/oscar/preferences.html:96 +msgid "Strict" +msgstr "מחמיר" + +#: searx/templates/courgette/preferences.html:67 +#: searx/templates/default/preferences.html:68 +#: searx/templates/oscar/preferences.html:97 +msgid "Moderate" +msgstr "מתון" + +#: searx/templates/courgette/preferences.html:68 +#: searx/templates/default/preferences.html:69 +#: searx/templates/oscar/preferences.html:98 +msgid "None" +msgstr "בלי" + +#: searx/templates/courgette/preferences.html:73 +#: searx/templates/default/preferences.html:74 +#: searx/templates/oscar/preferences.html:102 +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 +msgid "Currently used search engines" +msgstr "מנועי חיפוש שבשימוש עתה" + +#: searx/templates/courgette/preferences.html:100 +#: searx/templates/default/preferences.html:88 +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/preferences.html:145 +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/preferences.html:144 +msgid "Block" +msgstr "חסום" + +#: searx/templates/courgette/preferences.html:122 +#: searx/templates/default/preferences.html:110 +#: searx/templates/oscar/preferences.html:161 +msgid "" +"These settings are stored in your cookies, this allows us not to store this " +"data about you." +msgstr "הגדרות אלו הינן מאוחסנות בתוך העוגיות שלך, אלו מאפשרות לנו לא לאחסן את מידע זה אודותייך." + +#: searx/templates/courgette/preferences.html:124 +#: searx/templates/default/preferences.html:112 +#: searx/templates/oscar/preferences.html:163 +msgid "" +"These cookies serve your sole convenience, we don't use these cookies to " +"track you." +msgstr "עוגיות אלו משרתות את נוחיותך הבלעדית, אנחנו לא משתמשים בהן כדי לעקוב אחריך." + +#: searx/templates/courgette/preferences.html:127 +#: searx/templates/default/preferences.html:115 +#: searx/templates/oscar/preferences.html:166 +msgid "save" +msgstr "שמור" + +#: searx/templates/courgette/preferences.html:128 +#: searx/templates/default/preferences.html:116 +#: searx/templates/oscar/preferences.html:167 +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 "URL חיפוש" + +#: 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 +msgid "Search for..." +msgstr "חיפוש..." + +#: searx/templates/courgette/stats.html:4 searx/templates/default/stats.html:4 +#: searx/templates/oscar/stats.html:5 +msgid "Engine stats" +msgstr "סטטיסטיקות מנוע" + +#: searx/templates/courgette/result_templates/images.html:4 +#: searx/templates/default/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 "קישור magnet" + +#: 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 "קובץ torrent" + +#: searx/templates/default/categories.html:8 +msgid "Click on the magnifier to perform search" +msgstr "לחצו על הזכוכית מגדלת כדי לבצע חיפוש" + +#: searx/templates/oscar/base.html:74 +msgid "Powered by" +msgstr "" + +#: searx/templates/oscar/base.html:74 +msgid "a privacy-respecting, hackable metasearch engine" +msgstr "" + +#: searx/templates/oscar/macros.html:20 +msgid "cached" +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 "Toggle ניווט" + +#: searx/templates/oscar/preferences.html:17 +#: searx/templates/oscar/preferences.html:23 +msgid "General" +msgstr "כללי" + +#: searx/templates/oscar/preferences.html:18 +#: searx/templates/oscar/preferences.html:124 +msgid "Engines" +msgstr "מנועים" + +#: searx/templates/oscar/preferences.html:43 +msgid "What language do you prefer for search?" +msgstr "איזו שפה אתם מעדיפים לצורך חיפוש?" + +#: searx/templates/oscar/preferences.html:54 +msgid "Change the language of the layout" +msgstr "שינוי שפת הממשק" + +#: searx/templates/oscar/preferences.html:64 +msgid "Find stuff as you type" +msgstr "מציאת דברים בזמן הקלדה" + +#: searx/templates/oscar/preferences.html:75 +msgid "Proxying image results through searx" +msgstr "Proxying תוצאות תמונה מבעד searx" + +#: searx/templates/oscar/preferences.html:84 +msgid "" +"Change how forms are submited, <a " +"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" +" rel=\"external\">learn more about request methods</a>" +msgstr "שינוי האופן בו טפסים נשלחים, <a href=\"http://he.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">למדו עוד אודות שיטות בקשה (request methods)</a>" + +#: searx/templates/oscar/preferences.html:93 +msgid "Filter content" +msgstr "" + +#: searx/templates/oscar/preferences.html:103 +msgid "Change searx layout" +msgstr "שינוי ממשק searx" + +#: 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_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 "בייטים" + +#: searx/templates/oscar/result_templates/torrent.html:10 +msgid "kiB" +msgstr "קי״ב" + +#: searx/templates/oscar/result_templates/torrent.html:11 +msgid "MiB" +msgstr "מי״ב" + +#: searx/templates/oscar/result_templates/torrent.html:12 +msgid "GiB" +msgstr "גי״ב" + +#: searx/templates/oscar/result_templates/torrent.html:13 +msgid "TiB" +msgstr "טי״ב" + +#: 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 "הסתר וידאו" diff --git a/searx/translations/hu/LC_MESSAGES/messages.mo b/searx/translations/hu/LC_MESSAGES/messages.mo Binary files differindex f4d56666f..45c7aa508 100644 --- a/searx/translations/hu/LC_MESSAGES/messages.mo +++ b/searx/translations/hu/LC_MESSAGES/messages.mo diff --git a/searx/translations/hu/LC_MESSAGES/messages.po b/searx/translations/hu/LC_MESSAGES/messages.po index 16f021740..38ed56893 100644 --- a/searx/translations/hu/LC_MESSAGES/messages.po +++ b/searx/translations/hu/LC_MESSAGES/messages.po @@ -1,16 +1,15 @@ -# English translations for . -# Copyright (C) 2014 ORGANIZATION +# Hungarian translations for . +# Copyright (C) 2015 ORGANIZATION # This file is distributed under the same license as the project. # # Translators: -# Adam Tauber <asciimoo@gmail.com>, 2014 -# FIRST AUTHOR <EMAIL@ADDRESS>, 2014 +# Adam Tauber <asciimoo@gmail.com>, 2014-2015 msgid "" msgstr "" "Project-Id-Version: searx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2015-01-05 20:54+0100\n" -"PO-Revision-Date: 2014-12-22 16:11+0000\n" +"POT-Creation-Date: 2015-02-11 14:09+0100\n" +"PO-Revision-Date: 2015-02-10 17:21+0000\n" "Last-Translator: Adam Tauber <asciimoo@gmail.com>\n" "Language-Team: Hungarian " "(http://www.transifex.com/projects/p/searx/language/hu/)\n" @@ -20,135 +19,246 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 1.3\n" -#: searx/webapp.py:263 +#: searx/webapp.py:100 +msgid "files" +msgstr "fájlok" + +#: searx/webapp.py:101 +msgid "general" +msgstr "általános" + +#: searx/webapp.py:102 +msgid "music" +msgstr "zene" + +#: searx/webapp.py:103 +msgid "social media" +msgstr "közösségi média" + +#: searx/webapp.py:104 +msgid "images" +msgstr "képek" + +#: searx/webapp.py:105 +msgid "videos" +msgstr "videók" + +#: searx/webapp.py:106 +msgid "it" +msgstr "it" + +#: searx/webapp.py:107 +msgid "news" +msgstr "hírek" + +#: searx/webapp.py:108 +msgid "map" +msgstr "térkép" + +#: searx/webapp.py:361 msgid "{minutes} minute(s) ago" msgstr "{minutes} perce" -#: searx/webapp.py:265 +#: searx/webapp.py:363 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} óra, {minutes} perce" -#: searx/engines/__init__.py:179 +#: searx/engines/__init__.py:182 msgid "Page loads (sec)" msgstr "Válaszidők (sec)" -#: searx/engines/__init__.py:183 +#: searx/engines/__init__.py:186 msgid "Number of results" msgstr "Találatok száma" -#: searx/engines/__init__.py:187 +#: searx/engines/__init__.py:190 msgid "Scores" msgstr "Pontszámok" -#: searx/engines/__init__.py:191 +#: searx/engines/__init__.py:194 msgid "Scores per result" msgstr "Pontszámok találatonként" -#: searx/engines/__init__.py:195 +#: searx/engines/__init__.py:198 msgid "Errors" msgstr "Hibák" -#: searx/templates/courgette/index.html:8 searx/templates/default/index.html:7 -#: searx/templates/oscar/about.html:3 searx/templates/oscar/navbar.html:16 -msgid "about" -msgstr "rólunk" - -#: searx/templates/courgette/index.html:9 searx/templates/default/index.html:8 -#: searx/templates/oscar/navbar.html:17 -#: searx/templates/oscar/preferences.html:2 +#: 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 msgid "preferences" msgstr "beállítások" +#: 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 +msgid "about" +msgstr "rólunk" + #: searx/templates/courgette/preferences.html:5 #: searx/templates/default/preferences.html:5 -#: searx/templates/oscar/preferences.html:6 +#: searx/templates/oscar/preferences.html:12 msgid "Preferences" msgstr "Beállítások" #: searx/templates/courgette/preferences.html:9 #: searx/templates/default/preferences.html:9 -#: searx/templates/oscar/preferences.html:24 +#: searx/templates/oscar/preferences.html:34 +#: searx/templates/oscar/preferences.html:36 msgid "Default categories" msgstr "Alapértelmezett kategóriák" -#: searx/templates/courgette/preferences.html:15 -#: searx/templates/default/preferences.html:15 -#: searx/templates/oscar/preferences.html:30 +#: searx/templates/courgette/preferences.html:13 +#: searx/templates/default/preferences.html:14 +#: searx/templates/oscar/preferences.html:42 msgid "Search language" msgstr "Keresés nyelve" -#: searx/templates/courgette/preferences.html:18 -#: searx/templates/default/preferences.html:18 -#: searx/templates/oscar/preferences.html:33 +#: searx/templates/courgette/preferences.html:16 +#: searx/templates/default/preferences.html:17 +#: searx/templates/oscar/preferences.html:46 msgid "Automatic" msgstr "Automatikus" -#: searx/templates/courgette/preferences.html:26 -#: searx/templates/default/preferences.html:26 -#: searx/templates/oscar/preferences.html:42 +#: searx/templates/courgette/preferences.html:24 +#: searx/templates/default/preferences.html:25 +#: searx/templates/oscar/preferences.html:53 msgid "Interface language" msgstr "Felület nyelve" -#: searx/templates/courgette/preferences.html:36 -#: searx/templates/default/preferences.html:36 -#: searx/templates/oscar/preferences.html:53 +#: searx/templates/courgette/preferences.html:34 +#: searx/templates/default/preferences.html:35 +#: searx/templates/oscar/preferences.html:63 msgid "Autocomplete" msgstr "Automatikus kiegészítés" -#: searx/templates/courgette/preferences.html:47 -#: searx/templates/default/preferences.html:47 -#: searx/templates/oscar/preferences.html:66 +#: searx/templates/courgette/preferences.html:45 +#: searx/templates/default/preferences.html:46 +#: searx/templates/oscar/preferences.html:74 +msgid "Image proxy" +msgstr "Kép proxy" + +#: searx/templates/courgette/preferences.html:48 +#: searx/templates/default/preferences.html:49 +#: searx/templates/oscar/preferences.html:78 +msgid "Enabled" +msgstr "Engedélyez" + +#: searx/templates/courgette/preferences.html:49 +#: searx/templates/default/preferences.html:50 +#: searx/templates/oscar/preferences.html:79 +msgid "Disabled" +msgstr "Inaktivál" + +#: searx/templates/courgette/preferences.html:54 +#: searx/templates/default/preferences.html:55 +#: searx/templates/oscar/preferences.html:83 msgid "Method" msgstr "Method" -#: searx/templates/courgette/preferences.html:56 -#: searx/templates/default/preferences.html:56 -#: searx/templates/oscar/preferences.html:76 +#: searx/templates/courgette/preferences.html:63 +#: searx/templates/default/preferences.html:64 +#: searx/templates/oscar/preferences.html:92 +msgid "SafeSearch" +msgstr "Felnőtt tartalom szűrés" + +#: searx/templates/courgette/preferences.html:66 +#: searx/templates/default/preferences.html:67 +#: searx/templates/oscar/preferences.html:96 +msgid "Strict" +msgstr "Erős" + +#: searx/templates/courgette/preferences.html:67 +#: searx/templates/default/preferences.html:68 +#: searx/templates/oscar/preferences.html:97 +msgid "Moderate" +msgstr "Enyhe" + +#: searx/templates/courgette/preferences.html:68 +#: searx/templates/default/preferences.html:69 +#: searx/templates/oscar/preferences.html:98 +msgid "None" +msgstr "Nincs" + +#: searx/templates/courgette/preferences.html:73 +#: searx/templates/default/preferences.html:74 +#: searx/templates/oscar/preferences.html:102 msgid "Themes" msgstr "Megjelenés" -#: searx/templates/courgette/preferences.html:66 -#: searx/templates/default/preferences.html:66 +#: searx/templates/courgette/preferences.html:83 +msgid "Color" +msgstr "Szín" + +#: searx/templates/courgette/preferences.html:86 +msgid "Blue (default)" +msgstr "Kék" + +#: searx/templates/courgette/preferences.html:87 +msgid "Violet" +msgstr "Ibolya" + +#: searx/templates/courgette/preferences.html:88 +msgid "Green" +msgstr "Zöld" + +#: searx/templates/courgette/preferences.html:89 +msgid "Cyan" +msgstr "Türkisz" + +#: searx/templates/courgette/preferences.html:90 +msgid "Orange" +msgstr "Narancs" + +#: searx/templates/courgette/preferences.html:91 +msgid "Red" +msgstr "Piros" + +#: searx/templates/courgette/preferences.html:96 +#: searx/templates/default/preferences.html:84 msgid "Currently used search engines" msgstr "Jelenleg használt keresők" -#: searx/templates/courgette/preferences.html:70 -#: searx/templates/default/preferences.html:70 +#: searx/templates/courgette/preferences.html:100 +#: searx/templates/default/preferences.html:88 msgid "Engine name" msgstr "Kereső neve" -#: searx/templates/courgette/preferences.html:71 -#: searx/templates/default/preferences.html:71 +#: searx/templates/courgette/preferences.html:101 +#: searx/templates/default/preferences.html:89 msgid "Category" msgstr "Kategória" -#: searx/templates/courgette/preferences.html:72 -#: searx/templates/courgette/preferences.html:83 -#: searx/templates/default/preferences.html:72 -#: searx/templates/default/preferences.html:83 -#: searx/templates/oscar/preferences.html:118 +#: 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/preferences.html:145 msgid "Allow" msgstr "Engedélyezés" -#: searx/templates/courgette/preferences.html:72 -#: searx/templates/courgette/preferences.html:84 -#: searx/templates/default/preferences.html:72 -#: searx/templates/default/preferences.html:84 -#: searx/templates/oscar/preferences.html:117 +#: 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/preferences.html:144 msgid "Block" msgstr "Tiltás" -#: searx/templates/courgette/preferences.html:92 -#: searx/templates/default/preferences.html:92 -#: searx/templates/oscar/preferences.html:132 +#: searx/templates/courgette/preferences.html:122 +#: searx/templates/default/preferences.html:110 +#: searx/templates/oscar/preferences.html:161 msgid "" "These settings are stored in your cookies, this allows us not to store " "this data about you." msgstr "Ezek a beállítások csak a böngésző cookie-jaiban tárolódnak." -#: searx/templates/courgette/preferences.html:94 -#: searx/templates/default/preferences.html:94 -#: searx/templates/oscar/preferences.html:134 +#: searx/templates/courgette/preferences.html:124 +#: searx/templates/default/preferences.html:112 +#: searx/templates/oscar/preferences.html:163 msgid "" "These cookies serve your sole convenience, we don't use these cookies to " "track you." @@ -156,51 +266,56 @@ msgstr "" "Ezek a cookie-k csak kényelmi funkciókat látnak el, nem használjuk a " "felhasználók követésére." -#: searx/templates/courgette/preferences.html:97 -#: searx/templates/default/preferences.html:97 -#: searx/templates/oscar/preferences.html:137 +#: searx/templates/courgette/preferences.html:127 +#: searx/templates/default/preferences.html:115 +#: searx/templates/oscar/preferences.html:166 msgid "save" msgstr "mentés" -#: searx/templates/courgette/preferences.html:98 -#: searx/templates/default/preferences.html:98 -#: searx/templates/oscar/preferences.html:138 +#: searx/templates/courgette/preferences.html:128 +#: searx/templates/default/preferences.html:116 +#: searx/templates/oscar/preferences.html:167 msgid "back" msgstr "vissza" #: searx/templates/courgette/results.html:12 -#: searx/templates/default/results.html:12 -#: searx/templates/oscar/results.html:87 +#: searx/templates/default/results.html:13 +#: searx/templates/oscar/results.html:110 msgid "Search URL" msgstr "Keresési URL" #: searx/templates/courgette/results.html:16 -#: searx/templates/default/results.html:16 -#: searx/templates/oscar/results.html:92 +#: searx/templates/default/results.html:17 +#: searx/templates/oscar/results.html:115 msgid "Download results" msgstr "Találatok letöltése" #: searx/templates/courgette/results.html:34 -#: searx/templates/default/results.html:42 -#: searx/templates/oscar/results.html:67 +#: searx/templates/default/results.html:35 +msgid "Answers" +msgstr "Válaszok" + +#: searx/templates/courgette/results.html:42 +#: searx/templates/default/results.html:43 +#: searx/templates/oscar/results.html:90 msgid "Suggestions" msgstr "Javaslatok" -#: searx/templates/courgette/results.html:62 -#: searx/templates/default/results.html:78 -#: searx/templates/oscar/results.html:41 +#: 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 "előző oldal" -#: searx/templates/courgette/results.html:73 -#: searx/templates/default/results.html:89 -#: searx/templates/oscar/results.html:49 +#: 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 "következő oldal" #: searx/templates/courgette/search.html:3 #: searx/templates/default/search.html:3 searx/templates/oscar/search.html:4 -#: searx/templates/oscar/search_full.html:5 +#: searx/templates/oscar/search_full.html:9 msgid "Search for..." msgstr "Keresés..." @@ -209,53 +324,86 @@ msgstr "Keresés..." msgid "Engine stats" msgstr "Kereső statisztikák" +#: searx/templates/courgette/result_templates/images.html:4 +#: searx/templates/default/result_templates/images.html:4 +msgid "original context" +msgstr "eredeti kontextus" + +#: 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 "Seeder" + +#: 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 "Leecher" + +#: 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 "magnet link" + +#: 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 "torrent fájl" + #: searx/templates/default/categories.html:8 msgid "Click on the magnifier to perform search" msgstr "A nagyítóra kattintva indítható a keresés" -#: searx/templates/default/results.html:34 -msgid "Answers" -msgstr "Válaszok" - -#: searx/templates/oscar/base.html:69 +#: searx/templates/oscar/base.html:74 msgid "Powered by" msgstr "Az oldalt kiszolgálja: " -#: searx/templates/oscar/base.html:69 +#: searx/templates/oscar/base.html:74 msgid "a privacy-respecting, hackable metasearch engine" msgstr "egy privátszféra tisztelő, könnyen módosítható metakereső" -#: searx/templates/oscar/navbar.html:6 -msgid "Toggle navigation" -msgstr "Navigáció megjelenítés" +#: searx/templates/oscar/macros.html:20 +msgid "cached" +msgstr "tárolt" -#: searx/templates/oscar/navbar.html:15 +#: searx/templates/oscar/navbar.html:9 searx/templates/oscar/navbar.html:33 msgid "home" msgstr "főoldal" -#: searx/templates/oscar/preferences.html:11 +#: searx/templates/oscar/navbar.html:14 searx/templates/oscar/navbar.html:24 +msgid "Toggle navigation" +msgstr "Navigáció megjelenítés" + #: searx/templates/oscar/preferences.html:17 +#: searx/templates/oscar/preferences.html:23 msgid "General" msgstr "Általános" -#: searx/templates/oscar/preferences.html:12 -#: searx/templates/oscar/preferences.html:99 +#: searx/templates/oscar/preferences.html:18 +#: searx/templates/oscar/preferences.html:124 msgid "Engines" msgstr "Kereső motorok" -#: searx/templates/oscar/preferences.html:39 +#: searx/templates/oscar/preferences.html:43 msgid "What language do you prefer for search?" msgstr "Preferált keresési nyelv" -#: searx/templates/oscar/preferences.html:50 +#: searx/templates/oscar/preferences.html:54 msgid "Change the language of the layout" msgstr "Felület nyelve" -#: searx/templates/oscar/preferences.html:63 +#: searx/templates/oscar/preferences.html:64 msgid "Find stuff as you type" msgstr "Autómatikus kereső kifejezés kiegészítés" -#: searx/templates/oscar/preferences.html:73 +#: searx/templates/oscar/preferences.html:75 +msgid "Proxying image results through searx" +msgstr "Kép találatok betöltése searx-ön keresztül" + +#: searx/templates/oscar/preferences.html:84 msgid "" "Change how forms are submited, <a " "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" @@ -265,27 +413,32 @@ msgstr "" "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" " rel=\"external\">bővebben</a>)" -#: searx/templates/oscar/preferences.html:84 +#: searx/templates/oscar/preferences.html:93 +msgid "Filter content" +msgstr "" + +#: searx/templates/oscar/preferences.html:103 msgid "Change searx layout" msgstr "Megjelenés" -#: searx/templates/oscar/results.html:6 +#: searx/templates/oscar/results.html:7 msgid "Search results" msgstr "Keresési eredmények" -#: searx/templates/oscar/results.html:82 +#: searx/templates/oscar/results.html:105 msgid "Links" msgstr "Linkek" -#: searx/templates/oscar/search.html:6 searx/templates/oscar/search_full.html:7 +#: searx/templates/oscar/search.html:6 +#: searx/templates/oscar/search_full.html:11 msgid "Start search" msgstr "Keresés indítása" -#: searx/templates/oscar/search_full.html:11 +#: searx/templates/oscar/search_full.html:15 msgid "Show search filters" msgstr "Keresési szűrők megjelenítése" -#: searx/templates/oscar/search_full.html:11 +#: searx/templates/oscar/search_full.html:15 msgid "Hide search filters" msgstr "Keresési szűrők elrejtése" @@ -347,96 +500,74 @@ msgstr "Oh!" msgid "Something went wrong." msgstr "Hiba történt" -#: searx/templates/oscar/result_templates/default.html:6 -#: searx/templates/oscar/result_templates/map.html:7 -#: searx/templates/oscar/result_templates/torrent.html:6 -#: searx/templates/oscar/result_templates/videos.html:6 -msgid "cached" -msgstr "tárolt" - -#: searx/templates/oscar/result_templates/default.html:9 +#: searx/templates/oscar/result_templates/default.html:7 msgid "show media" -msgstr "" +msgstr "médium mutatása" -#: searx/templates/oscar/result_templates/default.html:9 +#: searx/templates/oscar/result_templates/default.html:7 msgid "hide media" -msgstr "" +msgstr "médium elrejtése" -#: searx/templates/oscar/result_templates/images.html:21 +#: searx/templates/oscar/result_templates/images.html:23 msgid "Get image" msgstr "Kép megjelenítése" -#: searx/templates/oscar/result_templates/images.html:22 +#: searx/templates/oscar/result_templates/images.html:24 msgid "View source" msgstr "Forrás megtekintése" -#: searx/templates/oscar/result_templates/map.html:10 +#: searx/templates/oscar/result_templates/map.html:7 msgid "show map" msgstr "Térkép" -#: searx/templates/oscar/result_templates/map.html:10 +#: searx/templates/oscar/result_templates/map.html:7 msgid "hide map" msgstr "Térkép elrejtése" -#: searx/templates/oscar/result_templates/map.html:14 +#: searx/templates/oscar/result_templates/map.html:11 msgid "show details" msgstr "Részletek" -#: searx/templates/oscar/result_templates/map.html:14 +#: searx/templates/oscar/result_templates/map.html:11 msgid "hide details" msgstr "Részletek elrejtése" -#: searx/templates/oscar/result_templates/torrent.html:8 -msgid "Seeder" -msgstr "Seeder" +#: searx/templates/oscar/result_templates/torrent.html:7 +msgid "Filesize" +msgstr "Fájl méret" -#: searx/templates/oscar/result_templates/torrent.html:8 -msgid "Leecher" -msgstr "Leecher" - -#: searx/templates/oscar/result_templates/videos.html:9 -msgid "show video" -msgstr "" - -#: searx/templates/oscar/result_templates/videos.html:9 -msgid "hide video" -msgstr "" +#: searx/templates/oscar/result_templates/torrent.html:9 +msgid "Bytes" +msgstr "Byte" -msgid "Localization" -msgstr "Nyelv" - -msgid "Yes" -msgstr "Igen" - -msgid "No" -msgstr "Nem" - -# categories - manually added -# TODO - automatically add -msgid "files" -msgstr "fájlok" - -msgid "general" -msgstr "általános" +#: searx/templates/oscar/result_templates/torrent.html:10 +msgid "kiB" +msgstr "kiB" -msgid "music" -msgstr "zene" +#: searx/templates/oscar/result_templates/torrent.html:11 +msgid "MiB" +msgstr "MiB" -msgid "social media" -msgstr "közösségi média" +#: searx/templates/oscar/result_templates/torrent.html:12 +msgid "GiB" +msgstr "GiB" -msgid "images" -msgstr "képek" +#: searx/templates/oscar/result_templates/torrent.html:13 +msgid "TiB" +msgstr "TiB" -msgid "videos" -msgstr "videók" +#: searx/templates/oscar/result_templates/torrent.html:15 +msgid "Number of Files" +msgstr "Fájlok száma" -msgid "it" -msgstr "it" +#: searx/templates/oscar/result_templates/videos.html:7 +msgid "show video" +msgstr "video mutatása" -msgid "news" -msgstr "hírek" +#: searx/templates/oscar/result_templates/videos.html:7 +msgid "hide video" +msgstr "video elrejtése" -msgid "map" -msgstr "térkép" +#~ msgid "Filter explicite content" +#~ msgstr "Tartalom szűrés" diff --git a/searx/translations/it/LC_MESSAGES/messages.mo b/searx/translations/it/LC_MESSAGES/messages.mo Binary files differindex ce22605ae..dac396304 100644 --- a/searx/translations/it/LC_MESSAGES/messages.mo +++ b/searx/translations/it/LC_MESSAGES/messages.mo diff --git a/searx/translations/it/LC_MESSAGES/messages.po b/searx/translations/it/LC_MESSAGES/messages.po index 3a49ca7fe..ba594d4ae 100644 --- a/searx/translations/it/LC_MESSAGES/messages.po +++ b/searx/translations/it/LC_MESSAGES/messages.po @@ -1,5 +1,5 @@ -# English translations for . -# Copyright (C) 2014 ORGANIZATION +# Italian translations for . +# Copyright (C) 2015 ORGANIZATION # This file is distributed under the same license as the project. # # Translators: @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: searx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2015-01-05 20:54+0100\n" -"PO-Revision-Date: 2014-11-26 20:38+0000\n" +"POT-Creation-Date: 2015-02-11 14:09+0100\n" +"PO-Revision-Date: 2015-02-10 16:50+0000\n" "Last-Translator: Adam Tauber <asciimoo@gmail.com>\n" "Language-Team: Italian " "(http://www.transifex.com/projects/p/searx/language/it/)\n" @@ -19,127 +19,238 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 1.3\n" -#: searx/webapp.py:263 +#: searx/webapp.py:100 +msgid "files" +msgstr "documenti" + +#: searx/webapp.py:101 +msgid "general" +msgstr "generale" + +#: searx/webapp.py:102 +msgid "music" +msgstr "musica" + +#: searx/webapp.py:103 +msgid "social media" +msgstr "" + +#: searx/webapp.py:104 +msgid "images" +msgstr "immagini" + +#: searx/webapp.py:105 +msgid "videos" +msgstr "" + +#: searx/webapp.py:106 +msgid "it" +msgstr "it" + +#: searx/webapp.py:107 +msgid "news" +msgstr "notizie" + +#: searx/webapp.py:108 +msgid "map" +msgstr "mappe" + +#: searx/webapp.py:361 msgid "{minutes} minute(s) ago" msgstr "di {minutes} minuti fa" -#: searx/webapp.py:265 +#: searx/webapp.py:363 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "di {ore} h e {minutes} minuti fa" -#: searx/engines/__init__.py:179 +#: searx/engines/__init__.py:182 msgid "Page loads (sec)" msgstr " Caricamento della pagina (secondi)" -#: searx/engines/__init__.py:183 +#: searx/engines/__init__.py:186 msgid "Number of results" msgstr "Risultati ottenuti" -#: searx/engines/__init__.py:187 +#: searx/engines/__init__.py:190 msgid "Scores" msgstr "Punteggio" -#: searx/engines/__init__.py:191 +#: searx/engines/__init__.py:194 msgid "Scores per result" msgstr "Punteggio per risultato" -#: searx/engines/__init__.py:195 +#: searx/engines/__init__.py:198 msgid "Errors" msgstr "Errori" -#: searx/templates/courgette/index.html:8 searx/templates/default/index.html:7 -#: searx/templates/oscar/about.html:3 searx/templates/oscar/navbar.html:16 -msgid "about" -msgstr "informazioni" - -#: searx/templates/courgette/index.html:9 searx/templates/default/index.html:8 -#: searx/templates/oscar/navbar.html:17 -#: searx/templates/oscar/preferences.html:2 +#: 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 msgid "preferences" msgstr "preferenze" +#: 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 +msgid "about" +msgstr "informazioni" + #: searx/templates/courgette/preferences.html:5 #: searx/templates/default/preferences.html:5 -#: searx/templates/oscar/preferences.html:6 +#: searx/templates/oscar/preferences.html:12 msgid "Preferences" msgstr "Preferenze" #: searx/templates/courgette/preferences.html:9 #: searx/templates/default/preferences.html:9 -#: searx/templates/oscar/preferences.html:24 +#: searx/templates/oscar/preferences.html:34 +#: searx/templates/oscar/preferences.html:36 msgid "Default categories" msgstr "Categorie predefinite" -#: searx/templates/courgette/preferences.html:15 -#: searx/templates/default/preferences.html:15 -#: searx/templates/oscar/preferences.html:30 +#: searx/templates/courgette/preferences.html:13 +#: searx/templates/default/preferences.html:14 +#: searx/templates/oscar/preferences.html:42 msgid "Search language" msgstr "Lingua di ricerca" -#: searx/templates/courgette/preferences.html:18 -#: searx/templates/default/preferences.html:18 -#: searx/templates/oscar/preferences.html:33 +#: searx/templates/courgette/preferences.html:16 +#: searx/templates/default/preferences.html:17 +#: searx/templates/oscar/preferences.html:46 msgid "Automatic" msgstr "Automatico" -#: searx/templates/courgette/preferences.html:26 -#: searx/templates/default/preferences.html:26 -#: searx/templates/oscar/preferences.html:42 +#: searx/templates/courgette/preferences.html:24 +#: searx/templates/default/preferences.html:25 +#: searx/templates/oscar/preferences.html:53 msgid "Interface language" msgstr "Linguaggio dell'interfaccia" -#: searx/templates/courgette/preferences.html:36 -#: searx/templates/default/preferences.html:36 -#: searx/templates/oscar/preferences.html:53 +#: searx/templates/courgette/preferences.html:34 +#: searx/templates/default/preferences.html:35 +#: searx/templates/oscar/preferences.html:63 msgid "Autocomplete" msgstr "Completamento automatico" -#: searx/templates/courgette/preferences.html:47 -#: searx/templates/default/preferences.html:47 -#: searx/templates/oscar/preferences.html:66 +#: searx/templates/courgette/preferences.html:45 +#: searx/templates/default/preferences.html:46 +#: searx/templates/oscar/preferences.html:74 +msgid "Image proxy" +msgstr "" + +#: searx/templates/courgette/preferences.html:48 +#: searx/templates/default/preferences.html:49 +#: searx/templates/oscar/preferences.html:78 +msgid "Enabled" +msgstr "" + +#: searx/templates/courgette/preferences.html:49 +#: searx/templates/default/preferences.html:50 +#: searx/templates/oscar/preferences.html:79 +msgid "Disabled" +msgstr "" + +#: searx/templates/courgette/preferences.html:54 +#: searx/templates/default/preferences.html:55 +#: searx/templates/oscar/preferences.html:83 msgid "Method" msgstr "Metodo" -#: searx/templates/courgette/preferences.html:56 -#: searx/templates/default/preferences.html:56 -#: searx/templates/oscar/preferences.html:76 +#: searx/templates/courgette/preferences.html:63 +#: searx/templates/default/preferences.html:64 +#: searx/templates/oscar/preferences.html:92 +msgid "SafeSearch" +msgstr "" + +#: searx/templates/courgette/preferences.html:66 +#: searx/templates/default/preferences.html:67 +#: searx/templates/oscar/preferences.html:96 +msgid "Strict" +msgstr "" + +#: searx/templates/courgette/preferences.html:67 +#: searx/templates/default/preferences.html:68 +#: searx/templates/oscar/preferences.html:97 +msgid "Moderate" +msgstr "" + +#: searx/templates/courgette/preferences.html:68 +#: searx/templates/default/preferences.html:69 +#: searx/templates/oscar/preferences.html:98 +msgid "None" +msgstr "" + +#: searx/templates/courgette/preferences.html:73 +#: searx/templates/default/preferences.html:74 +#: searx/templates/oscar/preferences.html:102 msgid "Themes" msgstr "Grafica" -#: searx/templates/courgette/preferences.html:66 -#: searx/templates/default/preferences.html:66 +#: 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 msgid "Currently used search engines" msgstr "Motori di ricerca attualmente in uso" -#: searx/templates/courgette/preferences.html:70 -#: searx/templates/default/preferences.html:70 +#: searx/templates/courgette/preferences.html:100 +#: searx/templates/default/preferences.html:88 msgid "Engine name" msgstr "Nome del motore" -#: searx/templates/courgette/preferences.html:71 -#: searx/templates/default/preferences.html:71 +#: searx/templates/courgette/preferences.html:101 +#: searx/templates/default/preferences.html:89 msgid "Category" msgstr "Categoria" -#: searx/templates/courgette/preferences.html:72 -#: searx/templates/courgette/preferences.html:83 -#: searx/templates/default/preferences.html:72 -#: searx/templates/default/preferences.html:83 -#: searx/templates/oscar/preferences.html:118 +#: 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/preferences.html:145 msgid "Allow" msgstr "Autorizza" -#: searx/templates/courgette/preferences.html:72 -#: searx/templates/courgette/preferences.html:84 -#: searx/templates/default/preferences.html:72 -#: searx/templates/default/preferences.html:84 -#: searx/templates/oscar/preferences.html:117 +#: 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/preferences.html:144 msgid "Block" msgstr "Blocca" -#: searx/templates/courgette/preferences.html:92 -#: searx/templates/default/preferences.html:92 -#: searx/templates/oscar/preferences.html:132 +#: searx/templates/courgette/preferences.html:122 +#: searx/templates/default/preferences.html:110 +#: searx/templates/oscar/preferences.html:161 msgid "" "These settings are stored in your cookies, this allows us not to store " "this data about you." @@ -147,9 +258,9 @@ msgstr "" "Queste impostazioni sono salvate nei tuoi cookie, consentendoci di non " "conservare dati su di te." -#: searx/templates/courgette/preferences.html:94 -#: searx/templates/default/preferences.html:94 -#: searx/templates/oscar/preferences.html:134 +#: searx/templates/courgette/preferences.html:124 +#: searx/templates/default/preferences.html:112 +#: searx/templates/oscar/preferences.html:163 msgid "" "These cookies serve your sole convenience, we don't use these cookies to " "track you." @@ -157,51 +268,56 @@ msgstr "" "I cookie sono funzionali ad un servizio migliore. Non usiamo i cookie per" " sorvegliarti." -#: searx/templates/courgette/preferences.html:97 -#: searx/templates/default/preferences.html:97 -#: searx/templates/oscar/preferences.html:137 +#: searx/templates/courgette/preferences.html:127 +#: searx/templates/default/preferences.html:115 +#: searx/templates/oscar/preferences.html:166 msgid "save" msgstr "salva" -#: searx/templates/courgette/preferences.html:98 -#: searx/templates/default/preferences.html:98 -#: searx/templates/oscar/preferences.html:138 +#: searx/templates/courgette/preferences.html:128 +#: searx/templates/default/preferences.html:116 +#: searx/templates/oscar/preferences.html:167 msgid "back" msgstr "indietro" #: searx/templates/courgette/results.html:12 -#: searx/templates/default/results.html:12 -#: searx/templates/oscar/results.html:87 +#: searx/templates/default/results.html:13 +#: searx/templates/oscar/results.html:110 msgid "Search URL" msgstr "URL della ricerca" #: searx/templates/courgette/results.html:16 -#: searx/templates/default/results.html:16 -#: searx/templates/oscar/results.html:92 +#: searx/templates/default/results.html:17 +#: searx/templates/oscar/results.html:115 msgid "Download results" msgstr "Scarica i risultati" #: searx/templates/courgette/results.html:34 -#: searx/templates/default/results.html:42 -#: searx/templates/oscar/results.html:67 +#: 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 "Suggerimenti" -#: searx/templates/courgette/results.html:62 -#: searx/templates/default/results.html:78 -#: searx/templates/oscar/results.html:41 +#: 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 "pagina precedente" -#: searx/templates/courgette/results.html:73 -#: searx/templates/default/results.html:89 -#: searx/templates/oscar/results.html:49 +#: 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 "pagina successiva" #: searx/templates/courgette/search.html:3 #: searx/templates/default/search.html:3 searx/templates/oscar/search.html:4 -#: searx/templates/oscar/search_full.html:5 +#: searx/templates/oscar/search_full.html:9 msgid "Search for..." msgstr "Cerca…" @@ -210,80 +326,118 @@ msgstr "Cerca…" msgid "Engine stats" msgstr "Statistiche dei motori" -#: searx/templates/default/categories.html:8 -msgid "Click on the magnifier to perform search" +#: searx/templates/courgette/result_templates/images.html:4 +#: searx/templates/default/result_templates/images.html:4 +msgid "original context" msgstr "" -#: searx/templates/default/results.html:34 -msgid "Answers" +#: 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/oscar/base.html:69 +#: 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/oscar/base.html:74 msgid "Powered by" msgstr "" -#: searx/templates/oscar/base.html:69 +#: searx/templates/oscar/base.html:74 msgid "a privacy-respecting, hackable metasearch engine" msgstr "" -#: searx/templates/oscar/navbar.html:6 -msgid "Toggle navigation" +#: searx/templates/oscar/macros.html:20 +msgid "cached" msgstr "" -#: searx/templates/oscar/navbar.html:15 +#: searx/templates/oscar/navbar.html:9 searx/templates/oscar/navbar.html:33 msgid "home" msgstr "" -#: searx/templates/oscar/preferences.html:11 +#: 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:23 msgid "General" msgstr "" -#: searx/templates/oscar/preferences.html:12 -#: searx/templates/oscar/preferences.html:99 +#: searx/templates/oscar/preferences.html:18 +#: searx/templates/oscar/preferences.html:124 msgid "Engines" msgstr "" -#: searx/templates/oscar/preferences.html:39 +#: searx/templates/oscar/preferences.html:43 msgid "What language do you prefer for search?" msgstr "" -#: searx/templates/oscar/preferences.html:50 +#: searx/templates/oscar/preferences.html:54 msgid "Change the language of the layout" msgstr "" -#: searx/templates/oscar/preferences.html:63 +#: searx/templates/oscar/preferences.html:64 msgid "Find stuff as you type" msgstr "" -#: searx/templates/oscar/preferences.html:73 +#: searx/templates/oscar/preferences.html:75 +msgid "Proxying image results through searx" +msgstr "" + +#: searx/templates/oscar/preferences.html:84 msgid "" "Change how forms are submited, <a " "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" " rel=\"external\">learn more about request methods</a>" msgstr "" -#: searx/templates/oscar/preferences.html:84 +#: searx/templates/oscar/preferences.html:93 +msgid "Filter content" +msgstr "" + +#: searx/templates/oscar/preferences.html:103 msgid "Change searx layout" msgstr "" -#: searx/templates/oscar/results.html:6 +#: searx/templates/oscar/results.html:7 msgid "Search results" msgstr "" -#: searx/templates/oscar/results.html:82 +#: searx/templates/oscar/results.html:105 msgid "Links" msgstr "" -#: searx/templates/oscar/search.html:6 searx/templates/oscar/search_full.html:7 +#: searx/templates/oscar/search.html:6 +#: searx/templates/oscar/search_full.html:11 msgid "Start search" msgstr "" -#: searx/templates/oscar/search_full.html:11 +#: searx/templates/oscar/search_full.html:15 msgid "Show search filters" msgstr "" -#: searx/templates/oscar/search_full.html:11 +#: searx/templates/oscar/search_full.html:15 msgid "Hide search filters" msgstr "" @@ -345,90 +499,74 @@ msgstr "" msgid "Something went wrong." msgstr "" -#: searx/templates/oscar/result_templates/default.html:6 -#: searx/templates/oscar/result_templates/map.html:7 -#: searx/templates/oscar/result_templates/torrent.html:6 -#: searx/templates/oscar/result_templates/videos.html:6 -msgid "cached" -msgstr "" - -#: searx/templates/oscar/result_templates/default.html:9 +#: searx/templates/oscar/result_templates/default.html:7 msgid "show media" msgstr "" -#: searx/templates/oscar/result_templates/default.html:9 +#: searx/templates/oscar/result_templates/default.html:7 msgid "hide media" msgstr "" -#: searx/templates/oscar/result_templates/images.html:21 +#: searx/templates/oscar/result_templates/images.html:23 msgid "Get image" msgstr "" -#: searx/templates/oscar/result_templates/images.html:22 +#: searx/templates/oscar/result_templates/images.html:24 msgid "View source" msgstr "" -#: searx/templates/oscar/result_templates/map.html:10 +#: searx/templates/oscar/result_templates/map.html:7 msgid "show map" msgstr "" -#: searx/templates/oscar/result_templates/map.html:10 +#: searx/templates/oscar/result_templates/map.html:7 msgid "hide map" msgstr "" -#: searx/templates/oscar/result_templates/map.html:14 +#: searx/templates/oscar/result_templates/map.html:11 msgid "show details" msgstr "" -#: searx/templates/oscar/result_templates/map.html:14 +#: searx/templates/oscar/result_templates/map.html:11 msgid "hide details" msgstr "" -#: searx/templates/oscar/result_templates/torrent.html:8 -msgid "Seeder" +#: searx/templates/oscar/result_templates/torrent.html:7 +msgid "Filesize" msgstr "" -#: searx/templates/oscar/result_templates/torrent.html:8 -msgid "Leecher" +#: searx/templates/oscar/result_templates/torrent.html:9 +msgid "Bytes" msgstr "" -#: searx/templates/oscar/result_templates/videos.html:9 -msgid "show video" +#: searx/templates/oscar/result_templates/torrent.html:10 +msgid "kiB" msgstr "" -#: searx/templates/oscar/result_templates/videos.html:9 -msgid "hide video" +#: searx/templates/oscar/result_templates/torrent.html:11 +msgid "MiB" msgstr "" -msgid "Localization" +#: searx/templates/oscar/result_templates/torrent.html:12 +msgid "GiB" msgstr "" -msgid "Yes" +#: searx/templates/oscar/result_templates/torrent.html:13 +msgid "TiB" msgstr "" -msgid "No" +#: searx/templates/oscar/result_templates/torrent.html:15 +msgid "Number of Files" msgstr "" -# categories - manually added -# TODO - automatically add -msgid "files" -msgstr "documenti" - -msgid "general" -msgstr "generale" - -msgid "music" -msgstr "musica" - -msgid "images" -msgstr "immagini" - -msgid "it" -msgstr "it" +#: searx/templates/oscar/result_templates/videos.html:7 +msgid "show video" +msgstr "" -msgid "news" -msgstr "notizie" +#: searx/templates/oscar/result_templates/videos.html:7 +msgid "hide video" +msgstr "" -msgid "map" -msgstr "mappe" +#~ msgid "Filter explicite content" +#~ msgstr "" diff --git a/searx/translations/ja/LC_MESSAGES/messages.mo b/searx/translations/ja/LC_MESSAGES/messages.mo Binary files differindex 0b25be7a6..6868cb7df 100644 --- a/searx/translations/ja/LC_MESSAGES/messages.mo +++ b/searx/translations/ja/LC_MESSAGES/messages.mo diff --git a/searx/translations/ja/LC_MESSAGES/messages.po b/searx/translations/ja/LC_MESSAGES/messages.po index c91fd1f8f..d3350cdd3 100644 --- a/searx/translations/ja/LC_MESSAGES/messages.po +++ b/searx/translations/ja/LC_MESSAGES/messages.po @@ -1,17 +1,16 @@ -# English translations for . -# Copyright (C) 2014 ORGANIZATION +# Japanese translations for . +# Copyright (C) 2015 ORGANIZATION # This file is distributed under the same license as the project. # # Translators: -# pointhi, 2014 -# FIRST AUTHOR <EMAIL@ADDRESS>, 2014 +# pointhi, 2014-2015 msgid "" msgstr "" "Project-Id-Version: searx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2015-01-05 20:54+0100\n" -"PO-Revision-Date: 2014-11-26 20:38+0000\n" -"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n" +"POT-Creation-Date: 2015-02-11 14:09+0100\n" +"PO-Revision-Date: 2015-02-10 17:31+0000\n" +"Last-Translator: pointhi\n" "Language-Team: Japanese " "(http://www.transifex.com/projects/p/searx/language/ja/)\n" "Plural-Forms: nplurals=1; plural=0\n" @@ -20,185 +19,301 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 1.3\n" -#: searx/webapp.py:263 +#: searx/webapp.py:100 +msgid "files" +msgstr "ファイル" + +#: searx/webapp.py:101 +msgid "general" +msgstr "ウェブ" + +#: searx/webapp.py:102 +msgid "music" +msgstr "音楽" + +#: searx/webapp.py:103 +msgid "social media" +msgstr "" + +#: searx/webapp.py:104 +msgid "images" +msgstr "画像" + +#: searx/webapp.py:105 +msgid "videos" +msgstr "" + +#: searx/webapp.py:106 +msgid "it" +msgstr "情報技術" + +#: searx/webapp.py:107 +msgid "news" +msgstr "ニュース" + +#: searx/webapp.py:108 +msgid "map" +msgstr "地図" + +#: searx/webapp.py:361 msgid "{minutes} minute(s) ago" msgstr "{minutes}分前" -#: searx/webapp.py:265 +#: searx/webapp.py:363 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours}時間と{minutes}分前" -#: searx/engines/__init__.py:179 +#: searx/engines/__init__.py:182 msgid "Page loads (sec)" msgstr "" -#: searx/engines/__init__.py:183 +#: searx/engines/__init__.py:186 msgid "Number of results" msgstr "" -#: searx/engines/__init__.py:187 +#: searx/engines/__init__.py:190 msgid "Scores" msgstr "" -#: searx/engines/__init__.py:191 +#: searx/engines/__init__.py:194 msgid "Scores per result" msgstr "" -#: searx/engines/__init__.py:195 +#: searx/engines/__init__.py:198 msgid "Errors" msgstr "エラー" -#: searx/templates/courgette/index.html:8 searx/templates/default/index.html:7 -#: searx/templates/oscar/about.html:3 searx/templates/oscar/navbar.html:16 -msgid "about" -msgstr "に関する" - -#: searx/templates/courgette/index.html:9 searx/templates/default/index.html:8 -#: searx/templates/oscar/navbar.html:17 -#: searx/templates/oscar/preferences.html:2 +#: 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 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 +msgid "about" +msgstr "に関する" + #: searx/templates/courgette/preferences.html:5 #: searx/templates/default/preferences.html:5 -#: searx/templates/oscar/preferences.html:6 +#: searx/templates/oscar/preferences.html:12 msgid "Preferences" msgstr "設定" #: searx/templates/courgette/preferences.html:9 #: searx/templates/default/preferences.html:9 -#: searx/templates/oscar/preferences.html:24 +#: searx/templates/oscar/preferences.html:34 +#: searx/templates/oscar/preferences.html:36 msgid "Default categories" msgstr "" -#: searx/templates/courgette/preferences.html:15 -#: searx/templates/default/preferences.html:15 -#: searx/templates/oscar/preferences.html:30 +#: searx/templates/courgette/preferences.html:13 +#: searx/templates/default/preferences.html:14 +#: searx/templates/oscar/preferences.html:42 msgid "Search language" msgstr "検索の言語" -#: searx/templates/courgette/preferences.html:18 -#: searx/templates/default/preferences.html:18 -#: searx/templates/oscar/preferences.html:33 +#: searx/templates/courgette/preferences.html:16 +#: searx/templates/default/preferences.html:17 +#: searx/templates/oscar/preferences.html:46 msgid "Automatic" msgstr "" -#: searx/templates/courgette/preferences.html:26 -#: searx/templates/default/preferences.html:26 -#: searx/templates/oscar/preferences.html:42 +#: searx/templates/courgette/preferences.html:24 +#: searx/templates/default/preferences.html:25 +#: searx/templates/oscar/preferences.html:53 msgid "Interface language" msgstr "界面の言語" -#: searx/templates/courgette/preferences.html:36 -#: searx/templates/default/preferences.html:36 -#: searx/templates/oscar/preferences.html:53 +#: searx/templates/courgette/preferences.html:34 +#: searx/templates/default/preferences.html:35 +#: searx/templates/oscar/preferences.html:63 msgid "Autocomplete" msgstr "" -#: searx/templates/courgette/preferences.html:47 -#: searx/templates/default/preferences.html:47 -#: searx/templates/oscar/preferences.html:66 +#: searx/templates/courgette/preferences.html:45 +#: searx/templates/default/preferences.html:46 +#: searx/templates/oscar/preferences.html:74 +msgid "Image proxy" +msgstr "" + +#: searx/templates/courgette/preferences.html:48 +#: searx/templates/default/preferences.html:49 +#: searx/templates/oscar/preferences.html:78 +msgid "Enabled" +msgstr "" + +#: searx/templates/courgette/preferences.html:49 +#: searx/templates/default/preferences.html:50 +#: searx/templates/oscar/preferences.html:79 +msgid "Disabled" +msgstr "" + +#: searx/templates/courgette/preferences.html:54 +#: searx/templates/default/preferences.html:55 +#: searx/templates/oscar/preferences.html:83 msgid "Method" msgstr "" -#: searx/templates/courgette/preferences.html:56 -#: searx/templates/default/preferences.html:56 -#: searx/templates/oscar/preferences.html:76 -msgid "Themes" +#: searx/templates/courgette/preferences.html:63 +#: searx/templates/default/preferences.html:64 +#: searx/templates/oscar/preferences.html:92 +msgid "SafeSearch" msgstr "" #: searx/templates/courgette/preferences.html:66 -#: searx/templates/default/preferences.html:66 +#: searx/templates/default/preferences.html:67 +#: searx/templates/oscar/preferences.html:96 +msgid "Strict" +msgstr "" + +#: searx/templates/courgette/preferences.html:67 +#: searx/templates/default/preferences.html:68 +#: searx/templates/oscar/preferences.html:97 +msgid "Moderate" +msgstr "" + +#: searx/templates/courgette/preferences.html:68 +#: searx/templates/default/preferences.html:69 +#: searx/templates/oscar/preferences.html:98 +msgid "None" +msgstr "" + +#: searx/templates/courgette/preferences.html:73 +#: searx/templates/default/preferences.html:74 +#: searx/templates/oscar/preferences.html:102 +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 msgid "Currently used search engines" msgstr "" -#: searx/templates/courgette/preferences.html:70 -#: searx/templates/default/preferences.html:70 +#: searx/templates/courgette/preferences.html:100 +#: searx/templates/default/preferences.html:88 msgid "Engine name" msgstr "" -#: searx/templates/courgette/preferences.html:71 -#: searx/templates/default/preferences.html:71 +#: searx/templates/courgette/preferences.html:101 +#: searx/templates/default/preferences.html:89 msgid "Category" msgstr "カテゴリー" -#: searx/templates/courgette/preferences.html:72 -#: searx/templates/courgette/preferences.html:83 -#: searx/templates/default/preferences.html:72 -#: searx/templates/default/preferences.html:83 -#: searx/templates/oscar/preferences.html:118 +#: 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/preferences.html:145 msgid "Allow" msgstr "" -#: searx/templates/courgette/preferences.html:72 -#: searx/templates/courgette/preferences.html:84 -#: searx/templates/default/preferences.html:72 -#: searx/templates/default/preferences.html:84 -#: searx/templates/oscar/preferences.html:117 +#: 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/preferences.html:144 msgid "Block" msgstr "" -#: searx/templates/courgette/preferences.html:92 -#: searx/templates/default/preferences.html:92 -#: searx/templates/oscar/preferences.html:132 +#: searx/templates/courgette/preferences.html:122 +#: searx/templates/default/preferences.html:110 +#: searx/templates/oscar/preferences.html:161 msgid "" "These settings are stored in your cookies, this allows us not to store " "this data about you." msgstr "" -#: searx/templates/courgette/preferences.html:94 -#: searx/templates/default/preferences.html:94 -#: searx/templates/oscar/preferences.html:134 +#: searx/templates/courgette/preferences.html:124 +#: searx/templates/default/preferences.html:112 +#: searx/templates/oscar/preferences.html:163 msgid "" "These cookies serve your sole convenience, we don't use these cookies to " "track you." msgstr "" -#: searx/templates/courgette/preferences.html:97 -#: searx/templates/default/preferences.html:97 -#: searx/templates/oscar/preferences.html:137 +#: searx/templates/courgette/preferences.html:127 +#: searx/templates/default/preferences.html:115 +#: searx/templates/oscar/preferences.html:166 msgid "save" msgstr "保存" -#: searx/templates/courgette/preferences.html:98 -#: searx/templates/default/preferences.html:98 -#: searx/templates/oscar/preferences.html:138 +#: searx/templates/courgette/preferences.html:128 +#: searx/templates/default/preferences.html:116 +#: searx/templates/oscar/preferences.html:167 msgid "back" msgstr "バック" #: searx/templates/courgette/results.html:12 -#: searx/templates/default/results.html:12 -#: searx/templates/oscar/results.html:87 +#: 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:16 -#: searx/templates/oscar/results.html:92 +#: 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:42 -#: searx/templates/oscar/results.html:67 +#: 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:62 -#: searx/templates/default/results.html:78 -#: searx/templates/oscar/results.html:41 +#: 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:73 -#: searx/templates/default/results.html:89 -#: searx/templates/oscar/results.html:49 +#: 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:5 +#: searx/templates/oscar/search_full.html:9 msgid "Search for..." msgstr "検索する..." @@ -207,80 +322,118 @@ msgstr "検索する..." msgid "Engine stats" msgstr "" -#: searx/templates/default/categories.html:8 -msgid "Click on the magnifier to perform search" +#: searx/templates/courgette/result_templates/images.html:4 +#: searx/templates/default/result_templates/images.html:4 +msgid "original context" msgstr "" -#: searx/templates/default/results.html:34 -msgid "Answers" +#: 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/oscar/base.html:69 +#: searx/templates/oscar/base.html:74 msgid "Powered by" msgstr "" -#: searx/templates/oscar/base.html:69 +#: searx/templates/oscar/base.html:74 msgid "a privacy-respecting, hackable metasearch engine" msgstr "" -#: searx/templates/oscar/navbar.html:6 -msgid "Toggle navigation" +#: searx/templates/oscar/macros.html:20 +msgid "cached" msgstr "" -#: searx/templates/oscar/navbar.html:15 +#: searx/templates/oscar/navbar.html:9 searx/templates/oscar/navbar.html:33 msgid "home" msgstr "スタートページ" -#: searx/templates/oscar/preferences.html:11 +#: 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:23 msgid "General" msgstr "" -#: searx/templates/oscar/preferences.html:12 -#: searx/templates/oscar/preferences.html:99 +#: searx/templates/oscar/preferences.html:18 +#: searx/templates/oscar/preferences.html:124 msgid "Engines" msgstr "" -#: searx/templates/oscar/preferences.html:39 +#: searx/templates/oscar/preferences.html:43 msgid "What language do you prefer for search?" msgstr "" -#: searx/templates/oscar/preferences.html:50 +#: searx/templates/oscar/preferences.html:54 msgid "Change the language of the layout" msgstr "" -#: searx/templates/oscar/preferences.html:63 +#: searx/templates/oscar/preferences.html:64 msgid "Find stuff as you type" msgstr "" -#: searx/templates/oscar/preferences.html:73 +#: searx/templates/oscar/preferences.html:75 +msgid "Proxying image results through searx" +msgstr "" + +#: searx/templates/oscar/preferences.html:84 msgid "" "Change how forms are submited, <a " "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" " rel=\"external\">learn more about request methods</a>" msgstr "" -#: searx/templates/oscar/preferences.html:84 +#: searx/templates/oscar/preferences.html:93 +msgid "Filter content" +msgstr "" + +#: searx/templates/oscar/preferences.html:103 msgid "Change searx layout" msgstr "" -#: searx/templates/oscar/results.html:6 +#: searx/templates/oscar/results.html:7 msgid "Search results" msgstr "" -#: searx/templates/oscar/results.html:82 +#: searx/templates/oscar/results.html:105 msgid "Links" msgstr "" -#: searx/templates/oscar/search.html:6 searx/templates/oscar/search_full.html:7 +#: searx/templates/oscar/search.html:6 +#: searx/templates/oscar/search_full.html:11 msgid "Start search" msgstr "" -#: searx/templates/oscar/search_full.html:11 +#: searx/templates/oscar/search_full.html:15 msgid "Show search filters" msgstr "" -#: searx/templates/oscar/search_full.html:11 +#: searx/templates/oscar/search_full.html:15 msgid "Hide search filters" msgstr "" @@ -342,90 +495,74 @@ msgstr "" msgid "Something went wrong." msgstr "" -#: searx/templates/oscar/result_templates/default.html:6 -#: searx/templates/oscar/result_templates/map.html:7 -#: searx/templates/oscar/result_templates/torrent.html:6 -#: searx/templates/oscar/result_templates/videos.html:6 -msgid "cached" -msgstr "" - -#: searx/templates/oscar/result_templates/default.html:9 +#: searx/templates/oscar/result_templates/default.html:7 msgid "show media" msgstr "" -#: searx/templates/oscar/result_templates/default.html:9 +#: searx/templates/oscar/result_templates/default.html:7 msgid "hide media" msgstr "" -#: searx/templates/oscar/result_templates/images.html:21 +#: searx/templates/oscar/result_templates/images.html:23 msgid "Get image" msgstr "" -#: searx/templates/oscar/result_templates/images.html:22 +#: searx/templates/oscar/result_templates/images.html:24 msgid "View source" msgstr "" -#: searx/templates/oscar/result_templates/map.html:10 +#: searx/templates/oscar/result_templates/map.html:7 msgid "show map" msgstr "" -#: searx/templates/oscar/result_templates/map.html:10 +#: searx/templates/oscar/result_templates/map.html:7 msgid "hide map" msgstr "" -#: searx/templates/oscar/result_templates/map.html:14 +#: searx/templates/oscar/result_templates/map.html:11 msgid "show details" msgstr "" -#: searx/templates/oscar/result_templates/map.html:14 +#: searx/templates/oscar/result_templates/map.html:11 msgid "hide details" msgstr "" -#: searx/templates/oscar/result_templates/torrent.html:8 -msgid "Seeder" +#: searx/templates/oscar/result_templates/torrent.html:7 +msgid "Filesize" msgstr "" -#: searx/templates/oscar/result_templates/torrent.html:8 -msgid "Leecher" +#: searx/templates/oscar/result_templates/torrent.html:9 +msgid "Bytes" msgstr "" -#: searx/templates/oscar/result_templates/videos.html:9 -msgid "show video" +#: searx/templates/oscar/result_templates/torrent.html:10 +msgid "kiB" msgstr "" -#: searx/templates/oscar/result_templates/videos.html:9 -msgid "hide video" +#: searx/templates/oscar/result_templates/torrent.html:11 +msgid "MiB" msgstr "" -msgid "Localization" +#: searx/templates/oscar/result_templates/torrent.html:12 +msgid "GiB" msgstr "" -msgid "Yes" +#: searx/templates/oscar/result_templates/torrent.html:13 +msgid "TiB" msgstr "" -msgid "No" +#: searx/templates/oscar/result_templates/torrent.html:15 +msgid "Number of Files" msgstr "" -# categories - manually added -# TODO - automatically add -msgid "files" -msgstr "ファイル" - -msgid "general" -msgstr "ウェブ" - -msgid "music" -msgstr "音楽" - -msgid "images" -msgstr "画像" - -msgid "it" -msgstr "情報技術" +#: searx/templates/oscar/result_templates/videos.html:7 +msgid "show video" +msgstr "" -msgid "news" -msgstr "ニュース" +#: searx/templates/oscar/result_templates/videos.html:7 +msgid "hide video" +msgstr "" -msgid "map" -msgstr "地図" +#~ msgid "Filter explicite content" +#~ msgstr "" diff --git a/searx/translations/nl/LC_MESSAGES/messages.mo b/searx/translations/nl/LC_MESSAGES/messages.mo Binary files differindex df5e7f45b..e03facda4 100644 --- a/searx/translations/nl/LC_MESSAGES/messages.mo +++ b/searx/translations/nl/LC_MESSAGES/messages.mo diff --git a/searx/translations/nl/LC_MESSAGES/messages.po b/searx/translations/nl/LC_MESSAGES/messages.po index e3be7a90e..681c925df 100644 --- a/searx/translations/nl/LC_MESSAGES/messages.po +++ b/searx/translations/nl/LC_MESSAGES/messages.po @@ -1,5 +1,5 @@ -# English translations for . -# Copyright (C) 2014 ORGANIZATION +# Dutch translations for . +# Copyright (C) 2015 ORGANIZATION # This file is distributed under the same license as the project. # # Translators: @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: searx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2015-01-05 20:54+0100\n" -"PO-Revision-Date: 2014-12-11 13:50+0000\n" +"POT-Creation-Date: 2015-02-11 14:09+0100\n" +"PO-Revision-Date: 2015-02-10 16:50+0000\n" "Last-Translator: André Koot <meneer@tken.net>\n" "Language-Team: Dutch " "(http://www.transifex.com/projects/p/searx/language/nl/)\n" @@ -19,127 +19,238 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 1.3\n" -#: searx/webapp.py:263 +#: searx/webapp.py:100 +msgid "files" +msgstr "bestanden" + +#: searx/webapp.py:101 +msgid "general" +msgstr "algemeen" + +#: searx/webapp.py:102 +msgid "music" +msgstr "muziek" + +#: searx/webapp.py:103 +msgid "social media" +msgstr "social media" + +#: searx/webapp.py:104 +msgid "images" +msgstr "afbeeldingen" + +#: searx/webapp.py:105 +msgid "videos" +msgstr "video's" + +#: searx/webapp.py:106 +msgid "it" +msgstr "it" + +#: searx/webapp.py:107 +msgid "news" +msgstr "nieuws" + +#: searx/webapp.py:108 +msgid "map" +msgstr "kaart" + +#: searx/webapp.py:361 msgid "{minutes} minute(s) ago" msgstr "{minutes} min geleden" -#: searx/webapp.py:265 +#: searx/webapp.py:363 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} uur, {minutes} min geleden" -#: searx/engines/__init__.py:179 +#: searx/engines/__init__.py:182 msgid "Page loads (sec)" msgstr "Pagina laadt (sec)" -#: searx/engines/__init__.py:183 +#: searx/engines/__init__.py:186 msgid "Number of results" msgstr "Aantal zoekresultaten" -#: searx/engines/__init__.py:187 +#: searx/engines/__init__.py:190 msgid "Scores" msgstr "Scores" -#: searx/engines/__init__.py:191 +#: searx/engines/__init__.py:194 msgid "Scores per result" msgstr "Scores per zoekresultaat" -#: searx/engines/__init__.py:195 +#: searx/engines/__init__.py:198 msgid "Errors" msgstr "Fouten" -#: searx/templates/courgette/index.html:8 searx/templates/default/index.html:7 -#: searx/templates/oscar/about.html:3 searx/templates/oscar/navbar.html:16 -msgid "about" -msgstr "over" - -#: searx/templates/courgette/index.html:9 searx/templates/default/index.html:8 -#: searx/templates/oscar/navbar.html:17 -#: searx/templates/oscar/preferences.html:2 +#: 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 msgid "preferences" msgstr "voorkeuren" +#: 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 +msgid "about" +msgstr "over" + #: searx/templates/courgette/preferences.html:5 #: searx/templates/default/preferences.html:5 -#: searx/templates/oscar/preferences.html:6 +#: searx/templates/oscar/preferences.html:12 msgid "Preferences" msgstr "Voorkeuren" #: searx/templates/courgette/preferences.html:9 #: searx/templates/default/preferences.html:9 -#: searx/templates/oscar/preferences.html:24 +#: searx/templates/oscar/preferences.html:34 +#: searx/templates/oscar/preferences.html:36 msgid "Default categories" msgstr "Standaardcategorieën" -#: searx/templates/courgette/preferences.html:15 -#: searx/templates/default/preferences.html:15 -#: searx/templates/oscar/preferences.html:30 +#: searx/templates/courgette/preferences.html:13 +#: searx/templates/default/preferences.html:14 +#: searx/templates/oscar/preferences.html:42 msgid "Search language" msgstr "Zoektaal" -#: searx/templates/courgette/preferences.html:18 -#: searx/templates/default/preferences.html:18 -#: searx/templates/oscar/preferences.html:33 +#: searx/templates/courgette/preferences.html:16 +#: searx/templates/default/preferences.html:17 +#: searx/templates/oscar/preferences.html:46 msgid "Automatic" msgstr "Automatisch" -#: searx/templates/courgette/preferences.html:26 -#: searx/templates/default/preferences.html:26 -#: searx/templates/oscar/preferences.html:42 +#: searx/templates/courgette/preferences.html:24 +#: searx/templates/default/preferences.html:25 +#: searx/templates/oscar/preferences.html:53 msgid "Interface language" msgstr "Interfacetaal" -#: searx/templates/courgette/preferences.html:36 -#: searx/templates/default/preferences.html:36 -#: searx/templates/oscar/preferences.html:53 +#: searx/templates/courgette/preferences.html:34 +#: searx/templates/default/preferences.html:35 +#: searx/templates/oscar/preferences.html:63 msgid "Autocomplete" msgstr "Auto-aanvullen" -#: searx/templates/courgette/preferences.html:47 -#: searx/templates/default/preferences.html:47 -#: searx/templates/oscar/preferences.html:66 +#: searx/templates/courgette/preferences.html:45 +#: searx/templates/default/preferences.html:46 +#: searx/templates/oscar/preferences.html:74 +msgid "Image proxy" +msgstr "" + +#: searx/templates/courgette/preferences.html:48 +#: searx/templates/default/preferences.html:49 +#: searx/templates/oscar/preferences.html:78 +msgid "Enabled" +msgstr "" + +#: searx/templates/courgette/preferences.html:49 +#: searx/templates/default/preferences.html:50 +#: searx/templates/oscar/preferences.html:79 +msgid "Disabled" +msgstr "" + +#: searx/templates/courgette/preferences.html:54 +#: searx/templates/default/preferences.html:55 +#: searx/templates/oscar/preferences.html:83 msgid "Method" msgstr "Methode" -#: searx/templates/courgette/preferences.html:56 -#: searx/templates/default/preferences.html:56 -#: searx/templates/oscar/preferences.html:76 +#: searx/templates/courgette/preferences.html:63 +#: searx/templates/default/preferences.html:64 +#: searx/templates/oscar/preferences.html:92 +msgid "SafeSearch" +msgstr "" + +#: searx/templates/courgette/preferences.html:66 +#: searx/templates/default/preferences.html:67 +#: searx/templates/oscar/preferences.html:96 +msgid "Strict" +msgstr "" + +#: searx/templates/courgette/preferences.html:67 +#: searx/templates/default/preferences.html:68 +#: searx/templates/oscar/preferences.html:97 +msgid "Moderate" +msgstr "" + +#: searx/templates/courgette/preferences.html:68 +#: searx/templates/default/preferences.html:69 +#: searx/templates/oscar/preferences.html:98 +msgid "None" +msgstr "" + +#: searx/templates/courgette/preferences.html:73 +#: searx/templates/default/preferences.html:74 +#: searx/templates/oscar/preferences.html:102 msgid "Themes" msgstr "Thema's" -#: searx/templates/courgette/preferences.html:66 -#: searx/templates/default/preferences.html:66 +#: 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 msgid "Currently used search engines" msgstr "Momenteel gebruikte zoekmachines" -#: searx/templates/courgette/preferences.html:70 -#: searx/templates/default/preferences.html:70 +#: searx/templates/courgette/preferences.html:100 +#: searx/templates/default/preferences.html:88 msgid "Engine name" msgstr "Naam zoekmachine" -#: searx/templates/courgette/preferences.html:71 -#: searx/templates/default/preferences.html:71 +#: searx/templates/courgette/preferences.html:101 +#: searx/templates/default/preferences.html:89 msgid "Category" msgstr "Categorie" -#: searx/templates/courgette/preferences.html:72 -#: searx/templates/courgette/preferences.html:83 -#: searx/templates/default/preferences.html:72 -#: searx/templates/default/preferences.html:83 -#: searx/templates/oscar/preferences.html:118 +#: 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/preferences.html:145 msgid "Allow" msgstr "Toestaan" -#: searx/templates/courgette/preferences.html:72 -#: searx/templates/courgette/preferences.html:84 -#: searx/templates/default/preferences.html:72 -#: searx/templates/default/preferences.html:84 -#: searx/templates/oscar/preferences.html:117 +#: 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/preferences.html:144 msgid "Block" msgstr "Blokkeren" -#: searx/templates/courgette/preferences.html:92 -#: searx/templates/default/preferences.html:92 -#: searx/templates/oscar/preferences.html:132 +#: searx/templates/courgette/preferences.html:122 +#: searx/templates/default/preferences.html:110 +#: searx/templates/oscar/preferences.html:161 msgid "" "These settings are stored in your cookies, this allows us not to store " "this data about you." @@ -147,9 +258,9 @@ msgstr "" "Deze instellingen worden bewaard in je cookies. Hierdoor hoeven wij niets" " over jou te bewaren." -#: searx/templates/courgette/preferences.html:94 -#: searx/templates/default/preferences.html:94 -#: searx/templates/oscar/preferences.html:134 +#: searx/templates/courgette/preferences.html:124 +#: searx/templates/default/preferences.html:112 +#: searx/templates/oscar/preferences.html:163 msgid "" "These cookies serve your sole convenience, we don't use these cookies to " "track you." @@ -157,51 +268,56 @@ msgstr "" "Deze cookies zijn alleen voor je eigen gemak, we gebruiken deze cookies " "niet om je te volgen." -#: searx/templates/courgette/preferences.html:97 -#: searx/templates/default/preferences.html:97 -#: searx/templates/oscar/preferences.html:137 +#: searx/templates/courgette/preferences.html:127 +#: searx/templates/default/preferences.html:115 +#: searx/templates/oscar/preferences.html:166 msgid "save" msgstr "bewaren" -#: searx/templates/courgette/preferences.html:98 -#: searx/templates/default/preferences.html:98 -#: searx/templates/oscar/preferences.html:138 +#: searx/templates/courgette/preferences.html:128 +#: searx/templates/default/preferences.html:116 +#: searx/templates/oscar/preferences.html:167 msgid "back" msgstr "terug" #: searx/templates/courgette/results.html:12 -#: searx/templates/default/results.html:12 -#: searx/templates/oscar/results.html:87 +#: searx/templates/default/results.html:13 +#: searx/templates/oscar/results.html:110 msgid "Search URL" msgstr "Zoek URL" #: searx/templates/courgette/results.html:16 -#: searx/templates/default/results.html:16 -#: searx/templates/oscar/results.html:92 +#: searx/templates/default/results.html:17 +#: searx/templates/oscar/results.html:115 msgid "Download results" msgstr "Downloaden zoekresultaten" #: searx/templates/courgette/results.html:34 -#: searx/templates/default/results.html:42 -#: searx/templates/oscar/results.html:67 +#: searx/templates/default/results.html:35 +msgid "Answers" +msgstr "Antwoorden" + +#: searx/templates/courgette/results.html:42 +#: searx/templates/default/results.html:43 +#: searx/templates/oscar/results.html:90 msgid "Suggestions" msgstr "Suggesties" -#: searx/templates/courgette/results.html:62 -#: searx/templates/default/results.html:78 -#: searx/templates/oscar/results.html:41 +#: 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 "vorige pagina" -#: searx/templates/courgette/results.html:73 -#: searx/templates/default/results.html:89 -#: searx/templates/oscar/results.html:49 +#: 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 "volgende pagina" #: searx/templates/courgette/search.html:3 #: searx/templates/default/search.html:3 searx/templates/oscar/search.html:4 -#: searx/templates/oscar/search_full.html:5 +#: searx/templates/oscar/search_full.html:9 msgid "Search for..." msgstr "Zoeken naar..." @@ -210,53 +326,86 @@ msgstr "Zoeken naar..." msgid "Engine stats" msgstr "Zoekmachinestatistieken" +#: searx/templates/courgette/result_templates/images.html:4 +#: searx/templates/default/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 "Aanbieder" + +#: 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 "Ophaler" + +#: 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 "Klik op het vergrootglas om te zoeken" -#: searx/templates/default/results.html:34 -msgid "Answers" -msgstr "Antwoorden" - -#: searx/templates/oscar/base.html:69 +#: searx/templates/oscar/base.html:74 msgid "Powered by" msgstr "Powered by" -#: searx/templates/oscar/base.html:69 +#: searx/templates/oscar/base.html:74 msgid "a privacy-respecting, hackable metasearch engine" msgstr "een privacy eerbiedigende, aanpasbare metazoekmachine" -#: searx/templates/oscar/navbar.html:6 -msgid "Toggle navigation" -msgstr "Omschakelen navigatie" +#: searx/templates/oscar/macros.html:20 +msgid "cached" +msgstr "gecached" -#: searx/templates/oscar/navbar.html:15 +#: searx/templates/oscar/navbar.html:9 searx/templates/oscar/navbar.html:33 msgid "home" msgstr "thuis" -#: searx/templates/oscar/preferences.html:11 +#: searx/templates/oscar/navbar.html:14 searx/templates/oscar/navbar.html:24 +msgid "Toggle navigation" +msgstr "Omschakelen navigatie" + #: searx/templates/oscar/preferences.html:17 +#: searx/templates/oscar/preferences.html:23 msgid "General" msgstr "Algemeen" -#: searx/templates/oscar/preferences.html:12 -#: searx/templates/oscar/preferences.html:99 +#: searx/templates/oscar/preferences.html:18 +#: searx/templates/oscar/preferences.html:124 msgid "Engines" msgstr "Zoekmachines" -#: searx/templates/oscar/preferences.html:39 +#: searx/templates/oscar/preferences.html:43 msgid "What language do you prefer for search?" msgstr "Welke taal wil je gebruiken voor het zoeken?" -#: searx/templates/oscar/preferences.html:50 +#: searx/templates/oscar/preferences.html:54 msgid "Change the language of the layout" msgstr "Wijzig de taal van de layout" -#: searx/templates/oscar/preferences.html:63 +#: searx/templates/oscar/preferences.html:64 msgid "Find stuff as you type" msgstr "Zoek tijdens het typen" -#: searx/templates/oscar/preferences.html:73 +#: searx/templates/oscar/preferences.html:75 +msgid "Proxying image results through searx" +msgstr "" + +#: searx/templates/oscar/preferences.html:84 msgid "" "Change how forms are submited, <a " "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" @@ -266,27 +415,32 @@ msgstr "" "href=\"http://nl.wikipedia.org/wiki/Hypertext_Transfer_Protocol#HTTP-" "requests\" rel=\"external\">lees meer over request methodes</a>" -#: searx/templates/oscar/preferences.html:84 +#: searx/templates/oscar/preferences.html:93 +msgid "Filter content" +msgstr "" + +#: searx/templates/oscar/preferences.html:103 msgid "Change searx layout" msgstr "Wijzig searx layout" -#: searx/templates/oscar/results.html:6 +#: searx/templates/oscar/results.html:7 msgid "Search results" msgstr "Zoekresultaten" -#: searx/templates/oscar/results.html:82 +#: searx/templates/oscar/results.html:105 msgid "Links" msgstr "Links" -#: searx/templates/oscar/search.html:6 searx/templates/oscar/search_full.html:7 +#: searx/templates/oscar/search.html:6 +#: searx/templates/oscar/search_full.html:11 msgid "Start search" msgstr "Start zoeken" -#: searx/templates/oscar/search_full.html:11 +#: searx/templates/oscar/search_full.html:15 msgid "Show search filters" msgstr "Toon zoekfilters" -#: searx/templates/oscar/search_full.html:11 +#: searx/templates/oscar/search_full.html:15 msgid "Hide search filters" msgstr "Verberg zoekfilters" @@ -350,96 +504,74 @@ msgstr "Verdraaid!" msgid "Something went wrong." msgstr "Er ging iets fout." -#: searx/templates/oscar/result_templates/default.html:6 -#: searx/templates/oscar/result_templates/map.html:7 -#: searx/templates/oscar/result_templates/torrent.html:6 -#: searx/templates/oscar/result_templates/videos.html:6 -msgid "cached" -msgstr "gecached" - -#: searx/templates/oscar/result_templates/default.html:9 +#: searx/templates/oscar/result_templates/default.html:7 msgid "show media" msgstr "" -#: searx/templates/oscar/result_templates/default.html:9 +#: searx/templates/oscar/result_templates/default.html:7 msgid "hide media" msgstr "" -#: searx/templates/oscar/result_templates/images.html:21 +#: searx/templates/oscar/result_templates/images.html:23 msgid "Get image" msgstr "Toon afbeelding" -#: searx/templates/oscar/result_templates/images.html:22 +#: searx/templates/oscar/result_templates/images.html:24 msgid "View source" msgstr "Bekijk bron" -#: searx/templates/oscar/result_templates/map.html:10 +#: searx/templates/oscar/result_templates/map.html:7 msgid "show map" msgstr "toon kaart" -#: searx/templates/oscar/result_templates/map.html:10 +#: searx/templates/oscar/result_templates/map.html:7 msgid "hide map" msgstr "verberg kaart" -#: searx/templates/oscar/result_templates/map.html:14 +#: searx/templates/oscar/result_templates/map.html:11 msgid "show details" msgstr "toon details" -#: searx/templates/oscar/result_templates/map.html:14 +#: searx/templates/oscar/result_templates/map.html:11 msgid "hide details" msgstr "verberg details" -#: searx/templates/oscar/result_templates/torrent.html:8 -msgid "Seeder" -msgstr "Aanbieder" - -#: searx/templates/oscar/result_templates/torrent.html:8 -msgid "Leecher" -msgstr "Ophaler" - -#: searx/templates/oscar/result_templates/videos.html:9 -msgid "show video" +#: searx/templates/oscar/result_templates/torrent.html:7 +msgid "Filesize" msgstr "" -#: searx/templates/oscar/result_templates/videos.html:9 -msgid "hide video" +#: searx/templates/oscar/result_templates/torrent.html:9 +msgid "Bytes" msgstr "" -msgid "Localization" -msgstr "Vertaling" - -msgid "Yes" -msgstr "Ja" - -msgid "No" -msgstr "Nee" - -# categories - manually added -# TODO - automatically add -msgid "files" -msgstr "bestanden" - -msgid "general" -msgstr "algemeen" +#: searx/templates/oscar/result_templates/torrent.html:10 +msgid "kiB" +msgstr "" -msgid "music" -msgstr "muziek" +#: searx/templates/oscar/result_templates/torrent.html:11 +msgid "MiB" +msgstr "" -msgid "social media" -msgstr "social media" +#: searx/templates/oscar/result_templates/torrent.html:12 +msgid "GiB" +msgstr "" -msgid "images" -msgstr "afbeeldingen" +#: searx/templates/oscar/result_templates/torrent.html:13 +msgid "TiB" +msgstr "" -msgid "videos" -msgstr "video's" +#: searx/templates/oscar/result_templates/torrent.html:15 +msgid "Number of Files" +msgstr "" -msgid "it" -msgstr "it" +#: searx/templates/oscar/result_templates/videos.html:7 +msgid "show video" +msgstr "" -msgid "news" -msgstr "nieuws" +#: searx/templates/oscar/result_templates/videos.html:7 +msgid "hide video" +msgstr "" -msgid "map" -msgstr "kaart" +#~ msgid "Filter explicite content" +#~ msgstr "" diff --git a/searx/translations/ru/LC_MESSAGES/messages.mo b/searx/translations/ru/LC_MESSAGES/messages.mo Binary files differindex de4e8c5d4..b03eee4ff 100644 --- a/searx/translations/ru/LC_MESSAGES/messages.mo +++ b/searx/translations/ru/LC_MESSAGES/messages.mo diff --git a/searx/translations/ru/LC_MESSAGES/messages.po b/searx/translations/ru/LC_MESSAGES/messages.po index 7badde73f..4b75e3625 100644 --- a/searx/translations/ru/LC_MESSAGES/messages.po +++ b/searx/translations/ru/LC_MESSAGES/messages.po @@ -1,203 +1,324 @@ -# English translations for PROJECT. -# Copyright (C) 2014 ORGANIZATION -# This file is distributed under the same license as the PROJECT project. -# +# Russian translations for . +# Copyright (C) 2015 ORGANIZATION +# This file is distributed under the same license as the project. +# # Translators: # dimqua <dimqua@riseup.net>, 2015 msgid "" msgstr "" -"Project-Id-Version: searx\n" +"Project-Id-Version: searx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-12-27 14:39+0100\n" -"PO-Revision-Date: 2015-01-19 17:32+0000\n" +"POT-Creation-Date: 2015-02-11 14:09+0100\n" +"PO-Revision-Date: 2015-02-10 17:01+0000\n" "Last-Translator: dimqua <dimqua@riseup.net>\n" -"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/searx/language/ru_RU/)\n" +"Language-Team: Russian (Russia) " +"(http://www.transifex.com/projects/p/searx/language/ru_RU/)\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\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" "Generated-By: Babel 1.3\n" -"Language: ru_RU\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: searx/webapp.py:247 +#: searx/webapp.py:100 +msgid "files" +msgstr "файлы" + +#: searx/webapp.py:101 +msgid "general" +msgstr "общие" + +#: searx/webapp.py:102 +msgid "music" +msgstr "музыка" + +#: searx/webapp.py:103 +msgid "social media" +msgstr "соцсети" + +#: searx/webapp.py:104 +msgid "images" +msgstr "картинки" + +#: searx/webapp.py:105 +msgid "videos" +msgstr "видео" + +#: searx/webapp.py:106 +msgid "it" +msgstr "it" + +#: searx/webapp.py:107 +msgid "news" +msgstr "новости" + +#: searx/webapp.py:108 +msgid "map" +msgstr "карта" + +#: searx/webapp.py:361 msgid "{minutes} minute(s) ago" msgstr "{minutes} минут назад" -#: searx/webapp.py:249 +#: searx/webapp.py:363 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} час, {minutes} минут назад" -#: searx/engines/__init__.py:179 +#: searx/engines/__init__.py:182 msgid "Page loads (sec)" msgstr "Время загрузки (сек)" -#: searx/engines/__init__.py:183 +#: searx/engines/__init__.py:186 msgid "Number of results" msgstr "Число результатов" -#: searx/engines/__init__.py:187 +#: searx/engines/__init__.py:190 msgid "Scores" msgstr "Попаданий" -#: searx/engines/__init__.py:191 +#: searx/engines/__init__.py:194 msgid "Scores per result" msgstr "Попаданий за результат" -#: searx/engines/__init__.py:195 +#: searx/engines/__init__.py:198 msgid "Errors" msgstr "Ошибок" -#: searx/templates/courgette/index.html:8 searx/templates/default/index.html:7 -#: searx/templates/oscar/about.html:3 searx/templates/oscar/navbar.html:16 -msgid "about" -msgstr "о сайте" - -#: searx/templates/courgette/index.html:9 searx/templates/default/index.html:8 -#: searx/templates/oscar/navbar.html:17 -#: searx/templates/oscar/preferences.html:2 +#: 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 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 +msgid "about" +msgstr "о сайте" + #: searx/templates/courgette/preferences.html:5 #: searx/templates/default/preferences.html:5 -#: searx/templates/oscar/preferences.html:6 +#: searx/templates/oscar/preferences.html:12 msgid "Preferences" msgstr "Опции" #: searx/templates/courgette/preferences.html:9 #: searx/templates/default/preferences.html:9 -#: searx/templates/oscar/preferences.html:24 +#: searx/templates/oscar/preferences.html:34 +#: searx/templates/oscar/preferences.html:36 msgid "Default categories" msgstr "Категории по-умолчанию" -#: searx/templates/courgette/preferences.html:15 -#: searx/templates/default/preferences.html:15 -#: searx/templates/oscar/preferences.html:30 +#: searx/templates/courgette/preferences.html:13 +#: searx/templates/default/preferences.html:14 +#: searx/templates/oscar/preferences.html:42 msgid "Search language" msgstr "Язык поиска" -#: searx/templates/courgette/preferences.html:18 -#: searx/templates/default/preferences.html:18 -#: searx/templates/oscar/preferences.html:33 +#: searx/templates/courgette/preferences.html:16 +#: searx/templates/default/preferences.html:17 +#: searx/templates/oscar/preferences.html:46 msgid "Automatic" msgstr "Выбирать автоматически" -#: searx/templates/courgette/preferences.html:26 -#: searx/templates/default/preferences.html:26 -#: searx/templates/oscar/preferences.html:42 +#: searx/templates/courgette/preferences.html:24 +#: searx/templates/default/preferences.html:25 +#: searx/templates/oscar/preferences.html:53 msgid "Interface language" msgstr "Язык интерфейса" -#: searx/templates/courgette/preferences.html:36 -#: searx/templates/default/preferences.html:36 -#: searx/templates/oscar/preferences.html:53 +#: searx/templates/courgette/preferences.html:34 +#: searx/templates/default/preferences.html:35 +#: searx/templates/oscar/preferences.html:63 msgid "Autocomplete" msgstr "Авто-подсказки" -#: searx/templates/courgette/preferences.html:47 -#: searx/templates/default/preferences.html:47 -#: searx/templates/oscar/preferences.html:66 +#: searx/templates/courgette/preferences.html:45 +#: searx/templates/default/preferences.html:46 +#: searx/templates/oscar/preferences.html:74 +msgid "Image proxy" +msgstr "" + +#: searx/templates/courgette/preferences.html:48 +#: searx/templates/default/preferences.html:49 +#: searx/templates/oscar/preferences.html:78 +msgid "Enabled" +msgstr "" + +#: searx/templates/courgette/preferences.html:49 +#: searx/templates/default/preferences.html:50 +#: searx/templates/oscar/preferences.html:79 +msgid "Disabled" +msgstr "" + +#: searx/templates/courgette/preferences.html:54 +#: searx/templates/default/preferences.html:55 +#: searx/templates/oscar/preferences.html:83 msgid "Method" msgstr "Метод" -#: searx/templates/courgette/preferences.html:56 -#: searx/templates/default/preferences.html:56 -#: searx/templates/oscar/preferences.html:76 +#: searx/templates/courgette/preferences.html:63 +#: searx/templates/default/preferences.html:64 +#: searx/templates/oscar/preferences.html:92 +msgid "SafeSearch" +msgstr "" + +#: searx/templates/courgette/preferences.html:66 +#: searx/templates/default/preferences.html:67 +#: searx/templates/oscar/preferences.html:96 +msgid "Strict" +msgstr "" + +#: searx/templates/courgette/preferences.html:67 +#: searx/templates/default/preferences.html:68 +#: searx/templates/oscar/preferences.html:97 +msgid "Moderate" +msgstr "" + +#: searx/templates/courgette/preferences.html:68 +#: searx/templates/default/preferences.html:69 +#: searx/templates/oscar/preferences.html:98 +msgid "None" +msgstr "" + +#: searx/templates/courgette/preferences.html:73 +#: searx/templates/default/preferences.html:74 +#: searx/templates/oscar/preferences.html:102 msgid "Themes" msgstr "Темы" -#: searx/templates/courgette/preferences.html:66 -#: searx/templates/default/preferences.html:66 +#: 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 msgid "Currently used search engines" msgstr "Используемые поисковые движки" -#: searx/templates/courgette/preferences.html:70 -#: searx/templates/default/preferences.html:70 +#: searx/templates/courgette/preferences.html:100 +#: searx/templates/default/preferences.html:88 msgid "Engine name" msgstr "Имя движка" -#: searx/templates/courgette/preferences.html:71 -#: searx/templates/default/preferences.html:71 +#: searx/templates/courgette/preferences.html:101 +#: searx/templates/default/preferences.html:89 msgid "Category" msgstr "Категория" -#: searx/templates/courgette/preferences.html:72 -#: searx/templates/courgette/preferences.html:83 -#: searx/templates/default/preferences.html:72 -#: searx/templates/default/preferences.html:83 -#: searx/templates/oscar/preferences.html:118 +#: 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/preferences.html:145 msgid "Allow" msgstr "Разрешить" -#: searx/templates/courgette/preferences.html:72 -#: searx/templates/courgette/preferences.html:84 -#: searx/templates/default/preferences.html:72 -#: searx/templates/default/preferences.html:84 -#: searx/templates/oscar/preferences.html:117 +#: 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/preferences.html:144 msgid "Block" msgstr "Блокировать" -#: searx/templates/courgette/preferences.html:92 -#: searx/templates/default/preferences.html:92 -#: searx/templates/oscar/preferences.html:132 +#: searx/templates/courgette/preferences.html:122 +#: searx/templates/default/preferences.html:110 +#: searx/templates/oscar/preferences.html:161 msgid "" -"These settings are stored in your cookies, this allows us not to store this " -"data about you." -msgstr "Настройки хранятся в ваших cookies-файлах, что позволяет нам не хранить эти сведения о Вас." +"These settings are stored in your cookies, this allows us not to store " +"this data about you." +msgstr "" +"Настройки хранятся в ваших cookies-файлах, что позволяет нам не хранить " +"эти сведения о Вас." -#: searx/templates/courgette/preferences.html:94 -#: searx/templates/default/preferences.html:94 -#: searx/templates/oscar/preferences.html:134 +#: searx/templates/courgette/preferences.html:124 +#: searx/templates/default/preferences.html:112 +#: searx/templates/oscar/preferences.html:163 msgid "" "These cookies serve your sole convenience, we don't use these cookies to " "track you." -msgstr "Данные cookies применяются для вашего удобства, мы не используем их, чтобы отслеживать Вас." +msgstr "" +"Данные cookies применяются для вашего удобства, мы не используем их, " +"чтобы отслеживать Вас." -#: searx/templates/courgette/preferences.html:97 -#: searx/templates/default/preferences.html:97 -#: searx/templates/oscar/preferences.html:137 +#: searx/templates/courgette/preferences.html:127 +#: searx/templates/default/preferences.html:115 +#: searx/templates/oscar/preferences.html:166 msgid "save" msgstr "сохранить" -#: searx/templates/courgette/preferences.html:98 -#: searx/templates/default/preferences.html:98 -#: searx/templates/oscar/preferences.html:138 +#: searx/templates/courgette/preferences.html:128 +#: searx/templates/default/preferences.html:116 +#: searx/templates/oscar/preferences.html:167 msgid "back" msgstr "назад" #: searx/templates/courgette/results.html:12 -#: searx/templates/default/results.html:12 -#: searx/templates/oscar/results.html:83 +#: 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:16 -#: searx/templates/oscar/results.html:88 +#: 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:42 -#: searx/templates/oscar/results.html:63 +#: 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:62 -#: searx/templates/default/results.html:78 -#: searx/templates/oscar/results.html:37 +#: 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:73 -#: searx/templates/default/results.html:89 -#: searx/templates/oscar/results.html:45 +#: 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:5 +#: searx/templates/oscar/search_full.html:9 msgid "Search for..." msgstr "Искать..." @@ -206,81 +327,121 @@ msgstr "Искать..." msgid "Engine stats" msgstr "Статистика движков" +#: searx/templates/courgette/result_templates/images.html:4 +#: searx/templates/default/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/results.html:34 -msgid "Answers" -msgstr "Ответы" - -#: searx/templates/oscar/base.html:69 +#: searx/templates/oscar/base.html:74 msgid "Powered by" msgstr "Используется" -#: searx/templates/oscar/base.html:69 +#: searx/templates/oscar/base.html:74 msgid "a privacy-respecting, hackable metasearch engine" msgstr "свободный движок метапоиска, уважающий вашу приватность" -#: searx/templates/oscar/navbar.html:6 -msgid "Toggle navigation" -msgstr "Переключить навигацию" +#: searx/templates/oscar/macros.html:20 +msgid "cached" +msgstr "в архиве" -#: searx/templates/oscar/navbar.html:15 +#: searx/templates/oscar/navbar.html:9 searx/templates/oscar/navbar.html:33 msgid "home" msgstr "главная" -#: searx/templates/oscar/preferences.html:11 +#: 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:23 msgid "General" msgstr "Общие" -#: searx/templates/oscar/preferences.html:12 -#: searx/templates/oscar/preferences.html:99 +#: searx/templates/oscar/preferences.html:18 +#: searx/templates/oscar/preferences.html:124 msgid "Engines" msgstr "Движки" -#: searx/templates/oscar/preferences.html:39 +#: searx/templates/oscar/preferences.html:43 msgid "What language do you prefer for search?" msgstr "На каком языке вы предпочитаете искать?" -#: searx/templates/oscar/preferences.html:50 +#: searx/templates/oscar/preferences.html:54 msgid "Change the language of the layout" msgstr "Изменить язык сайта" -#: searx/templates/oscar/preferences.html:63 +#: searx/templates/oscar/preferences.html:64 msgid "Find stuff as you type" msgstr "Поисковые предложения при наборе" -#: searx/templates/oscar/preferences.html:73 +#: searx/templates/oscar/preferences.html:75 +msgid "Proxying image results through searx" +msgstr "" + +#: searx/templates/oscar/preferences.html:84 msgid "" "Change how forms are submited, <a " "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" " rel=\"external\">learn more about request methods</a>" -msgstr "Изменяет способ отправки запросов, <a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">более подробно о методах запросов</a>" +msgstr "" +"Изменяет способ отправки запросов, <a " +"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" +" rel=\"external\">более подробно о методах запросов</a>" -#: searx/templates/oscar/preferences.html:84 +#: searx/templates/oscar/preferences.html:93 +msgid "Filter content" +msgstr "" + +#: searx/templates/oscar/preferences.html:103 msgid "Change searx layout" msgstr "Изменить тему сайта" -#: searx/templates/oscar/results.html:6 +#: searx/templates/oscar/results.html:7 msgid "Search results" msgstr "Результаты поиска" -#: searx/templates/oscar/results.html:78 +#: searx/templates/oscar/results.html:105 msgid "Links" msgstr "Ссылки" #: searx/templates/oscar/search.html:6 -#: searx/templates/oscar/search_full.html:7 +#: searx/templates/oscar/search_full.html:11 msgid "Start search" msgstr "Начать поиск" -#: searx/templates/oscar/search_full.html:11 +#: searx/templates/oscar/search_full.html:15 msgid "Show search filters" msgstr "Показать фильтры поиска" -#: searx/templates/oscar/search_full.html:11 +#: searx/templates/oscar/search_full.html:15 msgid "Hide search filters" msgstr "Скрыть фильтры поиска" @@ -324,7 +485,9 @@ msgstr "Сожалеем!" msgid "" "we didn't find any results. Please use another query or search in more " "categories." -msgstr "результатов не найдено. Попробуйте другой запрос или выберете больше категорий." +msgstr "" +"результатов не найдено. Попробуйте другой запрос или выберете больше " +"категорий." #: searx/templates/oscar/messages/save_settings_successfull.html:7 msgid "Well done!" @@ -342,95 +505,74 @@ msgstr "Вот чёрт!" msgid "Something went wrong." msgstr "Что-то пошло не так." -#: searx/templates/oscar/result_templates/default.html:6 -#: searx/templates/oscar/result_templates/map.html:7 -#: searx/templates/oscar/result_templates/torrent.html:6 -#: searx/templates/oscar/result_templates/videos.html:6 -msgid "cached" -msgstr "в архиве" - -#: searx/templates/oscar/result_templates/default.html:9 +#: searx/templates/oscar/result_templates/default.html:7 msgid "show media" msgstr "показать медиа" -#: searx/templates/oscar/result_templates/default.html:9 +#: searx/templates/oscar/result_templates/default.html:7 msgid "hide media" msgstr "скрыть медиа" -#: searx/templates/oscar/result_templates/images.html:21 +#: searx/templates/oscar/result_templates/images.html:23 msgid "Get image" msgstr "Скачать изображение" -#: searx/templates/oscar/result_templates/images.html:22 +#: searx/templates/oscar/result_templates/images.html:24 msgid "View source" msgstr "Посмотреть источник" -#: searx/templates/oscar/result_templates/map.html:10 +#: searx/templates/oscar/result_templates/map.html:7 msgid "show map" msgstr "показать карту" -#: searx/templates/oscar/result_templates/map.html:10 +#: searx/templates/oscar/result_templates/map.html:7 msgid "hide map" msgstr "скрыть карту" -#: searx/templates/oscar/result_templates/map.html:14 +#: searx/templates/oscar/result_templates/map.html:11 msgid "show details" msgstr "показать подробности" -#: searx/templates/oscar/result_templates/map.html:14 +#: searx/templates/oscar/result_templates/map.html:11 msgid "hide details" msgstr "скрыть подробности" -#: searx/templates/oscar/result_templates/torrent.html:8 -msgid "Seeder" -msgstr "Сидер" - -#: searx/templates/oscar/result_templates/torrent.html:8 -msgid "Leecher" -msgstr "Личер" - -#: searx/templates/oscar/result_templates/videos.html:9 -msgid "show video" -msgstr "показать видео" - -#: searx/templates/oscar/result_templates/videos.html:9 -msgid "hide video" -msgstr "скрыть видео" - -msgid "Localization" -msgstr "Локализация" - -msgid "Yes" -msgstr "Да" +#: searx/templates/oscar/result_templates/torrent.html:7 +msgid "Filesize" +msgstr "" -msgid "No" -msgstr "Нет" +#: searx/templates/oscar/result_templates/torrent.html:9 +msgid "Bytes" +msgstr "" -# categories - manually added -# TODO - automatically add -msgid "files" -msgstr "файлы" +#: searx/templates/oscar/result_templates/torrent.html:10 +msgid "kiB" +msgstr "" -msgid "general" -msgstr "общие" +#: searx/templates/oscar/result_templates/torrent.html:11 +msgid "MiB" +msgstr "" -msgid "music" -msgstr "музыка" +#: searx/templates/oscar/result_templates/torrent.html:12 +msgid "GiB" +msgstr "" -msgid "social media" -msgstr "соцсети" +#: searx/templates/oscar/result_templates/torrent.html:13 +msgid "TiB" +msgstr "" -msgid "images" -msgstr "картинки" +#: searx/templates/oscar/result_templates/torrent.html:15 +msgid "Number of Files" +msgstr "" -msgid "videos" -msgstr "видео" +#: searx/templates/oscar/result_templates/videos.html:7 +msgid "show video" +msgstr "показать видео" -msgid "it" -msgstr "it" +#: searx/templates/oscar/result_templates/videos.html:7 +msgid "hide video" +msgstr "скрыть видео" -msgid "news" -msgstr "новости" +#~ msgid "Filter explicite content" +#~ msgstr "" -msgid "map" -msgstr "карта" diff --git a/searx/translations/tr/LC_MESSAGES/messages.mo b/searx/translations/tr/LC_MESSAGES/messages.mo Binary files differindex 2ea370523..ce447a3f7 100644 --- a/searx/translations/tr/LC_MESSAGES/messages.mo +++ b/searx/translations/tr/LC_MESSAGES/messages.mo diff --git a/searx/translations/tr/LC_MESSAGES/messages.po b/searx/translations/tr/LC_MESSAGES/messages.po index 22190141e..951cdb34c 100644 --- a/searx/translations/tr/LC_MESSAGES/messages.po +++ b/searx/translations/tr/LC_MESSAGES/messages.po @@ -1,16 +1,15 @@ -# English translations for . -# Copyright (C) 2014 ORGANIZATION +# Turkish translations for . +# Copyright (C) 2015 ORGANIZATION # This file is distributed under the same license as the project. # # Translators: # Caner Başaran <basaran.caner@gmail.com>, 2014 -# FIRST AUTHOR <EMAIL@ADDRESS>, 2014 msgid "" msgstr "" "Project-Id-Version: searx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2015-01-05 20:54+0100\n" -"PO-Revision-Date: 2014-12-28 08:20+0000\n" +"POT-Creation-Date: 2015-02-11 14:09+0100\n" +"PO-Revision-Date: 2015-02-10 16:50+0000\n" "Last-Translator: Caner Başaran <basaran.caner@gmail.com>\n" "Language-Team: Turkish " "(http://www.transifex.com/projects/p/searx/language/tr/)\n" @@ -20,127 +19,238 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 1.3\n" -#: searx/webapp.py:263 +#: searx/webapp.py:100 +msgid "files" +msgstr "dosyalar" + +#: searx/webapp.py:101 +msgid "general" +msgstr "genel" + +#: searx/webapp.py:102 +msgid "music" +msgstr "müzik" + +#: searx/webapp.py:103 +msgid "social media" +msgstr "sosyal medya" + +#: searx/webapp.py:104 +msgid "images" +msgstr "görseller" + +#: searx/webapp.py:105 +msgid "videos" +msgstr "videolar" + +#: searx/webapp.py:106 +msgid "it" +msgstr "bilişim" + +#: searx/webapp.py:107 +msgid "news" +msgstr "haberler" + +#: searx/webapp.py:108 +msgid "map" +msgstr "harita" + +#: searx/webapp.py:361 msgid "{minutes} minute(s) ago" msgstr "{minutes} dakika() önce" -#: searx/webapp.py:265 +#: searx/webapp.py:363 msgid "{hours} hour(s), {minutes} minute(s) ago" msgstr "{hours} saat(), {minutes} dakika() önce" -#: searx/engines/__init__.py:179 +#: searx/engines/__init__.py:182 msgid "Page loads (sec)" msgstr "Yüklenen sayfa (sn)" -#: searx/engines/__init__.py:183 +#: searx/engines/__init__.py:186 msgid "Number of results" msgstr "Sonuç sayısı" -#: searx/engines/__init__.py:187 +#: searx/engines/__init__.py:190 msgid "Scores" msgstr "" -#: searx/engines/__init__.py:191 +#: searx/engines/__init__.py:194 msgid "Scores per result" msgstr "" -#: searx/engines/__init__.py:195 +#: searx/engines/__init__.py:198 msgid "Errors" msgstr "Hatalar" -#: searx/templates/courgette/index.html:8 searx/templates/default/index.html:7 -#: searx/templates/oscar/about.html:3 searx/templates/oscar/navbar.html:16 -msgid "about" -msgstr "hakkında" - -#: searx/templates/courgette/index.html:9 searx/templates/default/index.html:8 -#: searx/templates/oscar/navbar.html:17 -#: searx/templates/oscar/preferences.html:2 +#: 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 msgid "preferences" msgstr "tercihler" +#: 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 +msgid "about" +msgstr "hakkında" + #: searx/templates/courgette/preferences.html:5 #: searx/templates/default/preferences.html:5 -#: searx/templates/oscar/preferences.html:6 +#: searx/templates/oscar/preferences.html:12 msgid "Preferences" msgstr "Tercihler" #: searx/templates/courgette/preferences.html:9 #: searx/templates/default/preferences.html:9 -#: searx/templates/oscar/preferences.html:24 +#: searx/templates/oscar/preferences.html:34 +#: searx/templates/oscar/preferences.html:36 msgid "Default categories" msgstr "Öntanımlı kategoriler" -#: searx/templates/courgette/preferences.html:15 -#: searx/templates/default/preferences.html:15 -#: searx/templates/oscar/preferences.html:30 +#: searx/templates/courgette/preferences.html:13 +#: searx/templates/default/preferences.html:14 +#: searx/templates/oscar/preferences.html:42 msgid "Search language" msgstr "Arama dili" -#: searx/templates/courgette/preferences.html:18 -#: searx/templates/default/preferences.html:18 -#: searx/templates/oscar/preferences.html:33 +#: searx/templates/courgette/preferences.html:16 +#: searx/templates/default/preferences.html:17 +#: searx/templates/oscar/preferences.html:46 msgid "Automatic" msgstr "Otomatik" -#: searx/templates/courgette/preferences.html:26 -#: searx/templates/default/preferences.html:26 -#: searx/templates/oscar/preferences.html:42 +#: searx/templates/courgette/preferences.html:24 +#: searx/templates/default/preferences.html:25 +#: searx/templates/oscar/preferences.html:53 msgid "Interface language" msgstr "Arayüz dili" -#: searx/templates/courgette/preferences.html:36 -#: searx/templates/default/preferences.html:36 -#: searx/templates/oscar/preferences.html:53 +#: searx/templates/courgette/preferences.html:34 +#: searx/templates/default/preferences.html:35 +#: searx/templates/oscar/preferences.html:63 msgid "Autocomplete" msgstr "Otomatik tamamlama" -#: searx/templates/courgette/preferences.html:47 -#: searx/templates/default/preferences.html:47 -#: searx/templates/oscar/preferences.html:66 +#: searx/templates/courgette/preferences.html:45 +#: searx/templates/default/preferences.html:46 +#: searx/templates/oscar/preferences.html:74 +msgid "Image proxy" +msgstr "" + +#: searx/templates/courgette/preferences.html:48 +#: searx/templates/default/preferences.html:49 +#: searx/templates/oscar/preferences.html:78 +msgid "Enabled" +msgstr "" + +#: searx/templates/courgette/preferences.html:49 +#: searx/templates/default/preferences.html:50 +#: searx/templates/oscar/preferences.html:79 +msgid "Disabled" +msgstr "" + +#: searx/templates/courgette/preferences.html:54 +#: searx/templates/default/preferences.html:55 +#: searx/templates/oscar/preferences.html:83 msgid "Method" msgstr "Sorgu gönderim yöntemi" -#: searx/templates/courgette/preferences.html:56 -#: searx/templates/default/preferences.html:56 -#: searx/templates/oscar/preferences.html:76 +#: searx/templates/courgette/preferences.html:63 +#: searx/templates/default/preferences.html:64 +#: searx/templates/oscar/preferences.html:92 +msgid "SafeSearch" +msgstr "" + +#: searx/templates/courgette/preferences.html:66 +#: searx/templates/default/preferences.html:67 +#: searx/templates/oscar/preferences.html:96 +msgid "Strict" +msgstr "" + +#: searx/templates/courgette/preferences.html:67 +#: searx/templates/default/preferences.html:68 +#: searx/templates/oscar/preferences.html:97 +msgid "Moderate" +msgstr "" + +#: searx/templates/courgette/preferences.html:68 +#: searx/templates/default/preferences.html:69 +#: searx/templates/oscar/preferences.html:98 +msgid "None" +msgstr "" + +#: searx/templates/courgette/preferences.html:73 +#: searx/templates/default/preferences.html:74 +#: searx/templates/oscar/preferences.html:102 msgid "Themes" msgstr "Temalar" -#: searx/templates/courgette/preferences.html:66 -#: searx/templates/default/preferences.html:66 +#: 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 msgid "Currently used search engines" msgstr "Şu anda kullanılan arama motorları" -#: searx/templates/courgette/preferences.html:70 -#: searx/templates/default/preferences.html:70 +#: searx/templates/courgette/preferences.html:100 +#: searx/templates/default/preferences.html:88 msgid "Engine name" msgstr "Motor adı" -#: searx/templates/courgette/preferences.html:71 -#: searx/templates/default/preferences.html:71 +#: searx/templates/courgette/preferences.html:101 +#: searx/templates/default/preferences.html:89 msgid "Category" msgstr "Türü" -#: searx/templates/courgette/preferences.html:72 -#: searx/templates/courgette/preferences.html:83 -#: searx/templates/default/preferences.html:72 -#: searx/templates/default/preferences.html:83 -#: searx/templates/oscar/preferences.html:118 +#: 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/preferences.html:145 msgid "Allow" msgstr "İzin ver" -#: searx/templates/courgette/preferences.html:72 -#: searx/templates/courgette/preferences.html:84 -#: searx/templates/default/preferences.html:72 -#: searx/templates/default/preferences.html:84 -#: searx/templates/oscar/preferences.html:117 +#: 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/preferences.html:144 msgid "Block" msgstr "Engelle" -#: searx/templates/courgette/preferences.html:92 -#: searx/templates/default/preferences.html:92 -#: searx/templates/oscar/preferences.html:132 +#: searx/templates/courgette/preferences.html:122 +#: searx/templates/default/preferences.html:110 +#: searx/templates/oscar/preferences.html:161 msgid "" "These settings are stored in your cookies, this allows us not to store " "this data about you." @@ -148,59 +258,64 @@ msgstr "" "Ayarlar çerezlerinizde saklanır. Verdiğiniz izinler, sizin hakkınızda " "veri saklamak için değil." -#: searx/templates/courgette/preferences.html:94 -#: searx/templates/default/preferences.html:94 -#: searx/templates/oscar/preferences.html:134 +#: searx/templates/courgette/preferences.html:124 +#: searx/templates/default/preferences.html:112 +#: searx/templates/oscar/preferences.html:163 msgid "" "These cookies serve your sole convenience, we don't use these cookies to " "track you." msgstr "Bu çerezler size kolaylık sağlar. Sizi takip etmek için kullanılmaz." -#: searx/templates/courgette/preferences.html:97 -#: searx/templates/default/preferences.html:97 -#: searx/templates/oscar/preferences.html:137 +#: searx/templates/courgette/preferences.html:127 +#: searx/templates/default/preferences.html:115 +#: searx/templates/oscar/preferences.html:166 msgid "save" msgstr "kaydet" -#: searx/templates/courgette/preferences.html:98 -#: searx/templates/default/preferences.html:98 -#: searx/templates/oscar/preferences.html:138 +#: searx/templates/courgette/preferences.html:128 +#: searx/templates/default/preferences.html:116 +#: searx/templates/oscar/preferences.html:167 msgid "back" msgstr "geri" #: searx/templates/courgette/results.html:12 -#: searx/templates/default/results.html:12 -#: searx/templates/oscar/results.html:87 +#: searx/templates/default/results.html:13 +#: searx/templates/oscar/results.html:110 msgid "Search URL" msgstr "Arama Bağlantısı" #: searx/templates/courgette/results.html:16 -#: searx/templates/default/results.html:16 -#: searx/templates/oscar/results.html:92 +#: searx/templates/default/results.html:17 +#: searx/templates/oscar/results.html:115 msgid "Download results" msgstr "Arama sonuçlarını indir" #: searx/templates/courgette/results.html:34 -#: searx/templates/default/results.html:42 -#: searx/templates/oscar/results.html:67 +#: 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 "Öneriler" -#: searx/templates/courgette/results.html:62 -#: searx/templates/default/results.html:78 -#: searx/templates/oscar/results.html:41 +#: 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 "önceki sayfa" -#: searx/templates/courgette/results.html:73 -#: searx/templates/default/results.html:89 -#: searx/templates/oscar/results.html:49 +#: 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 "sonraki sayfa" #: searx/templates/courgette/search.html:3 #: searx/templates/default/search.html:3 searx/templates/oscar/search.html:4 -#: searx/templates/oscar/search_full.html:5 +#: searx/templates/oscar/search_full.html:9 msgid "Search for..." msgstr "Aramak için..." @@ -209,55 +324,88 @@ msgstr "Aramak için..." msgid "Engine stats" msgstr "Arama motoru istatistikleri" +#: searx/templates/courgette/result_templates/images.html:4 +#: searx/templates/default/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 "Besleyenler" + +#: 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 "Sömürenler" + +#: 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 "Arama yapmak için büyütece tıklayın" -#: searx/templates/default/results.html:34 -msgid "Answers" -msgstr "" - -#: searx/templates/oscar/base.html:69 +#: searx/templates/oscar/base.html:74 msgid "Powered by" msgstr "Gücümün kaynağı" -#: searx/templates/oscar/base.html:69 +#: searx/templates/oscar/base.html:74 msgid "a privacy-respecting, hackable metasearch engine" msgstr "" "kişisel gizliliğe saygılı ve merak edenlerin kurcalayabildiği bir meta " "arama motoru" -#: searx/templates/oscar/navbar.html:6 -msgid "Toggle navigation" -msgstr "" +#: searx/templates/oscar/macros.html:20 +msgid "cached" +msgstr "önbellek" -#: searx/templates/oscar/navbar.html:15 +#: searx/templates/oscar/navbar.html:9 searx/templates/oscar/navbar.html:33 msgid "home" msgstr "anasayfa" -#: searx/templates/oscar/preferences.html:11 +#: 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:23 msgid "General" msgstr "Genel" -#: searx/templates/oscar/preferences.html:12 -#: searx/templates/oscar/preferences.html:99 +#: searx/templates/oscar/preferences.html:18 +#: searx/templates/oscar/preferences.html:124 msgid "Engines" msgstr "Motorlar" -#: searx/templates/oscar/preferences.html:39 +#: searx/templates/oscar/preferences.html:43 msgid "What language do you prefer for search?" msgstr "Arama için hangi dili tercih edersiniz?" -#: searx/templates/oscar/preferences.html:50 +#: searx/templates/oscar/preferences.html:54 msgid "Change the language of the layout" msgstr "Yerleşim düzeninin dilini değiştir" -#: searx/templates/oscar/preferences.html:63 +#: searx/templates/oscar/preferences.html:64 msgid "Find stuff as you type" msgstr "Leb demeden leblebiyi anlasın" -#: searx/templates/oscar/preferences.html:73 +#: searx/templates/oscar/preferences.html:75 +msgid "Proxying image results through searx" +msgstr "" + +#: searx/templates/oscar/preferences.html:84 msgid "" "Change how forms are submited, <a " "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\"" @@ -267,27 +415,32 @@ msgstr "" "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:84 +#: searx/templates/oscar/preferences.html:93 +msgid "Filter content" +msgstr "" + +#: searx/templates/oscar/preferences.html:103 msgid "Change searx layout" msgstr "searx yerleşim düzenini değiştir" -#: searx/templates/oscar/results.html:6 +#: searx/templates/oscar/results.html:7 msgid "Search results" msgstr "Arama sonuçları" -#: searx/templates/oscar/results.html:82 +#: searx/templates/oscar/results.html:105 msgid "Links" msgstr "Bağlantılar" -#: searx/templates/oscar/search.html:6 searx/templates/oscar/search_full.html:7 +#: searx/templates/oscar/search.html:6 +#: searx/templates/oscar/search_full.html:11 msgid "Start search" msgstr "Aramayı başlat" -#: searx/templates/oscar/search_full.html:11 +#: searx/templates/oscar/search_full.html:15 msgid "Show search filters" msgstr "Arama filtrelerini göster" -#: searx/templates/oscar/search_full.html:11 +#: searx/templates/oscar/search_full.html:15 msgid "Hide search filters" msgstr "Arama filtrelerini gizle" @@ -353,96 +506,74 @@ msgstr "Tüh tüh!" msgid "Something went wrong." msgstr "Bazı bazı şeylerde problem olmuş." -#: searx/templates/oscar/result_templates/default.html:6 -#: searx/templates/oscar/result_templates/map.html:7 -#: searx/templates/oscar/result_templates/torrent.html:6 -#: searx/templates/oscar/result_templates/videos.html:6 -msgid "cached" -msgstr "önbellek" - -#: searx/templates/oscar/result_templates/default.html:9 +#: searx/templates/oscar/result_templates/default.html:7 msgid "show media" msgstr "" -#: searx/templates/oscar/result_templates/default.html:9 +#: searx/templates/oscar/result_templates/default.html:7 msgid "hide media" msgstr "" -#: searx/templates/oscar/result_templates/images.html:21 +#: searx/templates/oscar/result_templates/images.html:23 msgid "Get image" msgstr "Görseli indir" -#: searx/templates/oscar/result_templates/images.html:22 +#: searx/templates/oscar/result_templates/images.html:24 msgid "View source" msgstr "Kaynağı göster" -#: searx/templates/oscar/result_templates/map.html:10 +#: searx/templates/oscar/result_templates/map.html:7 msgid "show map" msgstr "haritayı göster" -#: searx/templates/oscar/result_templates/map.html:10 +#: searx/templates/oscar/result_templates/map.html:7 msgid "hide map" msgstr "haritayı gizle" -#: searx/templates/oscar/result_templates/map.html:14 +#: searx/templates/oscar/result_templates/map.html:11 msgid "show details" msgstr "ayrıntıları göster" -#: searx/templates/oscar/result_templates/map.html:14 +#: searx/templates/oscar/result_templates/map.html:11 msgid "hide details" msgstr "ayrıntıları gizle" -#: searx/templates/oscar/result_templates/torrent.html:8 -msgid "Seeder" -msgstr "Besleyenler" - -#: searx/templates/oscar/result_templates/torrent.html:8 -msgid "Leecher" -msgstr "Sömürenler" - -#: searx/templates/oscar/result_templates/videos.html:9 -msgid "show video" +#: searx/templates/oscar/result_templates/torrent.html:7 +msgid "Filesize" msgstr "" -#: searx/templates/oscar/result_templates/videos.html:9 -msgid "hide video" +#: searx/templates/oscar/result_templates/torrent.html:9 +msgid "Bytes" msgstr "" -msgid "Localization" +#: searx/templates/oscar/result_templates/torrent.html:10 +msgid "kiB" msgstr "" -msgid "Yes" -msgstr "Evet" - -msgid "No" -msgstr "Hayır" - -# categories - manually added -# TODO - automatically add -msgid "files" -msgstr "dosyalar" - -msgid "general" -msgstr "genel" - -msgid "music" -msgstr "müzik" +#: searx/templates/oscar/result_templates/torrent.html:11 +msgid "MiB" +msgstr "" -msgid "social media" -msgstr "sosyal medya" +#: searx/templates/oscar/result_templates/torrent.html:12 +msgid "GiB" +msgstr "" -msgid "images" -msgstr "görseller" +#: searx/templates/oscar/result_templates/torrent.html:13 +msgid "TiB" +msgstr "" -msgid "videos" -msgstr "videolar" +#: searx/templates/oscar/result_templates/torrent.html:15 +msgid "Number of Files" +msgstr "" -msgid "it" -msgstr "bilişim" +#: searx/templates/oscar/result_templates/videos.html:7 +msgid "show video" +msgstr "" -msgid "news" -msgstr "haberler" +#: searx/templates/oscar/result_templates/videos.html:7 +msgid "hide video" +msgstr "" -msgid "map" -msgstr "harita" +#~ msgid "Filter explicite content" +#~ msgstr "" diff --git a/searx/webapp.py b/searx/webapp.py index 2394aacfe..b12a08db5 100644 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -97,6 +97,16 @@ for indice, theme in enumerate(themes): cookie_max_age = 60 * 60 * 24 * 365 * 5 # 5 years +_category_names = (gettext('files'), + gettext('general'), + gettext('music'), + gettext('social media'), + gettext('images'), + gettext('videos'), + gettext('it'), + gettext('news'), + gettext('map')) + @babel.localeselector def get_locale(): @@ -402,7 +412,6 @@ def about(): """Render about page""" return render( 'about.html', - rtl=False, ) diff --git a/utils/update-translations.sh b/utils/update-translations.sh index 2f9ab218f..00e7fb1e0 100755 --- a/utils/update-translations.sh +++ b/utils/update-translations.sh @@ -10,8 +10,6 @@ SEARX_DIR='searx' pybabel extract -F babel.cfg -o messages.pot $SEARX_DIR for f in `ls $SEARX_DIR'/translations/'`; do pybabel update -N -i messages.pot -d $SEARX_DIR'/translations/' -l $f - # TODO - need to fix category translations - sed -i 's/#~ //' $SEARX_DIR'/translations/'$f'/LC_MESSAGES/messages.po' done echo '[!] update done, edit .po files if required and run pybabel compile -d searx/translations/' |