mirror of https://github.com/searxng/searxng
commit
d800e3fcfa
@ -0,0 +1,31 @@
|
|||||||
|
comment: false
|
||||||
|
coverage:
|
||||||
|
status:
|
||||||
|
project:
|
||||||
|
default:
|
||||||
|
# basic
|
||||||
|
target: auto
|
||||||
|
threshold: null
|
||||||
|
base: auto
|
||||||
|
# advanced
|
||||||
|
branches: null
|
||||||
|
if_no_uploads: error
|
||||||
|
if_not_found: success
|
||||||
|
if_ci_failed: error
|
||||||
|
only_pulls: false
|
||||||
|
flags: null
|
||||||
|
paths: null
|
||||||
|
patch:
|
||||||
|
default:
|
||||||
|
# basic
|
||||||
|
target: auto
|
||||||
|
threshold: null
|
||||||
|
base: auto
|
||||||
|
# advanced
|
||||||
|
branches: null
|
||||||
|
if_no_uploads: error
|
||||||
|
if_not_found: success
|
||||||
|
if_ci_failed: error
|
||||||
|
only_pulls: false
|
||||||
|
flags: null
|
||||||
|
paths: null
|
File diff suppressed because one or more lines are too long
@ -1,70 +0,0 @@
|
|||||||
"""
|
|
||||||
Blekko (Images)
|
|
||||||
|
|
||||||
@website https://blekko.com
|
|
||||||
@provide-api yes (inofficial)
|
|
||||||
|
|
||||||
@using-api yes
|
|
||||||
@results JSON
|
|
||||||
@stable yes
|
|
||||||
@parse url, title, img_src
|
|
||||||
"""
|
|
||||||
|
|
||||||
from json import loads
|
|
||||||
from searx.url_utils import urlencode
|
|
||||||
|
|
||||||
# engine dependent config
|
|
||||||
categories = ['images']
|
|
||||||
paging = True
|
|
||||||
safesearch = True
|
|
||||||
|
|
||||||
# search-url
|
|
||||||
base_url = 'https://blekko.com'
|
|
||||||
search_url = '/api/images?{query}&c={c}'
|
|
||||||
|
|
||||||
# safesearch definitions
|
|
||||||
safesearch_types = {2: '1',
|
|
||||||
1: '',
|
|
||||||
0: '0'}
|
|
||||||
|
|
||||||
|
|
||||||
# do search-request
|
|
||||||
def request(query, params):
|
|
||||||
c = (params['pageno'] - 1) * 48
|
|
||||||
|
|
||||||
params['url'] = base_url +\
|
|
||||||
search_url.format(query=urlencode({'q': query}),
|
|
||||||
c=c)
|
|
||||||
|
|
||||||
if params['pageno'] != 1:
|
|
||||||
params['url'] += '&page={pageno}'.format(pageno=(params['pageno'] - 1))
|
|
||||||
|
|
||||||
# let Blekko know we wan't have profiling
|
|
||||||
params['cookies']['tag_lesslogging'] = '1'
|
|
||||||
|
|
||||||
# parse safesearch argument
|
|
||||||
params['cookies']['safesearch'] = safesearch_types.get(params['safesearch'], '')
|
|
||||||
|
|
||||||
return params
|
|
||||||
|
|
||||||
|
|
||||||
# get response from search-request
|
|
||||||
def response(resp):
|
|
||||||
results = []
|
|
||||||
|
|
||||||
search_results = loads(resp.text)
|
|
||||||
|
|
||||||
# return empty array if there are no results
|
|
||||||
if not search_results:
|
|
||||||
return []
|
|
||||||
|
|
||||||
for result in search_results:
|
|
||||||
# append result
|
|
||||||
results.append({'url': result['page_url'],
|
|
||||||
'title': result['title'],
|
|
||||||
'content': '',
|
|
||||||
'img_src': result['url'],
|
|
||||||
'template': 'images.html'})
|
|
||||||
|
|
||||||
# return results
|
|
||||||
return results
|
|
@ -1,62 +0,0 @@
|
|||||||
"""
|
|
||||||
General Files (Files)
|
|
||||||
|
|
||||||
@website http://www.general-files.org
|
|
||||||
@provide-api no (nothing found)
|
|
||||||
|
|
||||||
@using-api no (because nothing found)
|
|
||||||
@results HTML (using search portal)
|
|
||||||
@stable no (HTML can change)
|
|
||||||
@parse url, title, content
|
|
||||||
|
|
||||||
@todo detect torrents?
|
|
||||||
"""
|
|
||||||
|
|
||||||
from lxml import html
|
|
||||||
|
|
||||||
# engine dependent config
|
|
||||||
categories = ['files']
|
|
||||||
paging = True
|
|
||||||
|
|
||||||
# search-url
|
|
||||||
base_url = 'http://www.general-file.com'
|
|
||||||
search_url = base_url + '/files-{letter}/{query}/{pageno}'
|
|
||||||
|
|
||||||
# specific xpath variables
|
|
||||||
result_xpath = '//table[@class="block-file"]'
|
|
||||||
title_xpath = './/h2/a//text()'
|
|
||||||
url_xpath = './/h2/a/@href'
|
|
||||||
content_xpath = './/p//text()'
|
|
||||||
|
|
||||||
|
|
||||||
# do search-request
|
|
||||||
def request(query, params):
|
|
||||||
|
|
||||||
params['url'] = search_url.format(query=query,
|
|
||||||
letter=query[0],
|
|
||||||
pageno=params['pageno'])
|
|
||||||
|
|
||||||
return params
|
|
||||||
|
|
||||||
|
|
||||||
# get response from search-request
|
|
||||||
def response(resp):
|
|
||||||
results = []
|
|
||||||
|
|
||||||
dom = html.fromstring(resp.text)
|
|
||||||
|
|
||||||
# parse results
|
|
||||||
for result in dom.xpath(result_xpath):
|
|
||||||
url = result.xpath(url_xpath)[0]
|
|
||||||
|
|
||||||
# skip fast download links
|
|
||||||
if not url.startswith('/'):
|
|
||||||
continue
|
|
||||||
|
|
||||||
# append result
|
|
||||||
results.append({'url': base_url + url,
|
|
||||||
'title': ''.join(result.xpath(title_xpath)),
|
|
||||||
'content': ''.join(result.xpath(content_xpath))})
|
|
||||||
|
|
||||||
# return results
|
|
||||||
return results
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,2 +1,2 @@
|
|||||||
/*! oscar/searx.min.js | 25-07-2016 | https://github.com/asciimoo/searx */
|
/*! oscar/searx.min.js | 06-10-2017 | https://github.com/asciimoo/searx */
|
||||||
requirejs.config({baseUrl:"./static/themes/oscar/js",paths:{app:"../app"}}),searx.autocompleter&&(searx.searchResults=new Bloodhound({datumTokenizer:Bloodhound.tokenizers.obj.whitespace("value"),queryTokenizer:Bloodhound.tokenizers.whitespace,remote:"./autocompleter?q=%QUERY"}),searx.searchResults.initialize()),$(document).ready(function(){searx.autocompleter&&$("#q").typeahead(null,{name:"search-results",displayKey:function(a){return a},source:searx.searchResults.ttAdapter()})}),$(document).ready(function(){$("#q.autofocus").focus(),$(".select-all-on-click").click(function(){$(this).select()}),$(".btn-collapse").click(function(){var a=$(this).data("btn-text-collapsed"),b=$(this).data("btn-text-not-collapsed");""!==a&&""!==b&&($(this).hasClass("collapsed")?new_html=$(this).html().replace(a,b):new_html=$(this).html().replace(b,a),$(this).html(new_html))}),$(".btn-toggle .btn").click(function(){var a="btn-"+$(this).data("btn-class"),b=$(this).data("btn-label-default"),c=$(this).data("btn-label-toggled");""!==c&&($(this).hasClass("btn-default")?new_html=$(this).html().replace(b,c):new_html=$(this).html().replace(c,b),$(this).html(new_html)),$(this).toggleClass(a),$(this).toggleClass("btn-default")}),$(".media-loader").click(function(){var a=$(this).data("target"),b=$(a+" > iframe"),c=b.attr("src");void 0!==c&&c!==!1||b.attr("src",b.data("src"))}),$(".btn-sm").dblclick(function(){var a="btn-"+$(this).data("btn-class");$(this).hasClass("btn-default")?($(".btn-sm > input").attr("checked","checked"),$(".btn-sm > input").prop("checked",!0),$(".btn-sm").addClass(a),$(".btn-sm").addClass("active"),$(".btn-sm").removeClass("btn-default")):($(".btn-sm > input").attr("checked",""),$(".btn-sm > input").removeAttr("checked"),$(".btn-sm > input").checked=!1,$(".btn-sm").removeClass(a),$(".btn-sm").removeClass("active"),$(".btn-sm").addClass("btn-default"))})}),$(document).ready(function(){$(".searx_overpass_request").on("click",function(a){var b="https://overpass-api.de/api/interpreter?data=",c=b+"[out:json][timeout:25];(",d=");out meta;",e=$(this).data("osm-id"),f=$(this).data("osm-type"),g=$(this).data("result-table"),h="#"+$(this).data("result-table-loadicon"),i=["addr:city","addr:country","addr:housenumber","addr:postcode","addr:street"];if(e&&f&&g){g="#"+g;var j=null;switch(f){case"node":j=c+"node("+e+");"+d;break;case"way":j=c+"way("+e+");"+d;break;case"relation":j=c+"relation("+e+");"+d}if(j){$.ajax(j).done(function(a){if(a&&a.elements&&a.elements[0]){var b=a.elements[0],c=$(g).html();for(var d in b.tags)if(null===b.tags.name||i.indexOf(d)==-1){switch(c+="<tr><td>"+d+"</td><td>",d){case"phone":case"fax":c+='<a href="tel:'+b.tags[d].replace(/ /g,"")+'">'+b.tags[d]+"</a>";break;case"email":c+='<a href="mailto:'+b.tags[d]+'">'+b.tags[d]+"</a>";break;case"website":case"url":c+='<a href="'+b.tags[d]+'">'+b.tags[d]+"</a>";break;case"wikidata":c+='<a href="https://www.wikidata.org/wiki/'+b.tags[d]+'">'+b.tags[d]+"</a>";break;case"wikipedia":if(b.tags[d].indexOf(":")!=-1){c+='<a href="https://'+b.tags[d].substring(0,b.tags[d].indexOf(":"))+".wikipedia.org/wiki/"+b.tags[d].substring(b.tags[d].indexOf(":")+1)+'">'+b.tags[d]+"</a>";break}default:c+=b.tags[d]}c+="</td></tr>"}$(g).html(c),$(g).removeClass("hidden"),$(h).addClass("hidden")}}).fail(function(){$(h).html($(h).html()+'<p class="text-muted">could not load data!</p>')})}}$(this).off(a)}),$(".searx_init_map").on("click",function(a){var b=$(this).data("leaflet-target"),c=$(this).data("map-lon"),d=$(this).data("map-lat"),e=$(this).data("map-zoom"),f=$(this).data("map-boundingbox"),g=$(this).data("map-geojson");require(["leaflet-0.7.3.min"],function(a){f&&(southWest=L.latLng(f[0],f[2]),northEast=L.latLng(f[1],f[3]),map_bounds=L.latLngBounds(southWest,northEast)),L.Icon.Default.imagePath="./static/themes/oscar/img/map";var h=L.map(b),i="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",j='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors',k=new L.TileLayer(i,{minZoom:1,maxZoom:19,attribution:j}),l="https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png",m='Wikimedia maps beta | Maps data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';new L.TileLayer(l,{minZoom:1,maxZoom:19,attribution:m});map_bounds?setTimeout(function(){h.fitBounds(map_bounds,{maxZoom:17})},0):c&&d&&(e?h.setView(new L.LatLng(d,c),e):h.setView(new L.LatLng(d,c),8)),h.addLayer(k);var n={"OSM Mapnik":k};L.control.layers(n).addTo(h),g&&L.geoJson(g).addTo(h)}),$(this).off(a)})});
|
requirejs.config({baseUrl:"./static/themes/oscar/js",paths:{app:"../app"}}),searx.autocompleter&&(searx.searchResults=new Bloodhound({datumTokenizer:Bloodhound.tokenizers.obj.whitespace("value"),queryTokenizer:Bloodhound.tokenizers.whitespace,remote:"./autocompleter?q=%QUERY"}),searx.searchResults.initialize()),$(document).ready(function(){searx.autocompleter&&$("#q").typeahead(null,{name:"search-results",displayKey:function(a){return a},source:searx.searchResults.ttAdapter()})}),$(document).ready(function(){$("#q.autofocus").focus(),$(".select-all-on-click").click(function(){$(this).select()}),$(".btn-collapse").click(function(){var a=$(this).data("btn-text-collapsed"),b=$(this).data("btn-text-not-collapsed");""!==a&&""!==b&&($(this).hasClass("collapsed")?new_html=$(this).html().replace(a,b):new_html=$(this).html().replace(b,a),$(this).html(new_html))}),$(".btn-toggle .btn").click(function(){var a="btn-"+$(this).data("btn-class"),b=$(this).data("btn-label-default"),c=$(this).data("btn-label-toggled");""!==c&&($(this).hasClass("btn-default")?new_html=$(this).html().replace(b,c):new_html=$(this).html().replace(c,b),$(this).html(new_html)),$(this).toggleClass(a),$(this).toggleClass("btn-default")}),$(".media-loader").click(function(){var a=$(this).data("target"),b=$(a+" > iframe"),c=b.attr("src");void 0!==c&&c!==!1||b.attr("src",b.data("src"))}),$(".btn-sm").dblclick(function(){var a="btn-"+$(this).data("btn-class");$(this).hasClass("btn-default")?($(".btn-sm > input").attr("checked","checked"),$(".btn-sm > input").prop("checked",!0),$(".btn-sm").addClass(a),$(".btn-sm").addClass("active"),$(".btn-sm").removeClass("btn-default")):($(".btn-sm > input").attr("checked",""),$(".btn-sm > input").removeAttr("checked"),$(".btn-sm > input").checked=!1,$(".btn-sm").removeClass(a),$(".btn-sm").removeClass("active"),$(".btn-sm").addClass("btn-default"))})}),$(document).ready(function(){$(".searx_overpass_request").on("click",function(a){var b="https://overpass-api.de/api/interpreter?data=",c=b+"[out:json][timeout:25];(",d=");out meta;",e=$(this).data("osm-id"),f=$(this).data("osm-type"),g=$(this).data("result-table"),h="#"+$(this).data("result-table-loadicon"),i=["addr:city","addr:country","addr:housenumber","addr:postcode","addr:street"];if(e&&f&&g){g="#"+g;var j=null;switch(f){case"node":j=c+"node("+e+");"+d;break;case"way":j=c+"way("+e+");"+d;break;case"relation":j=c+"relation("+e+");"+d}if(j){$.ajax(j).done(function(a){if(a&&a.elements&&a.elements[0]){var b=a.elements[0],c=$(g).html();for(var d in b.tags)if(null===b.tags.name||i.indexOf(d)==-1){switch(c+="<tr><td>"+d+"</td><td>",d){case"phone":case"fax":c+='<a href="tel:'+b.tags[d].replace(/ /g,"")+'">'+b.tags[d]+"</a>";break;case"email":c+='<a href="mailto:'+b.tags[d]+'">'+b.tags[d]+"</a>";break;case"website":case"url":c+='<a href="'+b.tags[d]+'">'+b.tags[d]+"</a>";break;case"wikidata":c+='<a href="https://www.wikidata.org/wiki/'+b.tags[d]+'">'+b.tags[d]+"</a>";break;case"wikipedia":if(b.tags[d].indexOf(":")!=-1){c+='<a href="https://'+b.tags[d].substring(0,b.tags[d].indexOf(":"))+".wikipedia.org/wiki/"+b.tags[d].substring(b.tags[d].indexOf(":")+1)+'">'+b.tags[d]+"</a>";break}default:c+=b.tags[d]}c+="</td></tr>"}$(g).html(c),$(g).removeClass("hidden"),$(h).addClass("hidden")}}).fail(function(){$(h).html($(h).html()+'<p class="text-muted">could not load data!</p>')})}}$(this).off(a)}),$(".searx_init_map").on("click",function(a){var b=$(this).data("leaflet-target"),c=$(this).data("map-lon"),d=$(this).data("map-lat"),e=$(this).data("map-zoom"),f=$(this).data("map-boundingbox"),g=$(this).data("map-geojson");require(["leaflet-0.7.3.min"],function(a){f&&(southWest=L.latLng(f[0],f[2]),northEast=L.latLng(f[1],f[3]),map_bounds=L.latLngBounds(southWest,northEast)),L.Icon.Default.imagePath="./static/themes/oscar/img/map";var h=L.map(b),i="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",j='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors',k=new L.TileLayer(i,{minZoom:1,maxZoom:19,attribution:j}),l="https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png",m='Wikimedia maps beta | Maps data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';new L.TileLayer(l,{minZoom:1,maxZoom:19,attribution:m});map_bounds?setTimeout(function(){h.fitBounds(map_bounds,{maxZoom:17})},0):c&&d&&(e?h.setView(new L.LatLng(d,c),e):h.setView(new L.LatLng(d,c),8)),h.addLayer(k);var n={"OSM Mapnik":k};L.control.layers(n).addTo(h),g&&L.geoJson(g).addTo(h)}),$(this).off(a)})});
|
@ -0,0 +1,3 @@
|
|||||||
|
.table > tbody > tr > td, .table > tbody > tr > th {
|
||||||
|
vertical-align: middle !important;
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
.table > tbody > tr > td, .table > tbody > tr > th {
|
||||||
|
vertical-align: middle !important;
|
||||||
|
}
|
@ -1,11 +1,11 @@
|
|||||||
<div class="result {{ result.class }}">
|
<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 }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %}>{{ result.title|safe }}</a></h3>
|
<h3 class="result_title"><a href="{{ result.url }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %}>{{ result.title|safe }}</a></h3>
|
||||||
{% if result.publishedDate %}<span class="published_date">{{ result.publishedDate }}</span>{% endif %}
|
{% if result.publishedDate %}<span class="published_date">{{ result.publishedDate }}</span>{% 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>
|
<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="content"><a href="{{ result.repository|safe }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %}>{{ result.repository }}</a></p>{% endif %}
|
{% if result.repository %}<p class="content"><a href="{{ result.repository|safe }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %}>{{ result.repository }}</a></p>{% endif %}
|
||||||
<div dir="ltr">
|
<div dir="ltr">
|
||||||
{{ result.codelines|code_highlighter(result.code_language)|safe }}
|
{{ result.codelines|code_highlighter(result.code_language)|safe }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p class="url">{{ result.pretty_url }}‎</p>
|
<p class="url">{{ result.pretty_url }}‎</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
<div class="result {{ result.class }}">
|
<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 }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %}>{{ result.title|safe }}</a></h3>
|
<h3 class="result_title"><a href="{{ result.url }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %}>{{ result.title|safe }}</a></h3>
|
||||||
<p class="url">{{ result.pretty_url }}‎ <a class="cache_link" href="https://web.archive.org/web/{{ result.url }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %}>{{ _('cached') }}</a></p>
|
<p class="url">{{ result.pretty_url }}‎ <a class="cache_link" href="https://web.archive.org/web/{{ result.url }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %}>{{ _('cached') }}</a></p>
|
||||||
{% if result.publishedDate %}<p class="published_date">{{ result.publishedDate }}</p>{% endif %}
|
{% 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>
|
<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 }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %}>{{ result.repository }}</a></p>{% endif %}
|
{% if result.repository %}<p class="result-content"><a href="{{ result.repository|safe }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %}>{{ result.repository }}</a></p>{% endif %}
|
||||||
|
|
||||||
<div dir="ltr">
|
<div dir="ltr">
|
||||||
{{ result.codelines|code_highlighter(result.code_language)|safe }}
|
{{ result.codelines|code_highlighter(result.code_language)|safe }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,88 +1,99 @@
|
|||||||
<!-- Draw glyphicon icon from bootstrap-theme -->
|
<!-- Draw glyphicon icon from bootstrap-theme -->
|
||||||
{% macro icon(action) -%}
|
{% macro icon(action) -%}
|
||||||
<span class="glyphicon glyphicon-{{ action }}"></span>
|
<span class="glyphicon glyphicon-{{ action }}"></span>
|
||||||
{%- endmacro %}
|
{%- endmacro %}
|
||||||
|
|
||||||
<!-- Draw favicon -->
|
<!-- Draw favicon -->
|
||||||
<!-- TODO: using url_for methode -->
|
{% macro draw_favicon(favicon) -%}
|
||||||
{% macro draw_favicon(favicon) -%}
|
<img width="32" height="32" class="favicon" src="{{ url_for('static', filename='themes/oscar/img/icons/' + favicon + '.png') }}" alt="{{ favicon }}" />
|
||||||
<img width="32" height="32" class="favicon" src="static/themes/oscar/img/icons/{{ favicon }}.png" alt="{{ favicon }}" />
|
{%- endmacro %}
|
||||||
{%- endmacro %}
|
|
||||||
|
{%- macro result_link(url, title, classes='') -%}
|
||||||
{%- macro result_link(url, title, classes='') -%}
|
<a href="{{ url }}" {% if classes %}class="{{ classes }}" {% endif %}{% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %}>{{ title }}</a>
|
||||||
<a href="{{ url }}" {% if classes %}class="{{ classes }}" {% endif %}{% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %}>{{ title }}</a>
|
{%- endmacro -%}
|
||||||
{%- endmacro -%}
|
|
||||||
|
<!-- Draw result header -->
|
||||||
<!-- Draw result header -->
|
{% macro result_header(result, favicons) -%}
|
||||||
{% macro result_header(result, favicons) -%}
|
<h4 class="result_header">{% if result.engine~".png" in favicons %}{{ draw_favicon(result.engine) }} {% endif %}{{ result_link(result.url, result.title|safe) }}</h4>
|
||||||
<h4 class="result_header">{% if result.engine~".png" in favicons %}{{ draw_favicon(result.engine) }} {% endif %}{{ result_link(result.url, result.title|safe) }}</h4>
|
{%- endmacro %}
|
||||||
{%- endmacro %}
|
|
||||||
|
<!-- Draw result sub header -->
|
||||||
<!-- Draw result sub header -->
|
{% macro result_sub_header(result) -%}
|
||||||
{% macro result_sub_header(result) -%}
|
{% if result.publishedDate %}<time class="text-muted" datetime="{{ result.pubdate }}" >{{ result.publishedDate }}</time>{% endif %}
|
||||||
{% if result.publishedDate %}<time class="text-muted" datetime="{{ result.pubdate }}" >{{ result.publishedDate }}</time>{% endif %}
|
{% if result.magnetlink %}<small> • {{ result_link(result.magnetlink, icon('magnet') + _('magnet link'), "magnetlink") }}</small>{% endif %}
|
||||||
{% if result.magnetlink %}<small> • {{ result_link(result.magnetlink, icon('magnet') + _('magnet link'), "magnetlink") }}</small>{% endif %}
|
{% if result.torrentfile %}<small> • {{ result_link(result.torrentfile, icon('download-alt') + _('torrent file'), "torrentfile") }}</small>{% endif %}
|
||||||
{% if result.torrentfile %}<small> • {{ result_link(result.torrentfile, icon('download-alt') + _('torrent file'), "torrentfile") }}</small>{% endif %}
|
{%- endmacro %}
|
||||||
{%- endmacro %}
|
|
||||||
|
<!-- Draw result footer -->
|
||||||
<!-- Draw result footer -->
|
{% macro result_footer(result) -%}
|
||||||
{% macro result_footer(result) -%}
|
<div class="clearfix"></div>
|
||||||
<div class="clearfix"></div>
|
<div class="pull-right">
|
||||||
<div class="pull-right">
|
{% for engine in result.engines %}
|
||||||
{% for engine in result.engines %}
|
<span class="label label-default">{{ engine }}</span>
|
||||||
<span class="label label-default">{{ engine }}</span>
|
{% endfor %}
|
||||||
{% endfor %}
|
<small>{{ result_link("https://web.archive.org/web/" + result.url, icon('link') + _('cached'), "text-info") }}</small>
|
||||||
<small>{{ result_link("https://web.archive.org/web/" + result.url, icon('link') + _('cached'), "text-info") }}</small>
|
{% if proxify %}
|
||||||
{% if proxify %}
|
<small>{{ result_link(proxify(result.url), icon('sort') + _('proxied'), "text-info") }}</small>
|
||||||
<small>{{ result_link(proxify(result.url), icon('sort') + _('proxied'), "text-info") }}</small>
|
{% endif %}
|
||||||
{% endif %}
|
</div>
|
||||||
</div>
|
<div class="external-link">{{ result.pretty_url }}</div>
|
||||||
<div class="external-link">{{ result.pretty_url }}</div>
|
{%- endmacro %}
|
||||||
{%- endmacro %}
|
|
||||||
|
<!-- Draw result footer -->
|
||||||
<!-- Draw result footer -->
|
{% macro result_footer_rtl(result) -%}
|
||||||
{% macro result_footer_rtl(result) -%}
|
<div class="clearfix"></div>
|
||||||
<div class="clearfix"></div>
|
{% for engine in result.engines %}
|
||||||
{% for engine in result.engines %}
|
<span class="label label-default">{{ engine }}</span>
|
||||||
<span class="label label-default">{{ engine }}</span>
|
{% endfor %}
|
||||||
{% endfor %}
|
<small>{{ result_link("https://web.archive.org/web/" + result.url, icon('link') + _('cached'), "text-info") }}</small>
|
||||||
<small>{{ result_link("https://web.archive.org/web/" + result.url, icon('link') + _('cached'), "text-info") }}</small>
|
{% if proxify %}
|
||||||
{% if proxify %}
|
<small>{{ result_link(proxify(result.url), icon('sort') + _('proxied'), "text-info") }}</small>
|
||||||
<small>{{ result_link(proxify(result.url), icon('sort') + _('proxied'), "text-info") }}</small>
|
{% endif %}
|
||||||
{% endif %}
|
<div class="external-link">{{ result.pretty_url }}</div>
|
||||||
<div class="external-link">{{ result.pretty_url }}</div>
|
{%- endmacro %}
|
||||||
{%- endmacro %}
|
|
||||||
|
{% macro preferences_item_header(info, label, rtl) -%}
|
||||||
{% macro preferences_item_header(info, label, rtl) -%}
|
{% if rtl %}
|
||||||
{% if rtl %}
|
<div class="row form-group">
|
||||||
<div class="row form-group">
|
<label class="col-sm-3 col-md-2 pull-right">{{ label }}</label>
|
||||||
<label class="col-sm-3 col-md-2 pull-right">{{ label }}</label>
|
<span class="col-sm-5 col-md-6 help-block pull-left">{{ info }}</span>
|
||||||
<span class="col-sm-5 col-md-6 help-block pull-left">{{ info }}</span>
|
<div class="col-sm-4 col-md-4">
|
||||||
<div class="col-sm-4 col-md-4">
|
{% else %}
|
||||||
{% else %}
|
<div class="row form-group">
|
||||||
<div class="row form-group">
|
<label class="col-sm-3 col-md-2">{{ label }}</label>
|
||||||
<label class="col-sm-3 col-md-2">{{ label }}</label>
|
<div class="col-sm-4 col-md-4">
|
||||||
<div class="col-sm-4 col-md-4">
|
{% endif %}
|
||||||
{% endif %}
|
{%- endmacro %}
|
||||||
{%- endmacro %}
|
|
||||||
|
{% macro preferences_item_footer(info, label, rtl) -%}
|
||||||
{% macro preferences_item_footer(info, label, rtl) -%}
|
{% if rtl %}
|
||||||
{% if rtl %}
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{% else %}
|
||||||
{% else %}
|
</div>
|
||||||
</div>
|
<span class="col-sm-5 col-md-6 help-block">{{ info }}</span>
|
||||||
<span class="col-sm-5 col-md-6 help-block">{{ info }}</span>
|
</div>
|
||||||
</div>
|
{% endif %}
|
||||||
{% endif %}
|
{%- endmacro %}
|
||||||
{%- endmacro %}
|
|
||||||
|
{% macro checkbox_toggle(id, blocked) -%}
|
||||||
{% macro checkbox_toggle(id, blocked) -%}
|
<div class="onoffswitch">
|
||||||
<div class="onoffswitch">
|
<input type="checkbox" id="{{ id }}" name="{{ id }}"{% if blocked %} checked="checked"{% endif %} class="onoffswitch-checkbox">
|
||||||
<input type="checkbox" id="{{ id }}" name="{{ id }}"{% if blocked %} checked="checked"{% endif %} class="onoffswitch-checkbox">
|
<label class="onoffswitch-label" for="{{ id }}">
|
||||||
<label class="onoffswitch-label" for="{{ id }}">
|
<span class="onoffswitch-inner"></span>
|
||||||
<span class="onoffswitch-inner"></span>
|
<span class="onoffswitch-switch"></span>
|
||||||
<span class="onoffswitch-switch"></span>
|
</label>
|
||||||
</label>
|
</div>
|
||||||
</div>
|
{%- endmacro %}
|
||||||
{%- endmacro %}
|
|
||||||
|
{% macro support_toggle(supports) -%}
|
||||||
|
{% if supports %}
|
||||||
|
<span class="label label-success">
|
||||||
|
{{ _("supported") }}
|
||||||
|
</span>
|
||||||
|
{% else %}
|
||||||
|
<span class="label label-danger">
|
||||||
|
{{ _("not supported") }}
|
||||||
|
</span>
|
||||||
|
{% endif %}
|
||||||
|
{%- endmacro %}
|
||||||
|
Binary file not shown.
@ -1,844 +0,0 @@
|
|||||||
# Translations template for PROJECT.
|
|
||||||
# Copyright (C) 2016 ORGANIZATION
|
|
||||||
# This file is distributed under the same license as the PROJECT project.
|
|
||||||
#
|
|
||||||
# Translators:
|
|
||||||
# Bamstam, 2016-2017
|
|
||||||
# Benjamin Richter <benjamin@hacktherack.de>, 2015
|
|
||||||
# cy8aer <cybaer42@web.de>, 2016-2017
|
|
||||||
msgid ""
|
|
||||||
msgstr ""
|
|
||||||
"Project-Id-Version: searx\n"
|
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
|
||||||
"POT-Creation-Date: 2016-12-29 10:42+0100\n"
|
|
||||||
"PO-Revision-Date: 2017-05-19 20:17+0000\n"
|
|
||||||
"Last-Translator: cy8aer <cybaer42@web.de>\n"
|
|
||||||
"Language-Team: German (Germany) (http://www.transifex.com/asciimoo/searx/language/de_DE/)\n"
|
|
||||||
"MIME-Version: 1.0\n"
|
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
|
||||||
"Generated-By: Babel 2.3.4\n"
|
|
||||||
"Language: de_DE\n"
|
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
||||||
|
|
||||||
#: searx/webapp.py:123
|
|
||||||
msgid "files"
|
|
||||||
msgstr "Dateien"
|
|
||||||
|
|
||||||
#: searx/webapp.py:124
|
|
||||||
msgid "general"
|
|
||||||
msgstr "Allgemein"
|
|
||||||
|
|
||||||
#: searx/webapp.py:125
|
|
||||||
msgid "music"
|
|
||||||
msgstr "Musik"
|
|
||||||
|
|
||||||
#: searx/webapp.py:126
|
|
||||||
msgid "social media"
|
|
||||||
msgstr "Soziale Medien"
|
|
||||||
|
|
||||||
#: searx/webapp.py:127
|
|
||||||
msgid "images"
|
|
||||||
msgstr "Fotos"
|
|
||||||
|
|
||||||
#: searx/webapp.py:128
|
|
||||||
msgid "videos"
|
|
||||||
msgstr "Videos"
|
|
||||||
|
|
||||||
#: searx/webapp.py:129
|
|
||||||
msgid "it"
|
|
||||||
msgstr "IT"
|
|
||||||
|
|
||||||
#: searx/webapp.py:130
|
|
||||||
msgid "news"
|
|
||||||
msgstr "Nachrichten"
|
|
||||||
|
|
||||||
#: searx/webapp.py:131
|
|
||||||
msgid "map"
|
|
||||||
msgstr "Karten"
|
|
||||||
|
|
||||||
#: searx/webapp.py:132
|
|
||||||
msgid "science"
|
|
||||||
msgstr "Wissenschaft"
|
|
||||||
|
|
||||||
#: searx/webapp.py:384 searx/webapp.py:594
|
|
||||||
msgid "Invalid settings, please edit your preferences"
|
|
||||||
msgstr "Ungültige Auswahl, bitte überprüfen Sie die Einstellungen"
|
|
||||||
|
|
||||||
#: searx/webapp.py:425
|
|
||||||
msgid "search error"
|
|
||||||
msgstr "Fehler bei der Suche"
|
|
||||||
|
|
||||||
#: searx/webapp.py:467
|
|
||||||
msgid "{minutes} minute(s) ago"
|
|
||||||
msgstr "vor {minutes} Minute(n)"
|
|
||||||
|
|
||||||
#: searx/webapp.py:469
|
|
||||||
msgid "{hours} hour(s), {minutes} minute(s) ago"
|
|
||||||
msgstr "vor {hours} Stunde(n). {minutes} Minute(n)"
|
|
||||||
|
|
||||||
#: searx/answerers/random/answerer.py:48
|
|
||||||
msgid "Random value generator"
|
|
||||||
msgstr "Zufallswertgenerator"
|
|
||||||
|
|
||||||
#: searx/answerers/random/answerer.py:49
|
|
||||||
msgid "Generate different random values"
|
|
||||||
msgstr "Zufallswerte generieren"
|
|
||||||
|
|
||||||
#: searx/answerers/statistics/answerer.py:49
|
|
||||||
msgid "Statistics functions"
|
|
||||||
msgstr "Statistik-Funktionen"
|
|
||||||
|
|
||||||
#: searx/answerers/statistics/answerer.py:50
|
|
||||||
msgid "Compute {functions} of the arguments"
|
|
||||||
msgstr "{functions} der Argumente berechnen"
|
|
||||||
|
|
||||||
#: searx/engines/__init__.py:192
|
|
||||||
msgid "Engine time (sec)"
|
|
||||||
msgstr "Zeitbedarf (s)"
|
|
||||||
|
|
||||||
#: searx/engines/__init__.py:196
|
|
||||||
msgid "Page loads (sec)"
|
|
||||||
msgstr "Ladezeit (s)"
|
|
||||||
|
|
||||||
#: searx/engines/__init__.py:200 searx/templates/oscar/results.html:88
|
|
||||||
msgid "Number of results"
|
|
||||||
msgstr "Anzahl Ergebnisse"
|
|
||||||
|
|
||||||
#: searx/engines/__init__.py:204
|
|
||||||
msgid "Scores"
|
|
||||||
msgstr "Punktwerte"
|
|
||||||
|
|
||||||
#: searx/engines/__init__.py:208
|
|
||||||
msgid "Scores per result"
|
|
||||||
msgstr "Punktwerte pro Ergebnis"
|
|
||||||
|
|
||||||
#: searx/engines/__init__.py:212
|
|
||||||
msgid "Errors"
|
|
||||||
msgstr "Fehler"
|
|
||||||
|
|
||||||
#: searx/engines/pdbe.py:87
|
|
||||||
msgid "{title} (OBSOLETE)"
|
|
||||||
msgstr "{title} (OBSOLET)"
|
|
||||||
|
|
||||||
#: searx/engines/pdbe.py:91
|
|
||||||
msgid "This entry has been superseded by"
|
|
||||||
msgstr "Dieser Eintrag wurde ersetzt durch"
|
|
||||||
|
|
||||||
#: searx/plugins/doai_rewrite.py:7
|
|
||||||
msgid "DOAI rewrite"
|
|
||||||
msgstr "DOAI-Umgehung"
|
|
||||||
|
|
||||||
#: searx/plugins/doai_rewrite.py:8
|
|
||||||
msgid ""
|
|
||||||
"Avoid paywalls by redirecting to open-access versions of publications when "
|
|
||||||
"available"
|
|
||||||
msgstr "Paywalls umgehen, indem wenn möglich auf Open-Access-Versionen von Publikationen umgeleitet wird"
|
|
||||||
|
|
||||||
#: searx/plugins/https_rewrite.py:29
|
|
||||||
msgid "Rewrite HTTP links to HTTPS if possible"
|
|
||||||
msgstr "Umschreiben von HTTP-Links nach HTTPS, wenn möglich"
|
|
||||||
|
|
||||||
#: searx/plugins/infinite_scroll.py:3
|
|
||||||
msgid "Infinite scroll"
|
|
||||||
msgstr "Unbegrenztes Scrollen"
|
|
||||||
|
|
||||||
#: searx/plugins/infinite_scroll.py:4
|
|
||||||
msgid "Automatically load next page when scrolling to bottom of current page"
|
|
||||||
msgstr "Nächste Seite automatisch laden, wenn zum Seitenende gescrollt wird"
|
|
||||||
|
|
||||||
#: searx/plugins/open_results_on_new_tab.py:18
|
|
||||||
#: searx/templates/oscar/preferences.html:113
|
|
||||||
msgid "Open result links on new browser tabs"
|
|
||||||
msgstr "Öffne Links in einem neuen Browser-Tab"
|
|
||||||
|
|
||||||
#: searx/plugins/open_results_on_new_tab.py:19
|
|
||||||
msgid ""
|
|
||||||
"Results are opened in the same window by default. This plugin overwrites the"
|
|
||||||
" default behaviour to open links on new tabs/windows. (JavaScript required)"
|
|
||||||
msgstr "Suchergebnisse werden standardmäßig im gleichen Fenster geöffnet. Dieses Plug-in überschreibt dieses Standardverhalten und öffnet Links in neuen Tabs/Fenstern (benötigt JavaScript)."
|
|
||||||
|
|
||||||
#: searx/plugins/search_on_category_select.py:18
|
|
||||||
msgid "Search on category select"
|
|
||||||
msgstr "Suchen nach Kategorie"
|
|
||||||
|
|
||||||
#: searx/plugins/search_on_category_select.py:19
|
|
||||||
msgid ""
|
|
||||||
"Perform search immediately if a category selected. Disable to select "
|
|
||||||
"multiple categories. (JavaScript required)"
|
|
||||||
msgstr "Suche sofort durchführen, wenn eine Kategorie ausgewählt wird. Deaktivieren Sie diese Option, um mehrere Kategorien auswählen zu können (benötigt JavaScript)."
|
|
||||||
|
|
||||||
#: searx/plugins/self_info.py:20
|
|
||||||
msgid ""
|
|
||||||
"Displays your IP if the query is \"ip\" and your user agent if the query "
|
|
||||||
"contains \"user agent\"."
|
|
||||||
msgstr "Zeigt Ihre IP-Adresse an, wenn \"ip\" als Suchanfrage eingegeben wird und den User Agent bzw. das verwendete Client-Programm, wenn die Suchanfrage den Ausdruck \"user agent\" enthält."
|
|
||||||
|
|
||||||
#: searx/plugins/tracker_url_remover.py:26
|
|
||||||
msgid "Tracker URL remover"
|
|
||||||
msgstr "Tracking-URLs bereinigen"
|
|
||||||
|
|
||||||
#: searx/plugins/tracker_url_remover.py:27
|
|
||||||
msgid "Remove trackers arguments from the returned URL"
|
|
||||||
msgstr "Tracker-Argumente der erhaltenen URL entfernen"
|
|
||||||
|
|
||||||
#: searx/plugins/vim_hotkeys.py:3
|
|
||||||
msgid "Vim-like hotkeys"
|
|
||||||
msgstr "Vim-ähnliche Hotkeys"
|
|
||||||
|
|
||||||
#: searx/plugins/vim_hotkeys.py:4
|
|
||||||
msgid ""
|
|
||||||
"Navigate search results with Vim-like hotkeys (JavaScript required). Press "
|
|
||||||
"\"h\" key on main or result page to get help."
|
|
||||||
msgstr "Durch Suchergebnisse navigieren mit Vim-ähnlichen Hotkeys (benötigt JavaScript). \"h\" drücken auf der Hauptseite oder der Ergebnisseite, um Hilfe zu erhalten."
|
|
||||||
|
|
||||||
#: searx/templates/courgette/404.html:4 searx/templates/legacy/404.html:4
|
|
||||||
#: searx/templates/oscar/404.html:4 searx/templates/pix-art/404.html:4
|
|
||||||
msgid "Page not found"
|
|
||||||
msgstr "Seite nicht gefunden"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
|
|
||||||
#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
|
|
||||||
#, python-format
|
|
||||||
msgid "Go to %(search_page)s."
|
|
||||||
msgstr "Gehe zu %(search_page)s."
|
|
||||||
|
|
||||||
#: searx/templates/courgette/404.html:6 searx/templates/legacy/404.html:6
|
|
||||||
#: searx/templates/oscar/404.html:6 searx/templates/pix-art/404.html:6
|
|
||||||
msgid "search page"
|
|
||||||
msgstr "Seite durchsuchen"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/index.html:9
|
|
||||||
#: searx/templates/courgette/index.html:13
|
|
||||||
#: searx/templates/courgette/results.html:5
|
|
||||||
#: searx/templates/legacy/index.html:8 searx/templates/legacy/index.html:12
|
|
||||||
#: searx/templates/oscar/navbar.html:12
|
|
||||||
#: searx/templates/oscar/preferences.html:3
|
|
||||||
#: searx/templates/pix-art/index.html:8
|
|
||||||
msgid "preferences"
|
|
||||||
msgstr "Einstellungen"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/index.html:11
|
|
||||||
#: searx/templates/legacy/index.html:10 searx/templates/oscar/about.html:2
|
|
||||||
#: searx/templates/oscar/navbar.html:11 searx/templates/pix-art/index.html:7
|
|
||||||
msgid "about"
|
|
||||||
msgstr "Über uns"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:5
|
|
||||||
#: searx/templates/legacy/preferences.html:5
|
|
||||||
#: searx/templates/oscar/preferences.html:7
|
|
||||||
#: searx/templates/pix-art/preferences.html:5
|
|
||||||
msgid "Preferences"
|
|
||||||
msgstr "Einstellungen"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:9
|
|
||||||
#: searx/templates/legacy/preferences.html:9
|
|
||||||
#: searx/templates/oscar/preferences.html:32
|
|
||||||
#: searx/templates/oscar/preferences.html:34
|
|
||||||
msgid "Default categories"
|
|
||||||
msgstr "Standardkategorien"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:13
|
|
||||||
#: searx/templates/legacy/preferences.html:14
|
|
||||||
#: searx/templates/oscar/preferences.html:40
|
|
||||||
#: searx/templates/pix-art/preferences.html:9
|
|
||||||
msgid "Search language"
|
|
||||||
msgstr "Suchsprache"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:16
|
|
||||||
#: searx/templates/legacy/preferences.html:17
|
|
||||||
#: searx/templates/oscar/languages.html:6
|
|
||||||
#: searx/templates/pix-art/preferences.html:12
|
|
||||||
msgid "Default language"
|
|
||||||
msgstr "Standardsprache"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:24
|
|
||||||
#: searx/templates/legacy/preferences.html:25
|
|
||||||
#: searx/templates/oscar/preferences.html:46
|
|
||||||
#: searx/templates/pix-art/preferences.html:20
|
|
||||||
msgid "Interface language"
|
|
||||||
msgstr "Sprache der Benutzeroberfläche"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:34
|
|
||||||
#: searx/templates/legacy/preferences.html:35
|
|
||||||
#: searx/templates/oscar/preferences.html:56
|
|
||||||
msgid "Autocomplete"
|
|
||||||
msgstr "Autovervollständigen"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:45
|
|
||||||
#: searx/templates/legacy/preferences.html:46
|
|
||||||
#: searx/templates/oscar/preferences.html:67
|
|
||||||
msgid "Image proxy"
|
|
||||||
msgstr "Proxy-Server für Bilder"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:48
|
|
||||||
#: searx/templates/legacy/preferences.html:49
|
|
||||||
#: searx/templates/oscar/preferences.html:71
|
|
||||||
msgid "Enabled"
|
|
||||||
msgstr "Aktiviert"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:49
|
|
||||||
#: searx/templates/legacy/preferences.html:50
|
|
||||||
#: searx/templates/oscar/preferences.html:72
|
|
||||||
msgid "Disabled"
|
|
||||||
msgstr "Deaktiviert"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:54
|
|
||||||
#: searx/templates/legacy/preferences.html:55
|
|
||||||
#: searx/templates/oscar/preferences.html:76
|
|
||||||
#: searx/templates/pix-art/preferences.html:30
|
|
||||||
msgid "Method"
|
|
||||||
msgstr "Methode"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:63
|
|
||||||
#: searx/templates/legacy/preferences.html:64
|
|
||||||
#: searx/templates/oscar/preferences.html:85
|
|
||||||
#: searx/templates/oscar/preferences.html:152
|
|
||||||
#: searx/templates/oscar/preferences.html:159
|
|
||||||
msgid "SafeSearch"
|
|
||||||
msgstr "SafeSearch"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:66
|
|
||||||
#: searx/templates/legacy/preferences.html:67
|
|
||||||
#: searx/templates/oscar/preferences.html:89
|
|
||||||
msgid "Strict"
|
|
||||||
msgstr "Streng"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:67
|
|
||||||
#: searx/templates/legacy/preferences.html:68
|
|
||||||
#: searx/templates/oscar/preferences.html:90
|
|
||||||
msgid "Moderate"
|
|
||||||
msgstr "Moderat"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:68
|
|
||||||
#: searx/templates/legacy/preferences.html:69
|
|
||||||
#: searx/templates/oscar/preferences.html:91
|
|
||||||
msgid "None"
|
|
||||||
msgstr "Keine"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:73
|
|
||||||
#: searx/templates/legacy/preferences.html:74
|
|
||||||
#: searx/templates/oscar/preferences.html:95
|
|
||||||
#: searx/templates/pix-art/preferences.html:39
|
|
||||||
msgid "Themes"
|
|
||||||
msgstr "Oberflächen"
|
|
||||||
|
|
||||||
#: 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 "Türkis"
|
|
||||||
|
|
||||||
#: 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/legacy/preferences.html:93
|
|
||||||
#: searx/templates/pix-art/preferences.html:49
|
|
||||||
msgid "Currently used search engines"
|
|
||||||
msgstr "Momentan genutzte Suchmaschinen"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:100
|
|
||||||
#: searx/templates/legacy/preferences.html:97
|
|
||||||
#: searx/templates/oscar/preferences.html:149
|
|
||||||
#: searx/templates/oscar/preferences.html:162
|
|
||||||
#: searx/templates/pix-art/preferences.html:53
|
|
||||||
msgid "Engine name"
|
|
||||||
msgstr "Suchmaschinen-Name"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:101
|
|
||||||
#: searx/templates/legacy/preferences.html:98
|
|
||||||
msgid "Category"
|
|
||||||
msgstr "Kategorie"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:102
|
|
||||||
#: searx/templates/courgette/preferences.html:113
|
|
||||||
#: searx/templates/legacy/preferences.html:99
|
|
||||||
#: searx/templates/legacy/preferences.html:110
|
|
||||||
#: searx/templates/oscar/preferences.html:148
|
|
||||||
#: searx/templates/oscar/preferences.html:163
|
|
||||||
#: searx/templates/pix-art/preferences.html:54
|
|
||||||
#: searx/templates/pix-art/preferences.html:64
|
|
||||||
msgid "Allow"
|
|
||||||
msgstr "Zulassen"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:102
|
|
||||||
#: searx/templates/courgette/preferences.html:114
|
|
||||||
#: searx/templates/legacy/preferences.html:99
|
|
||||||
#: searx/templates/legacy/preferences.html:111
|
|
||||||
#: searx/templates/pix-art/preferences.html:54
|
|
||||||
#: searx/templates/pix-art/preferences.html:65
|
|
||||||
msgid "Block"
|
|
||||||
msgstr "Blockieren"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:122
|
|
||||||
#: searx/templates/legacy/preferences.html:119
|
|
||||||
#: searx/templates/oscar/preferences.html:282
|
|
||||||
#: searx/templates/pix-art/preferences.html:73
|
|
||||||
msgid ""
|
|
||||||
"These settings are stored in your cookies, this allows us not to store this "
|
|
||||||
"data about you."
|
|
||||||
msgstr "Diese Einstellungen werden in Ihren Cookies gespeichert, deshalb müssen wir diese persönlichen Daten nicht bei uns speichern."
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:124
|
|
||||||
#: searx/templates/legacy/preferences.html:121
|
|
||||||
#: searx/templates/oscar/preferences.html:284
|
|
||||||
#: searx/templates/pix-art/preferences.html:75
|
|
||||||
msgid ""
|
|
||||||
"These cookies serve your sole convenience, we don't use these cookies to "
|
|
||||||
"track you."
|
|
||||||
msgstr "Diese Cookies ermöglichen lediglich eine komfortablere Nutzung, wir verwenden diese Cookies nicht, um Sie zu tracken."
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:127
|
|
||||||
#: searx/templates/legacy/preferences.html:124
|
|
||||||
#: searx/templates/oscar/preferences.html:287
|
|
||||||
#: searx/templates/pix-art/preferences.html:78
|
|
||||||
msgid "save"
|
|
||||||
msgstr "speichern"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:128
|
|
||||||
#: searx/templates/legacy/preferences.html:125
|
|
||||||
#: searx/templates/oscar/preferences.html:289
|
|
||||||
msgid "Reset defaults"
|
|
||||||
msgstr "Voreinstellungen wiederherstellen"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/preferences.html:129
|
|
||||||
#: searx/templates/legacy/preferences.html:126
|
|
||||||
#: searx/templates/oscar/preferences.html:288
|
|
||||||
#: searx/templates/pix-art/preferences.html:79
|
|
||||||
msgid "back"
|
|
||||||
msgstr "zurück"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/results.html:12
|
|
||||||
#: searx/templates/legacy/results.html:13
|
|
||||||
#: searx/templates/oscar/results.html:124
|
|
||||||
msgid "Search URL"
|
|
||||||
msgstr "Such-URL"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/results.html:16
|
|
||||||
#: searx/templates/legacy/results.html:17
|
|
||||||
#: searx/templates/oscar/results.html:129
|
|
||||||
msgid "Download results"
|
|
||||||
msgstr "Suchergebnisse herunterladen"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/results.html:34
|
|
||||||
#: searx/templates/legacy/results.html:35
|
|
||||||
msgid "Answers"
|
|
||||||
msgstr "Antworten"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/results.html:42
|
|
||||||
#: searx/templates/legacy/results.html:43
|
|
||||||
#: searx/templates/oscar/results.html:104
|
|
||||||
msgid "Suggestions"
|
|
||||||
msgstr "Vorschläge"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/results.html:70
|
|
||||||
#: searx/templates/legacy/results.html:81
|
|
||||||
#: searx/templates/oscar/results.html:53 searx/templates/oscar/results.html:66
|
|
||||||
msgid "previous page"
|
|
||||||
msgstr "vorherige Seite"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/results.html:81
|
|
||||||
#: searx/templates/legacy/results.html:92
|
|
||||||
#: searx/templates/oscar/results.html:45 searx/templates/oscar/results.html:75
|
|
||||||
msgid "next page"
|
|
||||||
msgstr "nächste Seite"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/search.html:3
|
|
||||||
#: searx/templates/legacy/search.html:3 searx/templates/oscar/search.html:4
|
|
||||||
#: searx/templates/oscar/search_full.html:9
|
|
||||||
#: searx/templates/pix-art/search.html:3
|
|
||||||
msgid "Search for..."
|
|
||||||
msgstr "Suchen nach ..."
|
|
||||||
|
|
||||||
#: searx/templates/courgette/stats.html:4 searx/templates/legacy/stats.html:4
|
|
||||||
#: searx/templates/oscar/stats.html:5 searx/templates/pix-art/stats.html:4
|
|
||||||
msgid "Engine stats"
|
|
||||||
msgstr "Suchmaschinen-Statistiken"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/result_templates/images.html:4
|
|
||||||
#: searx/templates/legacy/result_templates/images.html:4
|
|
||||||
#: searx/templates/pix-art/result_templates/images.html:4
|
|
||||||
msgid "original context"
|
|
||||||
msgstr "Ursprünglicher Kontext"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/result_templates/torrent.html:7
|
|
||||||
#: searx/templates/legacy/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/legacy/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/legacy/result_templates/torrent.html:9
|
|
||||||
#: searx/templates/oscar/macros.html:24
|
|
||||||
msgid "magnet link"
|
|
||||||
msgstr "Magnet-Link"
|
|
||||||
|
|
||||||
#: searx/templates/courgette/result_templates/torrent.html:10
|
|
||||||
#: searx/templates/legacy/result_templates/torrent.html:10
|
|
||||||
#: searx/templates/oscar/macros.html:25
|
|
||||||
msgid "torrent file"
|
|
||||||
msgstr "Torrent-Datei"
|
|
||||||
|
|
||||||
#: searx/templates/legacy/categories.html:8
|
|
||||||
msgid "Click on the magnifier to perform search"
|
|
||||||
msgstr "Klicken Sie auf das Vergrößerungsglas, um die Suche zu starten"
|
|
||||||
|
|
||||||
#: searx/templates/legacy/preferences.html:84
|
|
||||||
#: searx/templates/oscar/preferences.html:112
|
|
||||||
msgid "Results on new tabs"
|
|
||||||
msgstr "Ergebnisse in neuen Tabs"
|
|
||||||
|
|
||||||
#: searx/templates/legacy/preferences.html:87
|
|
||||||
#: searx/templates/oscar/preferences.html:116
|
|
||||||
msgid "On"
|
|
||||||
msgstr "An"
|
|
||||||
|
|
||||||
#: searx/templates/legacy/preferences.html:88
|
|
||||||
#: searx/templates/oscar/preferences.html:117
|
|
||||||
msgid "Off"
|
|
||||||
msgstr "Aus"
|
|
||||||
|
|
||||||
#: searx/templates/legacy/result_templates/code.html:3
|
|
||||||
#: searx/templates/legacy/result_templates/default.html:3
|
|
||||||
#: searx/templates/legacy/result_templates/map.html:9
|
|
||||||
#: searx/templates/oscar/macros.html:35 searx/templates/oscar/macros.html:49
|
|
||||||
msgid "cached"
|
|
||||||
msgstr "im Cache"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/advanced.html:4
|
|
||||||
msgid "Advanced settings"
|
|
||||||
msgstr "Erweiterte Einstellungen"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/base.html:62
|
|
||||||
#: 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 "Schließen"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/base.html:64
|
|
||||||
msgid "Error!"
|
|
||||||
msgstr "Fehler!"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/base.html:90
|
|
||||||
msgid "Powered by"
|
|
||||||
msgstr "Bereitgestellt von"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/base.html:90
|
|
||||||
msgid "a privacy-respecting, hackable metasearch engine"
|
|
||||||
msgstr "eine die Privatsphäre respektierende, hackbare Meta-Suchmaschine"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/macros.html:37 searx/templates/oscar/macros.html:51
|
|
||||||
msgid "proxied"
|
|
||||||
msgstr "via Proxy-Server"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:12
|
|
||||||
#: searx/templates/oscar/preferences.html:21
|
|
||||||
msgid "General"
|
|
||||||
msgstr "Allgemein"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:13
|
|
||||||
#: searx/templates/oscar/preferences.html:133
|
|
||||||
msgid "Engines"
|
|
||||||
msgstr "Suchmaschinen"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:14
|
|
||||||
#: searx/templates/oscar/preferences.html:204
|
|
||||||
msgid "Plugins"
|
|
||||||
msgstr "Plug-ins"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:15
|
|
||||||
#: searx/templates/oscar/preferences.html:230
|
|
||||||
msgid "Answerers"
|
|
||||||
msgstr "Instant Answers/Sofortantworten"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:16
|
|
||||||
#: searx/templates/oscar/preferences.html:257
|
|
||||||
msgid "Cookies"
|
|
||||||
msgstr "Cookies"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:41
|
|
||||||
msgid "What language do you prefer for search?"
|
|
||||||
msgstr "Welche Sprache möchten Sie für die Suche verwenden?"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:47
|
|
||||||
msgid "Change the language of the layout"
|
|
||||||
msgstr "Sprache des Layouts ändern"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:57
|
|
||||||
msgid "Find stuff as you type"
|
|
||||||
msgstr "Bereits während der Eingabe suchen"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:68
|
|
||||||
msgid "Proxying image results through searx"
|
|
||||||
msgstr "Bilder-Suchergebnisse über den searx-Proxy-Server laden"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:77
|
|
||||||
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 "HTTP-Anfragemethode ändern <a href=\"https://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol#HTTP-Anfragemethoden\" rel=\"external\">(weiterführende Informationen zu HTTP-Anfragemethoden)</a>"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:86
|
|
||||||
msgid "Filter content"
|
|
||||||
msgstr "Inhalte filtern"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:96
|
|
||||||
msgid "Change searx layout"
|
|
||||||
msgstr "searx-Layout ändern"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:105
|
|
||||||
#: searx/templates/oscar/preferences.html:110
|
|
||||||
msgid "Choose style for this theme"
|
|
||||||
msgstr "Stilrichtung für diese Benutzeroberfläche auswählen"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:105
|
|
||||||
#: searx/templates/oscar/preferences.html:110
|
|
||||||
msgid "Style"
|
|
||||||
msgstr "Stilrichtung"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:150
|
|
||||||
#: searx/templates/oscar/preferences.html:161
|
|
||||||
msgid "Shortcut"
|
|
||||||
msgstr "Kürzel"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:151
|
|
||||||
#: searx/templates/oscar/preferences.html:160
|
|
||||||
msgid "Supports selected language"
|
|
||||||
msgstr "Unterstützt die ausgewähle Sprache"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:153
|
|
||||||
msgid "Time range"
|
|
||||||
msgstr "Zeitraum"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:154
|
|
||||||
#: searx/templates/oscar/preferences.html:158
|
|
||||||
msgid "Avg. time"
|
|
||||||
msgstr "Durchschn. Zeit"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:155
|
|
||||||
#: searx/templates/oscar/preferences.html:157
|
|
||||||
msgid "Max time"
|
|
||||||
msgstr "Maximale Zeit"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:233
|
|
||||||
msgid "This is the list of searx's instant answering modules."
|
|
||||||
msgstr "Auflistung der searx-Module für Sofortantworten:"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:237
|
|
||||||
msgid "Name"
|
|
||||||
msgstr "Name"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:238
|
|
||||||
msgid "Keywords"
|
|
||||||
msgstr "Schlüsselwörter"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:239
|
|
||||||
msgid "Description"
|
|
||||||
msgstr "Beschreibung"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:240
|
|
||||||
msgid "Examples"
|
|
||||||
msgstr "Beispiele"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:260
|
|
||||||
msgid ""
|
|
||||||
"This is the list of cookies and their values searx is storing on your "
|
|
||||||
"computer."
|
|
||||||
msgstr "Hier werden die Cookies und die gespeicherten Cookie-Informationen aufgelistet, die searx auf Ihrem Computer speichert."
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:261
|
|
||||||
msgid "With that list, you can assess searx transparency."
|
|
||||||
msgstr "Mit Hilfe dieser Auflistung können Sie die Transparenz der searx-Suche einschätzen."
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:266
|
|
||||||
msgid "Cookie name"
|
|
||||||
msgstr "Cookie-Name"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/preferences.html:267
|
|
||||||
msgid "Value"
|
|
||||||
msgstr "Wert"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/results.html:7
|
|
||||||
msgid "Search results"
|
|
||||||
msgstr "Durchsuche Ergebnisse"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/results.html:119
|
|
||||||
msgid "Links"
|
|
||||||
msgstr "Links"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/search.html:6
|
|
||||||
#: searx/templates/oscar/search_full.html:11
|
|
||||||
msgid "Start search"
|
|
||||||
msgstr "Suche starten"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/stats.html:2
|
|
||||||
msgid "stats"
|
|
||||||
msgstr "Statistiken"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/time-range.html:3
|
|
||||||
msgid "Anytime"
|
|
||||||
msgstr "Beliebiger Zeitunkt"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/time-range.html:6
|
|
||||||
msgid "Last day"
|
|
||||||
msgstr "Gestern"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/time-range.html:9
|
|
||||||
msgid "Last week"
|
|
||||||
msgstr "Letzte Woche"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/time-range.html:12
|
|
||||||
msgid "Last month"
|
|
||||||
msgstr "Letzter Monat"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/time-range.html:15
|
|
||||||
msgid "Last year"
|
|
||||||
msgstr "Letztes Jahr"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/messages/first_time.html:6
|
|
||||||
#: searx/templates/oscar/messages/no_data_available.html:3
|
|
||||||
msgid "Heads up!"
|
|
||||||
msgstr "Aufgepasst!"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/messages/first_time.html:7
|
|
||||||
msgid "It look like you are using searx first time."
|
|
||||||
msgstr "Anscheinend benutzen Sie searx zum ersten Mal."
|
|
||||||
|
|
||||||
#: searx/templates/oscar/messages/no_cookies.html:3
|
|
||||||
msgid "Information!"
|
|
||||||
msgstr "Zur Information!"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/messages/no_cookies.html:4
|
|
||||||
msgid "currently, there are no cookies defined."
|
|
||||||
msgstr "Zur Zeit sind keine Cookies definiert."
|
|
||||||
|
|
||||||
#: searx/templates/oscar/messages/no_data_available.html:4
|
|
||||||
msgid "There is currently no data available. "
|
|
||||||
msgstr "Zur Zeit sind keine Daten verfügbar."
|
|
||||||
|
|
||||||
#: searx/templates/oscar/messages/no_results.html:7
|
|
||||||
msgid "Sorry!"
|
|
||||||
msgstr "Entschuldigung!"
|
|
||||||
|
|
||||||
#: 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 "Leider konnten wir keine Suchergebnisse finden. Bitte verwenden Sie eine andere Suchabfrage oder erweitern Sie die Suche auf mehr Kategorien."
|
|
||||||
|
|
||||||
#: searx/templates/oscar/messages/save_settings_successfull.html:7
|
|
||||||
msgid "Well done!"
|
|
||||||
msgstr "Gut gemacht!"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/messages/save_settings_successfull.html:8
|
|
||||||
msgid "Settings saved successfully."
|
|
||||||
msgstr "Einstellungen erfolgreich gespeichert."
|
|
||||||
|
|
||||||
#: searx/templates/oscar/messages/unknow_error.html:7
|
|
||||||
msgid "Oh snap!"
|
|
||||||
msgstr "Hoppla!"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/messages/unknow_error.html:8
|
|
||||||
msgid "Something went wrong."
|
|
||||||
msgstr "Ein Fehler ist aufgetreten."
|
|
||||||
|
|
||||||
#: searx/templates/oscar/result_templates/default.html:7
|
|
||||||
msgid "show media"
|
|
||||||
msgstr "Medien anzeigen"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/result_templates/default.html:7
|
|
||||||
msgid "hide media"
|
|
||||||
msgstr "Medien verbergen"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/result_templates/images.html:30
|
|
||||||
msgid "Get image"
|
|
||||||
msgstr "Bild herunterladen"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/result_templates/images.html:33
|
|
||||||
msgid "View source"
|
|
||||||
msgstr "Quelle anzeigen"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/result_templates/map.html:7
|
|
||||||
msgid "show map"
|
|
||||||
msgstr "Karte anzeigen"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/result_templates/map.html:7
|
|
||||||
msgid "hide map"
|
|
||||||
msgstr "Karte verbergen"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/result_templates/map.html:11
|
|
||||||
msgid "show details"
|
|
||||||
msgstr "Details anzeigen"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/result_templates/map.html:11
|
|
||||||
msgid "hide details"
|
|
||||||
msgstr "Details verbergen"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/result_templates/torrent.html:7
|
|
||||||
msgid "Filesize"
|
|
||||||
msgstr "Dateigröße"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/result_templates/torrent.html:9
|
|
||||||
msgid "Bytes"
|
|
||||||
msgstr "Bytes"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/result_templates/torrent.html:10
|
|
||||||
msgid "kiB"
|
|
||||||
msgstr "kiB"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/result_templates/torrent.html:11
|
|
||||||
msgid "MiB"
|
|
||||||
msgstr "MiB"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/result_templates/torrent.html:12
|
|
||||||
msgid "GiB"
|
|
||||||
msgstr "GiB"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/result_templates/torrent.html:13
|
|
||||||
msgid "TiB"
|
|
||||||
msgstr "TiB"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/result_templates/torrent.html:15
|
|
||||||
msgid "Number of Files"
|
|
||||||
msgstr "Anzahl Dateien"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/result_templates/videos.html:7
|
|
||||||
msgid "show video"
|
|
||||||
msgstr "Video anzeigen"
|
|
||||||
|
|
||||||
#: searx/templates/oscar/result_templates/videos.html:7
|
|
||||||
msgid "hide video"
|
|
||||||
msgstr "Video verbergen"
|
|
||||||
|
|
||||||
#: searx/templates/pix-art/results.html:28
|
|
||||||
msgid "Load more..."
|
|
||||||
msgstr "Mehr anzeigen ..."
|
|
@ -0,0 +1,91 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from collections import defaultdict
|
||||||
|
import mock
|
||||||
|
from searx.engines import base
|
||||||
|
from searx.testing import SearxTestCase
|
||||||
|
|
||||||
|
|
||||||
|
class TestBaseEngine(SearxTestCase):
|
||||||
|
|
||||||
|
def test_request(self):
|
||||||
|
query = 'test_query'
|
||||||
|
dicto = defaultdict(dict)
|
||||||
|
dicto['pageno'] = 1
|
||||||
|
params = base.request(query, dicto)
|
||||||
|
self.assertIn('url', params)
|
||||||
|
self.assertIn('base-search.net', params['url'])
|
||||||
|
|
||||||
|
def test_response(self):
|
||||||
|
self.assertRaises(AttributeError, base.response, None)
|
||||||
|
self.assertRaises(AttributeError, base.response, [])
|
||||||
|
self.assertRaises(AttributeError, base.response, '')
|
||||||
|
self.assertRaises(AttributeError, base.response, '[]')
|
||||||
|
|
||||||
|
response = mock.Mock(text='<response></response>')
|
||||||
|
self.assertEqual(base.response(response), [])
|
||||||
|
|
||||||
|
xml_mock = """<?xml version="1.0"?>
|
||||||
|
<response>
|
||||||
|
<lst name="responseHeader">
|
||||||
|
<int name="status">0</int>
|
||||||
|
<int name="QTime">1</int>
|
||||||
|
</lst>
|
||||||
|
<result name="response" numFound="1" start="0">
|
||||||
|
<doc>
|
||||||
|
<date name="dchdate">2000-01-01T01:01:01Z</date>
|
||||||
|
<str name="dcdocid">1</str>
|
||||||
|
<str name="dccontinent">cna</str>
|
||||||
|
<str name="dccountry">us</str>
|
||||||
|
<str name="dccollection">ftciteseerx</str>
|
||||||
|
<str name="dcprovider">CiteSeerX</str>
|
||||||
|
<str name="dctitle">Science and more</str>
|
||||||
|
<arr name="dccreator">
|
||||||
|
<str>Someone</str>
|
||||||
|
</arr>
|
||||||
|
<arr name="dcperson">
|
||||||
|
<str>Someone</str>
|
||||||
|
</arr>
|
||||||
|
<arr name="dcsubject">
|
||||||
|
<str>Science and more</str>
|
||||||
|
</arr>
|
||||||
|
<str name="dcdescription">Science, and even more.</str>
|
||||||
|
<arr name="dccontributor">
|
||||||
|
<str>The neighbour</str>
|
||||||
|
</arr>
|
||||||
|
<str name="dcdate">2001</str>
|
||||||
|
<int name="dcyear">2001</int>
|
||||||
|
<arr name="dctype">
|
||||||
|
<str>text</str>
|
||||||
|
</arr>
|
||||||
|
<arr name="dctypenorm">
|
||||||
|
<str>1</str>
|
||||||
|
</arr>
|
||||||
|
<arr name="dcformat">
|
||||||
|
<str>application/pdf</str>
|
||||||
|
</arr>
|
||||||
|
<arr name="dccontenttype">
|
||||||
|
<str>application/pdf</str>
|
||||||
|
</arr>
|
||||||
|
<arr name="dcidentifier">
|
||||||
|
<str>http://example.org/</str>
|
||||||
|
</arr>
|
||||||
|
<str name="dclink">http://example.org</str>
|
||||||
|
<str name="dcsource">http://example.org</str>
|
||||||
|
<arr name="dclanguage">
|
||||||
|
<str>en</str>
|
||||||
|
</arr>
|
||||||
|
<str name="dcrights">Under the example.org licence</str>
|
||||||
|
<int name="dcoa">1</int>
|
||||||
|
<arr name="dclang">
|
||||||
|
<str>eng</str>
|
||||||
|
</arr>
|
||||||
|
</doc>
|
||||||
|
</result>
|
||||||
|
</response>"""
|
||||||
|
|
||||||
|
response = mock.Mock(text=xml_mock.encode('utf-8'))
|
||||||
|
results = base.response(response)
|
||||||
|
self.assertEqual(type(results), list)
|
||||||
|
self.assertEqual(len(results), 1)
|
||||||
|
self.assertEqual(results[0]['title'], 'Science and more')
|
||||||
|
self.assertEqual(results[0]['content'], 'Science, and even more.')
|
@ -1,71 +0,0 @@
|
|||||||
from collections import defaultdict
|
|
||||||
import mock
|
|
||||||
from searx.engines import blekko_images
|
|
||||||
from searx.testing import SearxTestCase
|
|
||||||
|
|
||||||
|
|
||||||
class TestBlekkoImagesEngine(SearxTestCase):
|
|
||||||
|
|
||||||
def test_request(self):
|
|
||||||
query = 'test_query'
|
|
||||||
dicto = defaultdict(dict)
|
|
||||||
dicto['pageno'] = 0
|
|
||||||
dicto['safesearch'] = 1
|
|
||||||
params = blekko_images.request(query, dicto)
|
|
||||||
self.assertIn('url', params)
|
|
||||||
self.assertIn(query, params['url'])
|
|
||||||
self.assertIn('blekko.com', params['url'])
|
|
||||||
self.assertIn('page', params['url'])
|
|
||||||
|
|
||||||
dicto['pageno'] = 1
|
|
||||||
params = blekko_images.request(query, dicto)
|
|
||||||
self.assertNotIn('page', params['url'])
|
|
||||||
|
|
||||||
def test_response(self):
|
|
||||||
self.assertRaises(AttributeError, blekko_images.response, None)
|
|
||||||
self.assertRaises(AttributeError, blekko_images.response, [])
|
|
||||||
self.assertRaises(AttributeError, blekko_images.response, '')
|
|
||||||
self.assertRaises(AttributeError, blekko_images.response, '[]')
|
|
||||||
|
|
||||||
response = mock.Mock(text='[]')
|
|
||||||
self.assertEqual(blekko_images.response(response), [])
|
|
||||||
|
|
||||||
json = """
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"c": 1,
|
|
||||||
"page_url": "http://result_url.html",
|
|
||||||
"title": "Photo title",
|
|
||||||
"tn_url": "http://ts1.mm.bing.net/th?id=HN.608050619474382748&pid=15.1",
|
|
||||||
"url": "http://result_image.jpg"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"c": 2,
|
|
||||||
"page_url": "http://companyorange.simpsite.nl/OSM",
|
|
||||||
"title": "OSM",
|
|
||||||
"tn_url": "http://ts2.mm.bing.net/th?id=HN.608048068264919461&pid=15.1",
|
|
||||||
"url": "http://simpsite.nl/userdata2/58985/Home/OSM.bmp"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"c": 3,
|
|
||||||
"page_url": "http://invincible.webklik.nl/page/osm",
|
|
||||||
"title": "OSM",
|
|
||||||
"tn_url": "http://ts1.mm.bing.net/th?id=HN.608024514657649476&pid=15.1",
|
|
||||||
"url": "http://www.webklik.nl/user_files/2009_09/65324/osm.gif"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"c": 4,
|
|
||||||
"page_url": "http://www.offshorenorway.no/event/companyDetail/id/12492",
|
|
||||||
"title": "Go to OSM Offshore AS homepage",
|
|
||||||
"tn_url": "http://ts2.mm.bing.net/th?id=HN.608054265899847285&pid=15.1",
|
|
||||||
"url": "http://www.offshorenorway.no/firmalogo/OSM-logo.png"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
"""
|
|
||||||
response = mock.Mock(text=json)
|
|
||||||
results = blekko_images.response(response)
|
|
||||||
self.assertEqual(type(results), list)
|
|
||||||
self.assertEqual(len(results), 4)
|
|
||||||
self.assertEqual(results[0]['title'], 'Photo title')
|
|
||||||
self.assertEqual(results[0]['url'], 'http://result_url.html')
|
|
||||||
self.assertEqual(results[0]['img_src'], 'http://result_image.jpg')
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue